From ddd9612ed7cefe12c8ea33ced0711a0b9a3feb99 Mon Sep 17 00:00:00 2001
From: liudl <673013083@qq.com>
Date: 星期日, 16 二月 2025 18:18:42 +0800
Subject: [PATCH] 修改接口

---
 Admin.NET/WCS.Application/PLC/PLCService.cs      |    3 +--
 Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs |   42 +++++++++++++++++++++++++++++++-----------
 Admin.NET/WCS.Application/Util/HttpService.cs    |    2 +-
 Admin.NET/WCS.Application/PLC/PLCUtil.cs         |    2 ++
 4 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
index 8890284..b6d1173 100644
--- a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
+++ b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
@@ -416,35 +416,41 @@
             Log.Information("鎺ユ敹WMS鍏ュ簱鏀捐揣纭锛屾斁璐у彛锛�" + models.Port+"鍏ュ簱鍙�");
 
             var portno = "";
+            var layer = "3";
             switch (models.Port)
             {
                 case "033":
                     portno = "33";
+                    layer = "1";
                     break;
                 case "039":
                     portno = "39";
+                    layer = "1";
                     break;
                 case "044":
                     portno = "44";
+                    layer = "1";
                     break;
                 case "051":
                     portno = "51";
+                    layer = "1";
                     break;
             }
 
             //妫�娴嬪叆搴撳彛鐘舵�侊紝120涓哄彲鏀撅紝鍗犵敤鍒欎慨鏀逛负130
-
-            WcsDeviceDto mod = new WcsDeviceDto();
-            var plcConn = mod.PLCUtil;
+            var modPlc = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.ConveyorLine && s.Text == (layer + "灞傛墭鐩樿緭閫佺嚎")).First();
+            if (modPlc == null)
+                throw Oops.Bah("鏈壘鍒拌緭閫佺嚎PLC");
+            PLCUtil plcConn = new PLCUtil(modPlc);
             //鑾峰彇宸ヤ綅鐐逛綅淇℃伅
             var listPlcDevice = _db.Queryable<WcsDevice>().Where(s => s.LedIP != null && s.StationNum == portno).First();
-            var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "PLC娴佺▼瀛�").First();
+            var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "PLC").First();
 
             var (res1, val) = plcConn.GetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos);
             if (val.ToString() == "120")
             {
                 //璇诲彇鎴愬姛鍚庡啓鍏�130
-                modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS娴佺▼瀛�").First();
+                modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS").First();
                 var ret = plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, "130");//鍗犵敤姝ゅ伐浣�
                 if (ret.IsSucceed)
                 {
@@ -476,30 +482,37 @@
             Log.Information("鎺ユ敹WMS鍏ュ簱鏀捐揣纭锛屾斁璐у彛锛�" + models.Port + "鍏ュ簱鍙�");
 
             var portno = "";
+            var layer = "3";
             switch (models.Port)
             {
                 case "033":
                     portno = "33";
+                    layer = "1";
                     break;
                 case "039":
                     portno = "39";
+                    layer = "1";
                     break;
                 case "044":
                     portno = "44";
+                    layer = "1";
                     break;
                 case "051":
                     portno = "51";
+                    layer = "1";
                     break;
             }
 
-            WcsDeviceDto mod = new WcsDeviceDto();
-            var plcConn = mod.PLCUtil;
+            var modPlc = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.ConveyorLine && s.Text == (layer + "灞傛墭鐩樿緭閫佺嚎")).First();
+            if (modPlc == null)
+                throw Oops.Bah("鏈壘鍒拌緭閫佺嚎PLC");
+            PLCUtil plcConn = new PLCUtil(modPlc);
             //鑾峰彇宸ヤ綅鐐逛綅淇℃伅
             var listPlcDevice = _db.Queryable<WcsDevice>().Where(s=>s.LedIP != null && s.StationNum == portno).First();
             var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "浠诲姟鍙�").First();
             plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, models.TaskNo);//鍐欏叆浠诲姟鍙�
                                                                                                               //
-            modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS娴佺▼瀛�").First();
+            modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS").First();
             var ret = plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, "140");//鍐欏叆寮�濮嬫斁璐т俊鍙�
             if (ret.IsSucceed)
             {
@@ -532,27 +545,34 @@
             Log.Information("鎺ユ敹WMS鍏ュ簱鏀捐揣纭锛屾斁璐у彛锛�" + models.Port + "鍏ュ簱鍙�");
 
             var portno = "";
+            var layer = "3";
             switch (models.Port)
             {
                 case "033":
                     portno = "33";
+                    layer = "1";
                     break;
                 case "039":
                     portno = "39";
+                    layer = "1";
                     break;
                 case "044":
                     portno = "44";
+                    layer = "1";
                     break;
                 case "051":
                     portno = "51";
+                    layer = "1";
                     break;
             }
 
-            WcsDeviceDto mod = new WcsDeviceDto();
-            var plcConn = mod.PLCUtil;
+            var modPlc = _db.Queryable<WcsPlc>().Where(s => s.Type == PLCTypeEnum.ConveyorLine && s.Text == (layer + "灞傛墭鐩樿緭閫佺嚎")).First();
+            if (modPlc == null)
+                throw Oops.Bah("鏈壘鍒拌緭閫佺嚎PLC");
+            PLCUtil plcConn = new PLCUtil(modPlc);
             //鑾峰彇宸ヤ綅鐐逛綅淇℃伅
             var listPlcDevice = _db.Queryable<WcsDevice>().Where(s => s.LedIP != null && s.StationNum == portno).First();
-            var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS娴佺▼瀛�").First();
+            var modDevice = _db.Queryable<WcsPosition>().Where(s => s.StationNum == portno && s.Text == "WCS").First();
 
             var ret = plcConn.SetPlcDBValue(modDevice.PosType, listPlcDevice.DbNumber, modDevice.PlcPos, "160");//鏀惧畬鎴�
             if (ret.IsSucceed)
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index ac69156..1366feb 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -1771,7 +1771,7 @@
                             if (ret.IsSucceed)
                             {
                                 //鍥炰紶WMS鍙斁淇″彿
-                                strMsg = http.RequesContinueAgv(res1.ToString(),modTask.StationNum);
+                                strMsg = http.RequesContinueAgv(val.ToString(), modDevice.StationNum);
                                 if (!strMsg.Contains("-1"))
                                 {
                                     // 鎻掑叆浠诲姟鏄庣粏 
@@ -1780,7 +1780,6 @@
                                         PlcId = modDevice.Id,
                                         PlcName = modDevice.Text,
                                         InteractiveMsg = $"鍐欏叆鎸囦护151锛歿modDevice.StationNum}宸ヤ綅鍙帴鍙桝GV鏀捐揣鍏ュ簱",
-                                        PalletNo = modTask.PalletNo,
                                         Status = TaskStatusEnum.Complete,
                                         StartLocat = modDevice.StationNum
                                     };
diff --git a/Admin.NET/WCS.Application/PLC/PLCUtil.cs b/Admin.NET/WCS.Application/PLC/PLCUtil.cs
index b771e4e..d441f6b 100644
--- a/Admin.NET/WCS.Application/PLC/PLCUtil.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCUtil.cs
@@ -17,6 +17,7 @@
     public readonly string PlcIP;
     private SiemensClient _client;
     private WcsPlc _modPlc;
+    private Task<WcsPlc> modPlc;
     private readonly object OLock = new object();
     public PLCUtil(WcsPlc modPlc)
     {
@@ -26,6 +27,7 @@
         _client = new SiemensClient((SiemensVersion)modPlc.PLCType, modPlc.IP, modPlc.Port);
         _client.Open();
     }
+
     public bool Connected
     {
         get { return _client.Connected; }
diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index 7aa62f6..e9ba408 100644
--- a/Admin.NET/WCS.Application/Util/HttpService.cs
+++ b/Admin.NET/WCS.Application/Util/HttpService.cs
@@ -508,7 +508,7 @@
             Port = port
         };
         var result = (url + "/api/DownAPi/AgcontinueTask").SetBody(str, "application/json", Encoding.UTF8).PostAsAsync<IsBaleModel>().Result;
-        Log.Information("璋冪敤WMS鎺ュ彛鍙嶉鎷嗚啘寮傚父鎺ュ彛" + result.ToJson());
+        Log.Information("璋冪敤WMS鎺ュ彛鍙嶉AGV鍙斁鎺ュ彛" + result.ToJson());
         return result.Success.ToString();
     }
 }

--
Gitblit v1.8.0