From 1b4deb836c68efb689e13d3512888ae04fc99f09 Mon Sep 17 00:00:00 2001
From: cjs <2216046164@qq.com>
Date: 星期五, 11 七月 2025 17:26:12 +0800
Subject: [PATCH] 11

---
 HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs |  103 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 98 insertions(+), 5 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
index 89efb2a..45008d6 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
@@ -307,18 +307,111 @@
         /// </summary>
         internal static void PPFDFullInEmpty()
         {
+            //鐡跺澂闈炲嵆浜х┖妗嗗尯鍫嗗彔搴撳尯涓�叡鍥涗釜璐т綅锛屽鏋滄湁涓変釜璐т綅鏄弧鐨勶紝灏卞紑濮嬭浆杩愬埌鐡跺澂搴撳尯
+            //濡傛灉婊¤揣浣嶅皬浜庣瓑浜庝竴灏卞紑濮嬩粠婊℃缂撳瓨鍖虹┖妗嗗尯鍩熻浆杩愶紝濡傛灉婊℃缂撳瓨鍖虹┖妗嗗尯鍩熸棤绌烘墭锛屽垯浠庣摱鍧簱杞繍
+
             var db = new SqlHelper<object>().GetInstance();
-            var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "鍐滃か鏋楄姖-鐡跺澂鏈� && a.S_UsingNow == "N" && a.S_WorkState == "鎵ц涓�).First();
+
+            var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂闈炲嵆浜х┖妗� && a.enable == 1).FirstOrDefault();
+            if (areaInfo != null)
+            {
+                var LocList = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == a.N_CAPACITY).ToList();
+                if(LocList.Count <= 1)
+                {
+                    //闇�浠庡簱鍖鸿ˉ鍏呯┖鎵�+                    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 == "鏃�).First();
+                    if(location != null && locInfo != null)
+                    {
+                        string cntrCode = getCntrCode(db, location);
+                        //鍒涘缓浣滀笟
+                        WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ绌烘", cntrCode, "鐡跺澂");
+                    }
+                }
+                if (LocList.Count >= 2)
+                {
+                    //闇�灏嗙┖鎵樿浆杩愬埌搴撳尯
+                    foreach (var a in LocList)
+                    {
+                        if(a.S_LOCK_STATE == "鏃�)
+                        {
+                            //鐢熸垚浠诲姟
+                            string cntrCode = getCntrCode(db, a);
+                            //鍒涘缓浣滀笟
+                            WMSHelper.CreateOpTask(a.S_CODE, "", "鍏ュ簱", "鐡跺澂闈炴�浜х┖妗嗗叆搴�, cntrCode, "鐡跺澂");
+                            break;
+                        }
+                    }
+                }
+
+            }
+            #region
+            //var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "鍐滃か鏋楄姖-鐡跺澂鏈� && a.S_UsingNow == "N" && a.S_WorkState == "鎵ц涓�).First();
+            //if(workInfo != null)
+            //{
+            //    var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂闈炲嵆浜х┖妗� && a.enable == 1).FirstOrDefault();
+            //    if(areaInfo != null)
+            //    {
+            //        var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == 0 && a.S_LOCK_STATE == "鏃�).First();
+            //        if(locInfo != null)
+            //        {
+            //            //鐢熸垚浠诲姟
+            //            Location location = TaskProcess.BCPInOrOut(db, false, "鐡跺澂搴撳尯", "");
+            //            if (location != null)
+            //            {
+            //                string cntrCode = getCntrCode(db, location);
+            //                //鍒涘缓浣滀笟
+            //                WMSHelper.CreateOpTask(location.S_CODE, locInfo.S_CODE, "鍏ュ簱", "鐡跺澂闈炴�浜цˉ绌烘", cntrCode, "鐡跺澂");
+            //            }
+            //        }
+            //    }
+            //    else
+            //    {
+            //        LogHelper.Info("鐡跺澂闈炲嵆浜х┖妗�鏈厤缃�);
+            //    }
+            //}
+            #endregion
+
+        }
+
+        internal static void PGFDFullInJC()
+        {
+            var db = new SqlHelper<object>().GetInstance();
+            var workInfo = db.Queryable<LinZhiBCPWorkOrder>().Where(a => a.S_PLineNo == "鍐滃か鏋楄姖-鐡跺澂鏈� && a.S_UsingNow == "Y" && a.S_WorkState == "鎵ц涓�).First();
             if(workInfo != null)
             {
-                var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂闈炲嵆浜х┖妗� && a.enable == 1).FirstOrDefault();
+                var areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂鍗充骇婊℃" && a.enable == 1).FirstOrDefault();
                 if(areaInfo != null)
                 {
-
+                    var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == 0 && a.S_LOCK_STATE == "鏃�).First();
+                    if (locInfo != null)
+                    {
+                        //寮�杞繍
+                        Location startLoca = TaskProcess.BCPInOrOut(db, false, "鐡跺澂鍗充骇婊℃缂撳瓨", workInfo.S_ItemCode);
+                        if (startLoca != null)
+                        {
+                            //鍒涘缓浣滀笟
+                            string cntrCode = getCntrCode(db, startLoca);
+                            WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo.S_CODE, "鍑哄簱", "鐡跺澂鎬ヤ骇琛ユ弧妗�, cntrCode, "");
+                        }
+                    }
                 }
-                else
+
+                areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡跺澂鍗充骇绌烘" && a.enable == 1).FirstOrDefault();
+                if (areaInfo != null)
                 {
-                    LogHelper.Info("鐡跺澂闈炲嵆浜х┖妗�鏈厤缃�);
+                    var locInfo = db.Queryable<Location>().Where(a => a.S_AREA_CODE == areaInfo.areaCode && a.N_CURRENT_NUM == 0 && a.S_LOCK_STATE == "鏃�).ToList();
+                    if (locInfo.Count == 2)
+                    {
+                        //寮�杞繍
+                        Location startLoca = TaskProcess.BCPInOrOut(db, false, "鐡跺澂鍗充骇婊℃缂撳瓨", "");
+                        if (startLoca != null)
+                        {
+                            //鍒涘缓浣滀笟
+                            string cntrCode = getCntrCode(db, startLoca);
+                            WMSHelper.CreateOpTask(startLoca.S_CODE, locInfo[0].S_CODE, "鍑哄簱", "鐡跺澂鎬ヤ骇琛ョ┖妗�, cntrCode, "");
+                        }
+                    }
                 }
             }
         }

--
Gitblit v1.9.1