From bb09e7affb602791af4064cda8cddcfae8b3f3aa Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期四, 22 五月 2025 13:17:46 +0800 Subject: [PATCH] 内部联调测试,修复产品入库货区判断逻辑等问题 --- api/ApiHelper.cs | 222 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 141 insertions(+), 81 deletions(-) diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index 317676f..cce68d9 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -27,16 +27,18 @@ .Where(a => a.S_CODE == model.StartLoc) .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") .Where(a => a.N_CURRENT_NUM == 0) - .Where(a => a.S_AREA_CODE == "SFQ") + .Where(a => Settings.Areas[0].Contains(a.S_AREA_CODE)) // 鏀跺彂鍖� .First(); if (startLoc == null) { - return NewSimpleResult(1, $"璧风偣浣嶇疆{model.StartLoc}涓嶅瓨鍦紒"); + return BuildSimpleResult(1, $"璧风偣浣嶇疆{model.StartLoc}涓嶅瓨鍦紒"); } // 瀹瑰櫒 ID 鍜�鐗╂枡 ID 鏈寚瀹氾紝鐢辩郴缁熺洿鎺ョ敓鎴�- var cntId = Guid.NewGuid().ToString("D"); - var CgId = Guid.NewGuid().ToString("D"); + //var cntId = Guid.NewGuid().ToString("D"); + //var CgId = Guid.NewGuid().ToString("D"); + var cntId = GenerateNo("瀹瑰櫒鍙�, "CN"); + var cgId = GenerateNo("鐗╂枡鍙�, "CG"); // 鍒濆鏄病鏈夌粦瀹氫俊鎭殑锛屽厛灏嗚捣鐐逛綅缃笌瀹瑰櫒缁戝畾锛屽鍣ㄤ笌鐗╂枡缁戝畾 var locCntrRel = new TN_Loc_Container() { @@ -44,7 +46,7 @@ S_CNTR_CODE = cntId, }; var cgDetail = new TN_CG_Detail() { - S_ITEM_CODE = CgId, + S_ITEM_CODE = cgId, S_CNTR_CODE = cntId, }; @@ -54,11 +56,11 @@ if (model.Row != null && model.Row.Trim() != "") { endLocCode = model.Row; // 鐢ㄦ帓鍙峰瓧绗︿覆褰撳仛鍋囧湴鍧� if (!int.TryParse(model.Row.Trim(), out int row)) { - return NewSimpleResult(2, $"{model.Row} 涓嶅悎娉曪細鏃犳硶杞垚鏁存暟绫诲瀷"); + return BuildSimpleResult(2, $"{model.Row} 涓嶅悎娉曪細鏃犳硶杞垚鏁存暟绫诲瀷"); } // 璐ф灦鎺掑彿鍙兘鏄�0 - 8 if (row <= 0 || row > 8) { - return NewSimpleResult(2, $"璐ф灦鍙�{model.Row} 蹇呴』鏄�-8涔嬮棿鐨勬暣鏁�); + return BuildSimpleResult(2, $"璐ф灦鍙�{model.Row} 蹇呴』鏄�-8涔嬮棿鐨勬暣鏁�); } } @@ -69,38 +71,44 @@ using (var tran = db.Ado.UseTran()) { if (db.Insertable<TN_Loc_Container>(locCntrRel).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鎻掑叆璐т綅瀹瑰櫒鍏崇郴琛ㄥけ璐ワ細璐т綅{locCntrRel.S_LOC_CODE}锛屽鍣▄locCntrRel.S_CNTR_CODE}"); } if (db.Insertable<TN_CG_Detail>(cgDetail).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鎻掑叆瀹瑰櫒璐у搧鏄庣粏琛ㄥけ璐ワ細瀹瑰櫒{cgDetail.S_CNTR_CODE}锛岀墿鏂檣cgDetail.S_ITEM_CODE}"); } 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鏇存柊璧风偣璐т綅閿佺姸鎬佸け璐ワ細璧风偣璐т綅{startLoc.S_CODE}"); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚浠诲姟 {taskName} 澶辫触锛氬鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLocCode} 锛岀粓鐐硅揣浣嶆湭鎸囧畾"); } tran.CommitTran(); - return NewSimpleResult(0, + return BuildSimpleResult(0, $"鐢熸垚浠诲姟 {taskName} 鎴愬姛锛氬鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLocCode} 锛岀粓鐐硅揣浣嶆湭鎸囧畾"); } } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } + + //internal static string GenerateNo(string snType, string prefix) { + // var id = SYSHelper.GetSerialNumber(snType, prefix); + // var date = DateTime.Now.ToString("yyMMdd"); + // return $"TN{date}{id.ToString().PadLeft(4, '0')}"; + //} /// <summary> /// PDA閫夋嫨缁堢偣璐т綅 @@ -118,18 +126,18 @@ .OrderBy(a => a.T_CREATE, SqlSugar.OrderByType.Desc).First(); if (task == null) { - return NewSimpleResult(2, $"褰撳墠涓嶅瓨鍦ㄧ姸鎬佷负 鍙栬揣瀹屾垚 鐨�浜у搧鍏ュ簱 浠诲姟"); + return BuildSimpleResult(2, $"褰撳墠涓嶅瓨鍦ㄧ姸鎬佷负 鍙栬揣瀹屾垚 鐨�浜у搧鍏ュ簱 浠诲姟"); } if (task.S_END_LOC != null && task.S_END_LOC != "0") { - return NewSimpleResult(3, $"璇ヤ换鍔″凡鏈夌粓鐐�); + return BuildSimpleResult(3, $"璇ヤ换鍔″凡鏈夌粓鐐�); } var cgDetail = db.Queryable<TN_CG_Detail>() .Where(a => a.S_CNTR_CODE == task.S_CNTR_CODE).First(); if (cgDetail == null) { - return NewSimpleResult(4, $"鎵樼洏鐗╂枡涓嶅瓨鍦�); + return BuildSimpleResult(4, $"鎵樼洏鐗╂枡涓嶅瓨鍦�); } var endLoc = new TN_Location(); @@ -139,7 +147,7 @@ .Where(a => a.S_CODE == model.endLoc) .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") .Where(a => a.N_CURRENT_NUM == 0) - .Where(a => a.S_AREA_CODE == "HJQ") + .Where(a => Settings.Areas[1].Contains(a.S_AREA_CODE)) .Where(a => a.N_LAYER <= 3) .First(); } @@ -148,17 +156,17 @@ .Where(a => a.S_CODE == model.endLoc) .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") .Where(a => a.N_CURRENT_NUM == 0) - .Where(a => a.S_AREA_CODE == "HJQ") + .Where(a => Settings.Areas[1].Contains(a.S_AREA_CODE)) //.Where(a => a.N_LAYER <= 3) .First(); } else { - return NewSimpleResult(5, $"鐗╂枡閲嶉噺淇℃伅涓嶅悎娉曪細{cgDetail.F_QTY}"); + return BuildSimpleResult(5, $"鐗╂枡閲嶉噺淇℃伅涓嶅悎娉曪細{cgDetail.F_QTY}"); } // 娌℃湁绗﹀悎鏉′欢鐨勮揣浣� if (endLoc == null) { - return NewSimpleResult(6, $"璐т綅{model.endLoc}涓嶅瓨鍦紝鎴栦笉婊¤冻绉伴噸鏀剧疆瑕佹眰"); + return BuildSimpleResult(6, $"璐т綅{model.endLoc}涓嶅瓨鍦紝鎴栦笉婊¤冻绉伴噸鏀剧疆瑕佹眰"); } // 淇敼浠诲姟缁堢偣涓篜DA鎸囧畾缁堢偣 @@ -168,21 +176,21 @@ using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_Task>(task).UpdateColumns(a => a.S_END_LOC).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(7, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}"); + return BuildSimpleResult(7, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}"); } 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) { tran.RollbackTran(); - return NewSimpleResult(7, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}"); + return BuildSimpleResult(7, $"浠诲姟{task.S_CODE}淇敼澶辫触锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}"); } tran.CommitTran(); - return NewSimpleResult(0, $"浠诲姟{task.S_CODE}淇敼鎴愬姛锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}"); + return BuildSimpleResult(0, $"浠诲姟{task.S_CODE}淇敼鎴愬姛锛屼慨鏀圭粓鐐逛綅缃负{endLoc.S_CODE}"); } } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } @@ -204,19 +212,19 @@ .First(); if (startLoc == null) { - return NewSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�); + return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶅瓨鍦ㄦ垨涓嶅叿澶囧彇璐ц姹�); } var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc); if (locCntrRel == null) { - return NewSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙嚭搴撶殑鐗╂枡"); + return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙嚭搴撶殑鐗╂枡"); } - var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && a.S_AREA_CODE == "SFQ"); + var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE)); if (endLoc == null) { - return NewSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); + return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); } var cntId = locCntrRel.S_CNTR_CODE; @@ -229,7 +237,7 @@ 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); } @@ -237,23 +245,23 @@ it.N_LOCK_STATE, it.S_LOCK_STATE, it.S_LOCK_OP, it.T_MODIFY }).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } tran.CommitTran(); - return NewSimpleResult(0, + return BuildSimpleResult(0, $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } @@ -268,20 +276,20 @@ try { // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級 - var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && a.S_AREA_CODE == "SFQ"); + var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE)); if (startLoc == null) { - return NewSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝洖搴撴潯浠�); + return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝洖搴撴潯浠�); } var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc); if (locCntrRel == null) { - return NewSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡"); + return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡"); } // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛� var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y"); if (endLoc == null) { - return NewSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); + return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); } var cntId = locCntrRel.S_CNTR_CODE; @@ -293,30 +301,30 @@ 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); } 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } tran.CommitTran(); - return NewSimpleResult(0, + return BuildSimpleResult(0, $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntId} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } @@ -336,19 +344,19 @@ countPlan.S_ITEM_CODE = model.targetId; } else { - return NewSimpleResult(2, $"鍒涘缓鐩樼偣璁″垝澶辫触锛氫笉鍚堟硶鐨勭洏鐐圭被鍨�'{model.countType}'"); + return BuildSimpleResult(2, $"鍒涘缓鐩樼偣璁″垝澶辫触锛氫笉鍚堟硶鐨勭洏鐐圭被鍨�'{model.countType}'"); } if (db.Insertable<TN_Count_Plan>(countPlan).ExecuteCommand() <= 0) { - return NewSimpleResult(2, "鍒涘缓鐩樼偣璁″垝澶辫触"); + return BuildSimpleResult(2, "鍒涘缓鐩樼偣璁″垝澶辫触"); } - return NewSimpleResult(0, "鍒涘缓鐩樼偣璁″垝鎴愬姛"); + return BuildSimpleResult(0, "鍒涘缓鐩樼偣璁″垝鎴愬姛"); } catch (Exception ex) { - return NewSimpleResult(1, ex.Message); + return BuildSimpleResult(1, ex.Message); } } @@ -360,7 +368,7 @@ .Where(a => a.S_CP_NO == model.planId).First(); if (countPlan == null) { - return NewSimpleResult(2, $"鐩樼偣璁″垝鍗曞彿 '{model.planId}' 涓嶅瓨鍦�); + return BuildSimpleResult(2, $"鐩樼偣璁″垝鍗曞彿 '{model.planId}' 涓嶅瓨鍦�); } var countOrder = new TN_Count_Order() { @@ -398,30 +406,30 @@ } } else { - return NewSimpleResult(3, $"璁″垝鍗�{model.planId}'鐨勭被鍨媨countPlan.S_TYPE}涓嶅悎娉�); + return BuildSimpleResult(3, $"璁″垝鍗�{model.planId}'鐨勭被鍨媨countPlan.S_TYPE}涓嶅悎娉�); } using (var tran = db.Ado.UseTran()) { if (db.Insertable<TN_Count_Order>(countOrder).ExecuteCommand() <= 0) { tran.RollbackTran(); info = "鍒涘缓鐩樼偣鍗曞け璐�; - return NewSimpleResult(2, info); + return BuildSimpleResult(2, info); } if (db.Insertable<TN_Count_CG_Detail>(countDetailList).ExecuteCommand() <= 0) { tran.RollbackTran(); info = "鍒涘缓鐩樼偣鍗曟槑缁嗗け璐�; - return NewSimpleResult(3, info); + return BuildSimpleResult(3, info); } tran.CommitTran(); } - return NewSimpleResult(0, "鍒涘缓鐩樼偣鍗曟垚鍔�); + return BuildSimpleResult(0, "鍒涘缓鐩樼偣鍗曟垚鍔�); } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } @@ -432,30 +440,31 @@ .Where(d => d.S_CNTR_CODE == model.cntrCode).First(); if (cgDetail == null) { - return NewSimpleResult(2, $"鎵句笉鍒板鍣ㄥ彿'{model.cntrCode}'瀵瑰簲鐨勭墿鏂�); + return BuildSimpleResult(2, $"鎵句笉鍒板鍣ㄥ彿'{model.cntrCode}'瀵瑰簲鐨勭墿鏂�); } var countDiff = new TN_Count_Diff { S_CNTR_CODE = cgDetail.S_CNTR_CODE, + F_QTY = cgDetail.F_QTY, F_ACTUAL_QTY = model.qty }; if (db.Insertable<TN_Count_Diff>(countDiff).ExecuteCommand() <= 0) { - return NewSimpleResult(3, $"鎻掑叆鐩樼偣宸紓琛ㄥけ璐�); + return BuildSimpleResult(3, $"鎻掑叆鐩樼偣宸紓琛ㄥけ璐�); } - return NewSimpleResult(0, "鐩樼偣宸紓瀹屾垚"); + return BuildSimpleResult(0, "鐩樼偣宸紓瀹屾垚"); } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } internal static string GenerateNo(string snType, string prefix) { var id = SYSHelper.GetSerialNumber(snType, prefix); var date = DateTime.Now.ToString("yyMMdd"); - return $"TN{date}{id.ToString().PadLeft(4, '0')}"; + return $"{prefix}{date}{id.ToString().PadLeft(4, '0')}"; } /// <summary> @@ -469,20 +478,20 @@ try { // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級 - var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && a.S_AREA_CODE == "SFQ"); + var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE)); if (startLoc == null) { - return NewSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝嚭搴撴潯浠�); + return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝嚭搴撴潯浠�); } var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc); if (locCntrRel == null) { - return NewSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡"); + return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡"); } // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛� var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y"); if (endLoc == null) { - return NewSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); + return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); } var cntID = locCntrRel.S_CNTR_CODE; @@ -494,30 +503,30 @@ 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); } 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } tran.CommitTran(); - return NewSimpleResult(0, + return BuildSimpleResult(0, $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } @@ -532,20 +541,20 @@ try { // 璧风偣浣嶇疆锛氬彇鏀捐揣鍖猴紙鏈夎揣鐗┿�娌℃湁閿併�宸插惎鐢級 - var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && a.S_AREA_CODE == "SFQ"); + var startLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.startLoc && a.N_CURRENT_NUM == 1 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y" && Settings.Areas[0].Contains(a.S_AREA_CODE)); if (startLoc == null) { - return NewSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝洖搴撴潯浠�); + return BuildSimpleResult(2, $"璧风偣浣嶇疆 {model.startLoc} 涓嶇鍚堝洖搴撴潯浠�); } var locCntrRel = db.Queryable<TN_Loc_Container>().First(a => a.S_LOC_CODE == model.startLoc); if (locCntrRel == null) { - return NewSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡"); + return BuildSimpleResult(3, $"璧风偣浣嶇疆 {model.startLoc} 娌℃湁缁戝畾瀹瑰櫒锛屾棤鍙洖搴撶殑鐗╂枡"); } // 缁堢偣浣嶇疆锛氳揣鏋讹紙娌℃湁璐х墿锛屾病鏈夐攣锛� var endLoc = db.Queryable<TN_Location>().First(a => a.S_CODE == model.endLoc && a.N_CURRENT_NUM == 0 && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y"); if (endLoc == null) { - return NewSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); + return BuildSimpleResult(4, $"缁堢偣浣嶇疆 {model.endLoc} 涓嶅叿澶囨斁璐ф潯浠�); } var cntID = locCntrRel.S_CNTR_CODE; @@ -557,56 +566,107 @@ 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣浣�{endLoc.S_CODE}"); } 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) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } if (db.Insertable<TN_Task>(task).ExecuteCommand() <= 0) { tran.RollbackTran(); - return NewSimpleResult(500, + return BuildSimpleResult(500, $"鐢熸垚 {taskName} 澶辫触锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } tran.CommitTran(); - return NewSimpleResult(0, + return BuildSimpleResult(0, $"鐢熸垚 {taskName} 鎴愬姛锛屽鍣ㄥ彿 {cntID} 锛岃捣鐐�{startLoc.S_CODE} 锛岀粓鐐硅揣鏋�{endLoc.S_CODE}"); } } catch (Exception ex) { - return NewSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); + return BuildSimpleResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } } public static ErpResult InboundDataSync(InboundDataSyncInfo model) { var db = new SqlHelper<object>().GetInstance(); - try { + var err = ""; + var cgDetailList = new List<TN_CG_Detail>(); + foreach (var inboundData in model.stockTransactions) { + var cgDetail = db.Queryable<TN_Location, TN_Loc_Container, TN_CG_Detail> + ((l, c, d) => l.S_CODE == c.S_LOC_CODE && c.S_CNTR_CODE == d.S_CNTR_CODE) + .Where(l => l.S_CODE == inboundData.locationCode) + .Select((l, c, d) => d) + .First(); + + if (cgDetail == null) { + err += $"鍌ㄤ綅鐮亄inboundData.locationCode}瀵瑰簲鐨勮揣浣嶇墿鏂欎笉瀛樺湪锛�; + continue; + } + + cgDetail.S_ITEM_CODE = inboundData.itemCode; + cgDetail.S_ITEM_NAME = inboundData.itemName; + + cgDetailList.Add(cgDetail); + } + + if (db.Updateable<TN_CG_Detail>(cgDetailList).ExecuteCommand() <= 0) { + return BuildErpResult(500, $"鏇存敼鐗╂枡淇℃伅澶辫触"); + } + + if (err != "") { + return BuildErpResult(2, err); + } + return BuildErpResult(0, $"鏇存敼鐗╂枡淇℃伅鎴愬姛"); } catch (Exception ex) { - return BuildErpResult(1, ex.Message); + return BuildErpResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } - return BuildErpResult(0, null); } public static ErpResult OutboundDataSync(OutboundDataSyncInfo model) { var db = new SqlHelper<object>().GetInstance(); - try { + var err = ""; + var cgDetailList = new List<TN_CG_Detail>(); + foreach (var inboundData in model.materialIssues) { + var cgDetail = db.Queryable<TN_Location, TN_Loc_Container, TN_CG_Detail> + ((l, c, d) => l.S_CODE == c.S_LOC_CODE && c.S_CNTR_CODE == d.S_CNTR_CODE) + .Where(l => l.S_CODE == inboundData.locationCode) + .Select((l, c, d) => d) + .First(); + if (cgDetail == null) { + err += $"鍌ㄤ綅鐮亄inboundData.locationCode}瀵瑰簲鐨勮揣浣嶇墿鏂欎笉瀛樺湪锛�; + continue; + } + + cgDetail.S_ITEM_CODE = inboundData.itemCode; + cgDetail.S_ITEM_NAME = inboundData.itemName; + + cgDetailList.Add(cgDetail); + } + + if (db.Updateable<TN_CG_Detail>(cgDetailList).ExecuteCommand() <= 0) { + return BuildErpResult(500, $"鏇存敼鐗╂枡淇℃伅澶辫触"); + } + + if (err != "") { + return BuildErpResult(2, err); + } + return BuildErpResult(0, $"鏇存敼鐗╂枡淇℃伅鎴愬姛"); } catch (Exception ex) { - return BuildErpResult(1, ex.Message); + return BuildErpResult(1, $"鍙戠敓浜嗗紓甯革細{ex.Message}"); } - return BuildErpResult(1, null); } } } -- Gitblit v1.9.1