From e2303b1125817cb7887e36d5905c8f1661d685a3 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期四, 29 五月 2025 17:29:52 +0800 Subject: [PATCH] 完善ERP出库下发任务及来源单号、记录表的字段更新 --- core/Monitor.cs | 81 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 73 insertions(+), 8 deletions(-) diff --git a/core/Monitor.cs b/core/Monitor.cs index ccb2fd5..50fd5a9 100644 --- a/core/Monitor.cs +++ b/core/Monitor.cs @@ -21,7 +21,7 @@ } public static void CheckInbound() { - var taskName = TaskName.鎵樼洏_婊℃墭涓嬬嚎鍏ュ簱; + var taskName = TaskName.T鎵樼洏_婊℃墭涓嬬嚎鍏ュ簱; var db = new SqlHelper<object>().GetInstance(); var info = ""; try { @@ -66,6 +66,21 @@ S_CNTR_CODE = cntrCode, }; + // BEG 姣忔杞閮芥鏌ュ搴斿鍣ㄦ槸鍚﹀凡鐧昏锛岀櫥璁板垯鏇存柊锛屾湭鐧昏鍒欐彃鍏�+ var cntrItemRel = db.Queryable<TN_Container_ItemType>() + .Where(i => i.S_CNTR_CODE == cntrCode).First(); + + var insertTable = cntrItemRel == null; + + if (insertTable) { + // 鏆傚畾鍦ㄦ弧鎵樹笅绾垮叆搴撶殑鏃跺�锛岀櫥璁版墭鐩樺鍣�鐗╂枡鍙峰叧绯伙紙鍚庨潰鍙兘浼氭敼鎴愮郴缁熺淮鎶わ級 + cntrItemRel = new TN_Container_ItemType { + S_ITEM_CODE = itemCode, + S_CNTR_CODE = cntrCode, + }; + } + // END + var startLoc = db.Queryable<TN_Location>() .Where(l => l.S_CODE == startLocCode) // 鎸囧畾锛氳捣鐐硅揣浣嶅彿 .Where(l => l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣 @@ -93,9 +108,8 @@ // //return; //} - // TODO 婊$鍏ュ簱绠楁硶寰呬紭鍖� var endLoc = db.Queryable<TN_Location>() - .Where(a => Settings.AreaMap[AreaName.绌烘墭瀛樻斁鍖篯.Contains(a.S_AREA_CODE)) + .Where(a => Settings.AreaMap[AreaName.K绌烘墭瀛樻斁鍖篯.Contains(a.S_AREA_CODE)) .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣 .Where(a => a.N_CURRENT_NUM == 0) // 绛涢�锛氱┖璐т綅 .OrderBy(l => l.N_LAYER) @@ -120,6 +134,25 @@ LogHelper.Info(info); continue; } + + // BEG 鎻掑叆鎴栨洿鏂板鍣ㄤ笌鐗╂枡绫诲瀷鐨勭粦瀹氳〃 + if (insertTable) { + if (db.Insertable<TN_Container_ItemType>(cntrItemRel).ExecuteCommand() <= 0) { + tran.RollbackTran(); + info = $"鐧昏瀹瑰櫒鐗╂枡绫诲瀷缁戝畾琛ㄥけ璐ワ細鐗╂枡缂栫爜{cntrItemRel.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cntrItemRel.S_CNTR_CODE}"; + LogHelper.Info(info); + continue; + } + } + else { + if (db.Updateable<TN_Container_ItemType>(cntrItemRel).ExecuteCommand() <= 0) { + tran.RollbackTran(); + info = $"鐧昏瀹瑰櫒鐗╂枡绫诲瀷缁戝畾琛ㄥけ璐ワ細鐗╂枡缂栫爜{cntrItemRel.S_ITEM_CODE}锛屽鍣ㄧ紪鐮亄cntrItemRel.S_CNTR_CODE}"; + LogHelper.Info(info); + continue; + } + } + // END if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { tran.RollbackTran(); @@ -174,7 +207,7 @@ } public static void CheckOutboundOrder() { - var taskName = TaskName.鎴愬搧鑳跺嚭搴� + var taskName = TaskName.C鎴愬搧鑳跺嚭搴� var db = new SqlHelper<object>().GetInstance(); var info = $"杞--{taskName}--"; @@ -206,7 +239,7 @@ } var lastDetail = db.Queryable<TN_Outbound_Detail>() - .Where(d => d.S_OO_NO == order.S_NO && d.N_B_STATE == 2) // TODO 鎴栬�鏀规垚鏌ask + .Where(d => d.S_OO_NO == order.S_NO && d.N_B_STATE == 2) // [NOTE] 鎴栬�鏀规垚鏌ask .First(); if (lastDetail != null) { @@ -255,7 +288,7 @@ LogHelper.Info($"杞--{taskName}锛氭病鏈夋壘鍒板悎閫傜殑缁堢偣璐т綅锛佸崟鍙�{detail.S_OO_NO}'瑕佹眰缁堢偣搴撳尯涓�{detail.S_END_AREA}'"); continue; } - + detail.N_B_STATE = 2; var cntId = detail.S_CNTR_CODE; @@ -309,6 +342,38 @@ continue; } } + + + //// BEG 鏌ユ壘6涓湀浠ュ墠鐨勪换鍔¤〃鍜屼换鍔″姩浣滆〃 + //var oldTaskList = db.Queryable<TN_Task>() + // .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6)) + // .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "瀹屾垚") + // .ToList(); + + //var oldTaskActionList = db.Queryable<TN_Task, TN_Task_Action>((t, a) => t.S_CODE == a.S_TASK_CODE) + // .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6)) + // .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "瀹屾垚") + // .Select((t, a) => a) + // .ToList(); + //// END + + //using (var tran = db.Ado.UseTran()) { + // // 鍦ㄥ嚭搴撹疆璇腑澶勭悊锛屾煡鎵句换鍔″崟鏄惁鏈夊崐骞村墠涓斿凡缁忓畬鎴愮殑浠诲姟锛屽鏋滄湁鍒欏垹闄�+ // // 杩欎釜鎿嶄綔涓嶅奖鍝嶆甯告祦绋嬶紝濡傛灉澶辫触涔熶笉闇�鍥炴粴 + // //if (db.Deleteable<TN_Task>() + // // .Where(t => t.T_MODIFY < DateTime.Now.AddMonths(-6)) + // // .Where(t => t.N_B_STATE == 3 && t.S_B_STATE == "瀹屾垚") + // // .ExecuteCommand() <= 0) { + // // info = $"杞{taskName}鍗曟椂灏濊瘯鍒犻櫎鍗婂勾鍓嶇殑浠诲姟澶辫触"; + // // LogHelper.Info(info); + // //} + // if (db.Deleteable<TN_Task>(oldTaskList).ExecuteCommand() <= 0 + // && db.Deleteable<TN_Task_Action>(oldTaskActionList).ExecuteCommand() <= 0) { + // info = $"杞{taskName}鍗曟椂灏濊瘯鍒犻櫎鍗婂勾鍓嶇殑浠诲姟澶辫触"; + // LogHelper.Info(info); + // } + //} + } catch (Exception ex) { info += $"鍙戠敓浜嗗紓甯革細{ex.Message}"; @@ -317,7 +382,7 @@ } public static void CheckCheckOrder() { - var taskName = TaskName.鎶芥_鍑哄簱; + var taskName = TaskName.C鎶芥_鍑哄簱; var db = new SqlHelper<object>().GetInstance(); var info = ""; @@ -440,7 +505,7 @@ } public static void CheckShiftOrder() { - var taskName = TaskName.绉诲簱; + var taskName = TaskName.Y绉诲簱; var db = new SqlHelper<object>().GetInstance(); var info = ""; try { -- Gitblit v1.9.1