From 2acb2076869b884c69c349e0821ed96c2bc5b9ee Mon Sep 17 00:00:00 2001 From: hwh <332078369@qq.com> Date: 星期二, 03 九月 2024 16:54:57 +0800 Subject: [PATCH] 工作台位置监控 --- Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 53 insertions(+), 3 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs b/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs index 20f41a3..6eff76c 100644 --- a/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs +++ b/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs @@ -1,4 +1,6 @@ 锘� +using Admin.NET.Core.Service; + namespace WCS.Application; /// <summary> @@ -8,9 +10,11 @@ public class WcsPlcService : IDynamicApiController, ITransient { private readonly SqlSugarRepository<WcsPlc> _wcsPlcRep; - public WcsPlcService(SqlSugarRepository<WcsPlc> wcsPlcRep) + private readonly SysCacheService _sysCacheService; + public WcsPlcService(SqlSugarRepository<WcsPlc> wcsPlcRep, SysCacheService sysCacheService) { _wcsPlcRep = wcsPlcRep; + _sysCacheService = sysCacheService; } /// <summary> @@ -105,8 +109,54 @@ return await _wcsPlcRep.AsQueryable().Select<WcsPlcOutput>().ToListAsync(); } + /// <summary> + /// 鑾峰彇PLC杩炴帴鐘舵�佸拰鏈嶅姟鐘舵�� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet] + [ApiDescriptionSettings(Name = "ListStatus")] + [DisplayName("鑾峰彇PLC杩炴帴鐘舵��")] + public async Task<dynamic> ListStatus([FromQuery] PageWcsPlcInput input) + { + var listPlc = await _wcsPlcRep.AsQueryable() + .Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine || s.Type == PLCTypeEnum.BoxConveyorLine) + .ToListAsync(); + foreach (var modPlc in listPlc) + { + if (_sysCacheService.ExistKey("PlcConn" + modPlc.Id)) + { + var cachePlc = _sysCacheService.Get<WcsPlc>("PlcConn" + modPlc.Id); + modPlc.IsConn = cachePlc.IsConn; + } + else + { + modPlc.IsConn = false; + } + } + //鏈嶅姟鐘舵�� + var modService = new { PLCTaskAction.boRunningState, PLCTaskAction.boOffline, PLCTaskAction.boRefresh }; + return new { listPlc, modService }; + } + /// <summary> + /// 鑾峰彇浣嶇疆涓婃湁娌℃湁涓滆タ + /// </summary> + /// <returns></returns> + [HttpGet] + [ApiDescriptionSettings(Name = "ListPosition")] + [DisplayName("鑾峰彇浣嶇疆涓婃湁娌℃湁涓滆タ")] + public List<PlcPositionInfo> ListPosition() + { + //娴嬭瘯鐢� + //return new List<PlcPositionInfo>() + //{ + // new PlcPositionInfo(){ Type=PLCTypeEnum.ConveyorLine, StationNum="147", BoHaveItem=true }, + // new PlcPositionInfo(){ Type=PLCTypeEnum.ConveyorLine, StationNum="143", BoHaveItem=true }, + // new PlcPositionInfo(){ Type=PLCTypeEnum.StackingMachine, StationNum="002", BoxHeight=30 }, + //}; - - + var list = PLCTaskAction.listPositionInfo.ToList(); + return list; + } } -- Gitblit v1.8.0