From 7c9cc313ed6561130b4cd3c40f9df52b1b972158 Mon Sep 17 00:00:00 2001
From: pulg <plg@Haninfo>
Date: 星期一, 23 六月 2025 18:36:06 +0800
Subject: [PATCH] 1

---
 HH.WCS.QingXiNongfu/core/Monitor.cs |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/HH.WCS.QingXiNongfu/core/Monitor.cs b/HH.WCS.QingXiNongfu/core/Monitor.cs
index 8399a13..0327980 100644
--- a/HH.WCS.QingXiNongfu/core/Monitor.cs
+++ b/HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -1104,6 +1104,19 @@
                                         //else
                                         var ccr = _clrel0.S_TYPE.Split(',');
                                         string EdnRarea = ccr.First();
+
+                                        if (EdnRarea == "YWLBQWJ" || EdnRarea == "YWLWJJB")//鍒癇鍖虹殑绉诲簱宸ュ崟鏈�鍙兘鐢熸垚涓ゆ潯浠诲姟
+                                        {
+                                            //鏌ヨ浠诲姟鏁�
+                                            List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" };
+                                            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" + $"缁堢偣搴撳尯涓篩WLRGDD鎴栬�YWLWJJB 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�);
+                                                continue;
+                                            }
+                                        }
                                         string Last = string.Join(",", ccr.Skip(1));
 
                                         if (ABlist.Contains(EdnRarea))
@@ -1154,7 +1167,10 @@
                                             {
                                                 isCd = true;
                                                 inlockLis = LocationHelper.GetList<RowLock>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && x.S_LOCK_STATE == "鍏ュ簱閿�).ToList();
-                                                inlock = inlockLis.FirstOrDefault();
+                                                if (inlockLis.Count() > 0)
+                                                {
+                                                    inlock = inlockLis.FirstOrDefault();
+                                                }
                                                 if (inlock != null)
                                                 {
                                                     //褰撳叆搴撶殑浠诲姟鑳芥斁婊′竴鎺掑苟涓旇繕鏈変綑鐨勬椂鍊�寮�浜屾帓
@@ -1253,6 +1269,7 @@
                                                 if (res && inlock == null && isCd)
                                                 {
                                                     var rrrr = new RowLock { S_LOCK_SRC = cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME, T_LOCK_TIME = DateTime.Now, S_LOCK_STATE = "鍏ュ簱閿�, S_AREA_CODE = endbit.S_AREA_CODE, N_ROW = endbit.N_ROW };
+                                                    LogHelper.Info($"鍘熺墿鏂欏叆搴�娣诲姞鎺掗攣淇℃伅{JsonConvert.SerializeObject(rrrr)} ");
                                                     WCSHelper.Do(db => db.Insertable(rrrr).ExecuteCommand());
                                                 }
                                                 if (EdnRarea == "YWLWJJB") InworkLock = false;
@@ -3737,15 +3754,18 @@
                     {
                         var l2 = new List<string>() { "YWLAQWJ", "YWLBQWJ" };//, "YWLCQSX", "YWLDQWJ" };
                         l2.Remove(od.S_ROW);
-                        l2.Remove(od.TagOver);
-                        var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList();
+                        //l2.Remove(od.TagOver);
+                        //var odsr = new List<string> { od.TagOver, od.S_ROW }.Concat(l2).Distinct().ToList();
+                        var odsr = new List<string> { od.S_ROW }.Concat(l2).Distinct().ToList();
 
                         ///姹囨�浠撳簱閲屾渶澶у眰鏄嚑灞傘�
                         Dictitems Lart = null;
                         foreach (var area in odsr)//od.S_ROW.Split('$'))
                         {
-                            if (string.IsNullOrEmpty(area)) continue;
-
+                            if (string.IsNullOrEmpty(area))
+                            {
+                                continue;
+                            }
                             if (dsi.TryGetValue(area, out var dictitems1))
                             {
                                 foreach (var d in dictitems1.FindAll(x => x.ItemCode == od.SQL_ItemCode && x.ItemName == od.SQL_ItemName && x.S_CJ_NAME == od.S_CJ_NAME))
@@ -4066,6 +4086,19 @@
                 var locS = LocationHelper.GetAreaNormalLocList(ODs.Key);
                 foreach (var od in ODs)
                 {
+                    if (od.S_END_AREA == "YWLBQWJ" || od.S_END_AREA == "YWLAQWJ")//鍒癇鍖虹殑绉诲簱宸ュ崟鏈�鍙兘鐢熸垚涓ゆ潯浠诲姟
+                    {
+
+                        //鏌ヨ浠诲姟鏁�
+                        List<string> AreaLi = new List<string>() { "YWLBQWJ", "YWLWJJB" };
+                        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" + $"缁堢偣搴撳尯涓篩WLRGDD鎴栬�YWLWJJB 鍒欐渶澶氬彧鑳界敓鎴愪袱涓换鍔�);
+                            continue;
+                        }
+                    }
                     LogHelper.Info($"YWL_ZX_Turn from{od.S_START_AREA} mid:{od.S_ZZ_AREA} to{od.S_END_AREA} 寮� 銆嬨�銆�);
                     if (string.IsNullOrEmpty(od.S_ZZ_AREA) && string.IsNullOrEmpty(od.S_END_AREA))
                     {

--
Gitblit v1.9.1