From e4833573a1c6d612c07955034be072c118484bfe Mon Sep 17 00:00:00 2001
From: pulg <plg@Haninfo>
Date: 星期三, 23 七月 2025 18:10:15 +0800
Subject: [PATCH] 1

---
 HH.WCS.QingXiNongfu/core/Monitor.cs |  126 ++++++++++++++++++++++++++++++------------
 1 files changed, 90 insertions(+), 36 deletions(-)

diff --git a/HH.WCS.QingXiNongfu/core/Monitor.cs b/HH.WCS.QingXiNongfu/core/Monitor.cs
index b009a9b..1b6f75c 100644
--- a/HH.WCS.QingXiNongfu/core/Monitor.cs
+++ b/HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -1127,15 +1127,15 @@
                                             }
                                         }
 
-                                        if (EdnRarea == "YWLKTDDQ")//鍒癇鍖虹殑绉诲簱宸ュ崟鏈�鍙兘鐢熸垚涓ゆ潯浠诲姟
+                                        if (EdnRarea == "YWLRGDD")
                                         {
                                             //鏌ヨ浠诲姟鏁�
-                                            List<string> AreaLi = new List<string>() { "YWLKTDDQ" };
+                                            List<string> AreaLi = new List<string>() { "YWLRGDD" };
                                             var db = new SqlHelper<object>().GetInstance();
                                             var list = db.Queryable<Location>().Where(a => AreaLi.Contains(a.S_AREA_CODE) && a.S_LOCK_STATE == "鍏ュ簱閿�).ToList();
                                             if (list.Count() > 2)
                                             {
-                                                LogHelper.Info($"CreateTransport-  CreateTask Error" + $"缁堢偣搴撳尯涓篩WLKTDDQ 鍒欐渶澶氬彧鑳界敓鎴愪笁涓换鍔�);
+                                                LogHelper.Info($"CreateTransport-  CreateTask Error" + $"缁堢偣搴撳尯涓篩WLRGDD 鍒欐渶澶氬彧鑳界敓鎴愪笁涓换鍔�);
                                                 continue;
                                             }
                                         }
@@ -1242,26 +1242,46 @@
                                                     }
                                                 }
                                             }
-                                            foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenBy(x => x.Key))
+                                            if (area == "YWLTKKTQ")
                                             {
-                                                rowlist = rss.OrderBy(x => x.N_COL).ToList();
-                                                var _cl2 = rowlist.FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
-                                                endbit = rowlist.Find(x => x.N_COL > (_cl2?.N_COL ?? 0));
-                                                if (endbit == null) continue;
-
-                                                if (_cl2 != null && (EdnRarea == "YWLYLTKQ" || EdnRarea == "YWLKTDDQ")) //閫�簱鍖鸿繘琛屽爢鍙�+                                                foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenByDescending(x => x.Key))
                                                 {
-                                                    Last = "";
-                                                    var rr_clrel = LocationHelper.GetLocCntrRel(_cl2.S_LOC_CODE);
-                                                    var s_clrel0 = rr_clrel.OrderByDescending(xx => xx.T_CREATE).FirstOrDefault();
-                                                    if (s_clrel0 != null && string.IsNullOrEmpty(s_clrel0.S_TYPE))
+                                                    rowlist = rss.OrderBy(x => x.N_COL).ToList();
+                                                    var _cl2 = rowlist.FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
+                                                    endbit = rowlist.Find(x => x.N_COL > (_cl2?.N_COL ?? 0));
+                                                    if (endbit == null) continue;
+
+                                                    if (_cl2 != null && (EdnRarea == "YWLYLTKQ" || EdnRarea == "YWLKTDDQ")) //閫�簱鍖鸿繘琛屽爢鍙�                                                     {
-                                                        var cntrrel = ContainerHelper.GetCntrItemRel(rr_clrel.FirstOrDefault()?.S_CNTR_CODE).FirstOrDefault();
+                                                        Last = "";
+                                                        var rr_clrel = LocationHelper.GetLocCntrRel(_cl2.S_LOC_CODE);
+                                                        var s_clrel0 = rr_clrel.OrderByDescending(xx => xx.T_CREATE).FirstOrDefault();
+                                                        if (s_clrel0 != null && string.IsNullOrEmpty(s_clrel0.S_TYPE))
+                                                        {
+                                                            var cntrrel = ContainerHelper.GetCntrItemRel(rr_clrel.FirstOrDefault()?.S_CNTR_CODE).FirstOrDefault();
+                                                            if (cntrrel.S_ITEM_CODE == cir1.S_ITEM_CODE && cntrrel.S_ITEM_NAME == cir1.S_ITEM_NAME && cntrrel.S_CJ_NAME == cir1.S_CJ_NAME)
+                                                            {
+                                                                if (_cl2.N_CURRENT_NUM < _cl2.N_CAPACITY)
+                                                                    endbit = _cl2;
+                                                                else LogHelper.Info($"{EdnRarea}閫�簱銆嬩娇鐢▄endbit.S_LOC_CODE}");
+                                                            }
+                                                            else
+                                                            {
+                                                                endbit = null;
+                                                                continue;
+                                                            }
+                                                        }
+                                                    }
+
+                                                    else if (_cl2 != null) // 娴佽浆锛屽尮閰嶅悓鎺掞紝涓嶅爢鍙�+                                                    {
+                                                        var rel = LocationHelper.GetLocCntrRel(_cl2.S_LOC_CODE);
+                                                        var cntrrel = ContainerHelper.GetCntrItemRel(rel.FirstOrDefault()?.S_CNTR_CODE).FirstOrDefault();
+                                                        if (cntrrel == null)
+                                                            continue;
                                                         if (cntrrel.S_ITEM_CODE == cir1.S_ITEM_CODE && cntrrel.S_ITEM_NAME == cir1.S_ITEM_NAME && cntrrel.S_CJ_NAME == cir1.S_CJ_NAME)
                                                         {
-                                                            if (_cl2.N_CURRENT_NUM < _cl2.N_CAPACITY)
-                                                                endbit = _cl2;
-                                                            else LogHelper.Info($"{EdnRarea}閫�簱銆嬩娇鐢▄endbit.S_LOC_CODE}");
+                                                            LogHelper.Info($"鍏ュ簱搴撱�浣跨敤{endbit.S_LOC_CODE}");
                                                         }
                                                         else
                                                         {
@@ -1269,26 +1289,60 @@
                                                             continue;
                                                         }
                                                     }
+                                                    if (endbit != null) break;
                                                 }
-
-                                                else if (_cl2 != null) // 娴佽浆锛屽尮閰嶅悓鎺掞紝涓嶅爢鍙�-                                                {
-                                                    var rel = LocationHelper.GetLocCntrRel(_cl2.S_LOC_CODE);
-                                                    var cntrrel = ContainerHelper.GetCntrItemRel(rel.FirstOrDefault()?.S_CNTR_CODE).FirstOrDefault();
-                                                    if (cntrrel == null)
-                                                        continue;
-                                                    if (cntrrel.S_ITEM_CODE == cir1.S_ITEM_CODE && cntrrel.S_ITEM_NAME == cir1.S_ITEM_NAME && cntrrel.S_CJ_NAME == cir1.S_CJ_NAME)
-                                                    {
-                                                        LogHelper.Info($"鍏ュ簱搴撱�浣跨敤{endbit.S_LOC_CODE}");
-                                                    }
-                                                    else
-                                                    {
-                                                        endbit = null;
-                                                        continue;
-                                                    }
-                                                }
-                                                if (endbit != null) break;
                                             }
+                                            else
+                                            {
+                                                foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenBy(x => x.Key))
+                                                {
+                                                    rowlist = rss.OrderBy(x => x.N_COL).ToList();
+                                                    var _cl2 = rowlist.FindAll(x => x.N_CURRENT_NUM > 0).OrderBy(x => x.N_COL).LastOrDefault();
+                                                    endbit = rowlist.Find(x => x.N_COL > (_cl2?.N_COL ?? 0));
+                                                    if (endbit == null) continue;
+
+                                                    if (_cl2 != null && (EdnRarea == "YWLYLTKQ" || EdnRarea == "YWLKTDDQ")) //閫�簱鍖鸿繘琛屽爢鍙�+                                                    {
+                                                        Last = "";
+                                                        var rr_clrel = LocationHelper.GetLocCntrRel(_cl2.S_LOC_CODE);
+                                                        var s_clrel0 = rr_clrel.OrderByDescending(xx => xx.T_CREATE).FirstOrDefault();
+                                                        if (s_clrel0 != null && string.IsNullOrEmpty(s_clrel0.S_TYPE))
+                                                        {
+                                                            var cntrrel = ContainerHelper.GetCntrItemRel(rr_clrel.FirstOrDefault()?.S_CNTR_CODE).FirstOrDefault();
+                                                            if (cntrrel.S_ITEM_CODE == cir1.S_ITEM_CODE && cntrrel.S_ITEM_NAME == cir1.S_ITEM_NAME && cntrrel.S_CJ_NAME == cir1.S_CJ_NAME)
+                                                            {
+                                                                if (_cl2.N_CURRENT_NUM < _cl2.N_CAPACITY)
+                                                                    endbit = _cl2;
+                                                                else LogHelper.Info($"{EdnRarea}閫�簱銆嬩娇鐢▄endbit.S_LOC_CODE}");
+                                                            }
+                                                            else
+                                                            {
+                                                                endbit = null;
+                                                                continue;
+                                                            }
+                                                        }
+                                                    }
+
+                                                    else if (_cl2 != null) // 娴佽浆锛屽尮閰嶅悓鎺掞紝涓嶅爢鍙�+                                                    {
+                                                        var rel = LocationHelper.GetLocCntrRel(_cl2.S_LOC_CODE);
+                                                        var cntrrel = ContainerHelper.GetCntrItemRel(rel.FirstOrDefault()?.S_CNTR_CODE).FirstOrDefault();
+                                                        if (cntrrel == null)
+                                                            continue;
+                                                        if (cntrrel.S_ITEM_CODE == cir1.S_ITEM_CODE && cntrrel.S_ITEM_NAME == cir1.S_ITEM_NAME && cntrrel.S_CJ_NAME == cir1.S_CJ_NAME)
+                                                        {
+                                                            LogHelper.Info($"鍏ュ簱搴撱�浣跨敤{endbit.S_LOC_CODE}");
+                                                        }
+                                                        else
+                                                        {
+                                                            endbit = null;
+                                                            continue;
+                                                        }
+                                                    }
+                                                    if (endbit != null) break;
+                                                }
+                                            }
+
                                             if (endbit != null)
                                             {
                                                 var sign = Settings.GetTimeStamp();

--
Gitblit v1.9.1