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