From 28e5551ac4525a12bf762b4836ef37a154ed56f5 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期二, 15 七月 2025 18:03:56 +0800
Subject: [PATCH] 111

---
 HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs |  120 ++++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 76 insertions(+), 44 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs
index 9b4ddf4..001b6ba 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs
@@ -1,7 +1,9 @@
-锘縰sing HH.WCS.Mobox3.NFLZ.dispatch;
+锘縰sing HH.WCS.Mobox3.NFLZ.api;
+using HH.WCS.Mobox3.NFLZ.dispatch;
 using HH.WCS.Mobox3.NFLZ.process;
 using HH.WCS.Mobox3.NFLZ.util;
 using HH.WCS.Mobox3.NFLZ.wms;
+using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -12,58 +14,88 @@
 
         public const string AlterControlSwitch01 = "1";//浠诲姟涓婃姤MES鍙樻洿寮�彂 1-寮�惎 0-鍏抽棴
         public static void OperateAgvTaskStatus(AgvTaskState model) {
-            if (string.IsNullOrEmpty(model.No)) {
+            if (string.IsNullOrEmpty(model.task_no)) {
                 //鏃犱换鍔″彿璇锋眰(浜ょ)
                 //DeviceProcess.Traffic(model.ForkliftNo, model.LockNo, model.State==1023);
             }
             else {
-                var TN_Task = WCSHelper.GetTask(model.No);
+                var TN_Task = WCSHelper.GetTask(model.task_no);
                 if (TN_Task != null) {
-                    if (model.State <= 7 && !WCSHelper.CheckActionRecordExist(model.No,model.State)) {
-                        //鏈変换鍔″彿璇锋眰
-                        switch (model.State) {
-                            case 1:
-                                WCSHelper.Begin(TN_Task);
-                                break;
-                            #region MyRegion
-                            case 3:
-                                WCSHelper.UpdateStatus(TN_Task, "寮�鍙栬揣");
-                                break;
-                            case 4:
-                                WCSHelper.UpdateStatus(TN_Task, "鍙栬揣瀹屾垚");
-                                TaskProcess.OperateStatus(TN_Task, 4);
-                                break;
-                            case 5:
-                                WCSHelper.UpdateStatus(TN_Task, "寮�鍗歌揣");
-                                break;
-                            case 6:
-                                WCSHelper.UpdateStatus(TN_Task, "鍗歌揣瀹屾垚");
-                                TaskProcess.OperateStatus(TN_Task, 6);
-                                break;
-                            #endregion
-                            case 2:
-                                WCSHelper.End(TN_Task);
-                                //sendsencondtask(TN_Task);
-                                WMSHelper.End(TN_Task);
-                                break;
-                            case 7:
-                                TaskProcess.OperateStatus(TN_Task, 7);
-                                WCSHelper.Fail(TN_Task);
-                                //sendsencondtask(TN_Task);
-                                //WMSHelper.End(TN_Task);
-                                break;
+                    if (model.state <= 7) 
+                    {
+                        if (!WCSHelper.CheckActionRecordExist(model.task_no, model.state))
+                        {
+                            //鏈変换鍔″彿璇锋眰
+                            switch (model.state)
+                            {
+                                case 1:
+                                    WCSHelper.Begin(TN_Task);
+                                    break;
+                                #region MyRegion
+                                case 3:
+                                    WCSHelper.UpdateStatus(TN_Task, "寮�鍙栬揣", model.forklift_no);
+                                    //if (TN_Task.S_TYPE == "娉ㄥ搴撳瓨婊℃墭涓嬬嚎锛堢摱鍧級" || TN_Task.S_TYPE == "娉ㄥ鍗充骇婊℃墭涓嬬嚎锛堢摱鍧級")
+                                    //{
+                                    //    TaskProcess.writeSignal(TN_Task);
+                                    //}
+                                    break;
+                                case 4:
+                                    WCSHelper.UpdateStatus(TN_Task, "鍙栬揣瀹屾垚");
+                                    if (TN_Task.S_TYPE.Contains("婊℃墭涓嬬嚎"))
+                                    {
+                                        TaskProcess.writeSignal(TN_Task,4);
+                                    }
+                                    TaskProcess.OperateStatus(TN_Task, 4);
+                                    break;
+                                case 5:
+                                    WCSHelper.UpdateStatus(TN_Task, "寮�鍗歌揣");
+                                    break;
+                                case 6:
+                                    WCSHelper.UpdateStatus(TN_Task, "鍗歌揣瀹屾垚");
+                                    if (TN_Task.S_TYPE.Contains("绌烘墭涓婄嚎"))
+                                    {
+                                        TaskProcess.writeSignal(TN_Task,6);
+                                    }
+                                    TaskProcess.OperateStatus(TN_Task, 6);
+                                    break;
+                                #endregion
+                                case 2:
+                                    if (!WCSHelper.CheckActionRecordExist(TN_Task.S_CODE, 4))
+                                    {
+                                        TaskProcess.OperateStatus(TN_Task, 4);
+                                    }
+                                    if (!WCSHelper.CheckActionRecordExist(TN_Task.S_CODE, 6))
+                                    {
+                                        TaskProcess.OperateStatus(TN_Task, 6);
+                                    }
+                                    WCSHelper.End(TN_Task);
+                                    //sendsencondtask(TN_Task);
+                                    WMSHelper.End(TN_Task);
+                                    break;
+                                case 7:
+                                    TaskProcess.OperateStatus(TN_Task, 7);
+                                    WCSHelper.Fail(TN_Task);
+                                    //sendsencondtask(TN_Task);
+                                    //WMSHelper.End(TN_Task);
+                                    break;
+                            }
+                            WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
+                            //璋冪敤绗笁鏂规帴鍙o紙濡傛灉鏈夛級TaskProcess.ReportStatus
+                            TaskProcess.ThirdReportStatus(TN_Task, model.state, model.forklift_no);
+                            TaskProcess.UpdateAgvNo(TN_Task, model.forklift_no);
+                            if (AlterControlSwitch01 == "1") TaskProcess.GeneralInterFaceFunc(TN_Task, model.state.ToString(), model.forklift_no);
                         }
-                        WCSHelper.AddActionRecord(model.No, model.State, model.ForkliftNo, model.ExtData);
-                        //璋冪敤绗笁鏂规帴鍙o紙濡傛灉鏈夛級TaskProcess.ReportStatus
-                        TaskProcess.ThirdReportStatus(TN_Task, model.State, model.ForkliftNo);
-                        TaskProcess.UpdateAgvNo(TN_Task, model.ForkliftNo);
-                        if (AlterControlSwitch01 == "1") TaskProcess.GeneralInterFaceFunc(TN_Task, model.State.ToString(), model.ForkliftNo);
                     }
-                    else {
+                    else if(model.state == 8)
+                    {
+                        TaskProcess.cancelTask(TN_Task);
+                    }
+                    else 
+                    {
                         LogHelper.Info("瀹夊叏璇锋眰浜や簰");
                         //瀹夊叏璇锋眰绛�-                        TaskProcess.OperateReq(model.No, model.State, model.ForkliftNo, model.ExtData);
-                        WCSHelper.AddActionRecord(model.No, model.State, model.ForkliftNo, model.ExtData);
+                        TaskProcess.OperateReq(model.task_no, model.state, model.forklift_no, model.ext_data);
+                        WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                     }
                 }
             }

--
Gitblit v1.9.1