From 2efbd25f2160cb68cf2464f370aca3d1ea21f86f Mon Sep 17 00:00:00 2001
From: 海波 张 <2956280567@qq.com>
Date: 星期三, 04 六月 2025 17:28:24 +0800
Subject: [PATCH] 入库优先级配置

---
 process/TaskProcess.cs |  105 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 68 insertions(+), 37 deletions(-)

diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index e00b8f6..85f22b8 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -441,6 +441,23 @@
 
                 LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}", "NDC");
 
+
+                if (mst.S_TYPE.Contains("鍑哄簱"))
+                {
+                    var wcsTask = TaskHelper.GetTaskByWork("wcs", mst.S_OP_CODE);
+                    if (wcsTask == null) {
+                        LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屾病鎵惧埌浣滀笟:{mst.S_OP_CODE}瀵瑰簲鐨勫嚭搴撲换鍔�, "NDC");
+                        return false;
+                    }
+
+                    if (wcsTask.S_B_STATE=="鏈墽琛�)
+                    {
+                        LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屽搴旂殑Wcs鍑哄簱浠诲姟鏈墽琛岋紝鏆備笉鎺ㄩ�", "NDC");
+                        return false;
+                    }
+                }
+
+
                 start = LocationHelper.GetAgvSiteZc(mst.S_START_LOC);
                 end = LocationHelper.GetAgvSiteZc(mst.S_END_LOC);
 
@@ -456,6 +473,7 @@
                 if (work==null)
                 {
                     LogHelper.Info($"鎺ㄩ�浠诲姟{mst.S_CODE}锛屾病鎵惧埌浣滀笟:{mst.S_OP_CODE}", "NDC");
+                    return false;
                 }
 
                 if (string.IsNullOrEmpty(work.CONNECTION))
@@ -1346,23 +1364,6 @@
                     //濡傛灉闇�涓嬪彂wcs绔嬪簱锛屽垯闇�瀵绘壘鍙敤鎺ラ┏浣�                     if (workFlow.SENDWCS == "Y") {
 
-                        //娴嬭瘯榛樿鍙栦竴涓帴椹充綅
-                        //var connectionList = LocationHelper.GetAllLocList1(workFlow.CONNECTION);
-                        //foreach (var item in connectionList)
-                        //{
-                        //    if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM < 2)
-                        //    {
-                        //        connection = item.S_CODE;
-                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂");
-                        //    }
-                        //}
-
-                        //if (connection=="")
-                        //{
-                        //    LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂");
-                        //    throw new Exception($"ZCSendTask浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�);
-                        //}
-
                         //姝e紡浠g爜锛岃皟鐢ㄦ帴鍙e鎵惧彲鐢ㄦ帴椹充綅
                         var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
                         var usableConnectionList = WcsTask.WcsPositionAvailable(model.task_no, connectionList);
@@ -1671,6 +1672,10 @@
                                     result.errMsg = "婊℃墭鍑哄簱浣滀笟鏈夊簱瀛樹絾璁惧鎶ヨ";
                                     result.errCode = 2001;
                                     result.success = true;
+                                    mesRes.errCode = result.errCode;
+                                    mesRes.errMsg = result.errMsg;
+                                    //淇濆瓨mes璁板綍
+                                    CreatMesRes(mesRes);
                                     return result;
                                 }
                             }
@@ -1759,23 +1764,6 @@
 
                     if (workFlow.SENDWCS == "Y")
                     {
-                        //娴嬭瘯榛樿鍙栦竴涓帴椹充綅
-                        //var connectionList = LocationHelper.GetAllLocList1(workFlow.CONNECTION);
-                        //foreach (var item in connectionList)
-                        //{
-                        //    if (item.S_LOCK_STATE == "鏃� && item.N_CURRENT_NUM < 2)
-                        //    {
-                        //        connection = item.S_CODE;
-                        //        LogHelper.Info($"ZCSendTask鍏ュ簱浠诲姟涓嬪彂瀵绘壘鍒板彲鐢ㄦ帴椹充綅{connection}", "Mes浠诲姟涓嬪彂");
-                        //    }
-                        //}
-
-                        //if (connection == "")
-                        //{
-                        //    LogHelper.Info($"ZCSendTask浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�, "Mes浠诲姟涓嬪彂");
-                        //    throw new Exception($"ZCSendTask浠诲姟涓嬪彂瀵绘壘鎺ラ┏浣嶅け璐�);
-                        //}
-
 
                         //姝e紡浠g爜锛岃皟鐢ㄦ帴鍙e鎵惧彲鐢ㄦ帴椹充綅
                         var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
@@ -2173,13 +2161,56 @@
         }
 
 
-      
 
-      
+
+        internal static void inPri(WMSTask mst)
+        {
+            LogHelper.Info($"浠诲姟{mst.S_CODE}杩涘叆inpri", "鍏ュ簱浼樺厛绾�);
+            var inprilist = TaskHelper.GetInPri();
+            var db = new SqlHelper<object>().GetInstance();
+          
+            foreach (var item in inprilist)
+            {
+                
+                LogHelper.Info("鍏ュ簱浼樺厛绾ц褰曚俊鎭�+JsonConvert.SerializeObject(item), "鍏ュ簱浼樺厛绾�);
+
+                if (item.Type=="0" && mst.S_TYPE.Contains("绌烘墭鍑�))
+                {
+                    if (mst.S_END_LOC.Contains(item.OutEndLoc))
+                    {
+                        
+                        var task = db.Queryable<WMSTask>().Where(a => a.S_B_STATE.Trim() == "宸叉帹閫� && a.S_SCHEDULE_TYPE.Contains("agv") && !a.S_TYPE.Contains("绌烘墭") && (a.S_TYPE.Contains("鍏ュ簱")|| a.S_TYPE.Contains("鍥炲簱")) && a.S_START_LOC.Contains(item.InStartLoc)).First();
+
+                        LogHelper.Info($"鏌ユ壘璧风偣{item.InStartLoc}婊℃墭鍏ュ簱浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task), "鍏ュ簱浼樺厛绾�);
+                        if (task != null)
+                        {
+                            NDCApi.ChangeOrderPri(task.S_CODE, item.Pri);
+                        }
+                       
+                    }
+                }
+
+
+                if (item.Type == "1"  && !mst.S_TYPE.Contains("绌烘墭") && mst.S_TYPE.Contains("鍑哄簱"))
+                {
+                    if (mst.S_END_LOC.Contains(item.OutEndLoc))
+                    {
+                        var task = db.Queryable<WMSTask>().Where(a => a.S_B_STATE.Trim() == "宸叉帹閫� && a.S_SCHEDULE_TYPE.Contains("agv") && a.S_TYPE.Contains("绌烘墭鍏ュ簱") && a.S_START_LOC.Contains(item.InStartLoc)).First();
+                        LogHelper.Info($"鏌ユ壘璧风偣{item.InStartLoc}绌烘墭鍏ュ簱浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task), "鍏ュ簱浼樺厛绾�);
+                        if (task != null)
+                        {
+                            NDCApi.ChangeOrderPri(task.S_CODE, item.Pri);
+                        }
+                    }
+                }
+
+            }
+            LogHelper.Info($"浠诲姟{mst.S_CODE}锛岀粨鏉焛npri", "鍏ュ簱浼樺厛绾�);
+        }
 
 
 
-        
+           
 
 
         public class signalInfo

--
Gitblit v1.9.1