From 16d2162a833cebeae72c363962917bb9da8145ef Mon Sep 17 00:00:00 2001
From: 杨前锦 <1010338399@qq.com>
Date: 星期五, 06 六月 2025 17:34:47 +0800
Subject: [PATCH] 福建佳通优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/process/TaskProcess.cs |   43 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/process/TaskProcess.cs
index 07d5df7..ed693e9 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/process/TaskProcess.cs
@@ -12,6 +12,7 @@
 using System.Reflection;
 using System.Security.Cryptography;
 using static HH.WCS.Mobox3.YNJT_BZP.util.Settings;
+using static HH.WCS.Mobox3.YNJT_BZP.dispatch.WCSDispatch;
 
 namespace HH.WCS.Mobox3.YNJT_BZP.process {
     internal class TaskProcess {
@@ -91,6 +92,16 @@
                 if (state == 1102)
                 {
                     LogHelper.Info("鍚慦CS鍙戦�鍙栬揣瀹屾垚瀹夊叏閫�嚭淇″彿", "AGV");
+                    var locCntrRels = LocationHelper.GetLocCntr(cst.S_START_LOC);
+                    if (locCntrRels.Count == 1) 
+                    {
+                        var container = ContainerHelper.GetCntr(locCntrRels[0].S_CNTR_CODE);
+                        if (container != null && container.N_TYPE == 0) 
+                        {
+                            LogHelper.Info("鍙栬揣瀹屾垚鍚庯紝璧风偣璐т綅瀛樺湪姣嶆嫋锛屼笅鍙戞瘝鎷栧叆搴撲换鍔�, "AGV");
+                            ApiHelper.baseTrayInStock(cst.S_START_LOC, mst.S_CODE);
+                        }
+                    }
                     /*result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "2");  //鍙栬揣瀹屾垚瀹夊叏閫�嚭*/
                     result = true;
                 }
@@ -111,7 +122,7 @@
                                     if (container1.N_TYPE == 0)
                                     {
                                         LogHelper.Info("闈炶儙鍦堝叆搴擄紝鎺ラ┏浣嶅瓨鍦ㄦ瘝鎷栵紝涓嬪彂姣嶆嫋鍏ュ簱浠诲姟", "AGV");
-                                        ApiHelper.baseTrayInStockAgv(endLoc.S_CODE, mst.S_CODE);
+                                        ApiHelper.autoBaseTrayInStock(endLoc.S_CODE, mst.S_CODE);
                                     }
                                 }
                             }
@@ -126,7 +137,7 @@
                             if (endLoc.N_CURRENT_NUM == 0) 
                             {
                                 LogHelper.Info("鑳庡湀鍏ュ簱锛屾帴椹充綅缂哄皯姣嶆嫋锛屼笅鍙戞瘝鎷栧嚭搴撲换鍔�, "AGV");
-                                ApiHelper.baseTrayOutStockAgv(endLoc.S_CODE, mst.S_CODE);
+                                ApiHelper.autoBaseTrayOutStock(endLoc.S_CODE, mst.S_CODE);
                             }
                             else if (endLoc.N_CURRENT_NUM == 1) 
                             {
@@ -162,7 +173,6 @@
                 // 瀹夊叏璇锋眰鍙戦�鎴愬姛锛屾坊鍔犱换鍔″姩浣滆褰�                 if (result)
                 {
-                    WCSHelper.AddActionRecord(no, state, forkliftNo, extData);
                     LogHelper.Info($"棣栨杩涜瀹夊叏璇锋眰鎴愬姛", "AGV");
                 }
             }
@@ -213,7 +223,6 @@
             if (mst.N_B_STATE == 0) {
                 var startLoc = LocationHelper.GetLocation(mst.S_START_LOC);
                 var endLoc = LocationHelper.GetLocation(mst.S_END_LOC);
-
                 if (mst.S_SCHEDULE_TYPE == "AGV") 
                 {
                     AddOrderNewModel model = new AddOrderNewModel() 
@@ -224,9 +233,19 @@
                     };
                     List<Param> paramList = new List<Param>();
                     var dic = new Dictionary<string, string>();
+                    dic.Add("IKey", mst.S_CODE);
                     dic.Add("From", startLoc.S_CODE);
                     dic.Add("To", endLoc.S_CODE);
-
+                    dic.Add("FUNC", "0");
+                    if (mst.S_TYPE.Contains("鍏ュ簱"))
+                    {
+                        dic.Add("DATA", "300");
+                    }
+                    else 
+                    {
+                        dic.Add("DATA", "0");
+                    }
+                    dic.Add("Ctype", "0");
                     foreach (var item in dic)
                     {
                         Param param = new Param
@@ -237,6 +256,7 @@
                         paramList.Add(param);
                     }
                     model.paramList = paramList;
+                    LogHelper.Info($"鍚慉GV涓嬪彂浠诲姟锛屼换鍔″弬鏁帮細{model}", "WMS");
                     var res = NDCApi.AddOrderNew(model);
                     if (res != null && res.err_code == 0 || true)
                     {
@@ -248,8 +268,17 @@
                 }
                 else if (mst.S_SCHEDULE_TYPE == "WCS") 
                 {
-
-                    if (true)
+                    SendTaskModel sendTask = new SendTaskModel()
+                    {
+                        taskNo = mst.S_CODE,
+                        taskType = mst.S_TYPE.Contains("鍏ュ簱") ? "1" : "2",
+                        from = mst.S_START_LOC,
+                        to = mst.S_END_LOC,
+                        cntrNo = mst.S_CNTR_CODE,
+                    };
+                    LogHelper.Info($"鍚慦CS涓嬪彂浠诲姟锛屼换鍔″弬鏁帮細{sendTask}", "WMS");
+                    var bo = WCSDispatch.sendTask(sendTask);
+                    if (true || bo)
                     {
                         //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇
                         mst.N_B_STATE = 1;

--
Gitblit v1.9.1