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 | 68 +++++++++++++++++++++++++++++++++- 1 files changed, 66 insertions(+), 2 deletions(-) diff --git a/Admin.NET/WCS.Application/Hub/PlcHub.cs b/Admin.NET/WCS.Application/Hub/PlcHub.cs index c8108e7..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杩炴帴鐘舵�� @@ -63,7 +66,66 @@ PLCTaskAction.boRefresh = context.BoRefresh.Value; await _sysConfigService.UpdateConfigValue("sys_Refresh", context.BoRefresh.Value); } - await _plcHubContext.Clients.All.UpdateService(new PLCServiceModel() { BoRunningState = PLCTaskAction.boRunningState, BoRefresh = PLCTaskAction.boRefresh, BoOffline = PLCTaskAction.boOffline, BoDemo = PLCTaskAction.boDemo}); + //婕旂ず妯″紡 + if (context.BoDemo.HasValue) + { + PLCTaskAction.boDemo = 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; + + //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 @@ -77,4 +139,6 @@ 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