From 8daba2a942980bb9657330baf81c1242e3e63d75 Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期二, 22 七月 2025 17:30:36 +0800
Subject: [PATCH] 金坛出库修改,wcs接口修改

---
 process/TaskProcess.cs |  465 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 286 insertions(+), 179 deletions(-)

diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index c2088d3..d3111fd 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -560,7 +560,7 @@
                         }
 
                         //鎺ラ┏浣嶄袱涓猘gv浠诲姟锛宎浠诲姟鍙栬揣瀹屾垚 鎺ㄩ�b浠诲姟
-                        var agvTask = LocationHelper.GetConnectionTask(wmsWork.CONNECTION,"agv");
+                        var agvTask = LocationHelper.GetConnectionTask(wmsWork.CONNECTION,"agv", mst.T_CREATE);
 
                         LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽綋鍓嶆帴椹充綅{wmsWork.CONNECTION}锛岀涓�釜agv浠诲姟淇℃伅"+JsonConvert.SerializeObject(agvTask), "NDC");
                         //if (agvTask==null)
@@ -990,105 +990,197 @@
                 return result;
             }
 
+            if (string.IsNullOrEmpty(model.task_no))
+            {
+                result.errMsg = "task_no涓簄ull";
+                result.errCode = 1;
+                result.success = false;
+                return result;
+            }
+
+
             try
             {
                 var task = TaskHelper.GetTaskByWorkNo(model.task_no, "agv");
 
                 var wcsTask = TaskHelper.GetTaskByWorkNo(model.task_no, "wcs");
 
-                if (task != null)
+                var work = TaskHelper.GetWmsWork(model.task_no);
+
+                if (work==null)
                 {
-                    LogHelper.Info($"cancelTask1鍙栨秷agv浠诲姟{task.S_CODE}锛�, "鍙栨秷");
-                    if (task.S_B_STATE.Trim() == "鏈墽琛�)
-                    {
-                        //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
-                        TaskHelper.opMesTask(task, 3);
-                        TaskHelper.Fail(task);
-                        TaskProcess.CacheBitCancelUpdate(task);
-                        
-                        if (task.S_TYPE.Contains("鍏ュ簱") || task.S_TYPE.Contains("鍥炲簱"))
-                        {
-                            ContainerHelper.delCntr(task.S_CNTR_CODE);
-                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                    result.errCode = 1;
+                    result.errMsg = $"{model.task_no}浣滀笟涓嶅瓨鍦紝涓嶅厑璁稿彇娑�;
+                    result.success = false;
+                    return result;
+                }
 
-                        }
-                        result.errCode = 0;
-                        result.errMsg = "鍙栨秷鎴愬姛";
-                        result.success = true;
+                if (work.S_B_STATE == "绛夊緟")
+                {
+                    work.N_B_STATE = 7;
+                    work.S_B_STATE = "鍙栨秷";
+                    work.T_MODIFY = DateTime.Now;
+                    work.T_END_TIME = DateTime.Now;
+                    var db = new SqlHelper<object>().GetInstance();
+                    db.Updateable(work).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_MODIFY, it.T_END_TIME }).ExecuteCommand();
+                    LocationHelper.UnLockLoc(work.S_START_LOC);
+                    LocationHelper.UnLockLoc(work.S_END_LOC);
+                    if (!string.IsNullOrEmpty(work.CONNECTION))
+                    {
+                        LocationHelper.UnLockLoc(work.CONNECTION);
                     }
-                    else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触" && task.S_B_STATE.Trim() != "瀹屾垚")
-                    {
-                        var db = new SqlHelper<object>().GetInstance();
-                        var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First();
-
-
-                        if (qhflag != null)
-                        {
-                            LogHelper.Info($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷");
-                            result.errCode = 1;
-                            result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷";
-                            result.success = false;
-                            return result;
-                        }
-                        if (task.S_TYPE.Contains("鍏ュ簱") || task.S_TYPE.Contains("鍥炲簱"))
-                        {
-                            ContainerHelper.delCntr(task.S_CNTR_CODE);
-                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
-                            ContainerHelper.delCntrLoc(task.S_CNTR_CODE);
-                        }
-
-                        TaskHelper.opMesTask(task, 3);
-                        //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
-                        TaskHelper.Fail(task);
-
-                        NDCApi.CancelOrder(task.S_CODE.Trim());
-                        TaskProcess.CacheBitCancelUpdate(task);
-
                         result.errCode = 0;
-                        result.errMsg = "鍙栨秷鎴愬姛";
-                        result.success = true;
+                    result.errMsg = "鍙栨秷鎴愬姛";
+                    result.success = true;
+                    return result;
+                }
+
+
+                //浣滀笟娌℃湁鎺ラ┏浣嶏紝涓�浠诲姟鍙栨秷
+                if (string.IsNullOrEmpty(work.CONNECTION)) {
+                    if (task != null)
+                    {
+                        if (task.S_TYPE.Contains("鍑哄簱"))
+                        {
+                            
+                        }
+                        else {
+                            if (task.S_B_STATE.Trim() == "鏈墽琛�)
+                            {
+                                //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
+                                TaskHelper.opMesTask(task, 3);
+                                TaskHelper.Fail(task);
+                                TaskProcess.CacheBitCancelUpdate(task);
+
+                                ContainerHelper.delCntr(task.S_CNTR_CODE);
+                                ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                                
+                                result.errCode = 0;
+                                result.errMsg = "鍙栨秷鎴愬姛";
+                                result.success = true;
+                            }
+                            else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触" && task.S_B_STATE.Trim() != "瀹屾垚")
+                            {
+                                var db = new SqlHelper<object>().GetInstance();
+                                var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First();
+
+                                if (qhflag != null)
+                                {
+                                    LogHelper.Info($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷");
+                                    result.errCode = 1;
+                                    result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷";
+                                    result.success = false;
+                                    return result;
+                                }
+                                  ContainerHelper.delCntr(task.S_CNTR_CODE);
+                                  ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                                  ContainerHelper.delCntrLoc(task.S_CNTR_CODE);
+                                
+
+                                TaskHelper.opMesTask(task, 3);
+                                //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
+                                TaskHelper.Fail(task);
+
+                                NDCApi.CancelOrder(task.S_CODE.Trim());
+                                TaskProcess.CacheBitCancelUpdate(task);
+
+                                result.errCode = 0;
+                                result.errMsg = "鍙栨秷鎴愬姛";
+                                result.success = true;
+                            }
+                            else
+                            {
+                                result.errCode = 1;
+                                result.errMsg = "浠诲姟宸茬粡缁撴潫";
+                                result.success = false;
+                            }
+                        }
+                        LogHelper.Info($"cancelTask1鍙栨秷agv浠诲姟{task.S_CODE}锛�, "鍙栨秷");
                     }
                     else
                     {
                         result.errCode = 1;
-                        result.errMsg = "浠诲姟宸茬粡缁撴潫";
+                        result.errMsg = $"{model.task_no},Agv浠诲姟涓嶅瓨鍦�;
                         result.success = false;
                     }
-                }
-                else
+                }else
                 {
-                    result.errCode = 1;
-                    result.errMsg = $"{model.task_no}浠诲姟涓嶅瓨鍦�;
-                    result.success = false;
-                }
+                    //浜屾浠诲姟鍙栨秷
 
-                if (wcsTask != null)
-                {
-                    LogHelper.Info($"cancelTask1鍙栨秷Wcs浠诲姟{wcsTask.S_CODE}", "鍙栨秷");
-                    if (wcsTask.S_B_STATE.Trim() == "鏈墽琛�)
-                    {
-                        //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
-                        if (wcsTask.S_TYPE.Contains("鍏ュ簱") || wcsTask.S_TYPE.Contains("鍥炲簱"))
+                    
+                        if (wcsTask != null)
                         {
-                            ContainerHelper.delCntr(wcsTask.S_CNTR_CODE);
-                            ContainerHelper.delCntrItem(wcsTask.S_CNTR_CODE);
+                            LogHelper.Info($"cancelTask1鍙栨秷Wcs浠诲姟{wcsTask.S_CODE}", "鍙栨秷");
+                            if (wcsTask.S_B_STATE.Trim() == "鏈墽琛� && task.S_B_STATE.Trim() == "鏈墽琛�)
+                            {
+                                //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
+                                TaskHelper.Fail(wcsTask);
+                                TaskProcess.OperateStatus(wcsTask, 7);
+                                result.errCode = 0;
+                                result.errMsg = "鍙栨秷鎴愬姛";
+                                result.success = true;
+                                return result;
+                            }
+                            else
+                            {
+                                LogHelper.Info($"璇ヤ换鍔wcsTask.S_CODE}宸茬粡鎺ㄩ�", "鍙栨秷");
+                                result.errCode = 1;
+                                result.errMsg = "浠诲姟宸茬粡鎺ㄩ�锛屼笉鍏佽鍙栨秷";
+                                result.success = false;
+                                return result;
+                            }
                         }
-                        TaskHelper.Fail(wcsTask);
-                        TaskProcess.OperateStatus(wcsTask, 7);
-                        result.errCode = 0;
-                        result.errMsg = "鍙栨秷鎴愬姛";
-                        result.success = true;
-                        return result;
-                    }
-                    else 
-                    {
-                            LogHelper.Info($"璇ヤ换鍔wcsTask.S_CODE}宸茬粡鎺ㄩ�", "鍙栨秷");
+                    
+                   
+                        if (task.S_B_STATE.Trim() == "鏈墽琛�)
+                        {
+                            //鏈墽琛岀洿鎺ヤ慨鏀圭姸鎬佷负鍙栨秷
+                            TaskHelper.opMesTask(task, 3);
+                            TaskHelper.Fail(task);
+                            TaskProcess.CacheBitCancelUpdate(task);
+
+                            ContainerHelper.delCntr(task.S_CNTR_CODE);
+                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+
+                            result.errCode = 0;
+                            result.errMsg = "鍙栨秷鎴愬姛";
+                            result.success = true;
+                        }
+                        else if (task.S_B_STATE.Trim() != "鍙栨秷" && task.S_B_STATE.Trim() != "澶辫触" && task.S_B_STATE.Trim() != "瀹屾垚")
+                        {
+                            var db = new SqlHelper<object>().GetInstance();
+                            var qhflag = db.Queryable<WmsTaskAction>().Where(a => a.S_TASK_CODE == task.S_CODE && a.S_ACTION == "4").First();
+
+                            if (qhflag != null)
+                            {
+                                LogHelper.Info($"璇ヤ换鍔task.S_CODE}宸茬粡鍙栬揣瀹屾垚", "鍙栨秷");
+                                result.errCode = 1;
+                                result.errMsg = "浠诲姟宸茬粡鍙栬揣瀹屾垚锛屼笉鍏佽鍙栨秷";
+                                result.success = false;
+                                return result;
+                            }
+                            ContainerHelper.delCntr(task.S_CNTR_CODE);
+                            ContainerHelper.delCntrItem(task.S_CNTR_CODE);
+                            ContainerHelper.delCntrLoc(task.S_CNTR_CODE);
+
+
+                            TaskHelper.opMesTask(task, 3);
+                            //宸叉帹閫佷絾鏄病鏈夊畬鎴愭垨鑰呭彇娑堬紝閫氱煡hosttoagv
+                            TaskHelper.Fail(task);
+
+                            NDCApi.CancelOrder(task.S_CODE.Trim());
+                            TaskProcess.CacheBitCancelUpdate(task);
+
+                            result.errCode = 0;
+                            result.errMsg = "鍙栨秷鎴愬姛";
+                            result.success = true;
+                        }
+                        else
+                        {
                             result.errCode = 1;
-                            result.errMsg = "浠诲姟宸茬粡鎺ㄩ�锛屼笉鍏佽鍙栨秷";
+                            result.errMsg = "浠诲姟宸茬粡缁撴潫";
                             result.success = false;
-                            return result;
-                       
-                    }
+                        } 
                 }
             }
             catch (Exception ex)
@@ -1444,9 +1536,7 @@
 
 
 
-                  var   workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE);
-
-                  
+                     var workFlow = TaskHelper.selectWorkFlowByType(model.BUSI_TYPE);
 
 
                     if (workFlow == null)
@@ -1456,7 +1546,7 @@
                     }
                     else
                     {
-                        LogHelper.Info($"浣滀笟娴佺▼淇℃伅" + JsonConvert.SerializeObject(workFlow), "Mes浠诲姟涓嬪彂");
+                        LogHelper.Info($"鍑哄簱浣滀笟娴佺▼淇℃伅" + JsonConvert.SerializeObject(workFlow), "Mes浠诲姟涓嬪彂");
                     }
 
                     //鍑哄簱浠诲姟
@@ -1726,6 +1816,12 @@
                     throw new Exception("缂哄皯鍙傛暟task_no");
                 }
 
+                var work = TaskHelper.GetWmsWork(model.task_no);
+                if (work != null)
+                {
+                    throw new Exception($"浠诲姟{model.task_no}宸茬粡鍒涘缓浣滀笟锛岃鍕块噸澶嶇敵璇�);
+                }
+
 
                 //var wmsWork = TaskHelper.GetTaskByCntrCode(model.TOOLS_NO);
 
@@ -1772,7 +1868,10 @@
                     }
 
                     workFlow = TaskHelper.selectWorkFlowByEndArea(model.BUSI_TYPE, end.S_AREA_CODE);
-                    TOOLSTYPE = workFlow.TOOLSTYPE;
+                    if (workFlow != null)
+                    {
+                        TOOLSTYPE = workFlow.TOOLSTYPE;
+                    }
                 }
 
                 LogHelper.Info($"浣滀笟{model.task_no}锛屽伐瑁呯被鍨媨TOOLSTYPE}", "Mes浠诲姟涓嬪彂");
@@ -1843,112 +1942,112 @@
                     {
 
                         //姝e紡浠g爜锛岃皟鐢ㄦ帴鍙e鎵惧彲鐢ㄦ帴椹充綅
-                        //var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
-                        //var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList);
-                        //if (usableConnectionList != null && usableConnectionList.code == "0")
-                        //{
-                        //    var balanceConnectionList = LocationHelper.GetConnectionListByst(usableConnectionList.available);
-                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍙敤鎺ラ┏浣� + JsonConvert.SerializeObject(balanceConnectionList), "Mes浠诲姟涓嬪彂");
-
-                        //    if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2")
-                        //    {
-                        //        //婊℃墭鍏�-                        //        balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
-
-                        //        if (TOOLSTYPE == "25" || TOOLSTYPE == "35") {
-                        //            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
-                        //            balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO);
-                        //        }
-
-
-
-                        //    }
-                        //    else if (workFlow.FLOWCODE == "3")
-                        //    {
-                        //        //绌烘墭鍏ョ珛搴撳尯
-                        //        cntrCount = 0;
-                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
-                        //        balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
-                        //    }
-
-                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘缁堢偣鏁伴噺{balanceLocList.Count}", "Mes浠诲姟涓嬪彂");
-
-                        //    foreach (var item in balanceLocList)
-                        //    {
-                        //        if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM == 0)
-                        //        {
-                        //           // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂item淇℃伅" + JsonConvert.SerializeObject(item), "Mes浠诲姟涓嬪彂");
-                        //            foreach (var item1 in balanceConnectionList)
-                        //            {
-                        //                if (item1.CONNEC_ROADWAY == item.N_ROADWAY)
-                        //                {
-                        //                    connection = item1.S_CODE;
-                        //                    connectionArea = item1.S_AREA_Name;
-                        //                    end = item;
-                        //                    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂");
-                        //                    break;
-                        //                }
-                        //            }
-                        //            if (end!=null)
-                        //            {
-                        //                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂");
-                        //                break;
-                        //            }
-                        //        }
-                        //    }
-                        //    if (connection == "")
-                        //    {
-                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
-                        //        throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂娌℃壘鍒版帴椹充綅");
-                        //    }
-                        //}
-                        //else
-                        //{
-                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂");
-                        //    throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�);
-                        //}
-
-
-                        if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2" || workFlow.FLOWCODE == "5" || workFlow.FLOWCODE == "8" || workFlow.FLOWCODE == "11")
+                        var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
+                        var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList);
+                        if (usableConnectionList != null && usableConnectionList.code == "0")
                         {
-                            //婊℃墭鍏�+                            var balanceConnectionList = LocationHelper.GetConnectionListByst(usableConnectionList.available);
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍙敤鎺ラ┏浣� + JsonConvert.SerializeObject(balanceConnectionList), "Mes浠诲姟涓嬪彂");
 
-                            if (TOOLSTYPE == "25" || TOOLSTYPE == "35")
+                            if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2" || workFlow.FLOWCODE == "5" || workFlow.FLOWCODE == "8" || workFlow.FLOWCODE == "11")
                             {
-                                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
-                                end = LocationHelper.FindBalanceEndcolByLocListItem(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no, model.PROD_NO);
+                                //婊℃墭鍏�+                                if (TOOLSTYPE == "25" || TOOLSTYPE == "35")
+                                {
+                                    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
+                                    balanceLocList = LocationHelper.RoadWayBalance1ByItem(balanceLocList, model.PROD_NO);
+                                }
+                                else {
+                                    balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
+                                }
 
                             }
-                            else {
-                                end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
+                            else if (workFlow.FLOWCODE == "3" || workFlow.FLOWCODE == "10")
+                            {
+                                //绌烘墭鍏ョ珛搴撳尯
+                                cntrCount = 0;
+                                LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
+                                balanceLocList = LocationHelper.FindBalanceEndLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY);
                             }
 
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘缁堢偣鏁伴噺{balanceLocList.Count}", "Mes浠诲姟涓嬪彂");
+
+                            foreach (var item in balanceLocList)
+                            {
+                                if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM == 0)
+                                {
+                                    // LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂item淇℃伅" + JsonConvert.SerializeObject(item), "Mes浠诲姟涓嬪彂");
+                                    foreach (var item1 in balanceConnectionList)
+                                    {
+                                        if (item1.CONNEC_ROADWAY == item.N_ROADWAY)
+                                        {
+                                            connection = item1.S_CODE;
+                                            connectionArea = item1.S_AREA_Name;
+                                            end = item;
+                                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂");
+                                            break;
+                                        }
+                                    }
+                                    if (end != null)
+                                    {
+                                        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒扮粓鐐箋end.S_CODE}", "Mes浠诲姟涓嬪彂");
+                                        break;
+                                    }
+                                }
+                            }
+                            if (connection == "")
+                            {
+                                   LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐瑰贩閬撴垨鎺ラ┏浣嶄笉鍙敤", "Mes浠诲姟涓嬪彂");
+                                   throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�宸烽亾鎴栨帴椹充綅涓嶅彲鐢�);
+                            }
                         }
-                        else if (workFlow.FLOWCODE == "3" || workFlow.FLOWCODE == "10")
+                        else
                         {
-                            //绌烘墭鍏ョ珛搴撳尯
-                            cntrCount = 0;
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
-                            end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
-                        }
-
-                        if (end == null)
-                        {
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐瑰贩閬撴垨鎺ラ┏浣嶄笉鍙敤", "Mes浠诲姟涓嬪彂");
-                            throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�宸烽亾鎴栨帴椹充綅涓嶅彲鐢�);
-                        }
-
-                        var jb = LocationHelper.GetConnectionByEnd(workFlow.CONNECTION, end.N_ROADWAY);
-
-                        if (jb==null)
-                        {
-                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
-                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅");
+                            LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�, "Mes浠诲姟涓嬪彂");
+                            throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶆帴鍙eけ璐�);
                         }
 
 
-                        connection = jb.S_CODE;
-                        connectionArea = jb.S_AREA_Name;
+                        //if (workFlow.FLOWCODE == "1" || workFlow.FLOWCODE == "2" || workFlow.FLOWCODE == "5" || workFlow.FLOWCODE == "8" || workFlow.FLOWCODE == "11")
+                        //{
+                        //    //婊℃墭鍏�+
+                        //    if (TOOLSTYPE == "25" || TOOLSTYPE == "35")
+                        //    {
+                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟宸ヨ鏄簩鍚堜竴搴�闇�鐗╂枡鍧囪 ", "Mes浠诲姟涓嬪彂");
+                        //        end = LocationHelper.FindBalanceEndcolByLocListItem(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no, model.PROD_NO);
+
+                        //    }
+                        //    else {
+                        //        end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
+                        //    }
+
+                        //}
+                        //else if (workFlow.FLOWCODE == "3" || workFlow.FLOWCODE == "10")
+                        //{
+                        //    //绌烘墭鍏ョ珛搴撳尯
+                        //    cntrCount = 0;
+                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟,瀵绘壘绔嬪簱鍖虹┖璐т綅", "Mes浠诲姟涓嬪彂");
+                        //    end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ENDAREA, workFlow.ROADWAY, workFlow.CONNECTION, model.task_no);
+                        //}
+
+                        //if (end == null)
+                        //{
+                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟{model.task_no}涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐瑰贩閬撴垨鎺ラ┏浣嶄笉鍙敤", "Mes浠诲姟涓嬪彂");
+                        //    throw new Exception($"{model.task_no}涓嬪彂澶辫触缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�宸烽亾鎴栨帴椹充綅涓嶅彲鐢�);
+                        //}
+
+                        //var jb = LocationHelper.GetConnectionByEnd(workFlow.CONNECTION, end.N_ROADWAY);
+
+                        //if (jb==null)
+                        //{
+                        //    LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅", "Mes浠诲姟涓嬪彂");
+                        //    throw new Exception($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂搴撳尯{workFlow.CONNECTION}锛屽贩閬搟end.N_ROADWAY},娌℃壘鍒版帴椹充綅");
+                        //}
+
+
+                        //connection = jb.S_CODE;
+                        //connectionArea = jb.S_AREA_Name;
 
 
                     }
@@ -2141,6 +2240,8 @@
                     }
 
 
+                    //LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟寮�", "Mes浠诲姟涓嬪彂");
+
                     var unlimitedLocation = TaskHelper.GetMesKtLoc();
 
                     //鏍囪缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟
@@ -2156,17 +2257,20 @@
                         }
                     }
 
+                    //LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟endLocFlag淇℃伅{endLocFlag}", "Mes浠诲姟涓嬪彂");
                     if (endLocFlag)
                     {
                         var endTask = TaskHelper.GetTaskByEndLoc(model.Location_To);
+
+                        //LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟endTask淇℃伅"+JsonConvert.SerializeObject(endTask), "Mes浠诲姟涓嬪彂");
                         if (endTask != null)
                         {
                             LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}", "Mes浠诲姟涓嬪彂");
                             throw new Exception($"缁堢偣:{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}");
                         }
                     }
-                   
 
+                   // LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟鍒ゆ柇缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟瀹屾垚", "Mes浠诲姟涓嬪彂");
 
                     //鏌ユ壘璧风偣
                     List<Location> strrtList;
@@ -2181,9 +2285,10 @@
                     else
                     {
                         strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA);
+
                     }
 
-
+                    //LogHelper.Info($"CSendTask鍑哄簱浠诲姟鑾峰彇璧风偣璐т綅闆嗗悎瀹屾垚", "Mes浠诲姟涓嬪彂");
 
                     if (workFlow.FLOWCODE == "9" || workFlow.FLOWCODE == "4" || workFlow.FLOWCODE == "6")
                     {
@@ -2195,6 +2300,8 @@
                         else
                         {
                             //鏍规嵁鍒跺搧缂栧彿瀵绘壘绔嬪簱鍖哄搴旂墿鏂欐墭鐩�+
+                            LogHelper.Info($"CSendTask鍑哄簱浠诲姟鏍规嵁鍒跺搧缂栧彿瀵绘壘绔嬪簱鍖哄搴旂墿鏂欐墭鐩�, "Mes浠诲姟涓嬪彂");
                             start = LocationHelper.FindStartcolByLoclistAndItem(strrtList, model.PROD_NO, workFlow.STARTAREA, workFlow.ROADWAY,workFlow.CONNECTION);
                             if (start == null)
                             {

--
Gitblit v1.9.1