From d79fcd9534d97f5bbb4edb66dbb925dea0479304 Mon Sep 17 00:00:00 2001
From: IPC-610 <IPC-610@DESKTOP-6LEOOS3>
Date: 星期日, 22 九月 2024 15:06:34 +0800
Subject: [PATCH] ssd12313

---
 Admin.NET/WCS.Application/PLC/PLCCommon.cs |   74 +++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 28 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCCommon.cs b/Admin.NET/WCS.Application/PLC/PLCCommon.cs
index 6aca413..7efbe37 100644
--- a/Admin.NET/WCS.Application/PLC/PLCCommon.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCCommon.cs
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.SignalR;
+锘縰sing Elastic.Clients.Elasticsearch.Tasks;
+using Microsoft.AspNetCore.SignalR;
 using RazorEngine.Compilation.ImpromptuInterface.Dynamic;
 using System;
 using System.Collections.Generic;
@@ -215,33 +216,32 @@
     /// </summary>
     /// <param name="startStation"></param>
     /// <returns></returns>
-    public static PlcTaskInfo GetPlcIp(string startStation) 
+    public static PLCUtil GetPlcIp(string startStation) 
     {
-        PlcTaskInfo taskInfo = new PlcTaskInfo();
-
+        string strIp = "";
         var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" };
         var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "272", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" };
         var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" };
         if (conveyList1.Contains(startStation))
         {
-            taskInfo.Ip = "10.18.51.110";
+            strIp = "10.18.51.110";
         }
         else if (conveyList2.Contains(startStation))
         {
 
-            taskInfo.Ip = "10.18.51.120";
+            strIp = "10.18.51.120";
         }
         else if (conveyList3.Contains(startStation))
         {
 
-            taskInfo.Ip = "10.18.51.130";
+            strIp = "10.18.51.130";
         }
         else
         {
-            throw new Exception("宸ヤ綅鏈煡璇㈠埌");
+            throw Oops.Bah("宸ヤ綅鏈煡璇㈠埌");
         }
-
-        return taskInfo;
+        var plcConveyorConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == strIp);
+        return plcConveyorConn;
     }
 
     /// <summary>
@@ -552,28 +552,46 @@
     public static string GetRoadwayByStationNew(string StationNum)
     {
         string value = "";
-        var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" };
-        var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" };
-        var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" };
+        //var conveyList1 = new List<string>() { "147", "145", "139", "137", "129", "127", "121", "119", "111", "109", "103", "101", "093", "091", "085", "083", "075", "073", "067", "065" };
+        //var conveyList2 = new List<string>() { "252", "254", "260", "262", "272", "270", "278", "280", "288", "290", "294", "301", "307", "309", "315", "317", "325", "327", "331", "337" };
+        //var conveyList3 = new List<string>() { "401", "402", "405", "406", "409", "410", "413", "414", "417", "418", "421", "422", "425", "426", "429", "430", "433", "434", "437", "438" };
 
-        if (conveyList1.Contains(StationNum))
+        var ipInfo = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.StackingMachine || s.Type == PLCTypeEnum.ConveyorLine);
+        var ip1 = ipInfo.First(m => m.Text == "1灞傛墭鐩樿緭閫佺嚎");
+        var ip2 = ipInfo.First(m => m.Text == "2灞傛墭鐩樿緭閫佺嚎");
+        var ip3 = ipInfo.First(m => m.Text == "3灞傛墭鐩樿緭閫佺嚎");
+
+        if (ip1 != null) 
         {
-            value = "1";
-        }
-        else if (conveyList2.Contains(StationNum))
-        {
-            value = "2";
-        }
-        else if (conveyList3.Contains(StationNum))
-        {
-            value = "3";
-        }
-        else
-        {
-            throw new Exception("宸ヤ綅鏈煡璇㈠埌");
+            var dev1 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip1.Id).Select(m => m.StationNum).ToList();
+            if (dev1.Contains(StationNum))
+            {
+                value = "1";
+                return value;
+            }
         }
 
-        return value;
+        if (ip2 != null)
+        {
+            var dev2 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip2.Id).Select(m => m.StationNum).ToList();
+            if (dev2.Contains(StationNum))
+            {
+                value = "2";
+                return value;
+            }
+        }
+
+        if (ip3 != null)
+        {
+            var dev3 = PLCTaskAction.plcDevices.Where(m => m.IsDelete == false && m.PlcId == ip3.Id).Select(m => m.StationNum).ToList();
+            if (dev3.Contains(StationNum))
+            {
+                value = "3";
+                return value;
+            }
+        }
+          
+        throw new Exception("宸ヤ綅鏈煡璇㈠埌");
     }
 
     /// <summary>

--
Gitblit v1.8.0