From 1d323f5377dd5f9a58d01954a6c12b9d5bd8a766 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期四, 05 九月 2024 14:33:40 +0800
Subject: [PATCH] 控制台位置实时通讯
---
Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 53 insertions(+), 1 deletions(-)
diff --git a/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs b/Admin.NET/WCS.Application/Service/WcsPlc/WcsPlcService.cs
index 0c91047..4480c14 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,6 +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