From fbb7c2253c86d58583d7e3b0a8a44d0342c43c73 Mon Sep 17 00:00:00 2001 From: kazelee <1847801760@qq.com> Date: 星期五, 25 七月 2025 17:20:52 +0800 Subject: [PATCH] 完善单容器多物料场景的优化重构, 优化ERP回报信息的处理 --- api/ApiHelper.cs | 43 +++++++++++++++++++++---------------------- 1 files changed, 21 insertions(+), 22 deletions(-) diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs index 2466c03..54515d1 100644 --- a/api/ApiHelper.cs +++ b/api/ApiHelper.cs @@ -371,15 +371,15 @@ return BuildSimpleResult(3, $"璇ヤ换鍔″凡鏈夌粓鐐�); } - var cgDetail = db.Queryable<TN_CG_Detail>() - .Where(a => a.S_CNTR_CODE == task.S_CNTR_CODE).First(); + var cgDetailList = db.Queryable<TN_CG_Detail>() + .Where(a => a.S_CNTR_CODE == task.S_CNTR_CODE).ToList(); - if (cgDetail == null) { + if (cgDetailList.Count == 0) { return BuildSimpleResult(4, $"鎵樼洏鐗╂枡涓嶅瓨鍦�); } var endLoc = new TN_Location(); - if (cgDetail.F_WEIGHT > 2000) { + if (task.F_WEIGHT > 2000) { // 閲嶉噺瓒呰繃2t锛屾姤閿� if (GZRobot.TryGetInteractionInfoId(task.S_CODE, out var id1)) { if (GZRobot.UpdateInteractInfo(new UpdateInteractInfo { @@ -400,9 +400,9 @@ //return BuildSimpleResult(8, $"鍥借嚜AGV鎺ュ彈缁堢偣淇℃伅澶辫触"); } - return BuildSimpleResult(8, $"鐗╂枡閲嶉噺{cgDetail.F_WEIGHT}瓒呰繃2t"); + return BuildSimpleResult(8, $"鐗╂枡閲嶉噺{task.F_WEIGHT}瓒呰繃2t"); } - else if (cgDetail.F_WEIGHT > 1500) { + else if (task.F_WEIGHT > 1500) { // 閲嶉噺瓒呰繃1.5t锛岄渶瑕侀�鎷�-2灞傝揣鏋� endLoc = db.Queryable<TN_Location>() .Where(a => a.S_CODE == model.EndLoc) @@ -412,7 +412,7 @@ .Where(a => a.N_LAYER <= 2) .First(); } - else if (cgDetail.F_WEIGHT > 0) { + else if (task.F_WEIGHT > 0) { endLoc = db.Queryable<TN_Location>() .Where(a => a.S_CODE == model.EndLoc) .Where(a => a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "鏃� && a.C_ENABLE == "Y") @@ -423,7 +423,7 @@ .First(); } else { - return BuildSimpleResult(5, $"鐗╂枡閲嶉噺淇℃伅涓嶅悎娉曪細{cgDetail.F_WEIGHT}"); + return BuildSimpleResult(5, $"鐗╂枡閲嶉噺淇℃伅涓嶅悎娉曪細{task.F_WEIGHT}"); } // 娌℃湁绗﹀悎鏉′欢鐨勮揣浣�@@ -645,8 +645,8 @@ return BuildSimpleResult(2, $"褰撳墠璐т綅{model.startLoc}娌℃湁璐т綅瀹瑰櫒缁戝畾鍏崇郴锛屾棤闇�В缁戯紒"); } - var cgDetail = db.Queryable<TN_CG_Detail>().First(a => a.S_CNTR_CODE == locCntrRel.S_CNTR_CODE); - if (cgDetail != null) { + var cgDetailList = db.Queryable<TN_CG_Detail>().Where(a => a.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).ToList(); + if (cgDetailList.Count != 0) { return BuildSimpleResult(3, $"褰撳墠璐т綅{model.startLoc}瀹瑰櫒瀛樻斁鐨勭墿鏂欐暟閲忎笉涓�锛屾棤娉曡В缁戯紒"); } @@ -855,7 +855,7 @@ return BuildErpResult(400, "涓嶈兘浼犲叆绌虹殑鏁版嵁鍒楄〃"); } - var insetRecordList = new List<TN_Inbound_DataRecord>(); + var insertRecordList = new List<TN_Inbound_DataRecord>(); //var deleteRecordOldList = new List<TN_Inbound_DataRecord> (); foreach (var transaction in model.stockTransactions) { @@ -886,7 +886,7 @@ S_SUPPLIER_NAME = transaction.supplierName, S_INVENTORY_MAN = transaction.inventoryManager }; - insetRecordList.Add(record); + insertRecordList.Add(record); } @@ -896,7 +896,7 @@ // return BuildErpResult(500, $"鍒犻櫎鏃у叆搴撹褰曟暟鎹け璐ワ細{JsonConvert.SerializeObject(deleteRecordOldList)}"); //} - if (db.Insertable<TN_Inbound_DataRecord>(insetRecordList).ExecuteCommand() <= 0) { + if (db.Insertable<TN_Inbound_DataRecord>(insertRecordList).ExecuteCommand() <= 0) { tran.RollbackTran(); return BuildErpResult(500, $"鍐欏叆鍏ュ簱璁板綍琛ㄥけ璐�"); } @@ -919,7 +919,7 @@ return BuildErpResult(400, "涓嶈兘浼犲叆绌虹殑鏁版嵁鍒楄〃"); } - var insetRecordList = new List<TN_Outbound_DataRecord>(); + var insertRecordList = new List<TN_Outbound_DataRecord>(); //var deleteRecordOldList = new List<TN_Outbound_DataRecord>(); foreach (var issue in model.materialIssues) { //var recordOld = db.Queryable<TN_Outbound_DataRecord>() @@ -948,7 +948,7 @@ S_LINE_CODE = issue.lineCode, S_BATCH_NO = issue.batchNo }; - insetRecordList.Add(record); + insertRecordList.Add(record); } using (var tran = db.Ado.UseTran()) { @@ -957,7 +957,7 @@ // return BuildErpResult(500, $"鍒犻櫎鏃у嚭搴撹褰曟暟鎹け璐ワ細{JsonConvert.SerializeObject(deleteRecordOldList)}"); //} - if (db.Insertable<TN_Outbound_DataRecord>(insetRecordList).ExecuteCommand() <= 0) { + if (db.Insertable<TN_Outbound_DataRecord>(insertRecordList).ExecuteCommand() <= 0) { tran.RollbackTran(); return BuildErpResult(500, $"鍐欏叆鍑哄簱璁板綍琛ㄥけ璐�); } @@ -1220,9 +1220,9 @@ } var cgDetail = db.Queryable<TN_CG_Detail>() - .Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).First(); + .Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE && d.S_ITEM_CODE == model.itemCode).First(); if (cgDetail == null) { - return BuildSimpleResult(3, $"褰撳墠璐т綅{model.locCode}涓婄殑瀹瑰櫒{locCntrRel.S_CNTR_CODE}娌℃湁鐗╁搧锛�); + return BuildSimpleResult(3, $"褰撳墠璐т綅{model.locCode}涓婄殑瀹瑰櫒{locCntrRel.S_CNTR_CODE}娌℃湁鐗╁搧{model.itemCode}锛�); } //var countDiff = new TN_Count_Diff { @@ -1231,11 +1231,10 @@ // F_ACTUAL_QTY = model.qty //}; - var countDiff = db.Queryable<TN_AG_Count_Diff>().Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE).First(); + var countDiff = db.Queryable<TN_AG_Count_Diff>().Where(d => d.S_CNTR_CODE == locCntrRel.S_CNTR_CODE && d.S_ITEM_CODE == model.itemCode).First(); if (countDiff == null) { - return BuildSimpleResult(4, $"褰撳墠鐗╂枡鎵�湪瀹瑰櫒{locCntrRel.S_CNTR_CODE}鐗╂枡淇℃伅娌℃湁鐢熸垚瀵瑰簲鐨勭洏鐐瑰樊寮傝〃锛�); + return BuildSimpleResult(4, $"褰撳墠鐗╂枡鎵�湪瀹瑰櫒{locCntrRel.S_CNTR_CODE}鐗╂枡淇℃伅{model.itemCode}娌℃湁鐢熸垚瀵瑰簲鐨勭洏鐐瑰樊寮傝〃锛�); } - countDiff.F_QTY = cgDetail.F_QTY; countDiff.F_ACTUAL_QTY = model.qty; @@ -1247,7 +1246,7 @@ using (var tran = db.Ado.UseTran()) { if (db.Updateable<TN_AG_Count_Diff>(countDiff).ExecuteCommand() <= 0) { tran.RollbackTran(); - return BuildSimpleResult(5, $"鎻掑叆鐩樼偣宸紓琛ㄥけ璐�); + return BuildSimpleResult(5, $"鏇存柊鐩樼偣宸紓琛ㄥけ璐�); } if (db.Updateable<TN_CG_Detail>(cgDetail).ExecuteCommand() <= 0) { -- Gitblit v1.9.1