From e2ec31cc0062b3c1af621437554aa9a3505d2a56 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期五, 23 五月 2025 17:26:55 +0800 Subject: [PATCH] 优化产线安全交互的部分,优化AGV调试接口 --- api/ApiHelper.cs | 279 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 173 insertions(+), 106 deletions(-) diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index 3c352ae..9c71a92 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -32,7 +32,7 @@ try { // 灏哖DA鎻愪緵鐨勭墿鏂欑紪鐮佷笌璐存爣鏈虹殑淇℃伅姣斿 var cgDetail = db.Queryable<TN_CG_Detail>() - .Where(d => d.S_ITEM_CODE == model.s_item_code && d.S_BATCH_NO == model.s_batch) // 鎸囧畾锛氱墿鏂欑紪鐮併�鎵规鍙�+ .Where(d => d.S_ITEM_CODE == model.ItemCode && d.S_BATCH_NO == model.BatchNo) // 鎸囧畾锛氱墿鏂欑紪鐮併�鎵规鍙� .Where(d => d.N_ITEM_STATE == 1 && d.S_ITEM_STATE == "寰呮") // NOTE 鍐椾綑妫�煡锛氱墿鏂欑姸鎬佸簲璇ヤ负 1寰呮 .First(); @@ -43,19 +43,19 @@ } var startLoc = db.Queryable<TN_Location>() - .Where(a => a.S_CODE == model.s_start_loc) // 鎸囧畾锛氳捣鐐硅揣浣嶅彿 - .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣 + .Where(l => l.S_CODE == model.StartLoc) // 鎸囧畾锛氳捣鐐硅揣浣嶅彿 + .Where(l => l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣 .First(); if (startLoc == null) { - info = $"璧风偣浣嶇疆 '{model.s_start_loc}' 涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�; + info = $"璧风偣浣嶇疆 '{model.StartLoc}' 涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�; LogHelper.Info(info); return NewSimpleResult(3, info); } // 缁戝畾璐т綅鍜屽鍣ㄥ彿 var locCntrRel = new TN_Loc_Container { - S_LOC_CODE = model.s_start_loc, + S_LOC_CODE = model.StartLoc, S_CNTR_CODE = cgDetail.S_CNTR_CODE, S_CNTR_TYPE = "濂借繍绠�, }; @@ -72,7 +72,7 @@ .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) - .OrderBy(l => l.S_AREA_CODE).First(); + .First(); if (endLoc == null) { info = "婊$鍏ュ簱鏆傛椂娌℃湁鍚堥�鐨勮揣浣嶅彲浠ュ叆搴�; @@ -83,8 +83,8 @@ var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { @@ -94,7 +94,7 @@ it.T_MODIFY }).ExecuteCommand() <= 0) { tran.RollbackTran(); - info = $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"; + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�; LogHelper.Info(info); return NewSimpleResult(4, info); } @@ -105,29 +105,28 @@ it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { - tran.RollbackTran(); - info = $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"; + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�; LogHelper.Info(info); return NewSimpleResult(4, info); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - info = $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"; + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; LogHelper.Info(info); return NewSimpleResult(4, info); } tran.CommitTran(); - info = $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"; + info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; LogHelper.Info(info); return NewSimpleResult(0, info); } } catch (Exception ex) { info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; - LogHelper.Info(info); + LogHelper.InfoEx(ex); return NewSimpleResult(1, info); } } @@ -249,7 +248,9 @@ .First(); if (startLoc == null) { - return NewSimpleResult(2, $"璧风偣浣嶇疆 '{model.StartLoc}' 涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�); + info = $"璧风偣浣嶇疆{model.StartLoc}涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�; + LogHelper.Info(info); + return NewSimpleResult(2, info); } // 鏌ョ湅瀹瑰櫒涓庤捣鐐硅揣浣嶆槸鍚︾粦瀹�@@ -258,55 +259,70 @@ .First(); if (locCntrRel == null) { - return NewSimpleResult(3, $"璧风偣浣嶇疆 '{model.StartLoc}' 娌℃湁缁戝畾瀹瑰櫒 '{model.CntrCode}'"); + info = $"璧风偣浣嶇疆{model.StartLoc}娌℃湁缁戝畾瀹瑰櫒{model.CntrCode}"; + LogHelper.Info(info); + return NewSimpleResult(3, info); } // TODO 鏆傚畾閫夋嫨鏈�綆灞傛寜鍖轰綅椤哄簭鍏ュ簱锛屽悗闈㈠緟淇敼 var endLoc = db.Queryable<TN_Location>() .Where(a => Settings.AreaMap[AreaName.绌烘墭瀛樻斁鍖篯.Contains(a.S_AREA_CODE)) .OrderBy(l => l.N_LAYER) - .OrderBy(l => l.S_AREA_CODE).First(); + .First(); if (endLoc == null) { - return NewSimpleResult(4, $"鏆傛椂娌℃湁绗﹀悎鏉′欢鐨勭粓鐐规斁璐т綅"); + info = $"鏆傛椂娌℃湁绗﹀悎鏉′欢鐨勭粓鐐规斁璐т綅"; + LogHelper.Info(info); + return NewSimpleResult(4, info); } var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { + it.N_LOCK_STATE, + it.S_LOCK_STATE, + it.S_LOCK_OP, + it.T_MODIFY + }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { - + it.N_LOCK_STATE, + it.S_LOCK_STATE, + it.S_LOCK_OP, + it.T_MODIFY + }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(4, info); } tran.CommitTran(); - return NewSimpleResult(0, - $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(0, info); } } catch (Exception ex) { info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; - LogHelper.Info(info); + LogHelper.InfoEx(ex); return NewSimpleResult(1, info); } } @@ -327,7 +343,9 @@ .First(); if (startLoc == null) { - return NewSimpleResult(2, $"璧风偣浣嶇疆 '{model.StartLoc}' 涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�); + info = $"璧风偣浣嶇疆{model.StartLoc}涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�; + LogHelper.Info(info); + return NewSimpleResult(2, info); } // 鏌ョ湅瀹瑰櫒涓庤捣鐐硅揣浣嶆槸鍚︾粦瀹�@@ -336,7 +354,9 @@ .First(); if (locCntrRel == null) { - return NewSimpleResult(3, $"璧风偣浣嶇疆 '{model.StartLoc}' 娌℃湁缁戝畾瀹瑰櫒 '{model.CntrCode}'"); + info = $"璧风偣浣嶇疆{model.StartLoc}娌℃湁缁戝畾瀹瑰櫒{model.CntrCode}"; + LogHelper.Info(info); + return NewSimpleResult(3, info); } // TODO 鏆傚畾閫夋嫨鏈�綆灞傛寜鍖轰綅椤哄簭鍏ュ簱锛屽悗闈㈠緟淇敼 @@ -352,38 +372,51 @@ var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { + it.N_LOCK_STATE, + it.S_LOCK_STATE, + it.S_LOCK_OP, + it.T_MODIFY + }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { - + it.N_LOCK_STATE, + it.S_LOCK_STATE, + it.S_LOCK_OP, + it.T_MODIFY + }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(4, info); } tran.CommitTran(); - return NewSimpleResult(0, - $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(0, info); } } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -431,8 +464,8 @@ var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { @@ -442,8 +475,9 @@ it.T_MODIFY }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { @@ -452,25 +486,29 @@ it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { - tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(4, info); } tran.CommitTran(); - return NewSimpleResult(0, - $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(0, info); } } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -517,38 +555,51 @@ var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { + it.N_LOCK_STATE, + it.S_LOCK_STATE, + it.S_LOCK_OP, + it.T_MODIFY + }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂拌捣鐐硅揣浣峽startLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { - it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { - + it.N_LOCK_STATE, + it.S_LOCK_STATE, + it.S_LOCK_OP, + it.T_MODIFY + }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛氭洿鏂扮粓鐐硅揣浣峽endLoc.S_CODE}閿佺姸鎬佸け璐�; + LogHelper.Info(info); + return NewSimpleResult(4, info); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, - $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'澶辫触锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(4, info); } tran.CommitTran(); - return NewSimpleResult(0, - $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); + info = $"鐢熸垚浠诲姟'{taskName}'鎴愬姛锛屽鍣ㄥ彿{cntId}锛岃捣鐐箋startLoc.S_CODE}锛岀粓鐐硅揣鏋秢endLoc.S_CODE}"; + LogHelper.Info(info); + return NewSimpleResult(0, info); } } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -621,7 +672,9 @@ return NewSimpleResult(0, $"鍒涘缓 鎶芥鍗�鎴愬姛"); } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } /// <summary> @@ -693,8 +746,8 @@ var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_CG_Detail>(cgDetail).UpdateColumns(it => @@ -744,7 +797,7 @@ } catch (Exception ex) { info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; - LogHelper.Info(info); + LogHelper.InfoEx(ex); return NewSimpleResult(1, info); } } @@ -798,8 +851,8 @@ var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_CG_Detail>(cgDetail).UpdateColumns(it => @@ -848,7 +901,9 @@ } } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -859,6 +914,7 @@ try { var startLoc = db.Queryable<TN_Location>() .Where(l => l.S_CODE == model.StartLoc) + .Where(l => l.N_LOCK_STATE == 0 && l.S_LOCK_STATE == "鏃� && l.C_ENABLE == "Y") // 绛涢�锛氭湭涓婇攣 .First(); var locCntrRel = db.Queryable<TN_Loc_Container>() @@ -879,8 +935,8 @@ var cntId = locCntrRel.S_CNTR_CODE; var task = WCSHelper.BuildTask(startLoc, endLoc, cntId, taskName); - LocationHelper.LockLoc(ref startLoc, 1); // 璧风偣鍑哄簱閿�- LocationHelper.LockLoc(ref endLoc, 2); // 缁堢偣鍏ュ簱閿�+ LocationHelper.LockLoc(ref startLoc, 2); // 璧风偣鍑哄簱閿�+ LocationHelper.LockLoc(ref endLoc, 1); // 缁堢偣鍏ュ簱閿� using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { @@ -922,8 +978,9 @@ } } catch (Exception ex) { - - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -1047,7 +1104,9 @@ return NewSimpleResult(0, "鐢熸垚鍑哄簱鍗曟垚鍔�); } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -1107,7 +1166,9 @@ return NewSimpleResult(0, "鐢熸垚鍑哄簱鍗曟垚鍔�); } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -1172,7 +1233,7 @@ } catch (Exception ex) { info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; - LogHelper.Info(info); + LogHelper.InfoEx(ex); return result; } } @@ -1246,7 +1307,9 @@ return NewSimpleResult(0, $"鍒涘缓 鎶芥鍗�鎴愬姛"); } catch (Exception ex) { - return BuildSimpleEx(ex); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewSimpleResult(1, info); } } @@ -1266,11 +1329,10 @@ } catch (Exception ex) { info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; - LogHelper.Info(info); + LogHelper.InfoEx(ex); return result; } } - private static string GenerateOrderNo(string snType, string prefix) { var id = SYSHelper.GetSerialNumber(snType, prefix); @@ -1286,12 +1348,13 @@ public static WmsResult CgInfoSync(CgInfoSyncInfo model) { var db = new SqlHelper<object>().GetInstance(); var random = new Random(); + var info = ""; try { var detail = new TN_CG_Detail { S_ITEM_CODE = model.ItemCode, S_ITEM_NAME = model.ItemName, - S_CNTR_CODE = Guid.NewGuid().ToString("D"), // NOTE 瀹瑰櫒鍙凤細鐩墠闅忔満锛堝悗鏈熷彲鑳戒細鎸囧畾锛屾垨鑰匬DA缁戝畾鏃跺啀濉叆锛�+ S_CNTR_CODE = GenerateOrderNo("瀹瑰櫒鍙�, "CN"), // NOTE 瀹瑰櫒鍙凤細鐩墠闅忔満锛堝悗鏈熷彲鑳戒細鎸囧畾锛屾垨鑰匬DA缁戝畾鏃跺啀濉叆锛� S_BATCH_NO = model.BatchNo, S_STANDARD = model.Standard, S_NET_WEIGHT = model.NetWeight, @@ -1299,31 +1362,35 @@ //N_PRODUCT_LINE = random.Next(0, 3), // NOTE 浜х嚎鍙凤細鐩墠闅忔満锛堝悗鏈熷彲鑳戒細鎸囧畾锛屾垨鑰匬DA缁戝畾鏃跺啀濉叆锛� }; - // 璐т綅瀹瑰櫒缁戝畾鐨勯�杈戯紝鍦ㄥソ杩愮涓嬬嚎PDA鐨勬祦绋嬩腑鎿嶄綔 - //var locCntrRel = new TN_Loc_Container { // //S_LOC_CODE = Settings.Config.ProductionLines[detail.N_PRODUCT_LINE].OffLoc[0], // 濂借繍绠辩殑浣嶇疆鏄搷浣滃尯锛屼笉鏄骇绾� // S_CNTR_CODE = detail.S_CNTR_CODE, // S_CNTR_TYPE = "濂借繍绠�, // 璐存爣鏈哄彧閽堝濂借繍绠� //}; - //using (var tran = db.Ado.UseTran()) { - // if (db.Insertable<TN_CG_Detail>(detail).ExecuteCommand() <= 0 - // && db.Insertable<TN_Loc_Container>(detail).ExecuteCommand() <= 0) { - // tran.RollbackTran(); - // return MesResultBuilder(2, "鎻掑叆鐗╂枡淇℃伅澶辫触锛� + JsonConvert.SerializeObject(detail)); - // } - // tran.CommitTran(); - //} + using (var tran = db.Ado.UseTran()) { + if (db.Insertable<TN_CG_Detail>(detail).ExecuteCommand() <= 0) { + tran.RollbackTran(); + info = "鎻掑叆鐗╂枡淇℃伅澶辫触锛� + JsonConvert.SerializeObject(detail); + return NewWmsResult(2, info); + } - if (db.Insertable<TN_CG_Detail>(detail).ExecuteCommand() <= 0) { - return MesResultBuilder(2, "鎻掑叆鐗╂枡淇℃伅澶辫触锛� + JsonConvert.SerializeObject(detail)); + //if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { + // tran.RollbackTran(); + // info = "鎻掑叆鐗╂枡淇℃伅澶辫触锛� + JsonConvert.SerializeObject(detail); + // return NewWmsResult(2, info); + //} + + tran.CommitTran(); } - return MesResultBuilder(0, "鎻掑叆鐗╂枡淇℃伅鎴愬姛"); + info = "鎻掑叆鐗╂枡淇℃伅鎴愬姛"; + return NewWmsResult(0, info); } catch (Exception ex) { - return MesResultBuilder(1, ex.Message); + info = $"鍙戠敓浜嗗紓甯革細{ex.Message}"; + LogHelper.InfoEx(ex); + return NewWmsResult(1, info); } } } -- Gitblit v1.9.1