From 547a82102720f191119c75d6c4820c66262eecb0 Mon Sep 17 00:00:00 2001
From: zxx <Zxx@HanInfo>
Date: 星期五, 30 五月 2025 17:30:20 +0800
Subject: [PATCH] 入库逻辑添加

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs |   60 +++++++++++++++++++++++------
 HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs  |    7 +++
 2 files changed, 53 insertions(+), 14 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
index c870e4d..5f6880f 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/process/TaskProcess.cs
@@ -26,6 +26,7 @@
 using System.ComponentModel;
 using Newtonsoft.Json.Linq;
 using S7.Net;
+using System.Threading.Tasks;
 
 namespace HH.WCS.JuShi.process
 {
@@ -823,6 +824,23 @@
                     {
                         list.RemoveAll(s => loca.Contains(s.S_CODE));
                     }
+                    //杩囨护涓�笅 鍏佽杩涘叆鐨勬墠鍒嗛厤
+                    var reservoirs = Settings.ReservoirAreas.Where(s => s.areaName == "绔嬪簱鍏ュ簱鍖�).FirstOrDefault();
+                    if (reservoirs.areaCode.Equals(area))
+                    {
+                        var plcDeviceTable = S7Helper.plcDeviceTables;
+                        foreach (var l in list)
+                        {
+                            var safeInteraction = Settings.SafeInteractions.Where(s => s.location == l.S_CODE).FirstOrDefault();
+                            var res = int.Parse(plcDeviceTable.RGVAllowUnload[safeInteraction.code].ToString().Substring(1, 1));
+                            if (res!=1)
+                            {
+                                list.Remove(l);
+                            }
+                        }
+                    }
+                    
+
                     //绗﹀悎鏉′欢鐨勬帓搴忛�绗竴涓� 鍏堟壘绗竴涓�                     if (list.Count > 0)
                     {
@@ -1779,7 +1797,20 @@
                         else if (model.APPLY_CODE.Equals("8"))
                         {
                             //鍙戦�鍗歌揣瀹屾垚銆佸浣嶄俊鍙�-                            safeAssistant(reservoirs.code, res);
+                            //鍗歌揣瀹屾垚淇″彿
+                            S7Helper.WriteInt(50, reservoirs.code * 2 - 2, (short)(reservoirs.code * 10 + 1));
+
+                            // 鍚姩鍚庡彴浠诲姟澶勭悊寤惰繜澶嶄綅
+                            Task.Run(async () =>
+                            {
+                                //10绉掑悗澶嶄綅
+                                await Task.Delay(10000);
+                                S7Helper.WriteInt(50, reservoirs.code * 2 - 2, (short)(reservoirs.code * 10));
+                                LogHelper.Info($"RGV瀹夊叏浜や簰 澶嶄綅瀹屾垚");
+                            });
+                            //10绉掑悗澶嶄綅
+                            //S7Helper.WriteInt(50, reservoirs.code * 2 - 2, (short)(reservoirs.code * 10));
+                            //safeAssistant(reservoirs.code, res);
                             LogHelper.Info($"RGV瀹夊叏浜や簰 鍗歌揣瀹屾垚");
                             return new safeResult() { code = "0", msg = "success" };
                         }
@@ -1864,18 +1895,21 @@
         //寰幆鍙戦�淇″彿
         private static void safeAssistant(int code, int res)
         {
-            //2鍗歌揣瀹屾垚纭
-            if (res != 2)
-            {
-                //鍗歌揣瀹屾垚淇″彿
-                S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10 + 1));
-                Thread.Sleep(3000);
-                safeAssistant(code, res);
-            }
-            else
-            {
-                S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10));
-            }
+            Thread.Sleep(10000);
+            S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10));
+            LogHelper.Info($"RGV瀹夊叏浜や簰 澶嶄綅瀹屾垚");
+            ////2鍗歌揣瀹屾垚纭
+            //if (res != 2)
+            //{
+            //    //鍗歌揣瀹屾垚淇″彿
+            //    S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10 + 1));
+            //    Thread.Sleep(3000);
+            //    safeAssistant(code, res);
+            //}
+            //else
+            //{
+            //    S7Helper.WriteInt(50, code * 2 - 2, (short)(code * 10));
+            //}
 
         }
 
diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs
index 56fee2c..2b3fe82 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.JuShi/wms/LocationHelper.cs
@@ -428,7 +428,12 @@
                         count++;
                     }
                 });
-                location.N_CURRENT_NUM = lcrList.Count + count;
+                //濡傛灉鏄珛搴撶殑鍗歌揣瀹屾垚鍚庢暟閲忎笉鍔�+                var reservoirs = Settings.ReservoirAreas.Where(s => s.areaName == "绔嬪簱鍏ュ簱鍖�).FirstOrDefault();
+                if (!loc.Equals(reservoirs.areaCode))
+                {
+                    location.N_CURRENT_NUM = lcrList.Count + count;
+                }
                 location.N_LOCK_STATE = 0;
                 location.S_LOCK_STATE = "鏃�;
 

--
Gitblit v1.9.1