From 9cba325e0d7c30644606e63e5df01faba0c42038 Mon Sep 17 00:00:00 2001
From: lss <2538410689@qq.com>
Date: 星期三, 06 八月 2025 17:18:41 +0800
Subject: [PATCH] 优化

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs |  336 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 175 insertions(+), 161 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs
index 521597f..340d779 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs
@@ -20,7 +20,7 @@
 {
     internal class WCSCore
     {
-        public static void OperateAgvTaskStatus(AgvTaskState model)
+        public static async Task OperateAgvTaskStatus(AgvTaskState model)
         {
 
             if (string.IsNullOrEmpty(model.task_no))
@@ -30,189 +30,203 @@
             }
             else
             {
-                var TN_Task = WCSHelper.GetTask(model.task_no);
-                if (TN_Task != null)
+                try
                 {
-                    if (model.state <= 7)
+                    var TN_Task = WCSHelper.GetTask(model.task_no);
+                    if (TN_Task != null)
                     {
-                        //鏈変换鍔″彿璇锋眰
-                        switch (model.state)
+                        if (model.state <= 7)
                         {
-                            case 1:
-                                WCSHelper.Begin(TN_Task, model.forklift_no);
-                                break;
-                            #region MyRegion
-                            case 3:
-                                WCSHelper.UpdateAgvNo(TN_Task, model.forklift_no);
-                                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, "鍗歌揣瀹屾垚");
-                                if (!string.IsNullOrEmpty(TN_Task.S_NOTE) && (TN_Task.S_NOTE.Trim() == "鍏ュ簱" || TN_Task.S_NOTE.Trim() == "绌烘墭鍥炲簱"))
-                                {
-                                    LocationHelper.UnlockLoc(TN_Task.S_END_LOC);
-                                }
-                                else
-                                {
-                                    TaskProcess.OperateStatus(TN_Task, 6);
-                                }
-                                UpdateWait(TN_Task);
-                                break;
-                            #endregion
-                            case 2:
-                                WCSHelper.End(TN_Task);
-                                break;
-                            case 7:
-                                TaskProcess.OperateStatus(TN_Task, 7);
-                                WCSHelper.Fail(TN_Task);
-                                TaskProcess.CancelTaskSection(TN_Task);
-                                break;
-                        }
-                        WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
-
-                        //浠诲姟鍥炴姤 浠诲姟鏉ユ簮 1.閽笣绔嬪簱  2.鑳剁墖搴� 3.棰勫搴�5.mes涓嬪彂
-                        //TN_Task = WCSHelper.GetTask(TN_Task.S_CODE);
-                        string urlstate = Settings.tableUrls.Find(a => a.id == 4).url;
-                        TaskProcess.MESReportback(TN_Task, model.state, urlstate);
-                        //绔嬪簱涓巜ms浠诲姟鍥炴姤
-                        TableUrl url = null;
-                        switch (TN_Task.Z_TYPE)
-                        {
-                            case 1:
-                                url = Settings.tableUrls.Find(a => a.id == 1);
-                                if (url != null)
-                                {
-                                    TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "ML");
-                                }
-                                else
-                                {
-                                    LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=1鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
-                                }
-                                break;
-                            case 3:
-                                url = Settings.tableUrls.Find(a => a.id == 9);
-                                if (url != null)
-                                {
-                                    TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "YBK");
-                                }
-                                else
-                                {
-                                    LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=9鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
-                                }
-                                break;
-                            case 4:
-                                url = Settings.tableUrls.Find(a => a.id == 11);
-                                if (url != null)
-                                {
-                                    Console.WriteLine($"鍘熸潗鏂欎换鍔″洖鎶TN_Task.S_EQ_NO}");
-                                    if (TN_Task.S_TYPE.Contains("鐢垫"))
+                            //鏈変换鍔″彿璇锋眰
+                            switch (model.state)
+                            {
+                                case 1:
+                                    WCSHelper.Begin(TN_Task, model.forklift_no);
+                                    break;
+                                #region MyRegion
+                                case 3:
+                                    WCSHelper.UpdateAgvNo(TN_Task, model.forklift_no);
+                                    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, "鍗歌揣瀹屾垚");
+                                    if (!string.IsNullOrEmpty(TN_Task.S_NOTE) && (TN_Task.S_NOTE.Trim() == "鍏ュ簱" || TN_Task.S_NOTE.Trim() == "绌烘墭鍥炲簱"))
                                     {
-                                        if (TN_Task.S_TYPE == "鐢垫1")
+                                        LocationHelper.UnlockLoc(TN_Task.S_END_LOC);
+                                    }
+                                    else
+                                    {
+                                        TaskProcess.OperateStatus(TN_Task, 6);
+                                    }
+                                    UpdateWait(TN_Task);
+                                    break;
+                                #endregion
+                                case 2:
+                                    WCSHelper.End(TN_Task);
+                                    break;
+                                case 7:
+                                    TaskProcess.OperateStatus(TN_Task, 7);
+                                    WCSHelper.Fail(TN_Task);
+                                    TaskProcess.CancelTaskSection(TN_Task);
+                                    break;
+                            }
+                            WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
+
+                            //浠诲姟鍥炴姤 浠诲姟鏉ユ簮 1.閽笣绔嬪簱  2.鑳剁墖搴� 3.棰勫搴�5.mes涓嬪彂
+                            //TN_Task = WCSHelper.GetTask(TN_Task.S_CODE);
+                            string urlstate = Settings.tableUrls.Find(a => a.id == 4).url;
+                            TaskProcess.MESReportback(TN_Task, model.state, urlstate);
+                            //绔嬪簱涓巜ms浠诲姟鍥炴姤
+                            TableUrl url = null;
+                            switch (TN_Task.Z_TYPE)
+                            {
+                                case 1:
+                                    url = Settings.tableUrls.Find(a => a.id == 1);
+                                    if (url != null)
+                                    {
+                                        TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "ML");
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=1鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
+                                    }
+                                    break;
+                                case 3:
+                                    url = Settings.tableUrls.Find(a => a.id == 9);
+                                    if (url != null)
+                                    {
+                                        TaskProcess.Reportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url, "YBK");
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=9鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
+                                    }
+                                    break;
+                                case 4:
+                                    url = Settings.tableUrls.Find(a => a.id == 11);
+                                    if (url != null)
+                                    {
+                                        Console.WriteLine($"鍘熸潗鏂欎换鍔″洖鎶TN_Task.S_EQ_NO}");
+                                        if (TN_Task.S_TYPE.Contains("鐢垫"))
                                         {
-                                            if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4")
+                                            if (TN_Task.S_TYPE == "鐢垫1")
                                             {
-                                                TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
+                                                if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4")
+                                                {
+                                                    TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
+                                                }
+                                            }
+                                            else if (TN_Task.S_TYPE == "鐢垫2")
+                                            {
+                                                if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2")
+                                                {
+                                                    TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
+                                                }
                                             }
                                         }
-                                        else if (TN_Task.S_TYPE == "鐢垫2")
+                                        else
                                         {
-                                            if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2")
-                                            {
-                                                TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
-                                            }
+
+                                            var db = new SqlHelper<object>().GetInstance();
+                                            var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList();
+                                            TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
                                         }
                                     }
                                     else
                                     {
-
-                                        var db = new SqlHelper<object>().GetInstance();
-                                        var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList();
-                                        TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
+                                        LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=11鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
                                     }
-                                }
-                                else
-                                {
-                                    LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=11鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
-                                }
-                                break;
-                            case 6:
-                                url = Settings.tableUrls.Find(a => a.id == 14);
-                                if (url != null)
-                                {
-                                    TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
-                                }
-                                else
-                                {
-                                    LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=14鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
-                                }
+                                    break;
+                                case 6:
+                                    url = Settings.tableUrls.Find(a => a.id == 14);
+                                    if (url != null)
+                                    {
+                                        TaskProcess.WmsReportback(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url.url);
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info("鍘熸潗鏂欎换鍔″洖鎶ワ紝鏍规嵁id=14鏈壘鍒板湴鍧�厤缃枃浠讹紝璇锋鏌ラ厤缃枃浠�);
+                                    }
 
-                                break;
+                                    break;
+                            }
+
+                            //鐗╂枡鍒颁綅閫氱煡
+                            if ((TN_Task.S_TYPE == "鍑哄钩搴� || TN_Task.S_TYPE == "浣欐枡杩斿洖") && model.state == 6)
+                            {
+                                string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
+                                TaskProcess.MESIteminfoback(TN_Task, urlitem);
+                            }
+                            if ((TN_Task.S_NOTE == "鍑哄簱" || TN_Task.S_NOTE == "寮傚父搴撳尯鍏ュ簱") && !string.IsNullOrEmpty(TN_Task.S_MES_NO) && model.state == 6)
+                            {
+                                string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
+                                TaskProcess.MESIteminfoback(TN_Task, urlitem);
+                            }
+
                         }
-
-                        //鐗╂枡鍒颁綅閫氱煡
-                        if ((TN_Task.S_TYPE == "鍑哄钩搴� || TN_Task.S_TYPE == "浣欐枡杩斿洖") && model.state == 6)
+                        else
                         {
-                            string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
-                            TaskProcess.MESIteminfoback(TN_Task, urlitem);
-                        }
-                        if ((TN_Task.S_NOTE == "鍑哄簱" || TN_Task.S_NOTE == "寮傚父搴撳尯鍏ュ簱") && !string.IsNullOrEmpty(TN_Task.S_MES_NO) && model.state == 6)
-                        {
-                            string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
-                            TaskProcess.MESIteminfoback(TN_Task, urlitem);
-                        }
 
+                            var db = new SqlHelper<TaskAction>().GetInstance();
+                            var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == model.task_no && a.N_ACTION_CODE == model.state).First();
+                            if (taskAction == null)
+                            {
+                                WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
+                            }
+
+                            //瀹夊叏璇锋眰绛�+                            string url = "";
+                            string name = "";
+                            if (TN_Task.Z_TYPE == 1)
+                            {
+                                url = Settings.tableUrls.Find(a => a.id == 2).url;
+                                name = "ML";
+                            }
+                            else if (TN_Task.Z_TYPE == 3)
+                            {
+                                url = Settings.tableUrls.Find(a => a.id == 10).url;
+                                name = "YBK";
+                            }
+                            else if (TN_Task.Z_TYPE == 4)
+                            {
+                                url = Settings.tableUrls.Find(a => a.id == 11).url;
+                                name = "YCL";
+                            }
+                            else
+                            {
+                                LogHelper.Info($"瀹夊叏璇锋眰锛氫换鍔$被鍨嬮敊璇�褰撳墠浠诲姟绫诲瀷{TN_Task.Z_TYPE}");
+                            }
+                            if (!string.IsNullOrEmpty(url))
+                            {
+                                TaskProcess.OperateReq(model, url, TN_Task, name);
+                            }
+                            else
+                            {
+                                LogHelper.Info($"瀹夊叏璇锋眰锛氭湭鎵惧埌鍥炴姤鍦板潃锛岃妫�煡閰嶇疆鏂囦欢==>{JsonConvert.SerializeObject(Settings.tableUrls)}");
+                            }
+
+
+                        }
                     }
                     else
                     {
-
-                        var db = new SqlHelper<TaskAction>().GetInstance();
-                        var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == model.task_no && a.N_ACTION_CODE == model.state).First();
-                        if (taskAction == null)
-                        {
-                            WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
-                        }
-
-                        //瀹夊叏璇锋眰绛�-                        string url = "";
-                        string name = "";
-                        if (TN_Task.Z_TYPE == 1)
-                        {
-                            url = Settings.tableUrls.Find(a => a.id == 2).url;
-                            name = "ML";
-                        }
-                        else if (TN_Task.Z_TYPE == 3)
-                        {
-                            url = Settings.tableUrls.Find(a => a.id == 10).url;
-                            name = "YBK";
-                        }
-                        else if (TN_Task.Z_TYPE == 4)
-                        {
-                            url = Settings.tableUrls.Find(a => a.id == 11).url;
-                            name = "YCL";
-                        }
-                        else
-                        {
-                            LogHelper.Info($"瀹夊叏璇锋眰锛氫换鍔$被鍨嬮敊璇�褰撳墠浠诲姟绫诲瀷{TN_Task.Z_TYPE}");
-                        }
-                        if (!string.IsNullOrEmpty(url))
-                        {
-                            TaskProcess.OperateReq(model, url, TN_Task, name);
-                        }
-                        else
-                        {
-                            LogHelper.Info($"瀹夊叏璇锋眰锛氭湭鎵惧埌鍥炴姤鍦板潃锛岃妫�煡閰嶇疆鏂囦欢==>{JsonConvert.SerializeObject(Settings.tableUrls)}");
-                        }
-
-
+                        Console.WriteLine(111);
                     }
                 }
+                catch (Exception ex)
+                {
+                    LogHelper.Info("OperateAgvTaskStatus Error锛� + ex.ToString());
+                    throw;
+                }
+
+
             }
         }
 

--
Gitblit v1.9.1