From 1483d0e74b4dde9eb22e022276390bfa1f24495b Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期五, 30 五月 2025 08:58:53 +0800
Subject: [PATCH] wsdl文件替换 大屏接口开发

---
 process/TaskProcess.cs |  435 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 249 insertions(+), 186 deletions(-)

diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index 7a7e1ba..6307977 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -14,6 +14,7 @@
 using System.Threading.Tasks;
 using static HH.WCS.Mobox3.pinggao.models.SapRoot.WcReturnRoot;
 using static HH.WCS.Mobox3.pinggao.api.OtherModel;
+using NLog.Fluent;
 
 namespace HH.WCS.Mobox3.pinggao.process
 {
@@ -94,7 +95,10 @@
                 db.CommitTran();
                 if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
                 {
-                    weight(TN_Task);
+                    if (TN_Task.S_START_LOC == TN_Task.S_END_LOC)
+                    {
+                        weight(TN_Task);
+                    }
                 }
 
 
@@ -108,12 +112,15 @@
                 db.CommitTran();
                 if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
                 {
-                    weight(TN_Task);
+                    if (TN_Task.S_START_LOC == TN_Task.S_END_LOC)
+                    {
+                        weight(TN_Task);
+                    }
                 }
 
             }
-            
-                if (state == 1103)
+
+            if (state == 1103)
             {
                 //澶ч搧妗嗗弶璧颁互鍚庨�鐭ワ紝鎴戜滑瑕侀�鐭ヨ緭閫佺嚎
             }
@@ -123,198 +130,211 @@
 
         internal static void weight(WCSTask TN_Task)
         {
-           
-       
-                if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
-                {
+
+
+            if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
+            {
                 string extData = TN_Task.S_STATE_PRE;
                 string Ext1 = TN_Task.S_EQ_TASK_CODE;
-                    LogHelper.Info($"绉伴噸鍒嗛厤鍏ュ簱缁堢偣璐т綅楂樺害閲嶉噺{extData}锛岄珮搴Ext1},瀹瑰櫒{TN_Task.S_CNTR_CODE}");
-                    var db = new SqlHelper<object>().GetInstance();
-                    var WMStask = db.Queryable<WMSTask>().Where(s => s.S_CODE == TN_Task.S_OP_CODE).First();
-                    if (WMStask == null)
+                LogHelper.Info($"绉伴噸鍒嗛厤鍏ュ簱缁堢偣璐т綅楂樺害閲嶉噺{extData}锛岄珮搴Ext1},瀹瑰櫒{TN_Task.S_CNTR_CODE}");
+                var db = new SqlHelper<object>().GetInstance();
+                var WMStask = db.Queryable<WMSTask>().Where(s => s.S_CODE == TN_Task.S_OP_CODE).First();
+                if (WMStask == null)
+                {
+                    LogHelper.Info($"鏈壘鍒版浠诲姟瀵瑰簲鐨勪綔涓�);
+                }
+                try
+                {
+                    Location result = null;
+                    //var TN_Task = WCSHelper.GetTask(no);
+                    //鍒ゆ柇褰撳墠瀹瑰櫒涓烘墭鐩樿繕鏄枡妗�+                    //鎵樼洏鍙兘鏀惧湪1-2灞�鏂欑3-9灞�+
+                    //鑾峰彇闆嗗悎
+                    var locklist = db.Queryable<Location>();
+
+
+                    if (TN_Task.S_CNTR_CODE.Substring(0, 2) == "TP")//鎵樼洏
                     {
-                        LogHelper.Info($"鏈壘鍒版浠诲姟瀵瑰簲鐨勪綔涓�);
-                    }
-                    try
-                    {
-                        Location result = null;
-                        //var TN_Task = WCSHelper.GetTask(no);
-                        //鍒ゆ柇褰撳墠瀹瑰櫒涓烘墭鐩樿繕鏄枡妗�-                        //鎵樼洏鍙兘鏀惧湪1-2灞�鏂欑3-9灞�-
-                        //鑾峰彇闆嗗悎
-                        var locklist = db.Queryable<Location>();
-
-
-                        if (TN_Task.S_CNTR_CODE.Substring(0, 2) == "TP")//鎵樼洏
+                        var endlist = locklist
+                                   .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER < 3 && it.N_LOCK_STATE == 0 && it.S_AREA_CODE == "HJQ")
+                                   .OrderBy(it => it.N_COL)
+                                   .PartitionBy(it => it.N_ROW)
+                                   .PartitionBy(it => it.N_LAYER)
+                                   .Take(1)
+                                   .ToList();
+                        if (TN_Task.N_ERR == 2)//鍓嶇Щ杞�                         {
-                            var endlist = locklist
-                                       .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER < 3 && it.N_LOCK_STATE ==0 && it.S_AREA_CODE == "HJQ")
-                                       .OrderBy(it => it.N_COL)
-                                       .PartitionBy(it => it.N_ROW)
-                                       .PartitionBy(it => it.N_LAYER)
-                                       .Take(1)
-                                       .ToList();
-                            foreach (var item in endlist)
+                       
+                            endlist = endlist.Where(s => s.N_LAYER < 7).ToList();
+                        }
+                        foreach (var item in endlist)
+                        {
+                            LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
+                            //澶т簬800kg
+                            if (decimal.Parse(extData) > 1)
                             {
-                                LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
-                                //澶т簬800kg
-                                if (decimal.Parse(extData) > 1)
+                                LogHelper.Info($"楂樺害{Ext1}");
+                                //楂樺害澶т簬1050mm 鍙斁鍦ㄧ涓�眰
+                                if (decimal.Parse(Ext1) <= 3)
                                 {
-                                    LogHelper.Info($"楂樺害{Ext1}");
-                                    //楂樺害澶т簬1050mm 鍙斁鍦ㄧ涓�眰
-                                    if (decimal.Parse(Ext1) <=3)
+                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
+                                                    && it.N_LAYER == 1).First();
+                                    if (lockinfo == null)
                                     {
-                                        var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
-                                                        && it.N_LAYER == 1).First();
-                                        if (lockinfo == null)
-                                        {
-                                            result = item;
-                                            break;
-                                        }
-                                        else
-                                        {
-                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                            //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        }
+                                        result = item;
+                                        break;
                                     }
                                     else
                                     {
-                                        LogHelper.Info($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                        throw new Exception($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-
+                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
                                     }
+                                }
+                                else
+                                {
+                                    LogHelper.Info($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                    throw new Exception($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
 
                                 }
-                                else//涓嶈秴閲�鍗�涓嶈秴杩�00kg
-                                {
-                                    //楂樺害<450mm 2-9灞�-                                    if (decimal.Parse(Ext1) < 2)
+
+                            }
+                            else//涓嶈秴閲�鍗�涓嶈秴杩�00kg
+                            {
+                                //楂樺害<450mm 2-9灞�+                                if (decimal.Parse(Ext1) < 2)
                                 {
                                     LogHelper.Info($"楂樺害<450mm 2-9灞�);
                                     var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
                                                         && it.N_LAYER == 2).First();
-                                        if (lockinfo == null)
-                                        {
-                                            result = item;
-
-                                            break;
-                                        }
-                                        else
-                                        {
-                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                            //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        }
-                                    }
-                                    else if (decimal.Parse(Ext1) >= 2 && decimal.Parse(Ext1) < 4)
+                                    if (lockinfo == null)
                                     {
-                                        var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
-                                                       && it.N_LAYER >= 1 && it.N_LAYER <= 2).First();
-                                        if (lockinfo == null)
-                                        {
-                                            result = item;
+                                        result = item;
 
-
-                                            db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
-
-                                            break;
-                                        }
-                                        else
-                                        {
-                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                            //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        }
+                                        break;
                                     }
                                     else
                                     {
-                                        LogHelper.Info($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                        throw new Exception($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-
+                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
                                     }
                                 }
-                            }
-                        }
-                        else
-                        { //瀹瑰櫒涓烘枡绠�鍒欐斁鍒�-9灞�-
-                            var endlist = locklist
-                                       .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER >= 3 && it.N_LOCK_STATE == 0 && it.S_AREA_CODE == "HJQ")
-                                       .OrderBy(it => it.N_COL)
-                                       .PartitionBy(it => it.N_ROW)
-                                       .PartitionBy(it => it.N_LAYER)
-                                       .Take(1)
-                                       .ToList();
-                            foreach (var item in endlist)
-                            {
-                                LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
-                                //澶т簬800kg
-                                if (decimal.Parse(extData) > 1)
+                                else if (decimal.Parse(Ext1) >= 2 && decimal.Parse(Ext1) < 4)
                                 {
-                                    LogHelper.Info($"鏂欑閲嶉噺瓒呰繃800kg");
-                                    throw new Exception($"鏂欑閲嶉噺瓒呰繃800kg");
+                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
+                                                   && it.N_LAYER >= 1 && it.N_LAYER <= 2).First();
+                                    if (lockinfo == null)
+                                    {
+                                        result = item;
+
+
+                                        db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
+
+                                        break;
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                    }
                                 }
                                 else
                                 {
-                                    if (decimal.Parse(Ext1) < 4)
-                                    {
-                                        var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.S_AREA_CODE == item.S_AREA_CODE && it.N_ROW == item.N_ROW
-                                                       && it.N_LAYER >= 3 && it.N_LAYER <= 9).First();
-                                        if (lockinfo == null)
-                                        {
-                                            result = item;
-                                            TN_Task.S_END_LOC = item.S_CODE;
-                                            db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC }).ExecuteCommand();
+                                    LogHelper.Info($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                    throw new Exception($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
 
-                                            break;
-                                        }
-                                        else
-                                        {
-                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                            throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        }
-                                    }
-                                    else
-                                    {
-                                        LogHelper.Info($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                        throw new Exception($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                    }
                                 }
                             }
                         }
+                    }
+                    else
+                    { //瀹瑰櫒涓烘枡绠�鍒欐斁鍒�-9灞� 
-
-                        if (result == null)
+                        var endlist = locklist
+                                   .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER >= 3 && it.N_LOCK_STATE == 0 && it.S_AREA_CODE == "HJQ")
+                                   .OrderBy(it => it.N_COL)
+                                   .PartitionBy(it => it.N_ROW)
+                                   .PartitionBy(it => it.N_LAYER)
+                                   .Take(1)
+                                   .ToList();
+                        if (TN_Task.N_ERR == 2)//鍓嶇Щ杞�                         {
-                            LogHelper.Info($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
-                            throw new Exception($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
+                            endlist = endlist.Where(s => s.N_LAYER < 7).ToList();
                         }
-                        TN_Task.S_END_LOC = result.S_CODE;
-                        TN_Task.S_END_AREA = result.S_AREA_CODE;
-                        TN_Task.S_END_WH = result.S_WH_CODE;
+                        foreach (var item in endlist)
+                        {
+                            LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
+                            //澶т簬800kg
+                            if (decimal.Parse(extData) > 1)
+                            {
+                                LogHelper.Info($"鏂欑閲嶉噺瓒呰繃800kg");
+                                throw new Exception($"鏂欑閲嶉噺瓒呰繃800kg");
+                            }
+                            else
+                            {
+                                if (decimal.Parse(Ext1) < 4)
+                                {
+                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.S_AREA_CODE == item.S_AREA_CODE && it.N_ROW == item.N_ROW
+                                                   && it.N_LAYER >= 3 && it.N_LAYER <= 9).First();
+                                    if (lockinfo == null)
+                                    {
+                                        result = item;
+                                        TN_Task.S_END_LOC = item.S_CODE;
+                                        db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC }).ExecuteCommand();
 
-                        db.Updateable<WCSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
-                        WMStask.S_END_LOC = result.S_CODE;
-                        WMStask.S_END_AREA = result.S_AREA_CODE;
-                        WMStask.S_END_WH = result.S_WH_CODE;
+                                        break;
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                    }
+                                }
+                                else
+                                {
+                                    LogHelper.Info($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                    throw new Exception($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                }
+                            }
+                        }
+                    }
 
-                        db.Updateable<WMSTask>(WMStask).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
+
+                    if (result == null)
+                    {
+                        LogHelper.Info($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
+                        throw new Exception($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
+                    }
+
+                    //var lcrList = db.Queryable<LocCntrRel>().Includes(a => a.Container).Where(a => a.S_LOC_CODE == TN_Task.S_CNTR_CODE).ToList();
+                    //if (lcrList.Count == 0) {
+                    TN_Task.S_END_LOC = result.S_CODE;
+                    TN_Task.S_END_AREA = result.S_AREA_CODE;
+                    TN_Task.S_END_WH = result.S_WH_CODE;
+                    db.Updateable<WCSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
+                    WMStask.S_END_LOC = result.S_CODE;
+                    WMStask.S_END_AREA = result.S_AREA_CODE;
+                    WMStask.S_END_WH = result.S_WH_CODE;
+
+                    db.Updateable<WMSTask>(WMStask).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
+                    //}
+
                     var S_AGV_SITE = "";
-                    if (TN_Task.N_ERR==1)//鍓嶇Щ杞�+                    if (TN_Task.N_ERR == 1)//鍓嶇Щ杞�                     {
                         //鍓嶇Щ杞�-                         S_AGV_SITE = LocationHelper.GetAgvSite(TN_Task.S_END_LOC);
+                        S_AGV_SITE = LocationHelper.GetAgvSite(TN_Task.S_END_LOC);
                     }
                     else //鍫嗗灈杞�                     {
 
                         //鍫嗗灈杞�-                         S_AGV_SITE = db.Queryable<TN_Location_Ext>().Where(a => a.S_LOC_CODE == TN_Task.S_END_LOC).First()?.S_AGV_SITE;
+                        S_AGV_SITE = db.Queryable<TN_Location_Ext>().Where(a => a.S_LOC_CODE == TN_Task.S_END_LOC).First()?.S_AGV_SITE;
                     }
-                        var dic = new Dictionary<string, string>();
-                        dic.Add("No", TN_Task.S_CODE);
-                        dic.Add("ParamNo", "3");
-                        dic.Add("Param1", S_AGV_SITE);
+                    var dic = new Dictionary<string, string>();
+                    dic.Add("No", TN_Task.S_CODE);
+                    dic.Add("ParamNo", "2");
+                    dic.Add("Param1", S_AGV_SITE);
                     //dic.Add("Pri", TN_Task.N_PRIORITY.ToString());
                     //dic.Add("No", TN_Task.S_CODE.Trim());
                     //dic.Add("From", TN_Task.S_START_LOC);
@@ -324,26 +344,32 @@
                     //dic.Add("FRow", "0");
 
                     var res = NDC.ChangeOrder(dic);
-                        LogHelper.Info($"淇敼缁堢偣璐т綅" + JsonConvert.SerializeObject(res));
-                        if (res.Res.ErrCode != -1)
-                        {
-                            var dics = new Dictionary<string, string>();
-                            dics.Add("No", TN_Task.S_CODE);
-                            dics.Add("ParamNo", "6");
-                            dics.Add("Param1", "2");
-                            var ss = NDC.ChangeOrder(dics);
-                            LogHelper.Info($"灏忚溅鍓嶅線鏂板簱浣� + JsonConvert.SerializeObject(ss));
-                            LocationHelper.BindingLoc(TN_Task.S_END_LOC, TN_Task.S_CNTR_CODE.Split(',').ToList());
-                            LocationHelper.LockLoc(TN_Task.S_END_LOC,1);
-                        }
-                        db.CommitTran();
-                    }
-                    catch (Exception)
+                    LogHelper.Info($"淇敼缁堢偣璐т綅" + JsonConvert.SerializeObject(res));
+                    if (res.Res.ErrCode != -1)
                     {
-                        db.RollbackTran();
-                        throw;
+                        var dics = new Dictionary<string, string>();
+                        dics.Add("No", TN_Task.S_CODE);
+                        dics.Add("ParamNo", "6");
+                        dics.Add("Param1", "2");
+                        var ss = NDC.ChangeOrder(dics);
+                        LogHelper.Info($"灏忚溅鍓嶅線鏂板簱浣� + JsonConvert.SerializeObject(ss));
+
+
+                        //if (lcrList.Count()==0)
+                        //{
+                        LocationHelper.BindingLoc(TN_Task.S_END_LOC, TN_Task.S_CNTR_CODE.Split(',').ToList());
+                        LocationHelper.LockLoc(TN_Task.S_END_LOC, 1);
+                        //}
                     }
+
+                    db.CommitTran();
                 }
+                catch (Exception)
+                {
+                    db.RollbackTran();
+                    throw;
+                }
+            }
 
         }
 
@@ -552,7 +578,7 @@
             var taskType = mst.S_TYPE.Trim();
             try
             {
-                LogHelper.Info($"鎺ㄩ�浠诲姟{ mst.S_CODE}");
+                LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}");
                 Console.WriteLine("鎺ㄩ�浠诲姟", mst.S_CODE);
                 //鍓嶇Щ杞�                 var startlocs = LocationHelper.GetAgvSite(mst.S_START_LOC);
@@ -561,18 +587,18 @@
                 var db = new SqlHelper<object>().GetInstance();
                 var dstart = db.Queryable<TN_Location_Ext>().Where(a => a.S_LOC_CODE == mst.S_START_LOC).First()?.S_AGV_SITE;
                 var dend = db.Queryable<TN_Location_Ext>().Where(a => a.S_LOC_CODE == mst.S_END_LOC).First()?.S_AGV_SITE;
-                LogHelper.Info($"鑾峰彇搴撲綅{mst.S_START_LOC}{ mst.S_END_LOC}||{mst.N_B_STATE}");
+                LogHelper.Info($"鑾峰彇搴撲綅{mst.S_START_LOC}{mst.S_END_LOC}||{mst.N_B_STATE}");
                 LogHelper.Info($"绔欑偣鏁版嵁淇℃伅{dstart}/{dend}||{startlocs}/{endlocs}");
                 if (mst.N_B_STATE == 0)
                 {
                     //鍫嗗灈杞﹀幓绔欑偣琛ㄦ壘
                     if (mst.S_SCHEDULE_TYPE == "NDC")
                     {
-                     
+
                         var startloc = LocationHelper.GetLoc(mst.S_START_LOC);
                         var endloc = LocationHelper.GetLoc(mst.S_END_LOC);
                         LogHelper.Info($"鑾峰彇绔欑偣{startloc.N_LAYER}");
-                        if (startloc.N_LAYER > 7 || endloc.N_LAYER > 7)//澶т簬涓冨眰 鎵炬湁鏃�鍓嶇Щ杞︾殑浠诲姟 鏈�涓嶆帹 鏃犳帹閫�+                        if (mst.S_TYPE.Contains("鍏ュ簱"))
                         {
                             var task = WCSHelper.GetWaitingTaskGoList();//鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔�                             if (task.Count() == 0)
@@ -581,29 +607,66 @@
                                 start = startlocs;
                                 end = endlocs;
                             }
-                        }
-                        else //灏忎簬
-                        {
-                            LogHelper.Info($"灏忎簬7");
-                            var task = WCSHelper.GetWaitingTaskGoBackList();//鏌ヨ鏄惁鏈夊爢鍨涜溅姝e湪鎵ц鐨勪换鍔°�
-                            LogHelper.Info($"count{task.Count()}");
-                            if (task.Count() == 0)
-                            {      //鍫嗗灈杞�鍘�绔欑偣琛ㄥ幓鏌�-                                mst.N_ERR = 2;
-                                start = dstart;
-                                end = dend;
-                            }
                             else
                             {
-                                var task1 = WCSHelper.GetWaitingTaskGoList();///鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔�-                                LogHelper.Info($"鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔ount{task1.Count()}");
-                                if (task1.Count() == 0)
+                                var task12 = WCSHelper.GetWaitingTaskGoBackList();//鏌ヨ鏄惁鏈夊爢鍨涜溅姝e湪鎵ц鐨勪换鍔°�
+                                LogHelper.Info($"count{task12.Count()}");
+                                if (task12.Count() == 0)
+                                {      //鍫嗗灈杞�鍘�绔欑偣琛ㄥ幓鏌�+                                    mst.N_ERR = 2;
+                                    start = dstart;
+                                    end = dend;
+                                }
+                                else
+                                {
+                                    var task1 = WCSHelper.GetWaitingTaskGoList();///鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔�+                                    LogHelper.Info($"鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔ount{task1.Count()}");
+                                    if (task1.Count() == 0)
+                                    {
+                                        mst.N_ERR = 1;
+                                        start = startlocs;
+                                        end = endlocs;
+                                    }
+                                }
+                            }
+
+                        }
+                        else
+                        {
+                            if (startloc.N_LAYER > 7 || endloc.N_LAYER > 7)//澶т簬涓冨眰 鎵炬湁鏃�鍓嶇Щ杞︾殑浠诲姟 鏈�涓嶆帹 鏃犳帹閫�+                            {
+                                var task = WCSHelper.GetWaitingTaskGoList();//鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔�+                                if (task.Count() == 0)
                                 {
                                     mst.N_ERR = 1;
                                     start = startlocs;
                                     end = endlocs;
                                 }
                             }
+                            else //灏忎簬
+                            {
+                                LogHelper.Info($"灏忎簬7");
+                                var task = WCSHelper.GetWaitingTaskGoBackList();//鏌ヨ鏄惁鏈夊爢鍨涜溅姝e湪鎵ц鐨勪换鍔°�
+                                LogHelper.Info($"count{task.Count()}");
+                                if (task.Count() == 0)
+                                {      //鍫嗗灈杞�鍘�绔欑偣琛ㄥ幓鏌�+                                    mst.N_ERR = 2;
+                                    start = dstart;
+                                    end = dend;
+                                }
+                                else
+                                {
+                                    var task1 = WCSHelper.GetWaitingTaskGoList();///鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔�+                                    LogHelper.Info($"鏌ヨ鏄惁鏈夊墠绉昏溅姝e湪鎵ц鐨勪换鍔ount{task1.Count()}");
+                                    if (task1.Count() == 0)
+                                    {
+                                        mst.N_ERR = 1;
+                                        start = startlocs;
+                                        end = endlocs;
+                                    }
+                                }
+                            }
+
                         }
                         LogHelper.Info($"绔欑偣{start}/{end}");
                         if (!string.IsNullOrEmpty(start) && !string.IsNullOrEmpty(end))

--
Gitblit v1.9.1