From fe442ab8c9ba6648b140f253902b4ef24c5618bf Mon Sep 17 00:00:00 2001 From: lss <Lss@HanInfo> Date: 星期二, 20 五月 2025 18:26:31 +0800 Subject: [PATCH] 合肥佳通变更 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs | 124 +++++++++++++++++++++++++++-------------- 1 files changed, 82 insertions(+), 42 deletions(-) diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs index df349b2..309042a 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs @@ -1,5 +1,6 @@ 锘縰sing HH.WCS.JiaTong.api; using HH.WCS.JiaTong.core; +using HH.WCS.JiaTong.device; using HH.WCS.JiaTong.dispatch; using HH.WCS.JiaTong.LISTA.process; using HH.WCS.JiaTong.util; @@ -12,6 +13,7 @@ using System.IdentityModel.Protocols.WSTrust; using System.Linq; using System.Security.Cryptography; +using static HH.WCS.JiaTong.api.ApiModel; using static HH.WCS.JiaTong.LISTA.process.HttpModel; namespace HH.WCS.JiaTong.process @@ -71,27 +73,26 @@ /// <summary> /// 瀹夊叏璇锋眰 /// </summary> - /// <param name="no"></param> - /// <param name="state"></param> - /// <param name="forkliftNo"></param> - /// <param name="extData"></param> - internal static void OperateReq(string no, int state, string url, string forkliftNo, string extData, int Z_type) + /// <param name="model"></param> + /// <param name="url"></param> + /// <param name="wcs"></param> + internal static void OperateReq(AgvTaskState model, string url, WCSTask TN_Task) { try { LogHelper.Info($"-------寮�瀹夊叏璇锋眰------"); - var TN_Task = WCSHelper.GetTask(no); + if (TN_Task != null) { int type = 0; string loc = ""; - if (state == 1101) + if (model.state == 1101) { //璇锋眰鍙栬揣锛� type = 1; loc = TN_Task.S_START_LOC; - if (Z_type == 4) + if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 { if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type)) { @@ -101,19 +102,44 @@ } else { - if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, state)) + //浜曟澗鍙犵洏鏈哄畨鍏ㄤ氦浜�+ if ( TN_Task.S_NOTE == "绌烘墭鍥炲簱") { - // NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18); - NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); + if (S7Helper.WriteDpj(1002, 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鍊�澶辫触"); + } + } + else + { + if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state)) + { + // NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18); + NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); + } + } + } } - if (state == 1102) + if (model.state == 1102) { type = 3; - if (Z_type == 4) + if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 { loc = TN_Task.S_START_LOC; if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type)) @@ -121,13 +147,18 @@ //NDCHelper.ChangeParam(TN_Task.S_CODE.Trim(), 1101, 18); } } + if (TN_Task.Z_TYPE == 2 && TN_Task.S_NOTE == "绌烘墭鍥炲簱") + { + S7Helper.WriteDpj(1001, 1); + S7Helper.WriteDpj(1002, 0); + } } - if (state == 1103) + if (model.state == 1103) { //璇锋眰鍗歌揣 type = 2; loc = TN_Task.S_END_LOC; - if (Z_type == 4) + if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 { loc = TN_Task.S_END_LOC; if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type)) @@ -138,18 +169,16 @@ } else { - if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, state)) + if (OperateReqByPost(url, TN_Task.S_EQ_NO, TN_Task.S_CODE, loc, type, model.state)) { NDCApi.ChangeOrderParam(TN_Task.S_CODE.Trim(), 6, "1"); } } - - } - if (state == 1104) + if (model.state == 1104) { type = 4; - if (Z_type == 4) + if (TN_Task.Z_TYPE == 4)//鍘熸潗鏂欏簱鍥借嚜瀹夊叏浜や簰 { loc = TN_Task.S_END_LOC; if (GZOperateReqByPost(url, TN_Task.S_EQ_NO, loc, type)) @@ -159,10 +188,7 @@ } } } - else - { - LogHelper.Info($"瀹夊叏璇锋眰==銆嬫牴鎹换鍔″彿{no}鏈壘鍒板搴斾换鍔�); - } + } catch (Exception ex) { @@ -206,6 +232,7 @@ else { LogHelper.Info($"瀹夊叏璇锋眰澶辫触=>msg:{result.msg}"); + ApiHelper.AddErrorInfo("瀹夊叏浜や簰澶辫触", result.msg, "", tasknum); } return permit; } @@ -255,6 +282,7 @@ else { LogHelper.Info($"瀹夊叏璇锋眰澶辫触=>msg:{result.err_msg}"); + ApiHelper.AddErrorInfo("瀹夊叏浜や簰澶辫触", result.err_msg, "", no); } return permit; } @@ -789,9 +817,8 @@ /// <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($"------------寮�鐗╂枡淇℃伅鍥炴姤-----------"); @@ -799,8 +826,8 @@ { 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)) { @@ -809,27 +836,38 @@ //鑾峰彇鏃堕棿鎴� var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); //鐗╂枡鍒颁綅鎺ュ彛鍜岀姸鎬佸弽棣堝悓鏃惰皟IIOT锛屼负浜嗗尯鍒唅d锛岀墿鏂欏埌浣嶉暱搴﹀姞涓�尯鍒�- 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); @@ -851,6 +889,8 @@ } } + + /// <summary> /// 鍒涘缓鎼繍浠诲姟 /// </summary> -- Gitblit v1.9.1