From 2c889b38311883ceb703c4e0034c798fdaa2e21c Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期二, 12 八月 2025 23:11:57 +0800 Subject: [PATCH] 更新代码,货位分配优化等 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs | 56 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 47 insertions(+), 9 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" index 766fe96..9e7bf06 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGV_CSJExtend.cs" @@ -12,6 +12,8 @@ using WIDESEAWCS_QuartzJob; using WIDESEAWCS_DTO.Agv; using SqlSugar; +using static Dm.net.buffer.ByteArrayBuffer; +using WIDESEAWCS_Core.Enums; namespace WIDESEAWCS_Tasks { @@ -106,7 +108,7 @@ { try { - var WaitToTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_WaitToExecute.ObjToInt() && nameof(AGV_CSJJob).Contains(x.DeviceCode)).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); + var WaitToTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_WaitToExecute.ObjToInt() && nameof(AGV_CSJJob).Contains(x.DeviceCode)).OrderBy(x => x.CreateDate).ToList(); foreach (var WaitToTask in WaitToTasks) { if (WaitToTask.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) @@ -189,6 +191,50 @@ } } _taskService.UpdateData(WaitToTasks); + + //鍙栨斁璐у畬鎴愬啓鍏ュ紓甯稿鐞� + Dt_Task? TakeErroeTask = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_TakeError.ObjToInt() && nameof(AGV_CSJJob).Contains(x.DeviceCode)).First(); + if (TakeErroeTask!=null) + { + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == TakeErroeTask.CurrentAddress); + if (stationManger == null) + { + throw new Exception($"鏈壘鍒扮珯鍙伴厤缃�"); + } + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device == null) + { + throw new Exception($"鏈壘鍒板搴旇澶�"); + } + OtherDevice otherDevice = (OtherDevice)device; + otherDevice.SetValue(GroundStationDBName.W_TakeFinish, true, stationManger.StationCode); + Thread.Sleep(1000); + otherDevice.SetValue(GroundStationDBName.W_TakeFinish, false, stationManger.StationCode); + TakeErroeTask.TaskState = TaskStatusEnum.AGV_Finish.ObjToInt(); + var up = _taskRepository.DeleteAndMoveIntoHty(TakeErroeTask, OperateTypeEnum.鑷姩瀹屾垚); + _taskService.TaskCompleted(TakeErroeTask.TaskNum); + } + Dt_Task? PutErroeTask = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskStatusEnum.AGV_PutError.ObjToInt() && nameof(AGV_CSJJob).Contains(x.DeviceCode)).First(); + if (PutErroeTask != null) + { + Dt_StationManger stationManger = _stationMangerRepository.QueryFirst(x => x.AGVStationCode == PutErroeTask.NextAddress); + if (stationManger == null) + { + throw new Exception($"鏈壘鍒扮珯鍙伴厤缃�"); + } + IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger.StationDeviceCode); + if (device == null) + { + throw new Exception($"鏈壘鍒扮珯鍙伴厤缃�"); + } + OtherDevice otherDevice = (OtherDevice)device; + otherDevice.SetValue(GroundStationDBName.W_PutFinish, true, stationManger.StationCode); + PutErroeTask.CurrentAddress = stationManger.StationCode; + PutErroeTask.NextAddress = ""; + PutErroeTask.TaskState = TaskStatusEnum.AGV_Finish.ObjToInt(); + PutErroeTask.DeviceCode = "SC01_CSJ"; + var up = _taskRepository.UpdateData(PutErroeTask); + } } catch (Exception ex) { @@ -203,14 +249,6 @@ case "AGV_CSJ": { return TaskType == TaskTypeEnum.ProductionReturn.ObjToInt() ? "23" : "24"; - } - case "AGV_ZH": - { - if (TaskType == TaskTypeEnum.InboundXB.ObjToInt()) - return "20"; - else if (TaskType == TaskTypeEnum.InboundJT.ObjToInt()) - return "21"; - else return "22"; } default: throw new Exception($"璁惧缂栧彿閿欒"); -- Gitblit v1.9.3