From 9a7c4fea85f85824dddeac9e6ce6ebb75ccee679 Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期二, 29 四月 2025 15:26:15 +0800 Subject: [PATCH] 修改问题晚上充电逻辑 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 81 ++++++++++++++++++++++++---------------- 1 files changed, 49 insertions(+), 32 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index bc201db..e8a2fe2 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -278,22 +278,27 @@ { return; // 灞傛暟閿欒 } - //娣诲姞灏忚溅鍏呯數浣嶇疆 - WcsTask modCarTask = new WcsTask() + var getCdTask = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.Levels == 888 && m.EndLocate == endLocateCar && m.Type == PLCTypeEnum.ShuttleCar && m.Status <= TaskStatusEnum.Doing); + if (getCdTask == null) { - TaskNo = _taskService.GetTaskCode(), - TaskType = TaskTypeEnum.Move, - Type = PLCTypeEnum.ShuttleCar, - StartLocate = carXYZ, - EndLocate = endLocateCar, - PalletNo = "", - Status = TaskStatusEnum.Wait, - Levels = 888, //鍏呯數绛夌骇浼樺厛浠诲姟绛夌骇 - Origin = "WCS", - CarIp = modDevice.PlcIdIP - }; - _db.Insertable(modCarTask).ExecuteCommand(); - HubUtil.PublicTask(modCarTask.Adapt<WcsTaskOutput>()); + //娣诲姞灏忚溅鍏呯數浣嶇疆 + WcsTask modCarTask = new WcsTask() + { + TaskNo = _taskService.GetTaskCode(), + TaskType = TaskTypeEnum.Move, + Type = PLCTypeEnum.ShuttleCar, + StartLocate = carXYZ, + EndLocate = endLocateCar, + PalletNo = "", + Status = TaskStatusEnum.Wait, + Levels = 888, //鍏呯數绛夌骇浼樺厛浠诲姟绛夌骇 + Origin = "WCS", + CarIp = modDevice.PlcIdIP + }; + _db.Insertable(modCarTask).ExecuteCommand(); + HubUtil.PublicTask(modCarTask.Adapt<WcsTaskOutput>()); + } + } else if(resultDl.IsSucceed && valueDl < (int)FourWayCarDLEnum.Dl2) { @@ -326,32 +331,37 @@ var endLocateCar = ""; if (valuez == 1) { - endLocateCar = "011201"; + endLocateCar = "210401"; } else if (valuez == 2) { - endLocateCar = "011202"; + endLocateCar = "210402"; } else { return; // 灞傛暟閿欒 } - //娣诲姞灏忚溅鍏呯數浣嶇疆 - WcsTask modCarTask = new WcsTask() + var getCdTask = _db.Queryable<WcsTask>().First(m => m.IsDelete == false && m.Levels == 888 && m.EndLocate == endLocateCar && m.Type == PLCTypeEnum.ShuttleCar && m.Status <= TaskStatusEnum.Doing); + if (getCdTask == null) { - TaskNo = _taskService.GetTaskCode(), - TaskType = TaskTypeEnum.Move, - Type = PLCTypeEnum.ShuttleCar, - StartLocate = carXYZ, - EndLocate = endLocateCar, - PalletNo = "", - Status = TaskStatusEnum.Wait, - Levels = 888, //鍏呯數绛夌骇浼樺厛浠诲姟绛夌骇 - Origin = "WCS", - CarIp = modDevice.PlcIdIP - }; - _db.Insertable(modCarTask).ExecuteCommand(); - HubUtil.PublicTask(modCarTask.Adapt<WcsTaskOutput>()); + //娣诲姞灏忚溅鍏呯數浣嶇疆 + WcsTask modCarTask = new WcsTask() + { + TaskNo = _taskService.GetTaskCode(), + TaskType = TaskTypeEnum.Move, + Type = PLCTypeEnum.ShuttleCar, + StartLocate = carXYZ, + EndLocate = endLocateCar, + PalletNo = "", + Status = TaskStatusEnum.Wait, + Levels = 888, //鍏呯數绛夌骇浼樺厛浠诲姟绛夌骇 + Origin = "WCS", + CarIp = modDevice.PlcIdIP + }; + _db.Insertable(modCarTask).ExecuteCommand(); + HubUtil.PublicTask(modCarTask.Adapt<WcsTaskOutput>()); + } + } } @@ -463,6 +473,13 @@ carTaskNext.CarTaskNo = carTaskNo; _db.Updateable(carTaskNext).ExecuteCommand(); //娓呴櫎灏忚溅绌洪棽鏃堕棿 + var carTimeClear = _db.Queryable<WcsCarTime>().First(m=>m.IsDelete == false && m.CarIp == modDevice.PlcIdIP); + if (carTimeClear!= null) + { + carTimeClear.CarTime = null; + carTimeClear.UpdateTime = DateTime.Now; + _db.Updateable(carTimeClear).ExecuteCommand(); + } var taskMonitor = new WcsTaskMonitor() { TaskNo = carTaskNext.TaskNo, -- Gitblit v1.8.0