From 2624ebffaa8b8abf1432fe011d08704f840e0bcf Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-JIE70N9> Date: 星期二, 02 九月 2025 11:33:27 +0800 Subject: [PATCH] 优化四向车任务完成判断 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index 0177093..ca7539a 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -41,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; //} @@ -209,7 +209,8 @@ HubUtil.PublicTaskMonitor(taskMonitor.Adapt<WcsTaskMonitorOutput>()); } //鑾峰彇璺緞2鐨勪换鍔� 涓嬪彂 - carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First(); + //carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First(); + carTaskNext = _db.Queryable<WcsCarTasks>().Where(m => m.IsDelete == false && m.TaskNo == carTask.TaskNo && m.CarNo == modDevice.PlcIdIP && m.CarTaskNo > valueTaskStr && m.Status <= TaskStatusEnum.Doing).OrderBy(m => m.CreateTime).First(); //鎬讳换鍔′笅娌℃湁鍏朵粬鏈墽琛屽皬杞︾殑浠诲姟 鍙樻洿鎬讳换鍔′俊鎭� if (carTaskNext == null && modFinshTask != null && modFinshTask.Status != TaskStatusEnum.Complete) { @@ -543,18 +544,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(); -- Gitblit v1.8.0