| | |
| | | else |
| | | { |
| | | //井松叠盘机安全交互 |
| | | if (TN_Task.Z_TYPE == 2 && TN_Task.S_NOTE == "空托回库") |
| | | if ( TN_Task.S_NOTE == "空托回库") |
| | | { |
| | | if (S7Helper.WriteDpj(1002, 1)) |
| | | { |
| | | if (S7Helper.ReadDpj(2004, S7.Net.VarType.Byte) == 1) |
| | | int value = S7Helper.ReadDpj(2004, S7.Net.VarType.Byte); |
| | | if (value == 1) |
| | | { |
| | | NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info("叠盘机安全交互失败,读取VB2004的值为{2004}"); |
| | | } |
| | | } |
| | | |
| | | else |
| | | { |
| | | LogHelper.Info("叠盘机安全交互失败,写入VB1002值1失败"); |
| | | } |
| | | |
| | | } |
| | | else |
| | | { |
| | |
| | | else |
| | | { |
| | | LogHelper.Info($"安全请求失败=>msg:{result.err_msg}"); |
| | | ApiHelper.AddErrorInfo("安全交互失败", result.err_msg, "",no); |
| | | ApiHelper.AddErrorInfo("安全交互失败", result.err_msg, "", no); |
| | | } |
| | | return permit; |
| | | } |
| | |
| | | /// <summary> |
| | | /// mes物料到位同步 |
| | | /// </summary> |
| | | /// <param name="taskNum"></param> |
| | | /// <param name="orderNum"></param> |
| | | /// <param name="taskStatus"></param> |
| | | /// <param name="mst">任务</param> |
| | | /// <param name="url">地址</param> |
| | | public static void MESIteminfoback(WCSTask mst, string url) |
| | | { |
| | | LogHelper.Info($"------------开始物料信息回报-----------"); |
| | |
| | | { |
| | | var cntritem = ContainerHelper.GetCntrItemRel(mst.S_CNTR_CODE).FirstOrDefault(); |
| | | //回报数据 |
| | | Request<iteminfoArrive> statusarrive = new Request<iteminfoArrive>(); |
| | | List<LotListh> lotLists = new List<LotListh>(); |
| | | Request<MesItemBackModel> request = new Request<MesItemBackModel>(); |
| | | List<MesItemBackInfoModel> list = new List<MesItemBackInfoModel>(); |
| | | string TaskNumber = mst.S_EQ_NO; |
| | | if (!string.IsNullOrEmpty(mst.S_WMS_NO)) |
| | | { |
| | |
| | | //获取时间戳 |
| | | var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); |
| | | //物料到位接口和状态反馈同时调IIOT,为了区分id,物料到位长度加一区分 |
| | | statusarrive.RequestId = "杭叉AGV" + time + "1"; |
| | | statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs"; |
| | | request.RequestId = "杭叉AGV" + time + "1"; |
| | | request.UseToken = "iFQ5fExGrLYLXliHYWzs"; |
| | | |
| | | iteminfoArrive iteminfoArrive = new iteminfoArrive(); |
| | | iteminfoArrive.TaskNumber = TaskNumber; |
| | | iteminfoArrive.LocationNum = mst.S_END_LOC; |
| | | iteminfoArrive.Rfid = mst.S_CNTR_CODE; |
| | | iteminfoArrive.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd"); |
| | | MesItemBackModel mesItemBackModel = new MesItemBackModel(); |
| | | mesItemBackModel.TaskNumber = mst.S_EQ_NO; |
| | | mesItemBackModel.WmsTaskNumber = mst.S_WMS_NO; |
| | | mesItemBackModel.LocationNum = mst.S_END_LOC; |
| | | mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd"); |
| | | if (cntritem != null) |
| | | { |
| | | lotLists.Add(new LotListh() { LotNumber = cntritem.S_BATCH_NO, Weight = double.Parse(cntritem.F_WEIGHT) }); |
| | | iteminfoArrive.PartDesc = cntritem.S_ITEM_NAME; |
| | | iteminfoArrive.PartNumber = cntritem.S_ITEM_CODE; |
| | | list.Add(new MesItemBackInfoModel() |
| | | { |
| | | LotNumber = cntritem.S_BATCH_NO, |
| | | PartNumber = cntritem.S_ITEM_NAME, |
| | | Subpool = cntritem.Subpool, |
| | | ReceiveLot = cntritem.ReceiveLot, |
| | | Supplier = cntritem.S_SUPPLIER_NO, |
| | | TyreType = cntritem.TyreType, |
| | | ProduceTime = cntritem.D_PRD_DATE, |
| | | Rfid = cntritem.S_CNTR_CODE, |
| | | Qty = cntritem.F_WEIGHT |
| | | }); |
| | | |
| | | |
| | | } |
| | | iteminfoArrive.LotList = lotLists; |
| | | statusarrive.data = iteminfoArrive; |
| | | mesItemBackModel.List = list; |
| | | request.data = mesItemBackModel; |
| | | |
| | | //任务上报 |
| | | HttpHelper httpHelper = new HttpHelper(); |
| | | MesResult result = new MesResult(); |
| | | string date = JsonConvert.SerializeObject(statusarrive); |
| | | string date = JsonConvert.SerializeObject(request); |
| | | |
| | | LogHelper.Info($"物料到位回报:地址:{url},内容:{date}"); |
| | | var r = httpHelper.MesWebPost(url, date); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 创建搬运任务 |
| | | /// </summary> |