From d42ad8b01195def2a9309930e14f90ff13ad47b1 Mon Sep 17 00:00:00 2001
From: 杨前锦 <1010338399@qq.com>
Date: 星期四, 19 六月 2025 17:24:28 +0800
Subject: [PATCH] 印尼佳通出入库策略优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/core/WCSCore.cs |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/core/WCSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/core/WCSCore.cs
index 7b37b13..f987756 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/core/WCSCore.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/core/WCSCore.cs
@@ -70,6 +70,16 @@
                             //瀹夊叏璇锋眰绛�                             TaskProcess.OperateReq(model.No, model.State, model.ForkliftNo, model.ExtData);
                         }
+
+                        if (model.State == 2) 
+                        {
+                            var mst = WMSHelper.GetWmsTask(TN_Task.S_OP_CODE);
+                            if (mst.S_END_LOC == TN_Task.S_END_LOC) 
+                            {
+                                mst.N_B_STATE = 2;
+                                WMSHelper.UpdateTaskState(mst);
+                            }
+                        }
                     }
                 }
             }
@@ -128,5 +138,48 @@
                 }
             }
         }
+
+        /// <summary>
+        /// 鍒涘缓鏈�悗涓�釜浠诲姟
+        /// </summary>
+        /// <param name="startLocCode"></param>
+        /// <param name="mst"></param>
+        /// <returns></returns>
+        public static WCSTask createLastTask(string startLocCode, WMSTask mst)
+        {
+            LogHelper.Info($"浣滀笟鍙凤細{mst.S_CODE}锛屽垱寤篈GV鍑哄簱浠诲姟", "WMS");
+            var existTask = WCSHelper.GetTaskByStart(startLocCode);
+            if (existTask == null)
+            {
+                var startLoc = LocationHelper.GetLoc(startLocCode);
+                // 鍒涘缓涓�鍏ュ簱浠诲姟
+                WCSTask wcsTask = new WCSTask()
+                {
+                    S_OP_NAME = mst.S_OP_DEF_NAME,
+                    S_OP_CODE = mst.S_CODE,
+                    S_CODE = WCSHelper.GenerateTaskNo(),
+                    S_CNTR_CODE = mst.S_CNTR_CODE,
+                    S_TYPE = mst.S_TYPE,
+                    S_START_LOC = startLoc.S_CODE,
+                    S_START_AREA = startLoc.S_AREA_CODE,
+                    S_END_LOC = mst.S_END_LOC,
+                    S_END_AREA = mst.S_END_AREA,
+                    S_SCHEDULE_TYPE = "AGV",
+                    N_PRIORITY = mst.N_PRIORITY,
+                    T_START_TIME = DateTime.Now,
+                };
+
+                if (WCSHelper.CreateTask(wcsTask))
+                {
+                    // 璧风偣銆佹帴椹崇偣銆佺粓鐐瑰姞閿�+                    LocationHelper.LockLoc(wcsTask.S_START_LOC, 2);
+                    LocationHelper.LockLoc(wcsTask.S_END_LOC, 1);
+
+                    WMSHelper.UpdateTaskEnd(mst);
+                    return wcsTask;
+                }
+            }
+            return null;
+        }
     }
 }

--
Gitblit v1.9.1