From 6b2ec7bd05459ddb4ea99df00267dbfda49cbdc7 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期日, 03 八月 2025 14:11:12 +0800 Subject: [PATCH] 设备控制增加电量显示 --- Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs b/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs index f118c60..8555912 100644 --- a/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs +++ b/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs @@ -11,6 +11,7 @@ { private readonly SqlSugarRepository<WcsPlc> _wcsPlcRep; private readonly SysCacheService _sysCacheService; + private static readonly ISqlSugarClient _db = SqlSugarSetup.ITenant.GetConnectionScope(SqlSugarConst.MainConfigId); public WcsPlcService(SqlSugarRepository<WcsPlc> wcsPlcRep, SysCacheService sysCacheService) { _wcsPlcRep = wcsPlcRep; @@ -139,6 +140,38 @@ var modService = new { PLCTaskAction.boRunningState, PLCTaskAction.boOffline, PLCTaskAction.boRefresh, PLCTaskAction.boDemo, PLCTaskAction.boDrumReversal, PLCTaskAction.boOutLock, PLCTaskAction.boEnterLock }; return new { listPlc, modService }; } + + [HttpGet] + [ApiDescriptionSettings(Name = "GetCarDL")] + [DisplayName("鑾峰彇绌挎杞︾數閲�")] + public async Task<dynamic> GetCarDL() + { + var listPlc = await _wcsPlcRep.AsQueryable() + .Where(s => s.Type == PLCTypeEnum.ShuttleCar) + .ToListAsync(); + + List<Dictionary<string, string>> _dicList = new List<Dictionary<string, string>>(); + foreach (var modPlc in listPlc) + { + var modbus = new ModbusUtil(modPlc); + var listPlcDevice = _db.Queryable<WcsDevice>().First(s => s.PlcId == modPlc.Id); + var (result, value) = modbus.GetDBValue(listPlcDevice.PosType, listPlcDevice.PlcPos); + if (result.IsSucceed) + { + var listPlcStation = _db.Queryable<WcsPosition>().Where(s => s.DeviceId == modPlc.Id).ToList(); + var modCarDl = listPlcStation.FirstOrDefault(s => s.Text == "鐢垫睜鐢甸噺"); + var (resultDl, valueDl) = modbus.GetDBValue(modCarDl.PosType, modCarDl.PlcPos); + if (resultDl.IsSucceed) + { + Dictionary<string, string> _dic = new Dictionary<string, string>(); + _dic.Add(modPlc.Text, valueDl); + + _dicList.Add(_dic); + } + } + } + return new { _dicList }; + } /// <summary> /// 鑾峰彇浣嶇疆淇℃伅 /// </summary> -- Gitblit v1.8.0