From e79700d34620c495667b7b8e7b852f23ed7d7e4e Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期三, 16 七月 2025 17:30:42 +0800
Subject: [PATCH] 简化增删改表达式,避免类型匹配出错

---
 process/TaskProcess.cs |   76 +++++++++++++++++++++++++++++++++++---
 1 files changed, 70 insertions(+), 6 deletions(-)

diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index e600622..c3a3343 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -18,7 +18,7 @@
         /// </summary>
         /// <param name="mst"></param>
         /// <param name="load"></param>
-        internal static void CacheBitUpdate(TN_Task mst, bool load) {
+        internal static void BufferLocUpdate(TN_Task 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}");
@@ -37,12 +37,12 @@
         /// 浠诲姟鍙栨秷锛岀紦瀛樹綅鐘舵�鏇存柊
         /// </summary>
         /// <param name="mst"></param>
-        internal static void CacheBitCancelUpdate(TN_Task mst) {
+        internal static void BufferLocCancelUpdate(TN_Task mst) {
             //浠诲姟鍙栨秷锛屽彇璐у畬鎴愬墠鐨勶紝璧风偣鐨刲oadingCount鍜岀粓鐐箄nLoadingCount閮芥竻闄わ紝鍙栬揣瀹屾垚鐨勫彧澶勭悊缁堢偣
             if (WCSHelper.CheckActionRecordExist(mst.S_CODE, 4)) {
                 //鏍规嵁瀹㈡埛鐜板満瑕佹眰锛屽鏋滃彇璐у畬鎴愪换鍔″け璐ヤ汉宸ユ媺鍒扮粓鐐癸紝鎴戜滑灏卞綋鍗歌揣瀹屾垚澶勭悊锛涘鏋滄槸浜哄伐鎷夎蛋鍒板叾瀹冨尯鍩燂紝鎴戜滑灏辫В閿佺粓鐐癸紝鍒犻櫎鎵樼洏銆�                 //缁堢偣缁戝畾
-                CacheBitUpdate(mst, false);
+                BufferLocUpdate(mst, false);
                 LocationHelper.UnLockLoc(mst.S_END_LOC);
             }
             else {
@@ -62,14 +62,14 @@
         /// <param name="state"></param>
         internal static void OperateStatus(TN_Task mst, int state) {
             if (state == 4) {
-                CacheBitUpdate(mst, true);
+                BufferLocUpdate(mst, true);
             }
             if (state == 6)//鍗歌揣瀹屾垚
             {
-                CacheBitUpdate(mst, false);
+                BufferLocUpdate(mst, false);
             }
             if (state == 7) {
-                CacheBitCancelUpdate(mst);
+                BufferLocCancelUpdate(mst);
             }
         }
 
@@ -109,6 +109,19 @@
         /// <param name="mst"></param>
         internal static bool SendTask(TN_Task mst) {
             var result = false;
+            switch (mst.N_SCHEDULE_TYPE) {
+                case 1: //閫氳繃NDC锛宧osttoagv璋冨害璁惧
+                    return SendNDCTask(mst);
+                case 5: //閫氳繃鏉ゥ璋冨害璁惧 
+                    return SendHanAoTask(mst);
+                case 3: //閫氳繃鍥借嚜璋冨害璁惧
+                    return SendGZTask(mst);
+            }
+            return result;
+        }
+
+        public static bool SendNDCTask(TN_Task mst) {
+            var result = false;
             var start = "0"; var end = "0";
             var taskType = mst.S_TYPE.Trim();
 
@@ -142,6 +155,57 @@
             }
             return result;
         }
+
+        public static bool SendGZTask(TN_Task mst) {
+            var db = new SqlHelper<object>().GetInstance();
+            var result = false;
+            var start = "0"; var end = "0";
+            var taskType = mst.S_TYPE.Trim();
+
+            if (mst.N_B_STATE == 0) {
+                //var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = mst.S_START_LOC, dst = mst.S_END_LOC }), "p2p");
+                start = LocationHelper.GetAgvSite(mst.S_START_LOC);
+                end = LocationHelper.GetAgvSite(mst.S_END_LOC);
+
+                var code = GZRobot.CreateOrder(mst.S_CODE, mst.N_PRIORITY, JsonConvert.SerializeObject(new { src = start, dst = end }), "p2pdst", "pgapi");
+
+                if (code > 0) {
+                    //鏇存柊浠诲姟鐘舵�
+                    mst.N_B_STATE = 1;
+                    mst.S_B_STATE = TN_Task.GetStateStr(1);
+                    mst.S_EQ_TASK_CODE = code.ToString();
+                    WCSHelper.UpdateStatus(mst);
+                    WCSHelper.UpdateEQNo(mst);
+                    LogHelper.Info($"鍥借嚜鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE};" + "start=" + mst.S_START_LOC + "end= " + mst.S_END_LOC);
+                }
+                else {
+                    LogHelper.Info($"鍥借嚜鎺ㄩ�浠诲姟澶辫触 {mst.S_CODE};" + JsonConvert.SerializeObject(mst));
+                }
+            }
+            return result;
+        }
+
+        public static bool SendHanAoTask(TN_Task mst) {
+            var result = false;
+            //璋冪涓夋柟鎺ュ彛
+            var model = new HanAo.TaskInfoModel {
+                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
+            };
+            if (HanAo.CreateOrder(model)) {
+                mst.N_B_STATE = 1;
+                WCSHelper.UpdateStatus(mst);
+                LogHelper.Info($"鏉ゥ鎺ㄩ�浠诲姟鎴愬姛 {mst.S_CODE};" + "start=" + model.frmPos + "end= " + model.toPos);
+                return true;
+            }
+            else {
+                LogHelper.Info($"鏉ゥ鎺ㄩ�浠诲姟澶辫触 {mst.S_CODE};" + JsonConvert.SerializeObject(model));
+            }
+            return result;
+        }
         #endregion
     }
 }

--
Gitblit v1.9.1