From 12a30243255535e3f616aa858d2a9f1e51e4d123 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期二, 24 六月 2025 17:29:22 +0800
Subject: [PATCH] 111

---
 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs    |  148 ++++++++++++++++++++++++++++++++++--------------
 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/TSHelper.cs         |   19 +++---
 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs |    7 ++
 3 files changed, 120 insertions(+), 54 deletions(-)

diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
index 89db716..2128a19 100644
--- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
+++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
@@ -9,6 +9,7 @@
 using MongoDB.Driver.Builders;
 using MySql.Data.MySqlClient;
 using Newtonsoft.Json;
+using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -698,50 +699,50 @@
                 {
                     #region 鍒ゆ柇杈撻�绾挎ā寮�鍙樻洿娉ㄩ噴
 
-                    foreach(var a in plc)
-                    {
-                        bool action = false;
-                        var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
-                        {
-                            dataNum = 1,
-                            addr = a.readAddr + 3,
-                            host = a.ip,
-                            port = a.port
-                        });
-                        if (modeResult != null && modeResult.errCode == 0)
-                        {
-                            CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr + 3}鐨勫�涓猴細{modeResult.result[0]}");
-                            if (modeResult.result[0] == 2)
-                            {
-                                CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}");
-                                break;
-                            }
-                            else
-                            {
-                                //璇诲彇涓棿琛ㄦā寮�-                                var modelInfo = MongoDBSingleton.Instance.FindOne<ModeList>("ModeList");
-                                if (modelInfo != null)
-                                {
-                                    if (modelInfo.Mode == "鍏ュ簱妯″紡")
-                                    {
-                                        CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡");
-                                    }
-                                    else
-                                    {
-                                        action = true;
-                                    }
-                                }
-                                else
-                                {
-                                    CMMLog.Debug("OutWareTask:涓棿琛�ModeList 涓虹┖");
-                                }
-                            }
-                        }
-                        if (!action)
-                        {
-                            return false;
-                        }
-                    };
+                    //foreach(var a in plc)
+                    //{
+                    //    bool action = false;
+                    //    var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
+                    //    {
+                    //        dataNum = 1,
+                    //        addr = a.readAddr + 3,
+                    //        host = a.ip,
+                    //        port = a.port
+                    //    });
+                    //    if (modeResult != null && modeResult.errCode == 0)
+                    //    {
+                    //        CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr + 3}鐨勫�涓猴細{modeResult.result[0]}");
+                    //        if (modeResult.result[0] == 2)
+                    //        {
+                    //            CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}");
+                    //            break;
+                    //        }
+                    //        else
+                    //        {
+                    //            //璇诲彇涓棿琛ㄦā寮�+                    //            var modelInfo = MongoDBSingleton.Instance.FindOne<ModeList>("ModeList");
+                    //            if (modelInfo != null)
+                    //            {
+                    //                if (modelInfo.Mode == "鍏ュ簱妯″紡")
+                    //                {
+                    //                    CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡");
+                    //                }
+                    //                else
+                    //                {
+                    //                    action = true;
+                    //                }
+                    //            }
+                    //            else
+                    //            {
+                    //                CMMLog.Debug("OutWareTask:涓棿琛�ModeList 涓虹┖");
+                    //            }
+                    //        }
+                    //    }
+                    //    if (!action)
+                    //    {
+                    //        return false;
+                    //    }
+                    //};
 
                     #endregion
 
@@ -1322,5 +1323,64 @@
             return WeekNumInMonth;
         }
 
+        internal static bool UpdateTaskState(string taskNo, int state)
+        {
+            var result = false;
+            try
+            {
+                string taskState = state == 3 ? "寮�鍙栬揣" : state == 4 ? "鍙栬揣瀹屾垚" : state == 5 ? "寮�鍗歌揣" : state == 6 ? "鍗歌揣瀹屾垚" : state == 2 ? "瀹屾垚" : "";
+                CMMLog.Info($"SQLServer 鏇存柊浠诲姟鐘舵�锛氫换鍔″彿锛歿taskNo},鏇存敼鐘舵�锛歿taskState}");
+                if (!string.IsNullOrEmpty(taskState)) result = new SqlHelper<SQL_TN_I_TASK_MST>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_STATUS='{taskState}' where CN_S_TASK_NO='{taskNo}'");
+            }
+            catch (Exception ex)
+            {
+                CMMLog.Error($"SQLServer 鏇存柊浠诲姟鐘舵�寮傚父锛歿ex.Message}");
+            }
+
+            return result;
+        }
+
+        /// <summary>
+        /// SQL-AMS浠诲姟涓昏〃
+        /// </summary>
+        [SugarTable("dbo.tn_am_task_mst")]
+        public class SQL_TN_I_TASK_MST
+        {
+            public string CN_S_BATCH_NO { get; set; }
+            public int CN_S_ORDER_NO { get; set; }
+            public string CN_S_TASK_NO { get; set; }
+            public string CN_S_SOURCE_SYS { get; set; }
+            public string CN_S_SOURCE_NO { get; set; }
+            public string CN_S_PROCESS_CODE { get; set; }
+            public string CN_S_TASK_TYPE { get; set; }
+            public string CN_S_START_AREA { get; set; }
+            public string CN_S_START_AREA_NAME { get; set; }
+            public string CN_S_START_BIT { get; set; }
+            public int CN_N_START_AGVBIT { get; set; }
+            public string CN_S_END_AREA { get; set; }
+            public string CN_S_END_AREA_NAME { get; set; }
+            public string CN_S_END_BIT { get; set; }
+            public int CN_N_END_AGVBIT { get; set; }
+            public string CN_S_STATUS { get; set; }
+            public string CN_S_BEF_STATUS { get; set; }
+            public string CN_S_BEFORE_NO { get; set; }
+            public string CN_S_AFTER_NO { get; set; }
+            public string CN_T_START_WORKING { get; set; }
+            public string CN_T_END_WORKING { get; set; }
+            public int CN_N_PRIORITY { get; set; }
+            public int CN_N_CUR_STEP { get; set; }
+            public string CN_S_CREATOR { get; set; }
+            public string CN_S_CREATOR_NAME { get; set; }
+            public string CN_T_CREATE { get; set; }
+            public string CN_S_MENDER { get; set; }
+            public string CN_S_MODIFY_NAME { get; set; }
+            public string CN_T_MODIFY { get; set; }
+            public string CN_S_TASK_MODEL { get; set; }
+            public string CN_S_EXT1 { get; set; }
+            public string CN_S_EXT2 { get; set; }
+            public string CN_S_EXT3 { get; set; }
+            public string CN_N_AGV_NO { get; set; }
+            public string CN_S_TRANSPORT_INFO { get; set; }
+        }
     }
 }
diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs
index 3d7b0da..55d7dca 100644
--- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs
+++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProtocolAnalysis.cs
@@ -228,6 +228,8 @@
                         MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("_id", mst._id), Update.Set("CN_S_ForkliftNo", action.CN_S_DEVICE_CODE), UpdateFlags.None);
                     }
 
+                    if (action.CN_N_ACTION_CODE != 1) ProcessHelper.UpdateTaskState(mst.CN_S_TASK_NO, action.CN_N_ACTION_CODE);
+
                     #region 鍐欏叆灏忚溅鐘舵�
                     writeAGVState(action);
                     #endregion
@@ -561,7 +563,10 @@
                 {
                     CMMLog.Info($"璧风偣瀹夊叏瀵规帴锛氭敹鍒颁换鍔″彿锛歿mst.CN_S_TASK_NO},浠诲姟绫诲瀷锛歿mst.CN_S_BUSS_TYPE},浠诲姟淇″彿锛歿action.CN_N_ACTION_CODE}");
                     //3妤兼媶鐩樿ˉ绌猴細鎷嗙洏鏈鸿ˉ绌烘墭鐩�           3妤煎寘瑁呰ˉ绌猴細鍖呰鏈鸿ˉ绌烘墭
-                    if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋禢G" || mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵� || mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾� || mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾� || mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵楴G" || mst.CN_S_BUSS_TYPE == "杈呮潗鍏ュ簱" || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎" || mst.CN_S_BUSS_TYPE == "鐑樺共鏈烘弧鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈虹┖鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾�)
+                    if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋禢G" 
+                        || mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵� || mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾� || mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾� 
+                        || mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵楴G" || mst.CN_S_BUSS_TYPE == "杈呮潗鍏ュ簱" || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎" 
+                        || mst.CN_S_BUSS_TYPE == "鐑樺共鏈烘弧鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈虹┖鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾�)
                     {
                         CMMLog.Info($"璧风偣瀹夊叏瀵规帴锛氬嵆灏嗚繘鍏ヤ换鍔℃祦绋嬶細{mst.CN_S_BUSS_TYPE},鐘舵�鍙蜂负:{action.CN_N_ACTION_CODE}");
                         ProcessHelper.StartPickUpDoorSafe(mst, action.CN_N_ACTION_CODE);
diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/TSHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/TSHelper.cs
index ddc90e7..eaaad86 100644
--- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/TSHelper.cs
+++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/TSHelper.cs
@@ -20,9 +20,10 @@
         {
             bool bResult = false;
             //TN_I_TASK_DTL_ACTION GoToAction = WorkFlowAction.GetActionNode(taskNo, orderNo, 0);
-            TN_I_TASK_DTL_ACTION GoToAction = WorkFlowAction.GetActionNode(taskNo, 1, 0);
-            if (GoToAction != null) {
-                HardwareAccessObject GoToAGVHao = HardwareAccessHelper.Instance.GetEquipmentsHAO(GoToAction.CN_S_PROGRAM_CODE);
+            //TN_I_TASK_DTL_ACTION GoToAction = WorkFlowAction.GetActionNode(taskNo, 1, 0);
+            //if (GoToAction != null) {
+            //    HardwareAccessObject GoToAGVHao = HardwareAccessHelper.Instance.GetEquipmentsHAO(GoToAction.CN_S_PROGRAM_CODE);
+                HardwareAccessObject GoToAGVHao = HardwareAccessHelper.Instance.GetEquipmentsHAO("1");
                 if (GoToAGVHao != null) {
                     //鍙戦�琛岃蛋鎸囦护 鍒癆GV
                     CMMLog.Info($"銆愭澀鍙堿GV銆慓oToAGVHao:{GoToAGVHao}");
@@ -57,12 +58,12 @@
                     CMMLog.Info($"銆愭澀鍙堿GV銆慓oToAGVHao==null!");
                     //Console.WriteLine($"銆愭澀鍙堿GV銆慓oToAGVHao==null!");
                 }
-            }
-            else
-            {
-                CMMLog.Info($"銆愭澀鍙堿GV銆慓oToAction==null!");
-                //Console.WriteLine($"銆愭澀鍙堿GV銆慓oToAction==null!");
-            }
+            //}
+            //else
+            //{
+            //    CMMLog.Info($"銆愭澀鍙堿GV銆慓oToAction==null!");
+            //    //Console.WriteLine($"銆愭澀鍙堿GV銆慓oToAction==null!");
+            //}
             return bResult;
         }
 

--
Gitblit v1.9.1