From 3b4ab19a4b05e098e971746c692a0d012fde7445 Mon Sep 17 00:00:00 2001
From: liudl <673013083@qq.com>
Date: 星期五, 26 九月 2025 17:49:12 +0800
Subject: [PATCH] 修改问题

---
 Admin.NET/WCS.Application/PLC/PLCService.cs |  110 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 70 insertions(+), 40 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 1e2f8f8..32d8e27 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -218,11 +218,16 @@
 
                         //淇敼led灞忎俊鎭�
                         var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == taskInfo.EndStation && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business);
-                        ledText += $"浠诲姟绫诲瀷:{modTask.TaskType.GetDescription()}\n\n";
-                        ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+                        //ledText += $"浠诲姟绫诲瀷:{modTask.TaskType.GetDescription()}\n\n";
+                        //ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+                        //ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
+                        //ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
+                        //ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+                        ledText += $"鍚嶇О:{modTask.SkuName}\n";
+                        ledText += $"鎵瑰彿:{modTask.LotNo}\n";
+                        ledText += $"鍏ュ簱鏁伴噺:{modTask.Qty}\n";
                         ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
-                        ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
-                        ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+
                         LedDisplay(ledDevice.LedIP, ledText);
                     }
                 }
@@ -453,13 +458,18 @@
 
                                     // led鏄剧ず鍐呭
                                     var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modTask.StartLocate && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business);
-                                    ledText += $"鍏ュ簱瀹屾垚\n\n";
+                                    //ledText += $"鍏ュ簱瀹屾垚\n\n";
 
-                                    ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+                                    //ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+                                    //ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
+
+                                    //ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
+                                    //ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+
+                                    ledText += $"鍚嶇О:{modTask.SkuName}\n";
+                                    ledText += $"鎵瑰彿:{modTask.LotNo}\n";
+                                    ledText += $"鍏ュ簱鏁伴噺:{modTask.Qty}\n";
                                     ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
-
-                                    ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
-                                    ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
 
                                     LedDisplay(ledDevice.LedIP, ledText);
                                     // 姝ゅ娣诲姞涓嶇┖璺戜笟鍔�
@@ -704,9 +714,9 @@
                         //listResult.Add(plcConn.SetPlcDBValue(modPosEndStorey.PosType, modDevice.DbNumber, modPosEndStorey.PlcPos, storey));
 
                         PlcTaskInfo taskInfo = new PlcTaskInfo();
-                        taskInfo = PLCCommon.GetEndPai(modTask.EndRoadway.Substring(1, 2), modTask.EndLocate.Substring(2, 2),
-                                        modTask.EndLocate.Substring(0, 2), modTask.EndLocate.Substring(4, 2),
-                                        modTask.EndLocate.Substring(6, 2));
+                        taskInfo = PLCCommon.GetEndPai(endLocat.Substring(1, 2), endLocat.Substring(2, 2),
+                                        endLocat.Substring(0, 2), endLocat.Substring(4, 2),
+                                        endLocat.Substring(6, 2));
 
                         // 缁橮LC鍐欏叆浠诲姟鏁版嵁
                         var listResult = new List<Result>();
@@ -727,7 +737,7 @@
                         if (listResult.All(s => s.IsSucceed))
                         {
                             // 鍚戣泛鏈哄啓鍏ユ帶鍒舵祦绋嬪瓧
-                            var res = modDevice.PLCUtil.SetPlcDBValue(modDevice.PosType, modDevice.WcsPos, "862");
+                            var res = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "862");//鍐欏叆寮�濮嬫斁璐т俊鍙�
                             var modcTaskMonitor = new WcsTaskMonitor()
                             {
                                 TaskNo = modTask.TaskNo,
@@ -1069,13 +1079,18 @@
                             // led鏄剧ず鍐呭
                             try
                             {
-                                ledText += $"浠诲姟绫诲瀷:{taskInfo.TaskType.GetDescription()}\n\n";
+                                //ledText += $"浠诲姟绫诲瀷:{taskInfo.TaskType.GetDescription()}\n\n";
 
-                                ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+                                //ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+                                //ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
+
+                                //ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
+                                //ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
+                                ledText += $"鍚嶇О:{taskInfo.SkuName}\n";
+                                ledText += $"鎵瑰彿:{taskInfo.LotNo}\n";
+                                ledText += $"鍏ュ簱鏁伴噺:{taskInfo.Qty}\n";
                                 ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
 
-                                ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
-                                ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
                                 LedDisplay(modDevice.LedIP, ledText);
                                 
                             }
@@ -1251,11 +1266,15 @@
                             HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>());
                             
                             var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business);
-                            ledText += $"浠诲姟绫诲瀷:{taskInfo.TaskType.GetDescription()}\n\n";
-                            ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+                            //ledText += $"浠诲姟绫诲瀷:{taskInfo.TaskType.GetDescription()}\n\n";
+                            //ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+                            //ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
+                            //ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
+                            //ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
+                            ledText += $"鍚嶇О:{taskInfo.SkuName}\n\n";
+                            ledText += $"鎵瑰彿:{taskInfo.LotNo}\n";
+                            ledText += $"鍏ュ簱鏁伴噺:{taskInfo.Qty}\n";
                             ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
-                            ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
-                            ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
                             LedDisplay(modDevice.LedIP, ledText);
                         }
                     }
@@ -1280,16 +1299,16 @@
                     var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
                     var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
                     // 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭�
-                    var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
-                    var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos);
-                    if (!res.IsSucceed || !taskRes.IsSucceed)
-                    {
-                        break;
-                    }
+                    //var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
+                    //var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos);
+                    //if (!res.IsSucceed || !taskRes.IsSucceed)
+                    //{
+                    //    break;
+                    //}
                     string pallet = palletVal.ToString();
-                    string taskNo = taskNoVal.ToString();
+                    //string taskNo = taskNoVal.ToString();
                     // 鑾峰彇浠诲姟淇℃伅
-                    var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && s.Status == TaskStatusEnum.Doing && s.TaskType == TaskTypeEnum.In && s.TaskNo == taskNo);
+                    var modTask = _db.Queryable<WcsTask>().OrderByDescending(s=>s.CreateTime).First(s => s.IsDelete == false && s.PalletNo == pallet && s.Status == TaskStatusEnum.Doing && s.TaskType == TaskTypeEnum.In );//&& s.TaskNo == taskNo
                     if (modTask == null)
                     {
                         // 姝ゆ墭鐩樻病鏈夊搴旂殑杞Щ浠诲姟 led鏄剧ず
@@ -1458,14 +1477,19 @@
 
                         // led鏄剧ず鍐呭
                         // 鏍规嵁鐩爣宸ヤ綅鍙疯幏鍙栧搴旂殑LEDIP鍦板潃
-                        var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId);
+                        //var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId);
                         
-                        ledText += $"鍑哄簱瀹屾垚\n\n";
-                        ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
-                        ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
-                        ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
-                        ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
-                        LedDisplay(ledDevice.LedIP, ledText);
+                        //ledText += $"鍑哄簱瀹屾垚\n\n";
+                        ////ledText += $"浠诲姟鍙�:{taskInfo.TaskNo}\n";
+                        ////ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
+                        ////ledText += $"璧峰浣�:{taskInfo.StartRoadway + " " + taskInfo.StartLocate}\n";
+                        ////ledText += $"鐩爣浣�:{taskInfo.EndRoadway + " " + taskInfo.EndLocate}";
+                        //ledText += $"鍚嶇О:{taskInfo.SkuName}\n";
+                        //ledText += $"鎵瑰彿:{taskInfo.LotNo}\n";
+                        //ledText += $"鍑哄簱鏁伴噺:{taskInfo.Qty}\n";
+                        //ledText += $"鍒嗛厤鏁伴噺:{taskInfo.CompleteQty}\n";
+                        //ledText += $"鎵樼洏鍙�:{taskInfo.PalletNo}\n\n";
+                        //LedDisplay(ledDevice.LedIP, ledText);
                     }
                     // 鍙嶉WMS鍑哄簱瀹屾垚
                     //TaskReques taskReques = new TaskReques();
@@ -1545,11 +1569,17 @@
                         // led鏄剧ず鍐呭
                         var ledDevice = PLCTaskAction.plcDevices.First(m => m.StationNum == modDevice.StationNum && m.IsDelete == false && m.DeviceType == DeviceTypeEnum.Business && m.PlcId == modDevice.PlcId);
                         
-                        ledText += $"鍑哄簱瀹屾垚\n\n";
-                        ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+                        ledText += $"鍑哄簱瀹屾垚\n";
+                        //ledText += $"浠诲姟鍙�:{modTask.TaskNo}\n";
+                        //ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
+                        //ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
+                        //ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+                        ledText += $"鍚嶇О:{modTask.SkuName}\n";
+                        ledText += $"鎵瑰彿:{modTask.LotNo}\n";
+                        ledText += $"鍑哄簱鏁伴噺:{modTask.Qty}\n";
+                        ledText += $"鍒嗛厤鏁伴噺:{modTask.CompleteQty}\n";
                         ledText += $"鎵樼洏鍙�:{modTask.PalletNo}\n\n";
-                        ledText += $"璧峰浣�:{modTask.StartRoadway + " " + modTask.StartLocate}\n";
-                        ledText += $"鐩爣浣�:{modTask.EndRoadway + " " + modTask.EndLocate}";
+
                         LedDisplay(ledDevice.LedIP, ledText);
                     }
                     #endregion

--
Gitblit v1.8.0