From 802fc04c2d744d08c3e577dd4d91d60a3071e3d7 Mon Sep 17 00:00:00 2001
From: user <user@DESKTOP-SM1UI64>
Date: 星期二, 15 七月 2025 23:08:35 +0800
Subject: [PATCH] 111

---
 HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs |   67 ++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 27 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
index 76b0b40..db1ab3f 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
@@ -107,7 +107,7 @@
         }
 
         /// <summary>
-        /// 鐡跺澂缈绘枟鏈洪潪鎬ヤ骇婊℃鍖鸿ˉ婊℃墭
+        /// 鐡跺澂缈绘枟鏈洪潪鍗充骇婊℃鍖鸿ˉ婊℃墭
         /// </summary>
         internal static void PPFDFullIn()
         {
@@ -132,7 +132,7 @@
                             {
                                 string cntrCode = getCntrCode(db,location);
                                 //鍒涘缓浣滀笟
-                                WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ婊℃", cntrCode, "鐡跺澂");
+                                WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炲嵆浜цˉ婊℃", cntrCode, "鐡跺澂");
                             }
                         }
                     }
@@ -206,7 +206,7 @@
                                 {
                                     string cntrCode = getCntrCode(db, location);
                                     //鍒涘缓浣滀笟
-                                    WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炴�浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊");
+                                    WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炲嵆浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊");
                                 }
                             }
                             if (itemCount.Count == 2)
@@ -252,7 +252,7 @@
                                         {
                                             string cntrCode = getCntrCode(db, location);
                                             //鍒涘缓浣滀笟
-                                            WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炴�浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊");
+                                            WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炲嵆浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊");
                                         }
                                     }
                                 }
@@ -263,7 +263,7 @@
                                     {
                                         string cntrCode = getCntrCode(db, location);
                                         //鍒涘缓浣滀笟
-                                        WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炴�浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊");
+                                        WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡剁洊闈炲嵆浜цˉ婊℃澶у寘瑁�, cntrCode, "鐡剁洊");
                                     }
                                 }
                             }
@@ -293,36 +293,49 @@
                 var LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM > 0).ToList();
                 if(LocList.Count <= 1)
                 {
-                    var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炴�浜цˉ绌烘" && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷").First();
+                    LogHelper.Info($"鐡跺澂闈炲嵆浜цˉ绌烘 {JsonConvert.SerializeObject(LocList)}");
+                    var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炲嵆浜цˉ绌烘" && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷").First();
                     if(taskInfo == null)
                     {
-                        //闇�浠庡簱鍖鸿ˉ鍏呯┖鎵�-                        Location location = TaskProcess.FJCKTLoc();
-                        var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).OrderBy(a => a.N_ROW).First();
-                        if (location != null && locInfo != null)
+                        var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "鐡跺澂闈炲嵆浜цˉ绌烘" && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First();
+                        if(wmsTask == null)
                         {
-                            string cntrCode = getCntrCode(db, location);
-                            //鍒涘缓浣滀笟
-                            WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ绌烘", cntrCode, "鐡跺澂");
+                            //闇�浠庡簱鍖鸿ˉ鍏呯┖鎵�+                            Location location = TaskProcess.FJCKTLoc();
+                            var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM < a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).OrderBy(a => a.N_ROW).First();
+                            if (location != null && locInfo != null)
+                            {
+                                string cntrCode = getCntrCode(db, location);
+                                //鍒涘缓浣滀笟
+                                WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炲嵆浜цˉ绌烘", cntrCode, "鐡跺澂");
+                            }
                         }
                     }
                 }
+
                 LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY).ToList();
                 if (LocList.Count > 2)
                 {
-                    var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炴�浜х┖妗嗗叆搴� && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷" && a.S_B_STATE != "鍗歌揣瀹屾垚" && a.S_B_STATE != "寮�鍗歌揣" && a.S_B_STATE != "鍙栬揣瀹屾垚").First();
+                    //鍒ゆ柇浠诲姟鏄惁瀛樺湪
+                    LogHelper.Info($"鐡跺澂闈炲嵆浜х┖鎵樺叆搴�{JsonConvert.SerializeObject(LocList)}");
+                    var taskInfo = db.Queryable<WCSTask>().Where(a => a.S_TYPE == "鐡跺澂闈炲嵆浜х┖妗嗗叆搴� && a.S_B_STATE != "瀹屾垚" && a.S_B_STATE != "鍙栨秷" && a.S_B_STATE != "鍗歌揣瀹屾垚" && a.S_B_STATE != "寮�鍗歌揣" && a.S_B_STATE != "鍙栬揣瀹屾垚").First();
                     if(taskInfo == null)
                     {
-                        //闇�灏嗙┖鎵樿浆杩愬埌搴撳尯
-                        foreach (var a in LocList)
+                        //鍒ゆ柇浣滀笟鏄惁瀛樺湪
+                        var wmsTask = db.Queryable<WMSTask>().Where(a => a.S_OP_DEF_NAME == "鐡跺澂闈炲嵆浜х┖妗嗗叆搴� && (a.N_B_STATE == 0 || a.N_B_STATE == 1)).First();
+                        if(wmsTask == null)
                         {
-                            if (a.S_LOCK_STATE == "鏃�)
+                            //闇�灏嗙┖鎵樿浆杩愬埌搴撳尯
+                            foreach (var a in LocList)
                             {
-                                //鐢熸垚浠诲姟
-                                string cntrCode = getCntrCode(db, a);
-                                //鍒涘缓浣滀笟
-                                WMSHelper.CreateOpTask(a.S_CODE, "", "鍏ュ簱", "鐡跺澂闈炴�浜х┖妗嗗叆搴�, cntrCode, "鐡跺澂");
-                                break;
+                                if (a.S_LOCK_STATE == "鏃�)
+                                {
+                                    //鐢熸垚浠诲姟
+                                    string cntrCode = getCntrCode(db, a);
+                                    //鍒涘缓浣滀笟
+                                    WMSHelper.CreateOpTask(a.S_CODE, "", "鍏ュ簱", "鐡跺澂闈炲嵆浜х┖妗嗗叆搴�, cntrCode, "鐡跺澂");
+                                    break;
+                                }
                             }
                         }
                     }
@@ -345,7 +358,7 @@
             //            {
             //                string cntrCode = getCntrCode(db, location);
             //                //鍒涘缓浣滀笟
-            //                WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ绌烘", cntrCode, "鐡跺澂");
+            //                WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炲嵆浜цˉ绌烘", cntrCode, "鐡跺澂");
             //            }
             //        }
             //    }
@@ -376,7 +389,7 @@
                         {
                             //鍒涘缓浣滀笟
                             string cntrCode = getCntrCode(db, startLoca);
-                            WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo.S_CODE, "鍑哄簱", "鐡跺澂鎬ヤ骇琛ユ弧妗�, cntrCode, "");
+                            WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo.S_CODE, "鍑哄簱", "鐡跺澂鍗充骇琛ユ弧妗�, cntrCode, "");
                         }
                     }
                 }
@@ -393,7 +406,7 @@
                         {
                             //鍒涘缓浣滀笟
                             string cntrCode = getCntrCode(db, startLoca);
-                            WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo[0].S_CODE, "鍑哄簱", "鐡跺澂鎬ヤ骇琛ョ┖妗�, cntrCode, "");
+                            WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo[0].S_CODE, "鍑哄簱", "鐡跺澂鍗充骇琛ョ┖妗�, cntrCode, "");
                         }
                     }
                 }
@@ -433,7 +446,7 @@
                             {
                                 var rowInfo = db.Queryable<RowLock>().Where(a => a.S_AREA_CODE == endloc.S_AREA_CODE && a.S_ROW == endloc.S_ROW).First();
                                 LogHelper.Info($"鐡剁洊灏忓寘瑁呯洊杞繍锛氭煡璇㈤攣淇℃伅锛岃揣浣嶉攣锛歿endloc.S_LOCK_STATE},鎺掗攣锛歿JsonConvert.SerializeObject(rowInfo)}");
-                                if(rowInfo!=null && rowInfo.S_LOCK_STATE == "鏃� && endloc.S_LOCK_STATE == "鏃�)
+                                if(rowInfo != null && rowInfo.S_LOCK_STATE == "鏃� && endloc.S_LOCK_STATE == "鏃�)
                                 {
                                     endLoca = endloc;
                                     break;
@@ -455,7 +468,7 @@
                         if (startLoca != null)
                         {
                             string cntrCode = getCntrCode(db, startLoca);
-                            WMSHelper.CreateOpTask(startLoca.S_CODE, endLoca.S_CODE, "鍑哄簱", "鐡剁洊闈炴�浜цˉ婊℃灏忓寘瑁�, cntrCode, "");
+                            WMSHelper.CreateOpTask(startLoca.S_CODE, endLoca.S_CODE, "鍑哄簱", "鐡剁洊闈炲嵆浜цˉ婊℃灏忓寘瑁�, cntrCode, "");
                         }
                     }
                 }

--
Gitblit v1.9.1