From 2d3ee03961d6cfbde70342e8a97bc7b05d0b0dc3 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期一, 21 七月 2025 17:27:34 +0800 Subject: [PATCH] 优化代码, 封装货位锁和创建任务流程, 数据库事务等 --- core/WCSCore.cs | 75 +++++++++---------------------------- 1 files changed, 19 insertions(+), 56 deletions(-) diff --git a/core/WCSCore.cs b/core/WCSCore.cs index 5f1e56a..801e745 100644 --- a/core/WCSCore.cs +++ b/core/WCSCore.cs @@ -113,7 +113,6 @@ private static void RecordTaskTable(TN_Task task) { var db = new SqlHelper<object>().GetInstance(); - var info = ""; try { var cgDetail = new TN_CG_Detail(); // 濡傛灉娌℃湁淇℃伅,榛樿灏辨槸绌哄�,鍙互鐩存帴濉叆,涓嶉渶瑕佸垽鏂�@@ -128,8 +127,7 @@ .First(); if (cgDetail == null) { - info = $"浠诲姟{task.S_CODE}瀹屾垚,璁板綍鍑哄叆搴撳瓨鍦ㄩ棶棰�鏃犳硶鍦ㄥ鍣ㄨ揣鍝佹槑缁嗚〃涓壘鍒版墭鐩榹task.S_CNTR_CODE}瀵瑰簲鐨勭墿鏂�; - LogHelper.Info(info); + LogHelper.Info($"浠诲姟{task.S_CODE}瀹屾垚,璁板綍鍑哄叆搴撳瓨鍦ㄩ棶棰�鏃犳硶鍦ㄥ鍣ㄨ揣鍝佹槑缁嗚〃涓壘鍒版墭鐩榹task.S_CNTR_CODE}瀵瑰簲鐨勭墿鏂�); //return; cgDetail = new TN_CG_Detail() ; cgDetail.S_ITEM_CODE = "寮傚父"; @@ -150,8 +148,7 @@ .Where(r => r.S_TASK_NO == task.S_CODE).First(); if (record != null) { //needUpdateRecordTable = true; - info = $"鍑哄叆搴撹褰曡〃涓凡缁忓瓨鍦ㄤ换鍔″彿{task.S_CODE}"; // 闃叉娴嬭瘯鏃跺弽澶嶈皟鐢�34562瀵艰嚧閲嶅璁板綍 - LogHelper.Info(info); + LogHelper.Info($"鍑哄叆搴撹褰曡〃涓凡缁忓瓨鍦ㄤ换鍔″彿{task.S_CODE}"); // 闃叉娴嬭瘯鏃跺弽澶嶈皟鐢�34562瀵艰嚧閲嶅璁板綍 return; } @@ -175,13 +172,11 @@ // 鏁版嵁搴撴搷浣� if (db.Insertable(record).ExecuteCommand() <= 0) { - info = "鎻掑叆鍑哄叆搴撹褰曡〃澶辫触:" + JsonConvert.SerializeObject(record); - LogHelper.Info(info); + LogHelper.Info("鎻掑叆鍑哄叆搴撹褰曡〃澶辫触:" + JsonConvert.SerializeObject(record)); return; } - info = "鎻掑叆鍑哄叆搴撹褰曡〃鎴愬姛"; - LogHelper.Info(info); + LogHelper.Info("鎻掑叆鍑哄叆搴撹褰曡〃鎴愬姛"); } catch (Exception ex) { LogHelper.InfoEx(ex); @@ -313,7 +308,6 @@ public static void PickUpReturnErp(TN_Task task) { var db = new SqlHelper<object>().GetInstance(); - var info = ""; var httpH = new HttpHelper(); try { @@ -322,8 +316,7 @@ .First(); if (plan == null) { - info = $"璁″垝鍗曞彿{task.S_BS_NO}涓嶅瓨鍦�"; - LogHelper.Info(info); + LogHelper.Info($"璁″垝鍗曞彿{task.S_BS_NO}涓嶅瓨鍦�"); } var cgDetail = db.Queryable<TN_CG_Detail>() @@ -331,8 +324,7 @@ .First(); if (cgDetail == null) { - info = $"鐗╂枡缂栫爜涓嶅瓨鍦�"; - LogHelper.Info(info); + LogHelper.Info($"鐗╂枡缂栫爜涓嶅瓨鍦�"); } var model = new OtherModel.PickUpReturnErpInfo { @@ -402,8 +394,7 @@ plan.SFSL = model.sfsl; plan.HWZT = model.hwzt; var success = db.Updateable(plan).UpdateColumns(p => new { p.SFJS, p.SFSL, p.HWZT }).ExecuteCommand() > 0; - info = "鏇存柊鍑哄簱璁″垝鍗曡褰曡〃" + (success ? "鎴愬姛" : "澶辫触"); - LogHelper.Info(info); + LogHelper.Info("鏇存柊鍑哄簱璁″垝鍗曡褰曡〃" + (success ? "鎴愬姛" : "澶辫触")); } catch (Exception ex) { LogHelper.InfoEx(ex); @@ -496,7 +487,6 @@ /// <returns></returns> public static Result<bool> CreateInboundTask(string startLocCode, string cntrCode) { var db = new SqlHelper<object>().GetInstance(); - var info = ""; var taskInfo = Settings.GetTaskInfo(ETask.M婊℃墭涓嬬嚎鍏ュ簱); var taskName = taskInfo.TaskName; @@ -513,9 +503,7 @@ .First(); if (startLoc == null) { - info = $"娌℃湁鎵惧埌璧风偣璐т綅'{startLocCode}',鎴栦笉婊¤冻瑕佹眰:鏈笂閿�褰撳墠瀹瑰櫒鏁伴噺=0"; - LogHelper.Info(info); - return new Result<bool>(false, info); + return NewResult(false, $"娌℃湁鎵惧埌璧风偣璐т綅'{startLocCode}',鎴栦笉婊¤冻瑕佹眰:鏈笂閿�褰撳墠瀹瑰櫒鏁伴噺=0"); } var locCntrRelOld = db.Queryable<TN_Loc_Container>() @@ -538,71 +526,46 @@ .First(); if (endLoc == null) { - info = $"娌℃湁鎵惧埌鍚堥�鐨勩�缁堢偣璐т綅銆�闇�婊¤冻瑕佹眰:鏈笂閿�褰撳墠瀹瑰櫒鏁伴噺=0"; - LogHelper.Info(info); - return new Result<bool>(false, info); + return NewResult(false, $"娌℃湁鎵惧埌鍚堥�鐨勩�缁堢偣璐т綅銆�闇�婊¤冻瑕佹眰:鏈笂閿�褰撳墠瀹瑰櫒鏁伴噺=0"); } var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - WCSHelper.LockStartLoc(ref startLoc); // 璧风偣鍑哄簱閿�- WCSHelper.LockEndLoc(ref endLoc); // 缁堢偣鍏ュ簱閿�+ WCSHelper.LockStartLoc(startLoc); // 璧风偣鍑哄簱閿�+ WCSHelper.LockEndLoc(endLoc); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (locCntrRelOld != null) { if (db.Deleteable(locCntrRelOld).ExecuteCommand() <= 0 && db.Updateable<TN_Location>().SetColumns(l => l.N_CURRENT_NUM == 0).Where(l => l.S_CODE == locCntrRelOld.S_LOC_CODE).ExecuteCommand() <= 0) { tran.RollbackTran(); - info = $"鍒犻櫎鏃ц揣浣嶅鍣ㄥ叧绯昏〃澶辫触:璐т綅缂栫爜{locCntrRelOld.S_LOC_CODE},瀹瑰櫒缂栫爜{locCntrRelOld.S_CNTR_CODE}"; - LogHelper.Info(info); - return new Result<bool>(false, info); + return NewResult(false, $"鍒犻櫎鏃ц揣浣嶅鍣ㄥ叧绯昏〃澶辫触:璐т綅缂栫爜{locCntrRelOld.S_LOC_CODE},瀹瑰櫒缂栫爜{locCntrRelOld.S_CNTR_CODE}"); } } if (db.Insertable(locCntrRel).ExecuteCommand() <= 0) { tran.RollbackTran(); - info = $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄥけ璐�璐т綅缂栫爜{locCntrRel.S_LOC_CODE},瀹瑰櫒缂栫爜{locCntrRel.S_CNTR_CODE}"; - LogHelper.Info(info); - return new Result<bool>(false, info); + return NewResult(false, $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄥけ璐�璐т綅缂栫爜{locCntrRel.S_LOC_CODE},瀹瑰櫒缂栫爜{locCntrRel.S_CNTR_CODE}"); } - if (db.Updateable(startLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, - it.S_LOCK_STATE, - it.S_LOCK_OP, - it.T_MODIFY, - it.N_CURRENT_NUM, // 璧风偣璐т綅缁戝畾鍚�灏嗚揣浣嶇姸鎬佹洿鏂�- }).ExecuteCommand() <= 0) { + if (db.Updateable(startLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY, it.N_CURRENT_NUM, }).ExecuteCommand() <= 0) { tran.RollbackTran(); - info = $"鐢熸垚浠诲姟'{taskName}'澶辫触:鏇存柊璧风偣璐т綅{startLoc.S_CODE}閿佺姸鎬佸け璐�; - LogHelper.Info(info); - return new Result<bool>(false, info); + return NewResult(false, $"鐢熸垚浠诲姟'{taskName}'澶辫触:鏇存柊璧风偣璐т綅{startLoc.S_CODE}閿佺姸鎬佸け璐�); } - if (db.Updateable(endLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, - it.S_LOCK_STATE, - it.S_LOCK_OP, - it.T_MODIFY, - }).ExecuteCommand() <= 0) { + if (db.Updateable(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY, }).ExecuteCommand() <= 0) { tran.RollbackTran(); - info = $"鐢熸垚浠诲姟'{taskName}'澶辫触:鏇存柊缁堢偣璐т綅{endLoc.S_CODE}閿佺姸鎬佸け璐�; - LogHelper.Info(info); - return new Result<bool>(false, info); + return NewResult(false, $"鐢熸垚浠诲姟'{taskName}'澶辫触:鏇存柊缁堢偣璐т綅{endLoc.S_CODE}閿佺姸鎬佸け璐�); } if (db.Insertable(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - info = $"鐢熸垚浠诲姟'{taskName}'澶辫触,浠诲姟鍙�{task.S_CODE},瀹瑰櫒鍙�{cntId},璧风偣={startLoc.S_CODE},缁堢偣={endLoc.S_CODE}"; - LogHelper.Info(info); - return new Result<bool>(false, info); + return NewResult(false, $"鐢熸垚浠诲姟'{taskName}'澶辫触,浠诲姟鍙�{task.S_CODE},瀹瑰櫒鍙�{cntId},璧风偣={startLoc.S_CODE},缁堢偣={endLoc.S_CODE}"); } tran.CommitTran(); - info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛,浠诲姟鍙�{task.S_CODE},瀹瑰櫒鍙�{cntId},璧风偣={startLoc.S_CODE},缁堢偣={endLoc.S_CODE}"; - LogHelper.Info(info); - return new Result<bool>(true, info); + return NewResult(true, $"鐢熸垚浠诲姟'{taskName}'鎴愬姛,浠诲姟鍙�{task.S_CODE},瀹瑰櫒鍙�{cntId},璧风偣={startLoc.S_CODE},缁堢偣={endLoc.S_CODE}"); } } catch (Exception ex) { -- Gitblit v1.9.1