From cb5c4a6e74c9cc070a67051256692b82c3c8b8f0 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期三, 18 六月 2025 17:12:03 +0800
Subject: [PATCH] 11

---
 HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs |   94 ++++++++++++++++++++++++++++-------------------
 1 files changed, 56 insertions(+), 38 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs
index 9b4ddf4..b2ef758 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/core/WCSCore.cs
@@ -2,6 +2,7 @@
 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;
@@ -19,45 +20,62 @@
             else {
                 var TN_Task = WCSHelper.GetTask(model.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.No, model.State))
+                        {
+                            //鏈変换鍔″彿璇锋眰
+                            switch (model.State)
+                            {
+                                case 1:
+                                    WCSHelper.Begin(TN_Task);
+                                    break;
+                                #region MyRegion
+                                case 3:
+                                    WCSHelper.UpdateStatus(TN_Task, "寮�鍙栬揣", model.ForkliftNo);
+                                    //if (TN_Task.S_TYPE == "娉ㄥ搴撳瓨婊℃墭涓嬬嚎锛堢摱鍧級" || TN_Task.S_TYPE == "娉ㄥ鍗充骇婊℃墭涓嬬嚎锛堢摱鍧級")
+                                    //{
+                                    //    TaskProcess.writeSignal(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:
+                                    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.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);
                         }
-                        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 {
                         LogHelper.Info("瀹夊叏璇锋眰浜や簰");

--
Gitblit v1.9.1