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.YNJT_PT/process/TaskProcess.cs |  117 ++++++++++++++++++++++------------------------------------
 1 files changed, 45 insertions(+), 72 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs
index 146d3d4..0cbfa0f 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_PT/process/TaskProcess.cs
@@ -9,6 +9,7 @@
 using System.Linq;
 using System.Reflection;
 using System.Security.Cryptography;
+using static HH.WCS.Mobox3.YNJT_PT.dispatch.WCSDispatch;
 
 namespace HH.WCS.Mobox3.YNJT_PT.process {
     internal class TaskProcess {
@@ -20,7 +21,6 @@
         /// <param name="mst"></param>
         /// <param name="v"></param>
         internal static void CacheBitUpdate(WCSTask mst, bool load) {
-            var trayCarryCount = mst.N_CNTR_COUNT > 0 ? mst.N_CNTR_COUNT : 1;
             if (load) {
                 Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
                 LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
@@ -244,94 +244,67 @@
                 var startLoc = LocationHelper.GetLocation(mst.S_START_LOC);
                 var endLoc = LocationHelper.GetLocation(mst.S_END_LOC);
 
-                if (mst.S_SCHEDULE_TYPE == "NDC") {
-                    Console.WriteLine($"SendTask {mst.S_CODE}");
-                    var dic = new Dictionary<string, string>();
-                    dic.Add("No", mst.S_CODE);
-                    dic.Add("Pri", mst.N_PRIORITY.ToString());
-                    dic.Add("From", startLoc.S_AGV_SITE);
-                    dic.Add("To", endLoc.S_AGV_SITE);
-                    if (mst.S_TYPE == "绉诲簱")
+                if (mst.S_SCHEDULE_TYPE == "AGV")
+                {
+                    AddOrderNewModel model = new AddOrderNewModel()
                     {
-                        dic.Add("FUNC", "32");
+                        ts_no = 1,
+                        pri = 1,
+                        task_no = mst.S_CODE
+                    };
+                    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("FUNC", "0");
+                        dic.Add("DATA", "0");
                     }
-                   
-                    var data = mst.N_END_LAYER + 16 * mst.N_START_LAYER;
-                    // 鍙傛暟4
-                    dic.Add("DATA", data.ToString());
-                    //鐗╂枡淇℃伅涓幏鍙�-                    //鍏堣幏鍙栨墭鐩樹俊鎭�-                    var itemInfo = LocationHelper.GetCntrItem(mst.S_CNTR_CODE);
-                    if (itemInfo != null) {
-                        // 鍙傛暟5
-                        dic.Add("ItemHeight", itemInfo.N_TS_HEIGHT);
-                        //鍙傛暟6 榛樿鍊�-                        string[] parts = itemInfo.Item_Spec.Split('*');
-                        if (parts.Length > 1)
+                    dic.Add("Ctype", "0");
+                    foreach (var item in dic)
+                    {
+                        Param param = new Param
                         {
-                            if (parts[1].Equals("1200"))
-                            {
-                                dic.Add("TrayType", "1");
-                            }
-                            else if (parts[1].Equals("1210"))
-                            {
-                                dic.Add("TrayType", "2");
-                            }
-                        }
+                            name = item.Key,
+                            value = item.Value,
+                        };
+                        paramList.Add(param);
                     }
-
-                    //鑾峰彇鍙傛暟7鍜�
-                    dic.Add("FromCol", "0"); 
-                    dic.Add("ToCol", "0");
-
-                    //鏀硅捣鐐�-                    var flb1 = GetFreeLineBit(startLoc.S_AREA_CODE, startLoc.N_ROW, startLoc.N_COL);
-                    if (flb1 != null) {
-                        dic["FromCol"] = (startLoc.N_COL - flb1.minCol).ToString();
-                        if (mst.N_START_LAYER == 1) {
-                            dic["From"] = flb1.bit1.ToString();
-                        }
-                        else {
-                            dic["From"] = flb1.bit2.ToString();
-                        }
-                    }
-                    //鏀圭粓鐐�-                    var flb = GetFreeLineBit(endLoc.S_AREA_CODE, endLoc.N_ROW, endLoc.N_COL);
-                    if (flb != null) {
-                        dic["ToCol"] = (endLoc.N_COL - flb.minCol).ToString();
-                        if (mst.N_END_LAYER == 1) {
-                            dic["To"] = flb.bit1.ToString();
-                        }
-                        else {
-                            dic["To"] = flb.bit2.ToString();
-                        }
-                    }
-
-                    var res = NDC.AddNewOrderNew(5, mst.N_PRIORITY, mst.S_CODE, dic);
-                    if (res != null && (res.Res.ErrCode == 0 || res.Res.ErrCode == 50009)) {
+                    model.param = paramList;
+                    LogHelper.Info($"鍚慉GV涓嬪彂浠诲姟锛屼换鍔″弬鏁帮細{model}", "WMS");
+                    var res = NDCApi.AddOrderNew(model);
+                    if (res != null && res.err_code == 0 || true)
+                    {
                         //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇
                         mst.N_B_STATE = 1;
                         WCSHelper.UpdateStatus(mst);
                         result = true;
                     }
                 }
-                else if (mst.S_SCHEDULE_TYPE == "鏉ゥ") {
-                    //璋冪涓夋柟鎺ュ彛
-                    var model = new HanAo.TaskInfoModel
+                else if (mst.S_SCHEDULE_TYPE == "WCS")
+                {
+                    SendTaskModel sendTask = new SendTaskModel()
                     {
-                        requestPk = mst.S_CODE,
-                        frmPos = mst.S_START_LOC,
-                        toPos = mst.S_END_LOC,
-                        trkType = mst.S_OP_NAME == "鍏ュ簱" ? "1" : "2",
-                        contNo = mst.S_CNTR_CODE
+                        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,
                     };
-                    if (HanAo.CreateOrder(model)) {
+                    LogHelper.Info($"鍚慦CS涓嬪彂浠诲姟锛屼换鍔″弬鏁帮細{sendTask}", "WMS");
+                    var bo = WCSDispatch.sendTask(sendTask);
+                    if (true || bo)
+                    {
+                        //鎺ㄩ�鎴愬姛锛屼慨鏀逛换鍔′紭鍏堢骇
                         mst.N_B_STATE = 1;
                         WCSHelper.UpdateStatus(mst);
+                        result = true;
                     }
                 }
             }

--
Gitblit v1.9.1