From 70cbc3af5300fe44b48215f8520f465ffa231df6 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-JIE70N9>
Date: 星期二, 22 七月 2025 09:55:17 +0800
Subject: [PATCH] 修改问题

---
 Admin.NET/WCS.Application/PLC/PLCService.cs |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 62a31a0..ccbe536 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -9,6 +9,7 @@
 using Furion.Logging;
 using IoTClient;
 using NewLife.Reflection;
+using Newtonsoft.Json;
 using Org.BouncyCastle.Ocsp;
 using SixLabors.ImageSharp.ColorSpaces;
 using WCS.Application.Entity;
@@ -40,7 +41,7 @@
                     AGV(mod);                                       // AGV璋冨害
                     break;
                 case PLCTypeEnum.ShuttleCar: //绌挎杞�
-                    //if (mod.PlcIdIP == "10.26.254.28") 
+                    //if (mod.PlcIdIP == "10.26.254.28")
                     //{
                     //    break;
                     //}
@@ -542,18 +543,23 @@
 
                     var modPosTaskStatus2 = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鐘舵��");
                     var (resultTaskStatus2, valueTaskStatus2) = plcConn.GetDBValue(modPosTaskStatus.PosType, modPosTaskStatus.PlcPos);
-                    if (resultCar.IsSucceed && valueCar == 1 && resultTaskStatus2.IsSucceed && (valueTaskStatus2 == 0 || valueTaskStatus2 == 1))
+                    if (resultCar.IsSucceed && valueCar == 1 &&  resultTaskStatus2.IsSucceed && (valueTaskStatus2 == 0 || valueTaskStatus2 == 1))
                     {
-                        //鍏堝浣�
-                        var modRest = modDevice.listStation.FirstOrDefault(s => s.Text == "澶嶄綅");
-                        plcConn.SetDBValue(modRest.PosType, modRest.PlcPos, "1");
+                        var carnew = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == modTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status == TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First();
+
+                        if (carnew == null) 
+                        {
+                            //鍏堝浣�
+                            var modRest = modDevice.listStation.FirstOrDefault(s => s.Text == "澶嶄綅");
+                            plcConn.SetDBValue(modRest.PosType, modRest.PlcPos, "1");
+                        }
                     }
                     else
                     {
                         return;
                     }
 
-                        List<Result> listResult = new List<Result>();
+                    List<Result> listResult = new List<Result>();
                     //鑾峰彇灏忚溅浠诲姟鍙�
                     var carTaskNo = FourWayCarUtil.GetTaskNo();
 
@@ -1430,10 +1436,17 @@
             
             if (taskModel.taskType == "DPJRK")
             {
+                //var code = "[{\"type\":\"SITE\",\"code\":\"B100101\"},{\"type\":\"PILE_COUNT\",\"code\":\"8\"}]";
+                var code = new List<object>()
+                {
+                    new {type = "SITE" , code = modTask.StartLocate},
+                    new { type = "PILE_COUNT", code = modTask.Qty }
+                };
+                
                 taskModel.targetRoute.Add(new targetRoute() { 
                     seq = 0,
                     type = "MIX_CONDITION",
-                   // code = "[{\"type":\"SITE", code = modTask.StartLocate },new { type = "PILE_COUNT", code = modTask.Qty }]"
+                    code = JsonConvert.SerializeObject(code) // "[{\"type":\"SITE", code = modTask.StartLocate },new { type = "PILE_COUNT", code = modTask.Qty }]"
 
 
                 });

--
Gitblit v1.8.0