From c827fe7b0c5b3b444d76ba0d96a2649c764630dd Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期四, 14 十一月 2024 16:36:08 +0800 Subject: [PATCH] 修改WCS、WMS出入库逻辑 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs | 44 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 39 insertions(+), 5 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs" index 813408f..332cf63 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_AGV.cs" @@ -1,6 +1,8 @@ 锘縰sing System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; +using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Common.TaskEnum; @@ -8,6 +10,8 @@ using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; +using WIDESEAWCS_QuartzJob.Models; +using WIDESEAWCS_QuartzJob.StackerCrane.Enum; using WIDESEAWCS_TaskInfoService; namespace WIDESEAWCS_TaskInfoService @@ -27,12 +31,35 @@ if (saveModel == null) throw new Exception("鏇存柊浠诲姟淇℃伅涓虹┖"); Dt_Task dt_Task = GetTaskInfo(Convert.ToInt32(saveModel.outID)); if (dt_Task == null) throw new Exception($"鏈壘鍒颁换鍔″彿涓恒�恵saveModel.outID}銆戠殑浠诲姟"); - dt_Task.TaskState = saveModel.status switch + if (dt_Task.TaskState >= (int)TaskInStatusEnum.AGV_InFinish) { - "02" => (int)TaskInStatusEnum.AGV_InExecuting, - "08" => (int)TaskInStatusEnum.AGV_InFinish, - _ => throw new Exception($"鏈畾涔変换鍔$姸鎬併�恵saveModel.status}銆�"), - }; + return content = WebResponseContent.Instance.Error($"璇ヤ换鍔$姸鎬佷笉鍙烦杞埌涓嬩竴姝�,浠诲姟鍙�:銆恵dt_Task.TaskNum}銆�,浠诲姟鐘舵��:銆恵GetEnumDescription(Enum.Parse<TaskInStatusEnum>(Enum.GetName(typeof(TaskInStatusEnum), dt_Task.TaskState)))}銆�"); + } + switch (saveModel.status) + { + case "02": + dt_Task.TaskState = (int)TaskInStatusEnum.AGV_InExecuting; + break; + case "08": + { + dt_Task.TaskState = (int)TaskInStatusEnum.AGV_InFinish; + dt_Task.CurrentAddress = dt_Task.NextAddress; + List<Dt_Router> routers = _routerService.QueryNextRoutes(dt_Task.CurrentAddress, dt_Task.TargetAddress); + if (routers.Count > 0) + { + dt_Task.NextAddress = routers.FirstOrDefault().ChildPosi; + } + } + break; + default: + throw new Exception($"鏈畾涔変换鍔$姸鎬併�恵saveModel.status}銆�"); + } + //dt_Task.TaskState = saveModel.status switch + //{ + // "02" => (int)TaskInStatusEnum.AGV_InExecuting, + // "08" => (int)TaskInStatusEnum.AGV_InFinish, + // _ => throw new Exception($"鏈畾涔変换鍔$姸鎬併�恵saveModel.status}銆�"), + //}; content = UpdateData(dt_Task); } catch (Exception ex) @@ -46,5 +73,12 @@ // message = content.Message, //}; } + + public static string GetEnumDescription<T>(T value) where T : Enum + { + FieldInfo fieldInfo = typeof(T).GetField(value.ToString()); + DescriptionAttribute attribute = (DescriptionAttribute)Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute)); + return attribute?.Description ?? value.ToString(); + } } } -- Gitblit v1.9.3