From 663ffc09a8fc33eb7d2346e6ed10c08679f0006c Mon Sep 17 00:00:00 2001 From: lss <Lss@HanInfo> Date: 星期一, 16 六月 2025 17:25:10 +0800 Subject: [PATCH] 新增任务推送限制 --- HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 41 insertions(+), 7 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 6045bc1..d6064c0 100644 --- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs +++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/process/TaskProcess.cs @@ -2,6 +2,7 @@ using HH.WCS.JiaTong.core; using HH.WCS.JiaTong.device; using HH.WCS.JiaTong.dispatch; +using HH.WCS.JiaTong.LISTA.models; using HH.WCS.JiaTong.LISTA.process; using HH.WCS.JiaTong.util; using HH.WCS.JiaTong.wms; @@ -54,7 +55,7 @@ if (!string.IsNullOrEmpty(mst.S_CNTR_CODE)) { - LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}"); + LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}"); LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList()); } else @@ -133,7 +134,11 @@ } else { - ModbusHelper.WriteSingleRegister(40089, EndLoc.N_LAYER, device.address, 1024); + int layerValue = 0; + if (EndLoc.N_LAYER == 1) layerValue = 1; + else if (EndLoc.N_LAYER == 2) layerValue = 3; + else if (EndLoc.N_LAYER == 3) layerValue = 5; + ModbusHelper.WriteSingleRegister(40089, layerValue, device.address, 1024); ModbusHelper.WriteSingleRegister(40101, 2, device.address, 1024); ModbusHelper.WriteSingleRegister(40003, 2, device.address, 1024); ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); @@ -249,9 +254,13 @@ } else { + int layerValue = 0; + if (startloc.N_LAYER == 1) layerValue = 1; + else if (startloc.N_LAYER == 2) layerValue = 3; + else if (startloc.N_LAYER == 3) layerValue = 5; ModbusHelper.WriteSingleRegister(40101, 2, device.address, 1024); ModbusHelper.WriteSingleRegister(40003, 2, device.address, 1024); - ModbusHelper.WriteSingleRegister(40089, startloc.N_LAYER, device.address, 1024); + ModbusHelper.WriteSingleRegister(40089, layerValue, device.address, 1024); ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); } @@ -294,7 +303,11 @@ { LogHelper.Info($"鏍规嵁浠诲姟缁堢偣:{mstbyEqno.S_END_LOC},鏈壘鍒板搴旇揣浣�); } - ModbusHelper.WriteSingleRegister(40089, Endloc.N_LAYER, device.address, 1024); + int value = 0; + if (Endloc.N_LAYER == 1) value = 1; + else if (Endloc.N_LAYER == 2) value = 3; + else if (Endloc.N_LAYER == 3) value = 5; + ModbusHelper.WriteSingleRegister(40089, value, device.address, 1024); ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); } @@ -430,6 +443,14 @@ { var result = true; var db = new SqlHelper<object>().GetInstance(); + //鏍规嵁璧风偣浠撳簱缂栫爜鍒ゆ柇鏄惁鍙互鎺ㄩ� + var taskLimit = db.Queryable<TASK_LIMIT>().Where(a => a.S_WH_CODE == mst.S_START_WH && a.OPEN == "1").First(); + if (taskLimit != null) + { + Console.WriteLine($"浠诲姟锛歿mst.S_CODE},璧风偣浠撳簱锛歿mst.S_START_WH}宸茬粡绂佺敤鎺ㄩ�"); + return false; + } + var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO == mst.S_EQ_NO).ToList(); if (mstbyEqno.Count() == 1) { @@ -582,7 +603,12 @@ { LogHelper.Info($"鏍规嵁浠诲姟璧风偣:{mst.S_START_LOC},鏈壘鍒板搴旇揣浣�); } - ModbusHelper.WriteSingleRegister(40089, loc.N_LAYER, device.address, 1024); + int value = 0; + if (loc.N_LAYER == 1) value = 1; + else if (loc.N_LAYER == 2) value = 3; + else if (loc.N_LAYER == 3) value = 5; + + ModbusHelper.WriteSingleRegister(40089, value, device.address, 1024); ModbusHelper.WriteSingleRegister(40102, 1, device.address, 1024); @@ -784,6 +810,11 @@ var time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); statusarrive.RequestId = "鏉弶AGV" + time; + int flag = 0; + if (mst.S_NOTE == "绮夋枡") + { + flag = 1; + } //List<StatusArrive> statusArrives = new List<StatusArrive>(); StatusArrive statusArrive = new StatusArrive(); statusarrive.UseToken = "iFQ5fExGrLYLXliHYWzs"; @@ -791,7 +822,9 @@ statusArrive.LocationNum = mst.S_END_LOC; statusArrive.Time = DateTime.Now.ToString(); statusArrive.Status = status.ToString(); - + statusArrive.Rfid = mst.S_CNTR_CODE; + statusArrive.Flag = flag; + //statusArrives.Add(statusArrive); statusarrive.data = statusArrive; //寮�鍥炴姤 @@ -857,7 +890,8 @@ mesItemBackModel.Rfid = mst.S_CNTR_CODE; mesItemBackModel.LocationNum = mst.S_END_LOC; mesItemBackModel.Result = "1"; - mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd"); + mesItemBackModel.ArricalTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + if (cntritem != null) { list.Add(new MesItemBackInfoModel() -- Gitblit v1.9.1