From 41accee47c8eeb8c6408507f873d68f890092468 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期四, 10 七月 2025 17:18:14 +0800
Subject: [PATCH] 111

---
 ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs |  259 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 244 insertions(+), 15 deletions(-)

diff --git a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
index d0ac375..3a74ae0 100644
--- a/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
+++ b/ams/Hanhe.iWCS.JingmenGEMTwoProtocol/ProcessHelper.cs
@@ -9,16 +9,19 @@
 using MongoDB.Driver.Builders;
 using MySql.Data.MySqlClient;
 using Newtonsoft.Json;
+using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Net.Configuration;
 using System.Text;
 using System.Web.UI.WebControls.WebParts;
+using static Hanhe.iWCS.JingmenGEMTwoProtocol.ApiHelper;
 using static Hanhe.iWCS.JingmenGEMTwoProtocol.EnentListen;
 using static Hanhe.iWCS.JingmenGEMTwoProtocol.MESHelper;
 using static Hanhe.iWCS.JingmenGEMTwoProtocol.PLCControl;
 using static Hanhe.iWCS.JingmenGEMTwoProtocol.ProtocolAnalysis;
+using static System.Runtime.CompilerServices.RuntimeHelpers;
 
 namespace Hanhe.iWCS.JingmenGEMTwoProtocol
 {
@@ -174,6 +177,63 @@
                         end.CN_N_AGV_LOCATION = Settings.GetConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
                     }
                 }
+
+                var conn1 = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList();
+                if (conn1.Count == 2)
+                {
+                    //涓や釜鎺ラ┏骞冲彴
+                    if (mst.CN_S_START_BIT == conn1[0].locCode || mst.CN_S_START_BIT == conn1[1].locCode)
+                    {
+                        if (mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱(浜屾)")
+                        {
+                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[0];
+                        }
+                        else
+                        {
+                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
+                        }
+                        
+                    }
+                    if (mst.CN_S_END_BIT == conn1[0].locCode || mst.CN_S_END_BIT == conn1[1].locCode)
+                    {
+                        if (mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱")
+                        {
+                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[1];
+                        }
+                        else
+                        {
+                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
+                        }
+                        
+                    }
+                }
+                if (conn1.Count == 1)
+                {
+                    //涓�釜鎺ラ┏骞冲彴
+                    if (mst.CN_S_START_BIT == conn1[0].locCode)
+                    {
+                        if(mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱(浜屾)")
+                        {
+                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[0];
+                        }
+                        else
+                        {
+                            start.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_START_BIT).First().agvSite[1];
+                        }
+                        
+                    }
+                    if (mst.CN_S_END_BIT == conn1[0].locCode)
+                    {
+                        if(mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱")
+                        {
+                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[1];
+                        }
+                        else
+                        {
+                            end.CN_N_AGV_LOCATION = Settings.GetDGConnectingbitsList().Where(a => a.locCode == mst.CN_S_END_BIT).First().agvSite[0];
+                        }
+                    }
+                }
                 #endregion
 
                 string FRow = string.IsNullOrEmpty(start.CN_S_FLOOR) ? "1" : start.CN_S_FLOOR;
@@ -207,7 +267,7 @@
                         }
                     }
                 }
-                if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱")
+                if (mst.CN_S_BUSS_TYPE == "缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻缂撳瓨鏋跺叆绔嬪簱" || mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱")
                 {
                     TRow = "1";
                 }
@@ -303,8 +363,9 @@
                     if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) PLCControl.CacheStackingMouth1013(plc.deviceType, mst.CN_S_TASK_NO, mst.CN_S_END_BIT);
                     if (mst.CN_S_BUSS_TYPE == "3妤兼媶鐩樿ˉ绌�) PLCControl.DiscRemoverReqUnload(plc.deviceType, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "鍖呰绾胯ˉ绌�) PLCControl.PackingLine(plc.ip, mst.CN_S_TASK_NO);
-                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.outWare(mst.CN_S_TASK_NO, true);
+                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") PLCControl.outWare(mst.CN_S_TASK_NO, true);
                     if (mst.CN_S_BUSS_TYPE == "3妤兼垚鍝佸嚭搴�) PLCControl.productOutWare(mst.CN_S_END_BIT, mst.CN_S_TASK_NO, true);
+                    if (mst.CN_S_BUSS_TYPE == "鐑樺共鏈虹┖鎵樹笂绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈烘弧鎵樹笂绾�) PLCControl.DGMachineTwo(plc, mst.CN_S_TASK_NO, true);
                 }
                 if (code == 6)
                 {
@@ -315,9 +376,10 @@
 
                     if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) PLCControl.writeStackingMouth6(mst.CN_S_END_BIT, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "3妤兼媶鐩樿ˉ绌�) PLCControl.DiscRemoverUnloadComplete(plc.deviceType, mst.CN_S_TASK_NO);
-                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.outWare(mst.CN_S_TASK_NO, false);
+                    if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") PLCControl.outWare(mst.CN_S_TASK_NO, false);
                     if (mst.CN_S_BUSS_TYPE == "鍖呰绾胯ˉ绌�) PLCControl.PackingLineComplete(plc.ip);
                     if (mst.CN_S_BUSS_TYPE == "3妤兼垚鍝佸嚭搴�) PLCControl.productOutWare(mst.CN_S_END_BIT, mst.CN_S_TASK_NO, false);
+                    if (mst.CN_S_BUSS_TYPE == "鐑樺共鏈虹┖鎵樹笂绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈烘弧鎵樹笂绾�) PLCControl.DGMachineTwo(plc, mst.CN_S_TASK_NO, true);
                 }
             }
             else CMMLog.Info($"PlcInfo涓湭鎵惧埌璇ョ偣浣嶏紝鐐逛綅锛歿mst.CN_S_END_BIT}");
@@ -362,22 +424,25 @@
                 if (code == 1012)
                 {
                     //鍗歌揣鐢宠锛屽厛鍒ゆ柇璁惧鏄惁鍏佽杩涙枡锛屽鏋滄槸鐩存帴鏀瑰弬鏁帮紝骞堕�鐭ヨ澶�-                    if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂�) PLCControl.PickUpFullDoorUnload(plc.ip, mst.CN_S_TASK_NO);//杩涘叆3妤煎寘瑁呭彇鏂欐祦绋�012,ip:{plc.ip},task:{mst.CN_S_TASK_NO}
+                    if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") PLCControl.PickUpFullDoorUnload(plc.ip, mst.CN_S_TASK_NO);//杩涘叆3妤煎寘瑁呭彇鏂欐祦绋�012,ip:{plc.ip},task:{mst.CN_S_TASK_NO}
                     if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋禢G") PLCControl.SecondWeightInCache1012(plc.ip, mst.CN_S_TASK_NO);//浜屾湡锛氱洿鎺ユ敼鍙傛暟
                     if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵�) TSHelper.GoToAGV(mst.CN_S_TASK_NO, 10, 1);
                     if (mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾�) PLCControl.StackingReqUnload(plc.deviceType, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineUnload1012(plc.ip, mst.CN_S_TASK_NO);
+                    if (mst.CN_S_BUSS_TYPE == "鐑樺共鏈烘弧鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈虹┖鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾�) PLCControl.DGMachine(plc,mst.CN_S_TASK_NO,true);
                 }
                 if (code == 4)
                 {
                     //鍗歌揣瀹屾垚鐢宠锛屽垽鏂澶囬偅杈硅繘鏂欏畬鎴愶紝鏀瑰弬鏁伴�鐭gv绂诲紑
-                    if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂�) PLCControl.PickUpFullDoorComplete(plc.ip, mst.CN_S_TASK_NO);
+                    if (mst.CN_S_BUSS_TYPE == "3妤煎寘瑁呭彇鏂� || mst.CN_S_BUSS_TYPE == "PDA鎵撳寘涓嬬嚎") PLCControl.PickUpFullDoorComplete(plc.ip, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋� || mst.CN_S_BUSS_TYPE == "3妤煎绉板叆缂撳瓨鏋禢G") PLCControl.SecondWeightInCache4(plc.deviceType, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "3妤煎彔鐩樹笅绾�) PLCControl.StackingComplete(plc.deviceType, mst.CN_S_TASK_NO);
                     if (mst.CN_S_BUSS_TYPE == "3妤兼墦鍖呬笅绾�) PLCControl.PackingLineComplete4(plc.ip, mst.CN_S_SOURCE_NO);
                     if (mst.CN_S_BUSS_TYPE != "3妤煎寘瑁呭彇鏂�) WMSHelper.ExecuteState(mst.CN_S_SOURCE_NO, 4);
                     if (mst.CN_S_BUSS_TYPE == "3妤肩紦瀛樻灦鍏ュ彔鎵楴G") PLCControl.CacheStackingMouth6(plc);
                     if (mst.CN_S_BUSS_TYPE == "杈呮潗鍏ュ簱") PLCControl.fcrk(plc);
+                    if (mst.CN_S_BUSS_TYPE == "鐑樺共鏈烘弧鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍓垏鏈虹┖鎵樹笅绾� || mst.CN_S_BUSS_TYPE == "鍖呰鏈烘弧鎵樹笅绾�) PLCControl.DGMachine(plc, mst.CN_S_TASK_NO, false);
+
                 }
             }
             else CMMLog.Info($"鐐逛綅{mst.CN_S_START_BIT}鏈厤缃�);
@@ -497,6 +562,10 @@
                         result = true;
                     }
                 }
+                if (mst.CN_S_BUSS_TYPE == "鐢甸挻鐢熶骇閫�簱")
+                {
+                    SGTK(mst);
+                }
                 var bussTypeInfo = Settings.GetHouWeiCodeo().Where(a => a.location == mst.Ext1).FirstOrDefault();
                 if (bussTypeInfo != null)
                 {
@@ -557,6 +626,57 @@
             }
             CMMLog.Info($"RESULT:{result}");
             return result;
+        }
+
+        /// <summary>
+        /// 鍥涢挻鐢熶骇閫�簱
+        /// 灏嗕换鍔℃媶鍒嗘垚涓ゆ浠诲姟锛岀涓�浠诲姟缁堢偣鏀逛负鎺ラ┏骞冲彴
+        /// 浜屾浠诲姟浠庢帴椹冲钩鍙板叆搴�+        /// </summary>
+        /// <param name="mst"></param>
+        private static void SGTK(TN_I_TASK_MST mst)
+        {
+            var CBInfo = Settings.GetDGConnectingbitsList().Where(a => a.enable == 1).ToList();
+            if (CBInfo != null)
+            {
+                foreach (var a in CBInfo)
+                {
+                    if (!string.IsNullOrEmpty(a.locCode))
+                    {
+                        //鍦ㄤ腑闂磋〃涓煡鎵剧偣浣�+                        var CBTable = MongoDBSingleton.Instance.FindOne<DGConnectingBits>(Query.EQ("Bit", a.locCode), "DGConnectingBits");
+                        if (CBTable != null)
+                        {
+                            if (string.IsNullOrEmpty(CBTable.trayCode))
+                            {
+                                //鏀逛换鍔$殑缁堢偣
+                                MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None);
+
+                                new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'");
+
+                                CMMLog.Debug($"鐢熶骇閫�簱锛氭洿鏀圭粓鐐规垚鍔燂紒");
+                                MongoDBSingleton.Instance.Update<DGConnectingBits>(Query.EQ("Bit", a.locCode), Update.Set("trayCode", mst.CN_S_BATCH_NO).Set("END_LOC",mst.CN_S_END_BIT), UpdateFlags.None);
+                                break;
+                            }
+                        }
+                        else
+                        {
+                            //鏀逛换鍔$殑缁堢偣
+                            MongoDBSingleton.Instance.Update<TN_I_TASK_MST>(Query.EQ("CN_S_TASK_NO", mst.CN_S_TASK_NO), Update.Set("CN_S_END_BIT", a.locCode), UpdateFlags.None);
+
+                            new SqlHelper<object>().ExecuteSql($"update dbo.tn_am_task_mst set CN_S_END_BIT='{a.locCode}',CN_S_END_AGVBIT = '{StockInstance.Instance.GetAGVCodeForBitCode(a.locCode)}' where CN_S_TASK_NO = '{mst.CN_S_TASK_NO}'");
+
+                            CMMLog.Debug($"鐢熶骇閫�簱锛氭洿鏀圭粓鐐规垚鍔燂紒");
+                            //鎵撳寘涓嬬嚎浠诲姟鐢熸垚鎴愬姛锛屽悜涓棿琛ㄦ彃鍏ユ暟鎹�+
+                            MongoDBSingleton.Instance.Insert<DGConnectingBits>(new DGConnectingBits { Bit = a.locCode, trayCode = mst.CN_S_BATCH_NO,END_LOC = mst.CN_S_END_BIT, state = "0" });
+                            break;
+                        }
+                    }
+                    else CMMLog.Debug("鐢熶骇閫�簱鎺ラ┏浣嶇偣浣嶆湭閰嶇疆");
+                }
+            }
+            else CMMLog.Debug("鐢熶骇閫�簱鎺ラ┏浣嶆湭閰嶇疆");
         }
 
         /// <summary>
@@ -692,9 +812,10 @@
                 if (plc.Count > 0)
                 {
                     #region 鍒ゆ柇杈撻�绾挎ā寮�鍙樻洿娉ㄩ噴
-                    //bool action = true;
+
                     //foreach(var a in plc)
                     //{
+                    //    bool action = false;
                     //    var modeResult = OITcpHelper.RegisterReadOutPut(new OITcpHelper.RegisterReadOutPutModel
                     //    {
                     //        dataNum = 1,
@@ -707,7 +828,6 @@
                     //        CMMLog.Debug($"OutWareTask锛氳鍙栨粴绛掓満{a.ip}閫氶亾鍙蜂负锛歿a.readAddr + 3}鐨勫�涓猴細{modeResult.result[0]}");
                     //        if (modeResult.result[0] == 2)
                     //        {
-                    //            action = false;
                     //            CMMLog.Debug($"OutWareTask:杈撻�绾夸负 鍏ュ簱妯″紡锛岃緭閫佺嚎鐐逛綅锛歿a.location}");
                     //            break;
                     //        }
@@ -719,24 +839,25 @@
                     //            {
                     //                if (modelInfo.Mode == "鍏ュ簱妯″紡")
                     //                {
-                    //                    action = false;
                     //                    CMMLog.Debug($"OutWareTask:涓棿琛�ModeList涓�鍏ュ簱妯″紡");
-                    //                    break;
+                    //                }
+                    //                else
+                    //                {
+                    //                    action = true;
                     //                }
                     //            }
                     //            else
                     //            {
-                    //                action = false;
                     //                CMMLog.Debug("OutWareTask:涓棿琛�ModeList 涓虹┖");
-                    //                break;
                     //            }
                     //        }
                     //    }
+                    //    if (!action)
+                    //    {
+                    //        return false;
+                    //    }
                     //};
-                    //if (!action)
-                    //{
-                    //    return false;
-                    //}
+
                     #endregion
 
 
@@ -1113,6 +1234,53 @@
             }
             CMMLog.Info("杩涘叆鍏呯數浠诲姟娴佺▼鍒ゆ柇锛氭墽琛岀粨鏉燂紒");
         }
+
+        internal static void AGVBatteryTimeTwo()
+        {
+            var cpsInfo = MongoDBSingleton.Instance.FindAll<TN_B_CHARGE_PLAN_SET>("TN_B_CHARGE_PLAN_SET");
+            if (cpsInfo.Count > 0)
+            {
+                foreach (var a in cpsInfo)
+                {
+                    int agvNo = int.Parse(a.CN_S_NAME);
+                    if(agvNo != 0)
+                    {
+                        //鍒ゆ柇涓棿琛�MarginAGV 鏄惁鏈夎AGV鐨勬暟鎹�+                        var maInfo = MongoDBSingleton.Instance.FindOne<MarginAGV>(Query.EQ("agvNo", int.Parse(a.CN_S_NAME)), "MarginAGV");
+                        if (maInfo == null)
+                        {
+                            if (DateTime.Parse(a.CN_DT_START).AddMinutes(10) > DateTime.Now)
+                            {
+                                //褰撳墠鏃堕棿鍦ㄦ寚瀹氬厖鐢垫椂闂寸殑10鍒嗛挓涔嬪唴
+                                var pileInfo = Settings.GetChargingPile().Where(b => b.agvNo == a.CN_S_NAME && b.enable == "1").FirstOrDefault();
+                                if(pileInfo != null)
+                                {
+                                    int marginGroup = int.Parse(pileInfo.charginGroup);
+                                    TSHelper.SendChargeTask(a.CN_S_NAME, true);
+                                    //澧炲姞鏃堕棿
+                                    MongoDBSingleton.Instance.Insert<MarginAGV>(new MarginAGV { agvNo = agvNo, marginGroup = marginGroup, dateTime = DateTime.Now });
+                                }
+                                else
+                                {
+                                    CMMLog.Info($"鍏呯數浠诲姟锛屾湭閰嶇疆褰撳墠杞﹀彿锛岃溅鍙凤細{a.CN_S_NAME}");
+                                }
+                            }
+                        }
+                        else
+                        {
+                            if (maInfo.dateTime.AddMinutes(10) < DateTime.Now)
+                            {
+                                MongoDBSingleton.Instance.Remove<MarginAGV>(Query.EQ("id", maInfo.id), RemoveFlags.None);
+                            }
+                        }
+                    }
+                    else
+                    {
+                        CMMLog.Info("鍏呯數浠诲姟娴佺▼寮傚父锛屽綋鍓嶈溅鍙蜂负0");
+                    }
+                }
+            }
+        }
         #endregion
 
         /// <summary>
@@ -1316,5 +1484,66 @@
             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; }
+        }
     }
 }

--
Gitblit v1.9.1