From 220127ae99220eb9a256c782f9e86e15f8774206 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期四, 26 九月 2024 10:06:02 +0800 Subject: [PATCH] 演示模式增加判断分拣码垛有没有绑定任务 --- Admin.NET/WCS.Application/Hub/PlcHub.cs | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 53 insertions(+), 3 deletions(-) diff --git a/Admin.NET/WCS.Application/Hub/PlcHub.cs b/Admin.NET/WCS.Application/Hub/PlcHub.cs index cf77858..bfb6fb8 100644 --- a/Admin.NET/WCS.Application/Hub/PlcHub.cs +++ b/Admin.NET/WCS.Application/Hub/PlcHub.cs @@ -1,5 +1,6 @@ 锘縰sing Furion.InstantMessaging; using Microsoft.AspNetCore.SignalR; +using WCS.Application.Entity; namespace WCS.Application; @@ -11,10 +12,12 @@ { private readonly IHubContext<PlcHub, IPlcHub> _plcHubContext; private readonly SysConfigService _sysConfigService; - public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext, SysConfigService sysConfigService) + private readonly SqlSugarRepository<WcsCheckTask> _wcsCheckTaskRep; + public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext, SysConfigService sysConfigService, SqlSugarRepository<WcsCheckTask> wcsCheckTaskRep) { _plcHubContext = plcHubContext; _sysConfigService = sysConfigService; + _wcsCheckTaskRep = wcsCheckTaskRep; } /// <summary> /// 涓嬪彂PLC杩炴帴鐘舵�� @@ -67,13 +70,60 @@ if (context.BoDemo.HasValue) { PLCTaskAction.boDemo = context.BoDemo.Value; - await _sysConfigService.UpdateConfigValue("sys_demo", context.BoDemo.Value); + + if (PLCTaskAction.boDemo) + { + //鍒ゆ柇鍒嗘嫞鐮佸灈鏈夋病鏈夌粦瀹氫换鍔� + var checkTask = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.Status == "1").ToListAsync(); + if (checkTask.Count > 0) + { + throw Oops.Oh("鍒嗘嫞鐮佸灈宸茬粦瀹氫换鍔★紝涓嶆敮鎸佸紑鍚紨绀烘ā寮忥紒"); + } + } + //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; - await _sysConfigService.UpdateConfigValue("sys_DrumReversal", 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 }); } -- Gitblit v1.8.0