From b4083a6b047fc9e0964133c87227213c5154e37a Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期三, 15 一月 2025 15:47:44 +0800
Subject: [PATCH] 11111111

---
 Admin.NET/WCS.Application/PLC/PLCService.cs |   35 ++++++++++++++++++++++++++++++-----
 1 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 1b9e99f..204f571 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -2,6 +2,7 @@
 using Dm.filter;
 using DocumentFormat.OpenXml.Bibliography;
 using DocumentFormat.OpenXml.Drawing.Charts;
+using Elastic.Clients.Elasticsearch.Snapshot;
 using Elastic.Clients.Elasticsearch.Tasks;
 using Flurl.Util;
 using Furion.Logging;
@@ -1800,7 +1801,7 @@
     {
         var plcConn = modDevice.PLCUtil;
 
-        if (modDevice.DbNumber == "DB101" && modDevice.DbNumber == "DB102")
+        if (modDevice.DbNumber == "DB101")//&& modDevice.DbNumber == "DB102"&& (modDevice.DbNumber == "DB102"||modDevice.PlcIdIP == "10.18.51.110")
         {
             // 涓绘壂浜や簰娴佺▼
             switch (modDevice.Value.ToString())
@@ -2023,8 +2024,8 @@
                                 //鏄惁缁撴壒绠� 
                                 if (boxInfo[0].EndLotFlag == "1" && retVal.IsSucceed) 
                                 {
-                                    // 瑙﹀彂缁撴壒 瑙g粦鍒嗛亾
-                                    AutoEndLot(boxInfo[0].LotNo, plcConn, "0");
+                                    // 瑙﹀彂缁撴壒 鍒嗛亾鍙樹负缁撴壒涓�
+                                    AutoEndLot(boxInfo[0].LotNo, plcConn, "2");
                                 }
                             }
                             else 
@@ -2167,6 +2168,7 @@
                                     string sqlStr2 = $"delete from WCSBoxInfoLog where  IsDelete=0 and PalletNo='{palletNo}'";
                                     _db.Ado.ExecuteCommand(sqlStr2);
                                 }
+                                
                                 // 鍚慦MS鐢宠宸烽亾
                                 var http = new HttpService();
                                 string TaskNo = "", EndLocate = "";
@@ -2179,6 +2181,29 @@
                                 }
                                 else
                                 {
+                                    //鍒ゆ柇鏄惁缁撴壒涓�
+                                    var (res, jiepi) = plcConn.GetPlcDBValue(checkTaskMedel.PosType, modDevice.DbNumber, checkTaskMedel.PosLot);
+                                    if (jiepi == 2)//缁撴壒涓�
+                                    {
+                                        // 鍒嗛亾瑙g粦锛屾姄绠卞搧绉嶅啓鍏�0
+                                        var ret1 = plcConn.SetPlcDBValue(checkTaskMedel.PosTypeLot, modDevice.DbNumber, checkTaskMedel.PlcPos, "0");
+                                        if (ret1.IsSucceed)
+                                        {
+                                            //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟    liudl 鏈�鍚庝竴鎵樼洏鐢宠瀹屽叆搴撴墠鍙竻绌�
+                                            checkTaskMedel.OrderNo = "";
+                                            checkTaskMedel.TaskNo = "";
+                                            checkTaskMedel.LotNo = "";
+                                            checkTaskMedel.SkuNo = "";
+                                            checkTaskMedel.SkuName = "";
+                                            checkTaskMedel.BoxType = "";
+                                            checkTaskMedel.Qty = 0;
+                                            checkTaskMedel.PZNo = "";
+                                            checkTaskMedel.Status = "0";      // 缁戝畾鍒嗛亾 0锛氳В缁�  1锛氱粦瀹� 
+
+                                            //鏇存柊鍒嗘嫞浠诲姟
+                                            _db.Updateable(checkTaskMedel).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+                                        }
+                                    }
                                     // 鑾峰彇鍏ュ簱浠诲姟淇℃伅
                                     var taskModel = _db.Queryable<WcsTask>().First(m => m.TaskNo == TaskNo && m.IsDelete == false && m.Status == TaskStatusEnum.Wait);
                                     if (taskModel != null)
@@ -2376,7 +2401,7 @@
                 // 鍐欏叆缁撴壒淇″彿
                 var ret = plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, "1");
                 // 鍒嗛亾瑙g粦锛屾姄绠卞搧绉嶅啓鍏�0
-                var ret1 = plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PlcPos, "0");
+                //var ret1 = plcConn.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PlcPos, "0");
                 if (ret.IsSucceed)
                 {
                     //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟    liudl 鏈�鍚庝竴鎵樼洏鐢宠瀹屽叆搴撴墠鍙竻绌�
@@ -2388,7 +2413,7 @@
                     //item.BoxType = "";
                     //item.Qty = 0;
                     item.PZNo = "";
-                    item.Status = status;      // 缁戝畾鍒嗛亾 0锛氳В缁�  1锛氱粦瀹� 
+                    item.Status = status;      // 缁戝畾鍒嗛亾 0锛氳В缁�  1锛氱粦瀹�  2:缁撴壒涓�
 
                     //鏇存柊鍒嗘嫞浠诲姟
                     _db.Updateable(item).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();

--
Gitblit v1.8.0