From 8ad8eea3e7d876fd996130f40a17ed47d794236a Mon Sep 17 00:00:00 2001 From: jinxin <1013386558@qq.com> Date: 星期四, 05 六月 2025 15:17:24 +0800 Subject: [PATCH] 码盘入库任务取消降量 --- C#/HH.WCS.Mobox3.WeiLi/process/TaskProcess.cs | 48 +++++++++++++++++++++++++++++++++++++++++++++--- C#/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs | 1 + .vs/VSWorkspaceState.json | 2 +- C#/HH.WCS.Mobox3.WeiLi/api/MoboxController.cs | 2 +- .vs/slnx.sqlite | 0 5 files changed, 48 insertions(+), 5 deletions(-) diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json index 392a46e..bfbce0f 100644 --- a/.vs/VSWorkspaceState.json +++ b/.vs/VSWorkspaceState.json @@ -2,6 +2,6 @@ "ExpandedNodes": [ "" ], - "SelectedNode": "\\E:\\椤圭洰\\Weili", + "SelectedNode": "\\E:\\椤圭洰\\Git\\閾跺窛濞佸姏浜屾湡", "PreviewInSolutionExplorer": false } \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index 997c419..c498c9d 100644 --- a/.vs/slnx.sqlite +++ b/.vs/slnx.sqlite Binary files differ diff --git "a/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" "b/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" index be3da4c..f33ec2e 100644 --- "a/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" +++ "b/C\043/HH.WCS.Mobox3.WeiLi/api/ApiHelper.cs" @@ -3156,6 +3156,7 @@ S_ITEM_NAME = itemName.S_ITEM_NAME, S_ITEM_CODE = a.itemCode, S_BATCH_NO = a.batchNo, + S_BS_NO=a.inWorkNo, S_OWNER = a.factoryCode, S_ERP_WH_CODE = a.stockLocation, F_QTY = a.qty, diff --git "a/C\043/HH.WCS.Mobox3.WeiLi/api/MoboxController.cs" "b/C\043/HH.WCS.Mobox3.WeiLi/api/MoboxController.cs" index d9ba360..f70f79d 100644 --- "a/C\043/HH.WCS.Mobox3.WeiLi/api/MoboxController.cs" +++ "b/C\043/HH.WCS.Mobox3.WeiLi/api/MoboxController.cs" @@ -40,7 +40,7 @@ LocationHelper.UnLockLoc(task.S_START_LOC); LocationHelper.UnLockLoc(task.S_END_LOC); LocationHelper.UnLockLoc(wmsTask.S_END_LOC); - + TaskProcess.Reducequantity(wmsTask); result.resultMsg = "浠诲姟绛夊緟锛岀洿鎺ュ彇娑�; } else if (task.N_B_STATE != 3 && task.N_B_STATE != 4) diff --git "a/C\043/HH.WCS.Mobox3.WeiLi/process/TaskProcess.cs" "b/C\043/HH.WCS.Mobox3.WeiLi/process/TaskProcess.cs" index 01ec719..70810a0 100644 --- "a/C\043/HH.WCS.Mobox3.WeiLi/process/TaskProcess.cs" +++ "b/C\043/HH.WCS.Mobox3.WeiLi/process/TaskProcess.cs" @@ -51,6 +51,7 @@ /// <param name="mst"></param> internal static void CacheBitCancelUpdate(WCSTask mst) { + LogHelper.Info($"浠诲姟鍙栨秷 浠诲姟璋冨害绫诲瀷{mst.S_SCHEDULE_TYPE}"); var db = new SqlHelper<object>().GetInstance(); //浠诲姟鍙栨秷锛屽彇璐у畬鎴愬墠鐨勶紝璧风偣鐨刲oadingCount鍜岀粓鐐箄nLoadingCount閮芥竻闄わ紝鍙栬揣瀹屾垚鐨勫彧澶勭悊缁堢偣 if (mst.S_SCHEDULE_TYPE == "WCS") @@ -86,12 +87,11 @@ //缁堢偣鏁伴噺缃� db.Updateable<Location>().SetColumns(it => new Location() { N_CURRENT_NUM = 0 }).Where(a => a.S_CODE == mst.S_END_LOC).ExecuteCommand(); } - else + else { db.Updateable<Location>().SetColumns(it => new Location() { N_CURRENT_NUM = 0 }).Where(a => a.S_CODE == mst.S_START_LOC).ExecuteCommand(); } - db.Deleteable<LocCntrRel>().Where(a => a.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand(); - db.Deleteable<CntrItemRel>().Where(a => a.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand(); + LocationHelper.UnLockLoc(mst.S_START_LOC); LocationHelper.UnLockLoc(mst.S_END_LOC); @@ -99,12 +99,52 @@ if (wmsTask != null) { LocationHelper.UnLockLoc(wmsTask.S_END_LOC); + Reducequantity(wmsTask); } + db.Deleteable<LocCntrRel>().Where(a => a.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand(); + db.Deleteable<CntrItemRel>().Where(a => a.S_CNTR_CODE == mst.S_CNTR_CODE).ExecuteCommand(); + } + } + + public static void Reducequantity(WMSTask wmsTask) + { + var db = new SqlHelper<object>().GetInstance(); + if (wmsTask.S_OP_DEF_NAME == "鐮佺洏鍏ュ簱") + { + //闄嶅叆搴撳崟鏄庣粏鐨勫垎閰嶉噺 + var itemlist = db.Queryable<CntrItemRel>().Where(a => a.S_CNTR_CODE == wmsTask.S_CNTR_CODE).ToList(); + if (itemlist.Count > 0) + { + LogHelper.Info($"鏌ユ壘鍒扮墿鏂欐槑缁唟itemlist.Count}鏉�); + foreach (var item in itemlist) + { + var exp = Expressionable.Create<TN_Inbound_Detail>(); + exp.And(it => it.S_IO_NO == item.S_BS_NO); + exp.And(it => it.N_BS_ROW_NO == item.S_WU); + exp.And(it => it.S_ITEM_CODE == item.S_ITEM_CODE); + exp.AndIF(!string.IsNullOrEmpty(item.S_BATCH_NO), it => it.S_BATCH_NO == item.S_BATCH_NO); + exp.AndIF(!string.IsNullOrEmpty(item.S_ERP_WH_CODE), it => it.S_ERP_WH_CODE == item.S_ERP_WH_CODE); + exp.AndIF(!string.IsNullOrEmpty(item.S_OWNER), it => it.S_OWNER == item.S_OWNER); + exp.AndIF(!string.IsNullOrEmpty(item.S_SUPPLIER_NO), it => it.S_SUPPLIER_NO == item.S_SUPPLIER_NO); + var InWorkOrder = db.Queryable<TN_Inbound_Detail>().Where(exp.ToExpression()).First(); + InWorkOrder.F_ACC_B_QTY = InWorkOrder.F_ACC_B_QTY - item.F_QTY; + db.Updateable(InWorkOrder).UpdateColumns(it => new { it.F_ACC_B_QTY }).ExecuteCommand(); + } + } + else + { + LogHelper.Info($"鏈壘鍒版墭鐩榹wmsTask.S_CNTR_CODE}鐨勭墿鏂欐槑缁�); + } + } + else + { + LogHelper.Info($"浣滀笟绫诲瀷涓簕wmsTask.S_OP_DEF_NAME} 鏃犻』闄嶉噺"); + } } /// <summary> @@ -190,6 +230,8 @@ mst.S_ERR_LOC = ""; db.Updateable(mst).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH, a.S_START_LOC, a.S_START_AREA, a.S_START_WH, a.S_ERR_LOC }).ExecuteCommand(); + + TaskProcess.Reducequantity(wmsTask); //NDCApi.ChangeOrderParam(mst.S_CODE, 1, startLoc.S_AGV_SITE); //NDCApi.ChangeOrderParam(mst.S_CODE, 2, endLoc.S_AGV_SITE); //NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0"); -- Gitblit v1.9.1