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 |  123 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 119 insertions(+), 4 deletions(-)

diff --git a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
index a08a08a..45008d6 100644
--- a/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
+++ b/HH.WCS.Mobox3.NongFuLinZhi/core/Monitor.cs
@@ -105,7 +105,7 @@
             #endregion
 
             #region 鐡跺澂婊℃墭鍏ュ簱
-            areaInfo = Settings.areaInfos.Where(a => a.areaName == "鐡惰儦鍏ュ簱鎺ラ┏" && a.enable == 1).FirstOrDefault();
+            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 == a.N_CAPACITY && a.S_LOCK_STATE == "鏃�).First();
@@ -119,13 +119,13 @@
                     }
                     else
                     {
-                        LogHelper.Info($"銆愮摱鑳氭弧鎵樿浆杩愩�褰撳墠璐т綅鏈粦瀹氭墭鐩樼爜锛岃揣浣嶇紪鐮侊細{locInfo.S_CODE}");
+                        LogHelper.Info($"銆愮摱鍧弧鎵樿浆杩愩�褰撳墠璐т綅鏈粦瀹氭墭鐩樼爜锛岃揣浣嶇紪鐮侊細{locInfo.S_CODE}");
                     }
                 }
             }
             else
             {
-                LogHelper.Info("銆愮摱鍧弧鎵樿浆杩愩�鐡惰儦鍏ュ簱鎺ラ┏ 鏈厤缃�);
+                LogHelper.Info("銆愮摱鍧弧鎵樿浆杩愩�鐡跺澂鍏ュ簱鎺ラ┏ 鏈厤缃�);
             }
 
             #endregion
@@ -143,7 +143,8 @@
             {
                 bcpWorkList.ForEach(a => 
                 {
-                    string areaName = a.S_PLineNo.Split('-')[1].Substring(0, 1) + "鍙风摱鑳氱炕鏂楁満闈炲嵆浜ф弧妗�;
+                    string areaName = a.S_PLineNo.Split('-')[1].Substring(0, 1) + "鍙风摱鍧炕鏂楁満闈炲嵆浜ф弧妗�;
+                    LogHelper.Info($"PPFDFullIn area:{areaName}");
                     var areaInfo = Settings.areaInfos.Where(b => b.areaName == areaName && b.enable == 1).FirstOrDefault();
                     if(areaInfo != null)
                     {
@@ -300,5 +301,119 @@
                 }
             }
         }
+
+        /// <summary>
+        /// 鐡跺澂闈炲嵆浜у嵆鐢ㄥ簱鎵樺簱鍖鸿ˉ绌烘墭
+        /// </summary>
+        internal static void PPFDFullInEmpty()
+        {
+            //鐡跺澂闈炲嵆浜х┖妗嗗尯鍫嗗彔搴撳尯涓�叡鍥涗釜璐т綅锛屽鏋滄湁涓変釜璐т綅鏄弧鐨勶紝灏卞紑濮嬭浆杩愬埌鐡跺澂搴撳尯
+            //濡傛灉婊¤揣浣嶅皬浜庣瓑浜庝竴灏卞紑濮嬩粠婊℃缂撳瓨鍖虹┖妗嗗尯鍩熻浆杩愶紝濡傛灉婊℃缂撳瓨鍖虹┖妗嗗尯鍩熸棤绌烘墭锛屽垯浠庣摱鍧簱杞繍
+
+            var db = new SqlHelper<object>().GetInstance();
+
+            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();
+                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, "");
+                        }
+                    }
+                }
+
+                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 == "鏃�).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