From d0c1502a17c8d945e16b498792bd8e50ea9fea9f Mon Sep 17 00:00:00 2001 From: jinxin <1013386558@qq.com> Date: 星期二, 03 六月 2025 14:11:04 +0800 Subject: [PATCH] 111 --- HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs | 181 ++++++++++++++++++++++++++++++++------------ 1 files changed, 131 insertions(+), 50 deletions(-) diff --git a/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs b/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs index 4836fee..7522ccb 100644 --- a/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs +++ b/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs @@ -207,6 +207,30 @@ return result; } + internal static SimpleResult ErrorOperation(MoboxOperationBase model) + { + var result = new SimpleResult(); + var db = new SqlHelper<object>().GetInstance(); + var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_CODE == model.OperationNo).First(); + if (wmsTask != null) + { + LogHelper.Info($"娓呴櫎閿欒浣滀笟 瑙g粦鎵樼洏 鎵樼洏{wmsTask.S_CNTR_CODE}"); + db.Deleteable<LocCntrRel>().Where(a => a.S_CNTR_CODE == wmsTask.S_CNTR_CODE).ExecuteCommand(); + db.Deleteable<CntrItemRel>().Where(a => a.S_CNTR_CODE == wmsTask.S_CNTR_CODE).ExecuteCommand(); + var locInfo = db.Queryable<Location>().Where(a => a.S_CODE == wmsTask.S_START_LOC).First(); + if (locInfo != null) + { + LogHelper.Info($"娓呴櫎閿欒浣滀笟 閲嶇疆璐т綅鐘舵� 璐т綅{locInfo.S_CODE}"); + locInfo.N_CURRENT_NUM = 0; + locInfo.N_LOCK_STATE = 0; + locInfo.S_LOCK_STATE = "鏃�; + db.Updateable(locInfo).UpdateColumns(it => new { it.N_CURRENT_NUM, it.S_LOCK_STATE, it.N_LOCK_STATE }).ExecuteCommand(); + } + } + + return result; + } + internal static TaskStateresutl GetTaskState(GetTaskStateModel model) { var db = new SqlHelper<object>().GetInstance(); @@ -785,9 +809,13 @@ //if (task.S_B_STATE != "鍙栨秷" && task.S_B_STATE != "瀹屾垚" && task.S_B_STATE != "鍏抽棴" && task.S_B_STATE != "寮哄埗瀹屾垚") //{ TaskProcess.OperateStatus(task, 6); - if (task.S_TYPE.Contains("鍏ュ簱")) + if (task.S_OP_NAME =="鍏ュ簱") { WMSHelper.AddChange(task); + } + if (task.S_OP_NAME == "鍑哄簱") + { + WMSHelper.DeleteChange(task); } if (task.S_TYPE == "鍒嗘嫞鍥�) { @@ -849,28 +877,28 @@ } } - else - { - LogHelper.Info($"{locinfo.N_ROADWAY} 宸烽亾鎵句笉鍒板彲鍏ヨ揣浣�闅忔満鍒嗛厤璐т綅"); - endbit = WMSHelper.GetLiKuLocationIn(locinfo.S_AREA_CODE, 0, locinfo.S_TYPE); - if (endbit != null) - { - LogHelper.Info($"鏌ユ壘鍒版敼閬撹揣浣嶄负{endbit.S_CODE}"); - //淇敼浠诲姟鏁版嵁 缁堢偣 澶囨敞:鏀逛綅 - LocationHelper.LockLoc(endbit.S_CODE, 1); - wmstask.S_END_LOC = endbit.S_CODE; - db.Updateable(wmstask).UpdateColumns(it => new { it.S_END_LOC }).ExecuteCommand(); - task.S_END_LOC = endbit.S_CODE; - task.S_NOTE = "鏀逛綅"; - db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_NOTE }).ExecuteCommand(); - - var agvBit = db.Queryable<PeiZhi>().Where(it => it.BitCode == endbit.S_CODE).First(); - if (agvBit != null) - { - result.new_locate_no = agvBit.PlcLocation; - } - } - } + //else + //{ + // LogHelper.Info($"{locinfo.N_ROADWAY} 宸烽亾鎵句笉鍒板彲鍏ヨ揣浣�闅忔満鍒嗛厤璐т綅"); + // endbit = WMSHelper.GetLiKuLocationIn(locinfo.S_AREA_CODE, 0, locinfo.S_TYPE); + // if (endbit != null) + // { + // LogHelper.Info($"鏌ユ壘鍒版敼閬撹揣浣嶄负{endbit.S_CODE}"); + // //淇敼浠诲姟鏁版嵁 缁堢偣 澶囨敞:鏀逛綅 + // LocationHelper.LockLoc(endbit.S_CODE, 1); + // wmstask.S_END_LOC = endbit.S_CODE; + // db.Updateable(wmstask).UpdateColumns(it => new { it.S_END_LOC }).ExecuteCommand(); + // task.S_END_LOC = endbit.S_CODE; + // task.S_NOTE = "鏀逛綅"; + // db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_NOTE }).ExecuteCommand(); + // + // var agvBit = db.Queryable<PeiZhi>().Where(it => it.BitCode == endbit.S_CODE).First(); + // if (agvBit != null) + // { + // result.new_locate_no = agvBit.PlcLocation; + // } + // } + //} } internal static SimpleResult OutboundOrderExecute(OutboundOrderCheck model) { @@ -1631,46 +1659,98 @@ { WeiLiResult result = new WeiLiResult(); var db = new SqlHelper<object>().GetInstance(); - var tasks = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).ToList(); - if (tasks.Count >= 1) - { - //娴佺▼浠诲姟鏁伴噺鎵ц瓒呰繃涓�潯 浠诲姟涓嶅厑璁稿彇娑�- result.code = 500; - result.msg = "娴佺▼浠诲姟鎵ц涓�涓嶅厑璁稿彇娑�; - return result; - } + //var tasks = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).ToList(); + //if (tasks.Count >= 1) + //{ + // //娴佺▼浠诲姟鏁伴噺鎵ц瓒呰繃涓�潯 浠诲姟涓嶅厑璁稿彇娑�+ // result.code = 500; + // result.msg = "娴佺▼浠诲姟鎵ц涓�涓嶅厑璁稿彇娑�; + // return result; + //} + //var task = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).OrderByDescending(a => a.T_CREATE).First(); + //if (task != null) + //{ + // if (WCSHelper.CheckActionRecordExist(task.S_CODE, 4)) + // { + // result.code = 500; + // result.msg = "浠诲姟宸插彇璐у畬鎴�涓嶅厑璁稿彇娑�; + // return result; + // } + // if (task.N_B_STATE == 0) + // { + // //绛夊緟鐩存帴淇敼鐘舵�涓哄彇娑�+ // WCSHelper.UpdateStatus(model.orderNo, 5); + // //result.msg = "浠诲姟绛夊緟锛岀洿鎺ュ彇娑�; + // } + // else if (task.N_B_STATE != 3 && task.N_B_STATE != 4) + // { + // if (task.S_TYPE == "鏉ゥ") + // { + // //閫氱煡绔嬪簱鍙栨秷浠诲姟 + // } + // else + // { + // //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv + // NDCHelper.Cancel(task.S_CODE.Trim()); + // //result.msg = "浠诲姟鍙栨秷宸茬粡鍙戦�缁欏皬杞�; + // } + // } + // else + // { + // result.code = 500; + // result.msg = "浠诲姟宸茬粨鏉�; + // } + //} + //else + //{ + // result.code = 500; + // result.msg = "浠诲姟涓嶅瓨鍦�; + //} + var task = db.Queryable<WCSTask>().Where(a => a.S_OP_CODE == model.orderNo).OrderByDescending(a => a.T_CREATE).First(); if (task != null) { - if (WCSHelper.CheckActionRecordExist(task.S_CODE, 4)) + var wmsTask = WMSHelper.GetWmsTask(task.S_OP_CODE); + if (wmsTask != null) { - result.code = 500; - result.msg = "浠诲姟宸插彇璐у畬鎴�涓嶅厑璁稿彇娑�; - return result; - } - if (task.N_B_STATE == 0) - { - //绛夊緟鐩存帴淇敼鐘舵�涓哄彇娑�- WCSHelper.UpdateStatus(model.orderNo, 5); - //result.msg = "浠诲姟绛夊緟锛岀洿鎺ュ彇娑�; - } - else if (task.N_B_STATE != 3 && task.N_B_STATE != 4) - { - if (task.S_TYPE == "鏉ゥ") + if (task.N_B_STATE == 0) { - //閫氱煡绔嬪簱鍙栨秷浠诲姟 + //绛夊緟鐩存帴淇敼鐘舵�涓哄彇娑�+ WCSHelper.UpdateStatus(task.S_CODE, 4); + wmsTask.N_B_STATE = 6; + WMSHelper.UpdateTaskState(wmsTask); + LocationHelper.UnLockLoc(task.S_START_LOC); + LocationHelper.UnLockLoc(task.S_END_LOC); + LocationHelper.UnLockLoc(wmsTask.S_END_LOC); + + result.msg = "浠诲姟绛夊緟锛岀洿鎺ュ彇娑�; + } + else if (task.N_B_STATE != 3 && task.N_B_STATE != 4) + { + if (task.S_SCHEDULE_TYPE == "NDC") + { + //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv + NDCApi.CancelOrder(task.S_CODE.Trim()); + } + else + { + TaskProcess.Cancel(task); + TaskProcess.OperateStatus(task, 7); + WCSHelper.Fail(task); + WMSHelper.Fail(task); + } + + result.msg = "浠诲姟鍙栨秷宸茬粡鍙戦�缁欏皬杞�; } else { - //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv - NDCHelper.Cancel(task.S_CODE.Trim()); - //result.msg = "浠诲姟鍙栨秷宸茬粡鍙戦�缁欏皬杞�; + result.msg = "浠诲姟宸茬粨鏉�; } } else { result.code = 500; - result.msg = "浠诲姟宸茬粨鏉�; + result.msg = "浠诲姟鎵�鐨勪綔涓氫笉瀛樺湪"; } } else @@ -1678,6 +1758,7 @@ result.code = 500; result.msg = "浠诲姟涓嶅瓨鍦�; } + return result; } -- Gitblit v1.9.1