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 |   92 ++++++++++++++++++++++++++++------------------
 1 files changed, 56 insertions(+), 36 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 1afcf5a..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 {
@@ -42,7 +43,6 @@
         internal static void CacheBitCancelUpdate(WCSTask mst) {
             //浠诲姟鍙栨秷锛屽彇璐у畬鎴愬墠鐨勶紝璧风偣鐨刲oadingCount鍜岀粓鐐箄nLoadingCount閮芥竻闄わ紝鍙栬揣瀹屾垚鐨勫彧澶勭悊缁堢偣
             if (WCSHelper.CheckActionRecordExist(mst.S_CODE, 4) ) {
-                //鏍规嵁瀹㈡埛鐜板満瑕佹眰锛屽鏋滃彇璐у畬鎴愪换鍔″け璐ヤ汉宸ユ媺鍒扮粓鐐癸紝鎴戜滑灏卞綋鍗歌揣瀹屾垚澶勭悊锛涘鏋滄槸浜哄伐鎷夎蛋鍒板叾瀹冨尯鍩燂紝鎴戜滑灏辫В閿佺粓鐐癸紝鍒犻櫎鎵樼洏銆�                 //缁堢偣缁戝畾
                 if (!WCSHelper.CheckActionRecordExist(mst.S_CODE, 5)) {
                     CacheBitUpdate(mst, false);
@@ -53,9 +53,6 @@
                 //璧风偣缁堢偣瑙i攣
                 LocationHelper.UnLockLoc(mst.S_START_LOC);
                 LocationHelper.UnLockLoc(mst.S_END_LOC);
-                //璐т綅瀹瑰櫒瑙g粦
-                LocationHelper.UnBindingLoc(mst.S_START_LOC, new List<string> { mst.S_CNTR_CODE });
-
             }
 
         }
@@ -79,7 +76,7 @@
                 if (taskAction.N_S_STATUS == 1)
                 {
                     LogHelper.Info($"鍐嶆瀹夊叏璇锋眰锛岃澶囧凡鍙嶉", "AGV");
-                    NDCApi.ChangeOrderParam(no, 8, "1");
+                   /* NDCApi.ChangeOrderParam(no, 6, "1");*/
                 }
             }
             else
@@ -88,11 +85,28 @@
                 bool result = false;
                 if (state == 1101)
                 {
-                    result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "1");  //璇锋眰鍙栬揣锛�+                    LogHelper.Info("鍚慦CS鍙戦�鍙栬揣鐢宠淇″彿", "AGV");
+                    /*result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "1");  //鍙栬揣鐢宠锛�/
+                    result = true;
                 }
                 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;
+                }
+                if (state == 1103)   //鍗歌揣鐢宠锛�+                {
                     var container = ContainerHelper.GetCntr(cst.S_CNTR_CODE);
                     // 鑳庡湀鍏ュ簱锛屼笅鍙戞瘝鎷栧嚭搴撲换鍔�\ 甯樺竷銆佸唴琛叆搴擄紝涓嬪彂鎵樼洏鍥炲簱浠诲姟
                     if (cst.S_TYPE.Contains("鍏ュ簱") && endLoc.N_LOCK_STATE == 0)
@@ -108,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);
                                     }
                                 }
                             }
@@ -117,14 +131,13 @@
                                 result = true;
                             }
                         }
-
-                        // 鑳庡湀鍏ュ簱
-                        if (container.N_TYPE == 6 )
-                        {
+                        else 
+                        { 
+                            // 鑳庡湀鍏ュ簱
                             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) 
                             {
@@ -144,34 +157,22 @@
                     // 璇锋眰WCS鏄惁鍏佽鏀捐揣
                     if (result) 
                     {
-                        result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "2"); // 璇锋眰鏀捐揣
-                    }
-
-                    if (result)
-                    {
-                        //鏍规嵁缁堢偣鍒ゆ柇锛屾槸cb02鐨勫叆鍙o紝鍒ゆ柇鍐呭瓨涓姸鎬侊紙瑕佺姸鎬佹椂闂达級锛屽厑璁稿嵏璐э紝閫氱煡agv鏀瑰弬鏁�-                        var dic = new Dictionary<string, string>();
-                        //< Req >< Order No = 'TN2302020002' ParamNo = '18' Param1 = '12' /></ Req >
-                        dic.Add("No", no);
-                        dic.Add("ParamNo", "8");
-                        dic.Add("Param1", "1");
-                        NDC.ChangeOrder(dic);
-                        //鏀瑰畬鍙傛暟杞﹀瓙灏变細鑷繁鍗歌揣
+                        LogHelper.Info("鍚慦CS鍙戦�璇锋眰鏀捐揣淇″彿", "AGV");
+                        /*result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "3"); // 璇锋眰鏀捐揣*/
+                        result = true;
                     }
                 }
-                if (state == 1103)
-                {
-                    result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "3");  //鍙栬揣瀹屾垚鍏佽绂诲紑
-                }
+               
                 if (state == 1104)
                 {
-                    result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "4");  //鏀捐揣瀹屾垚鍏佽绂诲紑
+                    LogHelper.Info("鍚慦CS鍙戦�鍗歌揣瀹屾垚瀹夊叏閫�嚭淇″彿", "AGV");
+                    /*result = WCSDispatch.safetyInteraction(cst.S_CODE, cst.S_START_LOC, "4");  //鍗歌揣瀹屾垚瀹夊叏閫�嚭*/
+                    result = true;
                 }
 
                 // 瀹夊叏璇锋眰鍙戦�鎴愬姛锛屾坊鍔犱换鍔″姩浣滆褰�                 if (result)
                 {
-                    WCSHelper.AddActionRecord(no, state, forkliftNo, extData);
                     LogHelper.Info($"棣栨杩涜瀹夊叏璇锋眰鎴愬姛", "AGV");
                 }
             }
@@ -222,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() 
@@ -233,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
@@ -246,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)
                     {
@@ -257,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