From 5b6a0b390fc0ca7a5519ad6fb9a27bbca80e3cad Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期四, 29 五月 2025 17:29:28 +0800
Subject: [PATCH] 空托修改

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

diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index c847b92..e00b8f6 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -59,7 +59,7 @@
             else
             {
                 Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}");
-                LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
+                LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}");
                 LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList());
             }
 
@@ -227,28 +227,32 @@
 
                         //鏌ユ壘缁欏畾缁堢偣
                         var end = LocationHelper.GetLoc(kt.Location_To);
-                        //LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "鏀归亾瀹夊叏浜や簰");
-                        //if (end == null || end.S_LOCK_STATE != "鏃�)
-                        //{
-                        //    LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣澶辫触锛岀粓鐐�{kt.Location_To},娌℃壘鍒版垨鏈夐攣", "鏀归亾瀹夊叏浜や簰");
-                        //}
-                        TaskHelper.Fail(wcsTask);
-                        TaskProcess.OperateStatus(wcsTask, 7);
-                        LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1);
-                        db.BeginTran();
-                        //鏀逛竴娈典换鍔$粓鐐�-                        task.S_END_LOC = end.S_CODE;
-                        task.S_END_AREA = end.S_AREA_CODE;
-                        db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC,it.S_END_AREA}).ExecuteCommand();
-                        kt.Status = "Y";
-                        db.Updateable(kt).UpdateColumns(it => new { it.Status }).ExecuteCommand();
-                        db.CommitTran();
-                        var site = LocationHelper.GetAgvSiteZc(end.S_CODE);
-                        LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�锛�涓�", "鏀归亾瀹夊叏浜や簰");
-                        NDCApi.ChangeOrderParam(task.S_CODE, 2, site);
-                        NDCApi.ChangeOrderParam(task.S_CODE, 6, "1");
-                        NDCApi.ChangeOrderParam(task.S_CODE, 4, "0");
-                        return;
+                        if (end.S_LOCK_STATE=="鏃� && end.N_CURRENT_NUM==0)
+                        {
+                            //LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "鏀归亾瀹夊叏浜や簰");
+                            //if (end == null || end.S_LOCK_STATE != "鏃�)
+                            //{
+                            //    LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鏀归亾缁堢偣澶辫触锛岀粓鐐�{kt.Location_To},娌℃壘鍒版垨鏈夐攣", "鏀归亾瀹夊叏浜や簰");
+                            //}
+                            TaskHelper.Fail(wcsTask);
+                            TaskProcess.OperateStatus(wcsTask, 7);
+                            LocationHelper.LockLoc(end.S_CODE, "鍏ュ簱閿�, 1);
+                            db.BeginTran();
+                            //鏀逛竴娈典换鍔$粓鐐�+                            task.S_END_LOC = end.S_CODE;
+                            task.S_END_AREA = end.S_AREA_CODE;
+                            db.Updateable(task).UpdateColumns(it => new { it.S_END_LOC, it.S_END_AREA }).ExecuteCommand();
+                            kt.Status = "Y";
+                            db.Updateable(kt).UpdateColumns(it => new { it.Status }).ExecuteCommand();
+                            db.CommitTran();
+                            var site = LocationHelper.GetAgvSiteZc(end.S_CODE);
+                            LogHelper.Info($"浠诲姟{task.S_CODE}鏀归亾鎴愬姛锛屾敼鍙傛暟2涓簕site},鍙傛暟6涓�锛�涓�", "鏀归亾瀹夊叏浜や簰");
+                            NDCApi.ChangeOrderParam(task.S_CODE, 2, site);
+                            NDCApi.ChangeOrderParam(task.S_CODE, 6, "1");
+                            NDCApi.ChangeOrderParam(task.S_CODE, 4, "0");
+                            return;
+                        }
+                       
                     }
                 }
 
@@ -297,9 +301,9 @@
                             {
 
                                 flag = false;
-                                LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鎺ラ┏浣峽con.S_CODE}鍙敤锛屼笉闇�鏀归亾锛岀洿鎺ヤ慨鏀瑰弬鏁�涓�锛�涓�", "鏀归亾瀹夊叏浜や簰");
+                                LogHelper.Info($"褰撳墠浠诲姟{task.S_CODE}鎺ラ┏浣峽con.S_CODE}鍙敤锛屼笉闇�鏀归亾锛岀洿鎺ヤ慨鏀瑰弬鏁�涓�锛�涓�024", "鏀归亾瀹夊叏浜や簰");
                                 NDCApi.ChangeOrderParam(task.S_CODE, 6, "1");
-                                NDCApi.ChangeOrderParam(task.S_CODE, 4, "0");
+                                NDCApi.ChangeOrderParam(task.S_CODE, 4, "1024");
                                 break;
                             }
                         }
@@ -446,7 +450,25 @@
                 ndcParme.Add(new param() { name = "From", value = start.ToString() });
                 ndcParme.Add(new param() { name = "To", value = end.ToString() });
                 ndcParme.Add(new param() { name = "FUNC", value = "0" });
-                ndcParme.Add(new param() { name = "DATA", value = "0" });
+
+
+                var work = TaskHelper.GetWmsWork(mst.S_OP_CODE);
+                if (work==null)
+                {
+                    LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屾病鎵惧埌浣滀笟:{mst.S_OP_CODE}", "NDC");
+                }
+
+                if (string.IsNullOrEmpty(work.CONNECTION))
+                {
+                    ndcParme.Add(new param() { name = "DATA", value = "0" });
+                }
+                else {
+                    ndcParme.Add(new param() { name = "DATA", value = "768" });
+                }
+              
+
+
+
                 ndcParme.Add(new param() { name = "Ctype", value = "0" });
 
 
@@ -1094,7 +1116,7 @@
                     result.success = false;
                     return result;
                 }
-                var endTask = TaskHelper.GetTaskByStartLoc(zd);
+                var endTask = TaskHelper.GetTaskByEndLoc(zd);
                 if (endTask != null)
                 {
                     result.errMsg = "缁堢偣鏈夋墽琛屼腑浠诲姟";
@@ -1261,9 +1283,6 @@
                         throw new Exception($"鎵樼洏{model.TOOLS_NO}宸茬粡鍒涘缓浣滀笟锛岃鍕块噸澶嶇敵璇�);
                     }
                 }
-
-
-              
 
 
                 //鎵樼洏鏄庣粏鏁伴噺
@@ -1581,11 +1600,38 @@
                     LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end), "Mes浠诲姟涓嬪彂");
 
 
-                    if (end == null || end.S_LOCK_STATE != "鏃�)
+                    if (end == null)
                     {
-                        LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To},娌℃壘鍒版垨鏈夐攣", "Mes浠诲姟涓嬪彂");
-                        throw new Exception($"缁堢偣:{model.Location_To},娌℃壘鍒版垨鏈夐攣");
+                        LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To},娌℃壘鍒�, "Mes浠诲姟涓嬪彂");
+                        throw new Exception($"缁堢偣:{model.Location_To},娌℃壘鍒�);
                     }
+
+
+                    var unlimitedLocation = TaskHelper.GetMesKtLoc();
+
+                    //鏍囪缁堢偣璐т綅鏄惁鍙互鏃犻檺鍒朵笅浠诲姟
+                    var endLocFlag = true;
+
+                    foreach (var item in unlimitedLocation)
+                    {
+                        //鍑哄簱缁堢偣璐т綅鍦ㄩ厤缃噷 鍙互鏃犻檺鍒朵笅浠诲姟
+                        if (item.Loc.Contains(model.Location_To))
+                        {
+                            endLocFlag = false;
+                            break;
+                        }
+                    }
+
+                    if (endLocFlag)
+                    {
+                        var endTask = TaskHelper.GetTaskByEndLoc(model.Location_To);
+                        if (endTask != null)
+                        {
+                            LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岀粓鐐�{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}", "Mes浠诲姟涓嬪彂");
+                            throw new Exception($"缁堢偣:{model.Location_To}鏈変换鍔℃墽琛屼腑锛屼换鍔″彿:{endTask.S_CODE}");
+                        }
+                    }
+                   
 
 
                     //鏌ユ壘璧风偣
@@ -1634,36 +1680,36 @@
                     }
                     else if (workFlow.FLOWCODE == "7") {
                         //瀵绘壘绔嬪簱鍖虹┖鎵�-                        start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA);
-                        if (start == null)
-                        {
-                            strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA);
-                            var itemFlag = LocationHelper.FindStartcolByLoclistAndcntrFlag(strrtList, workFlow.STARTAREA);
-                            LogHelper.Info($"ZCSendTask绌烘墭鍑哄簱浠诲姟娌℃壘鍒拌捣鐐癸紝鏍¢獙鏄惁鏈夊簱瀛樹絾鏄澶囨姤璀itemFlag}", "Mes浠诲姟涓嬪彂");
+                        //start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA);
+                        //if (start == null)
+                        //{
+                        //    strrtList = LocationHelper.GetAllLocList2(workFlow.STARTAREA);
+                        //    var itemFlag = LocationHelper.FindStartcolByLoclistAndcntrFlag(strrtList, workFlow.STARTAREA);
+                        //    LogHelper.Info($"ZCSendTask绌烘墭鍑哄簱浠诲姟娌℃壘鍒拌捣鐐癸紝鏍¢獙鏄惁鏈夊簱瀛樹絾鏄澶囨姤璀itemFlag}", "Mes浠诲姟涓嬪彂");
 
-                            if (itemFlag)
+                        //    if (itemFlag)
+                        //    {
+                        //        result.errMsg = "绌烘墭鍑哄簱浣滀笟鏈夊簱瀛樹絾璁惧鎶ヨ";
+                        //        result.errCode = 2001;
+                        //        result.success = true;
+                        //        return result;
+                        //    }
+                        //}
+
+                        //绌烘墭鍑哄厛缂撳瓨鍒扮┖鎵樿〃
+
+                        //鍏堟煡璇㈡湁娌℃湁鍚岀粓鐐圭紦瀛樼殑璁板綍
+
+                        if (endLocFlag) {
+                            var ktTask = TaskHelper.GetMesKtTask(end.S_CODE);
+                            if (ktTask != null)
                             {
-                                result.errMsg = "绌烘墭鍑哄簱浣滀笟鏈夊簱瀛樹絾璁惧鎶ヨ";
-                                result.errCode = 2001;
-                                result.success = true;
-                                return result;
+                                LogHelper.Info($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�缁堢偣{end.S_CODE}宸叉湁缂撳瓨", "Mes浠诲姟涓嬪彂");
+                                throw new Exception($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�缁堢偣{end.S_CODE}宸叉湁缂撳瓨");
                             }
                         }
-                    }
 
-
-                    LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂");
-
-                    if (workFlow.FLOWCODE == "7" && start == null)
-                    {
-                        //绌烘墭鍑烘病鎵惧埌璧风偣锛屽厛缂撳瓨鍒扮┖鎵樿〃
-
-                        //鍏堟煡璇㈡湁娌℃湁鍚岀粓鐐规湭缂撳瓨鐨勮褰�-
-                        var ktTask = TaskHelper.GetMesKtTask(end.S_CODE);
-                        if (ktTask != null) {
-                            throw new Exception($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�缁堢偣{end.S_CODE}宸叉湁缂撳瓨");
-                        }
+                      
 
                         MesKtTask req = new MesKtTask()
                         {
@@ -1672,7 +1718,8 @@
                             Priority = model.Priority,
                             CreateDate = DateTime.Now,
                             BUSI_TYPE = model.BUSI_TYPE,
-                            TOOLS_TPYE = model.TOOLS_TPYE,
+                            TOOLS_TPYE = TOOLSTYPE,
+                            task_no=model.task_no,
                             Status = "N"
                         };
 
@@ -1682,6 +1729,10 @@
                             result.errMsg = "绌烘墭鍑哄簱缂撳瓨鎴愬姛";
                             result.errCode = 0;
                             result.success = true;
+                            mesRes.errCode = result.errCode;
+                            mesRes.errMsg = result.errMsg;
+                            //淇濆瓨mes璁板綍
+                            CreatMesRes(mesRes);
                             return result;
                         }
                         else
@@ -1689,17 +1740,17 @@
                             LogHelper.Info($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�, "Mes浠诲姟涓嬪彂");
                             throw new Exception($"ZCSendTask绌烘墭鍑虹紦瀛樺け璐�);
                         }
-                        
-                     
-
                     }
-                    else {
+
+
+                        LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂璧风偣淇℃伅" + JsonConvert.SerializeObject(start), "Mes浠诲姟涓嬪彂");
+
                         if (start == null)
                         {
                             LogHelper.Info($"ZCSendTask鍑哄簱浠诲姟涓嬪彂澶辫触锛岃捣鐐瑰簱鍖簕workFlow.STARTAREA},娌℃壘鍒拌捣鐐�, "Mes浠诲姟涓嬪彂");
                             throw new Exception($"璧风偣搴撳尯{workFlow.STARTAREA},娌℃壘鍒拌捣鐐�);
                         }
-                    }
+                    
 
                     
 

--
Gitblit v1.9.1