From 99a33793ea2b32a958db7286335714213db477ee Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 25 九月 2024 15:33:03 +0800
Subject: [PATCH] 更改分拣任务的绑定和结批功能;更改演示模式开关和滚筒反转开关

---
 Admin.NET/WCS.Application/Hub/PlcHub.cs |   68 ++++++++++++++++++++++++++++++++-
 1 files changed, 65 insertions(+), 3 deletions(-)

diff --git a/Admin.NET/WCS.Application/Hub/PlcHub.cs b/Admin.NET/WCS.Application/Hub/PlcHub.cs
index de41681..1075892 100644
--- a/Admin.NET/WCS.Application/Hub/PlcHub.cs
+++ b/Admin.NET/WCS.Application/Hub/PlcHub.cs
@@ -10,10 +10,11 @@
 public class PlcHub : Hub<IPlcHub>
 {
     private readonly IHubContext<PlcHub, IPlcHub> _plcHubContext;
-
-    public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext)
+    private readonly SysConfigService _sysConfigService;
+    public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext, SysConfigService sysConfigService)
     {
         _plcHubContext = plcHubContext;
+        _sysConfigService = sysConfigService;
     }
     /// <summary>
     /// 涓嬪彂PLC杩炴帴鐘舵��
@@ -48,14 +49,71 @@
                 PLCTaskAction.Init();
             else
                 PLCTaskAction.Stop();
+            await _sysConfigService.UpdateConfigValue("sys_RunningState", context.BoRunningState.Value);
         }
         //鑴辨満妯″紡
         if (context.BoOffline.HasValue)
+        {
             PLCTaskAction.boOffline = context.BoOffline.Value;
+            await _sysConfigService.UpdateConfigValue("sys_Offline", context.BoOffline.Value);
+        }
         //鑷埛鏂�
         if (context.BoRefresh.HasValue)
+        {
             PLCTaskAction.boRefresh = context.BoRefresh.Value;
-        await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline });
+            await _sysConfigService.UpdateConfigValue("sys_Refresh", context.BoRefresh.Value);
+        }
+        //婕旂ず妯″紡
+        if (context.BoDemo.HasValue)
+        {
+            PLCTaskAction.boDemo = context.BoDemo.Value;
+
+            //PLC杩炴帴
+            var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == "10.18.51.120");
+            if (plcStackeConn.Connected)
+            {
+                //鍐欏叆娴佺▼瀛�
+                var ret = plcStackeConn.SetPlcDBValue(PLCDataTypeEnum.Bit, "DB119", "0", PLCTaskAction.boDemo == true ? "1" : "0");
+                if (ret.IsSucceed)
+                {
+                    await _sysConfigService.UpdateConfigValue("sys_demo", context.BoDemo.Value);
+                }
+                else
+                {
+                    PLCTaskAction.boDemo = !PLCTaskAction.boDemo;
+                }
+            }
+            else
+            {
+                PLCTaskAction.boDemo = !PLCTaskAction.boDemo;
+            }
+        }
+        //婊氱瓛鍙嶈浆
+        if (context.BoDrumReversal.HasValue)
+        {
+            PLCTaskAction.boDrumReversal = context.BoDrumReversal.Value;
+
+            //PLC杩炴帴
+            var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == "10.18.51.120");
+            if (plcStackeConn.Connected)
+            {
+                //鍐欏叆娴佺▼瀛�
+                var ret = plcStackeConn.SetPlcDBValue(PLCDataTypeEnum.Bit, "DB119", "0.1", PLCTaskAction.boDemo == true ? "1" : "0");
+                if (ret.IsSucceed)
+                {
+                    await _sysConfigService.UpdateConfigValue("sys_DrumReversal", context.BoDrumReversal.Value);
+                }
+                else
+                {
+                    PLCTaskAction.boDrumReversal = !PLCTaskAction.boDrumReversal;
+                }
+            }
+            else 
+            {
+                PLCTaskAction.boDrumReversal = !PLCTaskAction.boDrumReversal;
+            }
+        }
+        await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline, BoDemo = PLCTaskAction.boDemo, BoDrumReversal = PLCTaskAction.boDrumReversal });
     }
 }
 public class PLCServiceModel
@@ -67,4 +125,8 @@
 
 
     public bool? BoRefresh { get; set; }
+
+    public bool? BoDemo { get; set; }
+
+    public bool? BoDrumReversal { get; set; }
 }
\ No newline at end of file

--
Gitblit v1.8.0