From 2d2342157638cab98a4c59b0c687808cc2f98ea1 Mon Sep 17 00:00:00 2001
From: 杨张扬 <634643841@qq.com>
Date: 星期五, 25 七月 2025 17:24:57 +0800
Subject: [PATCH] 增加空托堆叠和空托入货架的新逻辑,增加拆盘入库和回炉胶和废料的逻辑

---
 api/ApiHelper.cs |  139 +++++++++++++++-------------------------------
 1 files changed, 46 insertions(+), 93 deletions(-)

diff --git a/api/ApiHelper.cs b/api/ApiHelper.cs
index 0cb6082..ef52fbb 100644
--- a/api/ApiHelper.cs
+++ b/api/ApiHelper.cs
@@ -202,10 +202,10 @@
                             && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0).
                             OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣�                 }
-                else if (model.cgState == 6)//涓�骇鏂欎簩绾ф枡鍥炲簱
+                else if (model.cgState == 6)//E绾ф枡浜岀骇鏂欏洖搴�                 {
                     cG_Detail.N_ITEM_STATE = 6;
-                    cG_Detail.S_ITEM_STATE = "涓�骇鏂�;
+                    cG_Detail.S_ITEM_STATE = "E绾ф枡";
                     endLoc = db.Queryable<TN_Location>().
                             Where(o => o.S_AREA_CODE == Settings.Areas[2] 
                             && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃�
@@ -213,7 +213,7 @@
                             && o.C_ENABLE == "Y" && o.N_CURRENT_NUM == 0).
                             OrderBy(o => o.T_MODIFY, OrderByType.Asc).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣�                 }
-                else if (model.cgState == 7)//涓�骇鏂欎簩绾ф枡鍥炲簱
+                else if (model.cgState == 7)//E绾ф枡浜岀骇鏂欏洖搴�                 {
                     cG_Detail.N_ITEM_STATE = 7;
                     cG_Detail.S_ITEM_STATE = "浜岀骇鏂�;
@@ -227,7 +227,7 @@
                 else
                 {
                     result.resultCode = 6;
-                    result.resultMsg = $"鐗╂枡鐘舵�鍙兘涓�鍚堟牸1寰呮2涓嶅悎鏍硷紝涓嬬嚎鍗冲緟妫�紝3杩囨湡锛�鎶�湳鍒ゅ畾锛�娣峰悎锛�涓�骇鏂欍�7浜岀骇鏂欙紝濡傛灉涓哄叾浠栧�锛屽垯涓嶅鐞�;
+                    result.resultMsg = $"鐗╂枡鐘舵�鍙兘涓�鍚堟牸1寰呮2涓嶅悎鏍硷紝涓嬬嚎鍗冲緟妫�紝3杩囨湡锛�鎶�湳鍒ゅ畾锛�娣峰悎锛�E绾ф枡銆�浜岀骇鏂欙紝濡傛灉涓哄叾浠栧�锛屽垯涓嶅鐞�;
                     LogHelper.Info(result.resultMsg);
                     return result;
                 }
@@ -421,7 +421,7 @@
                     if (
                         db.Updateable<TN_Location>(startLoc).UpdateColumns(it => new { it.N_CURRENT_NUM, it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() == 1 &&
                         db.Updateable<TN_Location>(endLoc).UpdateColumns(it => new { it.N_LOCK_STATE, it.S_LOCK_STATE }).ExecuteCommand() == 1 &&
-                        db.Insertable<TN_Loc_Container>(locCntList).ExecuteCommand() == 1 &&
+                        db.Insertable<TN_Loc_Container>(locCntList).ExecuteCommand() == locCntList.Count &&
                         db.Insertable<TN_Task>(task).ExecuteCommand() == 1
                         )
                     {
@@ -1828,7 +1828,7 @@
                 if (model.new_IsOK == model.old_IsOK)
                 {
                     result.resultCode = 19;
-                    result.resultMsg = $"浜哄伐鎷嗙洏鍏ュ簱锛岀墿鏂欓渶瑕佷竴涓緟妫�竴涓笉鍚堟牸";
+                    result.resultMsg = $"浜哄伐鎷嗙洏鍏ュ簱锛岀墿鏂欓渶瑕佷竴涓悎鏍�鍜�涓�釜涓嶅悎鏍硷紙鍥炵倝鑳舵垨搴熸枡锛�;
                     LogHelper.Info(result.resultMsg);
                     return result;
                 }
@@ -1857,6 +1857,8 @@
                     LogHelper.Info(result.resultMsg);
                     return result;
                 }
+                cG_old_Detail.S_ITEM_SPEC = model.old_Spec;
+                cG_old_Detail.S_SPE = model.old_Spec;
 
                 var startLoc_Old = db.Queryable<TN_Location>().
                     First(o => o.S_CODE == model.old_StartLoc && o.N_CURRENT_NUM == 0 && o.S_AREA_CODE == Settings.Areas[5] && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃�);
@@ -1920,13 +1922,12 @@
                 {
                     S_CNTR_CODE = model.new_CntIds,
                     S_BATCH_NO = cG_old_Detail.S_BATCH_NO,
-                    S_ITEM_SPEC = cG_old_Detail.S_ITEM_SPEC,
-                    S_SPE = cG_old_Detail.S_SPE,
+                    S_ITEM_SPEC = model.new_Spec,
+                    S_SPE = model.new_Spec,
                     S_ITEM_STATE = LocationHelper.GetStrByOk(model.new_IsOK),
                     N_ITEM_STATE = model.new_IsOK,
                     S_CAR_CODE = cG_old_Detail.S_CAR_CODE,
                     T_MODIFY = System.DateTime.Now,
-                    //C_ITEM_MERGE = model.new_CntIds,
                     S_ITEM_CODE = cG_old_Detail.S_ITEM_CODE,
                     S_Separate_ID = cG_old_Detail.S_Separate_ID
                 };
@@ -1936,7 +1937,7 @@
                 if (db.Queryable<TN_Task>().Count(a => a.N_B_STATE < 3 && a.S_END_LOC == weightPoint) > 2)
                 {
                     result.resultCode = 11;
-                    result.resultMsg = $"缁堢偣绉伴噸璐т綅{weightPoint}鐨勬鍦ㄦ墽琛岀殑浠诲姟鏁伴噺澶т簬2";
+                    result.resultMsg = $"缁堢偣绉伴噸璐т綅{weightPoint}鐨勬鍦ㄦ墽琛岀殑浠诲姟鏁伴噺澶т簬2锛岀箒蹇欙紝璇风瓑寰�;
                     LogHelper.Info(result.resultMsg);
                     return result;
                 }
@@ -1945,11 +1946,6 @@
                           First(o => o.S_AREA_CODE == Settings.Areas[9]
                           && o.S_CODE == weightPoint);//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣嶏紝鍘荤О閲� 
-                var endLoc_NG = db.Queryable<TN_Location>().
-                          Where(o => o.S_AREA_CODE == Settings.Areas[8] 
-                          && o.N_LOCK_STATE == 0 && o.S_LOCK_STATE == "鏃�
-                          && SqlFunc.Subqueryable<TN_Loc_Container>().Where(b => b.S_LOC_CODE == o.S_CODE).NotAny()//涓嶈兘鏈夎揣
-                          && o.N_CURRENT_NUM == 0).First();//鏌ヨ鍚堥�鐨勭粓鐐硅揣浣� 
                 if (endLoc_Ok == null)
                 {
@@ -1959,53 +1955,48 @@
                     return result;
                 }
 
-                if (endLoc_NG == null)
-                {
-                    result.resultCode = 16;
-                    result.resultMsg = $"涓嶅悎鏍肩殑鐗╂枡鏈壘鍒板悎閫傜殑鎷嗙洏涓嶅悎鏍煎尯缁堢偣璐т綅{Settings.Areas[8]}";
-                    LogHelper.Info(result.resultMsg);
-                    return result;
-                }
-
                 var taskLog1_Old = $"鏃у鍣ㄥ彿{model.old_CntId}锛屾棫瀹瑰櫒鍙风殑璧风偣{startLoc_Old.S_CODE}锛岀粓鐐箋endLoc_Ok.S_CODE}";
 
-                var taskLog_New = $"鏂板鍣ㄥ彿{model.new_CntIds}锛屾柊瀹瑰櫒鍙风殑璧风偣{model.new_StartLoc}锛岀粓鐐箋endLoc_NG.S_CODE}";
+                var taskLog_New = $"鏂板鍣ㄥ彿{model.new_CntIds}锛屾柊瀹瑰櫒鍙风殑璧风偣{model.new_StartLoc}";
 
                 List<CreateTasks> modesCreateTask = new List<CreateTasks>();
 
-                var newTaskCreate = new CreateTasks()
+                if (model.new_IsOK == 0)
                 {
-                    taskNo = WCSHelper.GenerateTaskNo(),
-                    from = model.new_StartLoc,
-                    fromArea = startLoc_New.S_AREA_CODE,
-                    to = (model.new_IsOK == 2) ? endLoc_NG.S_CODE : endLoc_Ok.S_CODE,
-                    toArea = (model.new_IsOK == 2) ? endLoc_NG.S_AREA_CODE : endLoc_Ok.S_AREA_CODE,
-                    taskType = (model.new_IsOK == 2) ? "浜哄伐鎷嗙洏鍥炰笉鍚堟牸鍖� : "浜哄伐鎷嗙洏鍥炲簱",
-                    pri = 3,
-                    cntrInfo = model.new_CntIds,
-                    spec = cG_new_Detail_Ins.S_SPE,
-                };
-
-                modesCreateTask.Add(newTaskCreate);
-
-                var oldTaskCreate = new CreateTasks()
+                    var newTaskCreate = new CreateTasks()
+                    {
+                        taskNo = WCSHelper.GenerateTaskNo(),
+                        from = model.new_StartLoc,
+                        fromArea = startLoc_New.S_AREA_CODE,
+                        to =  endLoc_Ok.S_CODE,
+                        toArea = endLoc_Ok.S_AREA_CODE,
+                        taskType = "浜哄伐鎷嗙洏鍚堟牸鍥炲簱",
+                        pri = 3,
+                        cntrInfo = model.new_CntIds,
+                        spec = cG_new_Detail_Ins.S_SPE,
+                    };
+                    modesCreateTask.Add(newTaskCreate);
+                }
+                else if (model.old_IsOK == 1)
                 {
-                    taskNo = WCSHelper.GenerateTaskNo(),
-                    from = startLoc_Old.S_CODE,
-                    fromArea = startLoc_Old.S_AREA_CODE,
-                    to = (model.old_IsOK == 2) ? endLoc_NG.S_CODE : endLoc_Ok.S_CODE,
-                    toArea = (model.old_IsOK == 2) ? endLoc_NG.S_AREA_CODE : endLoc_Ok.S_AREA_CODE,
-                    taskType = (model.old_IsOK == 2) ? "浜哄伐鎷嗙洏鍥炰笉鍚堟牸鍖� : "浜哄伐鎷嗙洏鍥炲簱",
-                    pri = 3,
-                    cntrInfo = model.old_CntId,
-                    spec = cG_old_Detail.S_SPE,
-                };
-                modesCreateTask.Add(oldTaskCreate);
+                    var newTaskCreate = new CreateTasks()
+                    {
+                        taskNo = WCSHelper.GenerateTaskNo(),
+                        from = model.old_StartLoc,
+                        fromArea = startLoc_Old.S_AREA_CODE,
+                        to = endLoc_Ok.S_CODE,
+                        toArea = endLoc_Ok.S_AREA_CODE,
+                        taskType = "浜哄伐鎷嗙洏鍚堟牸鍥炲簱",
+                        pri = 3,
+                        cntrInfo = model.old_CntId,
+                        spec = cG_old_Detail.S_SPE,
+                    };
+                    modesCreateTask.Add(newTaskCreate);
+                }
 
                 startLoc_Old.N_LOCK_STATE = 2;
                 startLoc_Old.S_LOCK_STATE = "鍑哄簱閿�;
                 startLoc_Old.N_CURRENT_NUM = 1;
-
 
                 startLoc_New.N_LOCK_STATE = 2;
                 startLoc_New.S_LOCK_STATE = "鍑哄簱閿�;
@@ -2041,49 +2032,11 @@
                         if (WCSHelper.CreateTask(modesCreateTask))//鍒涘缓鎼�浠诲姟锛岃捣鐐圭粓鐐瑰鍣�                         {
                             tran.CommitTran();
-                            LogHelper.Info($"鐢熸垚浜哄伐鎷嗙洏鍏ュ簱浠诲姟鎴愬姛锛� + taskLog_New + taskLog1_Old);
+                            LogHelper.Info($"鐢熸垚浜哄伐鎷嗙洏鍚堟牸鍥炲簱浠诲姟鎴愬姛锛� + taskLog_New + taskLog1_Old);
 
                             Task task1 = Task.Run(() =>
                             {
-                                WMSHelper.InsertOpInfo(model.staff, "浜哄伐鎷嗙洏鍏ュ簱", model.new_CntIds + "," + model.old_CntId);
-                            });
-
-                            Task task2 = Task.Run(() =>
-                            {
-                                if (model.old_IsOK == 1)
-                                {
-                                    var target = new TN_RemeltDetail()
-                                    {
-                                        TASKNO = oldTaskCreate.taskNo,
-                                        CNTCODE = cG_old_Detail.S_CNTR_CODE,
-                                        STARTLOC = startLoc_Old.S_CODE,
-                                        LOGINNAME = model.staff,
-                                        ITEMCODE = cG_old_Detail.S_ITEM_CODE,
-                                        SPEC = cG_old_Detail.S_SPE,
-                                        CARCODE = cG_old_Detail.S_CAR_CODE,
-                                        WEIGHT = cG_old_Detail.F_QTY,
-                                        REMELTTIME = DateTime.Now,
-                                        SHIFT = model.shift,
-                                    };
-                                    SpecHelper.InsertRemeltDetail(target);
-                                }
-                                if (model.new_IsOK == 1)
-                                {
-                                    var target = new TN_RemeltDetail()
-                                    {
-                                        TASKNO = newTaskCreate.taskNo,
-                                        CNTCODE = cG_new_Detail_Ins.S_CNTR_CODE,
-                                        STARTLOC = startLoc_New.S_CODE,
-                                        LOGINNAME = model.staff,
-                                        ITEMCODE = cG_new_Detail_Ins.S_ITEM_CODE,
-                                        SPEC = cG_new_Detail_Ins.S_SPE,
-                                        CARCODE = cG_new_Detail_Ins.S_CAR_CODE,
-                                        WEIGHT = cG_new_Detail_Ins.F_QTY,
-                                        REMELTTIME = DateTime.Now,
-                                        SHIFT = model.shift,
-                                    };
-                                    SpecHelper.InsertRemeltDetail(target);
-                                }
+                                WMSHelper.InsertOpInfo(model.staff, "浜哄伐鎷嗙洏鍚堟牸鍥炲簱", model.new_CntIds + "," + model.old_CntId);
                             });
 
                             Task task27 = Task.Run(() =>
@@ -2126,7 +2079,7 @@
                         {
                             tran.RollbackTran();
                             result.resultCode = 17;
-                            result.resultMsg = $"鐢熸垚浜哄伐鎷嗙洏鍏ュ簱浠诲姟澶辫触锛� + taskLog_New + taskLog1_Old;
+                            result.resultMsg = $"鐢熸垚浜哄伐鎷嗙洏鍚堟牸鍥炲簱浠诲姟澶辫触锛� + taskLog_New + taskLog1_Old;
                             LogHelper.Info(result.resultMsg);
                             return result;
                         }
@@ -2135,7 +2088,7 @@
                     {
                         tran.RollbackTran();
                         result.resultCode = 18;
-                        result.resultMsg = $"鐢熸垚浜哄伐鎷嗙洏鍏ュ簱浠诲姟澶辫触锛� + taskLog_New + taskLog1_Old;
+                        result.resultMsg = $"鐢熸垚浜哄伐鎷嗙洏鍚堟牸鍥炲簱浠诲姟澶辫触锛� + taskLog_New + taskLog1_Old;
                         LogHelper.Info(result.resultMsg);
                         return result;
                     }

--
Gitblit v1.9.1