From a93b0e99036c24b9bd58c79bf5e7364b1ba28bae Mon Sep 17 00:00:00 2001
From: 杨前锦 <1010338399@qq.com>
Date: 星期二, 01 七月 2025 16:02:33 +0800
Subject: [PATCH] 福建佳通-流程优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs |   88 ++++++++++++++++++++------------------------
 1 files changed, 40 insertions(+), 48 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs
index 90f2243..c5e9168 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.FJJT/core/WCSCore.cs
@@ -54,7 +54,7 @@
                                     case 3:
                                         WCSHelper.UpdateStatus(cst, "寮�鍙栬揣");
                                         var locCntrRels = LocationHelper.GetLocCntr(cst.S_START_LOC);
-                                        if (locCntrRels.Count > 0) 
+                                        if (locCntrRels.Count > 0)
                                         {
                                             cst.S_CNTR_CODE = locCntrRels[0].S_CNTR_CODE;
                                             WCSHelper.UpdateWcsTask(cst);
@@ -90,9 +90,9 @@
                                 WMSHelper.addRfidAnomalyRecord(cst.S_CNTR_CODE, 2, cst.S_START_LOC, null);
                                 // 鏌ヨ鎵弿鐨凴FID
                                 // 鍙戦� 00 04 71 02鍒版壂鐮佸櫒 锛屾帴鍙楄繑鍥炴暟鎹苟瑙f瀽
-                                /*  byte[] bytes = new byte[] { 00, 04, 71, 02 };
-                                  var plc = Settings.carDeviceInfos.Where(a => a.deviceNo == model.ForkliftNo && a.enable == 1).FirstOrDefault();
-                                  TcpServer.TcpServerSend(plc.address, bytes);*/
+                                /*    byte[] bytes = new byte[] { 00, 04, 71, 02 };
+                                    var plc = Settings.carDeviceInfos.Where(a => a.deviceNo == model.ForkliftNo && a.enable == 1).FirstOrDefault();
+                                    TcpServer.TcpServerSend(plc.address, bytes);*/
                             }
                             else if (model.State == 1002)
                             {
@@ -103,28 +103,26 @@
                                 if (container != null)
                                 {
                                     LogHelper.Info($"瀹瑰櫒鐨勫紓甯哥姸鎬佷负锛歿container.N_E_STATE}", "AGV");
-                                    string agvEndLoc = null;
                                     if (container.N_E_STATE == 0)
                                     {
-                                        agvEndLoc = ApiHelper.AGVApplyDest(model.No, cst.S_START_LOC, cst.S_CNTR_CODE, "1");
+                                        ApiHelper.AGVApplyDest(model.No, cst.S_START_LOC, cst.S_CNTR_CODE, "1");
                                     }
                                     else
                                     {
-                                        agvEndLoc = ApiHelper.AGVApplyDest(model.No, cst.S_START_LOC, cst.S_CNTR_CODE, "2");
+                                        ApiHelper.AGVApplyDest(model.No, cst.S_START_LOC, cst.S_CNTR_CODE, "2");
                                     }
 
-                                    ChangeParamModel paramModel = new ChangeParamModel() 
+                                    ChangeParamModel paramModel = new ChangeParamModel()
                                     {
                                         task_no = model.No,
                                         param_no = 0,
                                         param = $"{model.No};{cst.S_START_LOC};{cst.S_END_LOC};4;512;0;1"
                                     };
                                     NDCApi.ChangeOrderParam(paramModel);
-                                    LogHelper.Info($"鍙樻洿AGV缁堢偣锛歿agvEndLoc}", "AGV");
                                 }
                                 else
                                 {
-                                    WMSHelper.addAlarmRecord("娴佺▼寮傚父", "涓�, $"AGV浠诲姟鍥炴姤,浠诲姟瀹瑰櫒缂栫爜:{cst.S_CNTR_CODE}鐨勫鍣ㄦ病鏈夊綍鍏ュ埌WMS绯荤粺","AGV");
+                                    WMSHelper.addAlarmRecord("娴佺▼寮傚父", "涓�, $"AGV浠诲姟鍥炴姤,浠诲姟瀹瑰櫒缂栫爜:{cst.S_CNTR_CODE}鐨勫鍣ㄦ病鏈夊綍鍏ュ埌WMS绯荤粺", "AGV");
                                 }
                             }
                             else
@@ -136,39 +134,9 @@
                             // AGV浠诲姟瀹屾垚
                             if (model.State == 2)
                             {
-                                // 妫�祴鐗╂枡鏄惁鍚堟牸,濡備笉鍚堟牸锛�-                                // 鍒ゆ柇鐗╂枡鏄惁鏄幆甯﹀簱鐗╂枡锛屾槸鍒欏洖鐜甫搴擄紝骞惰鐜甫涓嬪彂鏂扮殑鐗╂枡
-                                // 闈炵幆甯﹀簱鐗╂枡锛屽垯閫�嚭绔嬪簱锛屽悓鏃朵笅鍙戞柊鐨勭墿鏂欏嚭搴撲换鍔�-                                if (cst.S_TYPE.Contains("鍙枡鍑哄簱浠诲姟"))
-                                {
-                                    var cntrItemRels = ContainerHelper.GetCntrItemRel(cst.S_CNTR_CODE);
-                                    if (cntrItemRels != null && cntrItemRels.Count > 0)
-                                    {
-                                        if (cntrItemRels[0].S_ITEM_STATE == "2")
-                                        {
-                                            // 涓嶅悎鏍煎搧鍥炲簱
-                                            ApiHelper.rejectReturnStock(mst, cst);
-                                        }
-                                    }
-                                }
-
-                                // 妫�祴鏄惁鏄鐮佷綅锛岄潪璇荤爜浣嶏紝鍙互婵�椿棰勫垱寤轰换鍔�-                                var transfe = WMSHelper.GetTransfeRelevance(cst.S_END_LOC);  // 鎺ラ┏浣嶅睘鎬�-                                if (transfe != null && transfe.N_READ_LOC == 1) 
-                                {
-                                    WCSHelper.ActivatePreCreateTask(mst.S_CODE);
-                                }
-                                else if ( transfe.N_READ_LOC == 0)
-                                {
-                                    if (cst.S_TYPE.Contains("銆愬紓甯搞�"))
-                                    {
-                                        WCSHelper.ActivatePreCreateTask(mst.S_CODE,1);
-                                    }
-                                    else 
-                                    {
-                                        WCSHelper.ActivatePreCreateTask(mst.S_CODE);
-                                    }
-                                }
+                                // 婵�椿棰勫垱寤轰换鍔�+                                // 鍦烘櫙锛�.璇荤爜浣嶆縺娲婚鍒涘缓浠诲姟 2.绌哄伐瑁呭嚭搴撴縺娲绘弧鏂欎笅绾夸换鍔�闈炵洿杩�
+                                WCSHelper.ActivatePreCreateTask(mst.S_CODE);
 
                                 // 鏌ヨ鏄惁鏈夋湭瀹屾垚鐨勪换鍔�                                 if (WMSHelper.isFinishTask(mst.S_CODE))
@@ -180,16 +148,40 @@
 
                                     // 鏇存柊浠诲姟涓棿琛ㄧ姸鎬�                                     WMSHelper.updateMesTaskStatus(mst.S_CODE, "3");
+                                }
 
-                                    // 濡傛灉浣滀笟鍚嶇О涓烘垚鍨嬫満鍙枡鍑哄簱浠诲姟锛屽垯瑙﹀彂浣欐枡/绌烘墭鎼繍浠诲姟
-                                    string locCode = WMSHelper.getReturnMaterialLocCode(mst.S_END_LOC);
-                                    ApiHelper.returnMaterialOrEmptyTray(locCode);
-                                }   
+                                // 妫�祴鐗╂枡鏄惁鍚堟牸,濡備笉鍚堟牸锛�+                                // 鍒ゆ柇鐗╂枡鏄惁鏄幆甯﹀簱鐗╂枡锛屾槸鍒欏洖鐜甫搴擄紝骞惰鐜甫涓嬪彂鏂扮殑鐗╂枡
+                                // 闈炵幆甯﹀簱鐗╂枡锛屽垯閫�嚭绔嬪簱锛屽悓鏃朵笅鍙戞柊鐨勭墿鏂欏嚭搴撲换鍔�+                                if (cst.S_TYPE.Contains("鍙枡鍑哄簱浠诲姟"))
+                                {
+                                    var bo = int.TryParse(mst.S_OP_DEF_CODE, out int mesId);
+                                    if (bo) 
+                                    {
+                                        var mesTask = WMSHelper.GetLjMesTaskById(mesId);
+                                        var cntrItemRels = ContainerHelper.GetCntrItemRel(cst.S_CNTR_CODE);
+                                        if (cntrItemRels != null && cntrItemRels.Count > 0)
+                                        {
+                                            if (cntrItemRels[0].S_ITEM_STATE == "2")
+                                            {
+                                                mesTask.AWAIT_MSG = "鐗╂枡妫�獙鐘舵�涓轰笉鍚堟牸锛岄噸鏂板彨鏂欎腑";
+                                                WMSHelper.updateLjMesTask(mesTask);
+
+                                                // 涓嶅悎鏍煎搧鍥炲簱
+                                                ApiHelper.rejectReturnStock(mst, cst);
+                                            }
+                                        }
+
+                                        // 濡傛灉浣滀笟鍚嶇О涓烘垚鍨嬫満鍙枡鍑哄簱浠诲姟锛屽垯瑙﹀彂浣欐枡/绌烘墭鎼繍浠诲姟
+                                        var sideLocConfig = WMSHelper.getReturnMaterialLocCode(mst.S_END_LOC);
+                                        ApiHelper.returnMaterialOrEmptyTray(sideLocConfig.S_RETURN_LOC_CODE, sideLocConfig.EQP);
+                                    } 
+                                }
                             }
                         }
                         else
                         {
-                            WMSHelper.addAlarmRecord("绯荤粺閿欒", "楂�, $"AGV浠诲姟鐘舵�鍥炴姤锛屼綔涓氬彿:{cst.S_OP_CODE}锛屾湭鏌ヨ鍒颁綔涓�,"AGV");
+                            WMSHelper.addAlarmRecord("绯荤粺閿欒", "楂�, $"AGV浠诲姟鐘舵�鍥炴姤锛屼綔涓氬彿:{cst.S_OP_CODE}锛屾湭鏌ヨ鍒颁綔涓�, "AGV");
                         }
                     }
                     else

--
Gitblit v1.9.1