From b32cf3fbbd4f981d9a218dc3601962395c2a0d70 Mon Sep 17 00:00:00 2001 From: 杨张扬 <634643841@qq.com> Date: 星期三, 18 六月 2025 17:23:41 +0800 Subject: [PATCH] 双钱-取消任务修改库存信息,点对点也要对应库存 --- wms/LocationHelper.cs | 5 ++ api/ApiHelper.cs | 4 +- process/TaskProcess.cs | 15 +++++-- core/WCSCore.cs | 72 +++++++++++++----------------------- 4 files changed, 43 insertions(+), 53 deletions(-) diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index d4f7731..230651b 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -1924,7 +1924,7 @@ var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == startLocCnt.S_CNTR_CODE); Task task27 = Task.Run(() => { - if (endLoc.S_AREA_CODE == Settings.Areas[2] && cginfo != null) //鎻掑叆WMS搴撳瓨鏄庣粏 + if (endLoc.S_AREA_CODE == Settings.Areas[1] && cginfo != null) //鎻掑叆WMS搴撳瓨鏄庣粏 { var target = new TN_InventoryM() { @@ -1942,7 +1942,7 @@ }); Task task26 = Task.Run(() => { - if (startLoc.S_AREA_CODE == Settings.Areas[2] && cginfo != null) + if (startLoc.S_AREA_CODE == Settings.Areas[1] && cginfo != null) { SpecHelper.DeleteInventoryM(cginfo.S_ID); } diff --git a/core/WCSCore.cs b/core/WCSCore.cs index fccab2e..0de22fe 100644 --- a/core/WCSCore.cs +++ b/core/WCSCore.cs @@ -162,73 +162,53 @@ case 7: Task task10 = Task.Run(() => { - if (TN_Task.S_TYPE == "婊℃墭涓嬬嚎鍏ュ簱" || TN_Task.S_TYPE == "PDA婊℃墭涓嬬嚎鍏ュ簱") + if (TN_Task.S_TYPE.Contains("婊℃墭涓嬬嚎鍏ュ簱") || TN_Task.S_TYPE.Contains("PDA婊℃墭涓嬬嚎鍏ュ簱") || TN_Task.S_END_AREA == Settings.Areas[1]) { TaskProcess.OperateStatus(TN_Task, 7);//寮傚父澶勭悊 } else { - WCSHelper.Fail(TN_Task);//浠诲姟鐘舵�鏀规垚閿欒 - LocationHelper.UnLockLoc(TN_Task.S_END_LOC); - if (!WCSHelper.CheckActionRecordExist(TN_Task.S_CODE, 4)) - { - LocationHelper.UnLockLoc(TN_Task.S_START_LOC); - } - var db = new SqlHelper<object>().GetInstance(); - var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == TN_Task.S_CNTR_CODE); - if (cginfo != null) - { - SpecHelper.DeleteInventoryM(cginfo.S_ID); - } - } - - - }); - - break; - case 8: - - Task task11 = Task.Run(() => - { - if (TN_Task.S_TYPE == "婊℃墭涓嬬嚎鍏ュ簱" || TN_Task.S_TYPE == "PDA婊℃墭涓嬬嚎鍏ュ簱") - { - var res = NDCApi.CancelOrder(TN_Task.S_CODE); - if (res != null && (res.err_code ==50002 || res.err_code == 0)) - { - TaskProcess.OperateStatus(TN_Task, 7);//寮傚父澶勭悊 - } - else - { - LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉澶辫触{res}"); - } - } - else - { - var res = NDCApi.CancelOrder(TN_Task.S_CODE); - if (res != null && (res.err_code == 50002 || res.err_code == 0)) + if (!WCSHelper.CheckActionRecordExist(TN_Task.S_CODE, 4))//鏈彇璐у畬鎴� { WCSHelper.Fail(TN_Task);//浠诲姟鐘舵�鏀规垚閿欒 - LocationHelper.UnLockLoc(TN_Task.S_END_LOC); - if (!WCSHelper.CheckActionRecordExist(TN_Task.S_CODE, 4)) - { - LocationHelper.UnLockLoc(TN_Task.S_START_LOC); - } var db = new SqlHelper<object>().GetInstance(); var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == TN_Task.S_CNTR_CODE); if (cginfo != null) { - SpecHelper.DeleteInventoryM(cginfo.S_ID); + db.Deleteable<TN_InventoryM>().Where(it => it.S_ID == cginfo.S_ID || it.RFID == TN_Task.S_CNTR_CODE).ExecuteCommand(); + } + else + { + db.Deleteable<TN_InventoryM>().Where(it => it.RFID == TN_Task.S_CNTR_CODE).ExecuteCommand(); } } else { - LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉澶辫触{res}"); + WCSHelper.End(TN_Task);//浠诲姟鐘舵�鏀规垚缁撴潫 + LocationHelper.BindingLoc(TN_Task.S_END_LOC, TN_Task.S_CNTR_CODE.Split(',').ToList()); } + LocationHelper.UnLockLoc(TN_Task.S_END_LOC); + LocationHelper.UnLockLoc(TN_Task.S_START_LOC);//瑙i攣璧风偣缁堢偣 } + }); break; + + case 8: + + var res = NDCApi.CancelOrder(TN_Task.S_CODE); + if (res != null && (res.err_code == 50002 || res.err_code == 0)) + { + LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉鎴愬姛{res}"); + } + else + { + LogHelper.Info($"寮傚父鍜屽彇娑堟搷浣�璇锋眰缁撴灉澶辫触{res}"); + } + + break; } WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data); //璋冪敤绗笁鏂规帴鍙o紙濡傛灉鏈夛級TaskProcess.ReportStatus锛屾坊鍔犱换鍔″姩浣滃叧绯昏〃 diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs index 235ffe3..cc6ae42 100644 --- a/process/TaskProcess.cs +++ b/process/TaskProcess.cs @@ -12,6 +12,7 @@ using static HH.WCS.Mobox3.DoubleCoin.api.ApiModel; using Org.BouncyCastle.Crypto; using HH.WCS.Mobox3.DoubleCoin.device; +using HH.WCS.Mobox3.DoubleCoin.models; namespace HH.WCS.Mobox3.DoubleCoin.process { internal class TaskProcess { @@ -51,18 +52,22 @@ WCSHelper.End(mst);//浠诲姟鐘舵�鏀规垚缁撴潫 } else { - //璧风偣瑙i攣 - LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { locID = mst.S_START_LOC,reqCode =1}); WCSHelper.Fail(mst);//浠诲姟鐘舵�鏀规垚閿欒 - var db = new SqlHelper<object>().GetInstance(); var cginfo = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == mst.S_CNTR_CODE); if (cginfo!= null) { - SpecHelper.DeleteInventoryM(cginfo.S_ID); + db.Deleteable<TN_InventoryM>().Where(it => it.S_ID == cginfo.S_ID || it.RFID == mst.S_CNTR_CODE).ExecuteCommand(); } + else + { + db.Deleteable<TN_InventoryM>().Where(it => it.RFID == mst.S_CNTR_CODE).ExecuteCommand(); + } + + LocationHelper.ErrorLocCntReset(new ErrorLocCntResetInfo() { locID = mst.S_START_LOC, reqCode = 1 }); } - LocationHelper.UnLockLoc(mst.S_END_LOC); + LocationHelper.UnLockLoc(mst.S_START_LOC);//瑙i攣璧风偣 + LocationHelper.UnLockLoc(mst.S_END_LOC);//瑙i攣缁堢偣 } diff --git a/wms/LocationHelper.cs b/wms/LocationHelper.cs index 6cd1348..926ea92 100644 --- a/wms/LocationHelper.cs +++ b/wms/LocationHelper.cs @@ -307,6 +307,11 @@ bindLocCntList.Add(new TN_Loc_Container() { S_LOC_CODE = loc, S_CNTR_CODE = item }); } + if (bindLocCntList.Count == 0) + { + LogHelper.Info($"宸茬粦瀹氾紝娌℃湁瑕佺粦瀹氱殑鏂板鍣紝{logs}"); + return $"宸茬粦瀹氾紝娌℃湁瑕佺粦瀹氱殑鏂板鍣紝{logs}"; + } var log = JsonConvert.SerializeObject(bindLocCntList); -- Gitblit v1.9.1