From 9c3ee278c31a79e2e36b635651cef0b2dd431260 Mon Sep 17 00:00:00 2001 From: huanghongfeng <huanghongfeng@hnkhzn.com> Date: 星期一, 22 九月 2025 16:55:57 +0800 Subject: [PATCH] 1 --- 代码管理/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs | 164 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 127 insertions(+), 37 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" index 9a59953..e1d87ab 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskExecuteDetailService.cs" @@ -26,6 +26,7 @@ using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Enums; +using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; @@ -35,40 +36,43 @@ public class TaskExecuteDetailService : ServiceBase<Dt_TaskExecuteDetail, ITaskExecuteDetailRepository>, ITaskExecuteDetailService { private readonly ITaskRepository _taskRepository; + private readonly ITask_HtyRepository _task_Hty; - public TaskExecuteDetailService(ITaskExecuteDetailRepository BaseDal, ITaskRepository taskRepository) : base(BaseDal) + public TaskExecuteDetailService(ITaskExecuteDetailRepository BaseDal, ITaskRepository taskRepository,ITask_HtyRepository task_Hty) : base(BaseDal) { _taskRepository = taskRepository; + _task_Hty = task_Hty; } public void AddTaskExecuteDetail(int taskId, string description = "") { - try - { - bool isNormal = true; - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId); - if (task == null) return; - int taskNum = task.TaskNum; - int taskState = task.TaskState; + bool isNormal = true; + Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId); + if (task == null) return; + int taskNum = task.TaskNum; + int taskState = task.TaskState; + int TaskStateremark = task.RGVTaskType; //鏂板RGv浠诲姟绫诲瀷 - - Dt_TaskExecuteDetail taskExecuteDetail = new() - { - IsManual = App.User.UserId > 0, - IsNormal = isNormal, - TaskNum = taskNum, - TaskId = taskId, - TaskState = taskState, - Description = description, - CurrentAddress = task.CurrentAddress, - NextAddress = task.NextAddress, - }; - BaseDal.AddData(taskExecuteDetail); - } - catch (Exception ex) - { + string getstastr = GetEnumDescription(taskState); + string getrgvtasktyperema = GetEnumDescription2(TaskStateremark); - } + + Dt_TaskExecuteDetail taskExecuteDetail = new() + { + IsManual = App.User.UserId > 0, + IsNormal = isNormal, + TaskNum = taskNum, + TaskId = taskId, + TaskState = taskState, + Description = description, + CurrentAddress = task.CurrentAddress, + NextAddress = task.NextAddress, + Roadway = task.Roadway, //鏂板鎵ц璁惧 + RGVTaskType = TaskStateremark, + TaskStateremark = getstastr, + RGVTaskTyperemark = getrgvtasktyperema + }; + BaseDal.AddData(taskExecuteDetail); } public void AddTaskExecuteDetail(List<int> taskNums, string description = "") @@ -123,11 +127,32 @@ int active = -1; List<object> list = new(); List<int> steps = new(); - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum); + + int TaskType = 0; + int TaskState = 0; + Dt_Task_hty task_h = null; + + Dt_Task task = _taskRepository.QueryData().Where(x=>x.TaskNum == taskNum).FirstOrDefault(); if (task != null) { + TaskType = task.TaskType; + TaskState = task.TaskState; + } + else if(task == null) + { + task_h = _task_Hty.QueryData().Where(x => x.TaskNum == taskNum).FirstOrDefault(); + TaskType = task_h.TaskType; + TaskState = task_h.TaskState; + } + else + { + return content.Error("浠诲姟涓嶅瓨鍦�"); + } - if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(task.TaskType.ToString()).ToString(), out int result)) + if (task != null || task_h != null) + { + + if (!int.TryParse(Enum.Parse<TaskOutboundTypeEnum>(TaskType.ToString()).ToString(), out int result)) { steps = Enum.GetValues(typeof(TaskOutStatusEnum)).Cast<int>().Where(x => x <= (int)TaskOutStatusEnum.OutFinish).ToList(); @@ -147,9 +172,9 @@ list.Add(obj); } } - else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(task.TaskType.ToString()).ToString(), out result)) + else if (!int.TryParse(Enum.Parse<TaskInboundTypeEnum>(TaskType.ToString()).ToString(), out result)) { - steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().ToList(); + steps = Enum.GetValues(typeof(TaskInStatusEnum)).Cast<int>().Where(x => x <= (int)TaskInStatusEnum.InPending).ToList(); foreach (var item in steps) { object obj; @@ -166,20 +191,21 @@ list.Add(obj); } } - else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(task.TaskType.ToString()).ToString(), out result)) + else if (!int.TryParse(Enum.Parse<TaskRelocationTypeEnum>(TaskType.ToString()).ToString(), out result)) { //todo 璋冪敤WMS绉诲簱瀹屾垚 } - + else { - throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); + throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵taskNum}銆�,浠诲姟绫诲瀷:銆恵TaskType}銆�"); } - active = steps.IndexOf(task.TaskState) + 1; + active = steps.IndexOf(TaskState) + 1; } - - content = WebResponseContent.Instance.OK(data: new { active, list }); + string curradd = task.CurrentAddress; + string nextadd = task.NextAddress; + content = WebResponseContent.Instance.OK(data: new { active, list,curradd, nextadd }); } catch (Exception ex) { @@ -193,10 +219,31 @@ WebResponseContent content = new(); try { - Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum); + //Dt_Task task = _taskRepository.QueryFirst(x => x.TaskNum == taskNum); + + + Dt_Task task = _taskRepository.QueryData().Where(x => x.TaskNum == taskNum).FirstOrDefault(); + + int TaskNum = 0; + + Dt_Task_hty task_h = null; if (task != null) { - List<Dt_TaskExecuteDetail> taskExecuteDetails = BaseDal.QueryData(x => x.TaskId == task.TaskId, new Dictionary<string, SqlSugar.OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), SqlSugar.OrderByType.Asc } }); + TaskNum = task.TaskNum; + } + else if (task == null) + { + task_h = _task_Hty.QueryData().Where(x => x.TaskNum == taskNum).FirstOrDefault(); + TaskNum = task_h.TaskNum; + } + else + { + return content.Error("浠诲姟涓嶅瓨鍦�"); + } + + if (task != null || task_h != null) + { + List<Dt_TaskExecuteDetail> taskExecuteDetails = BaseDal.QueryData(x => x.TaskNum == TaskNum, new Dictionary<string, SqlSugar.OrderByType> { { nameof(Dt_TaskExecuteDetail.TaskDetailId), SqlSugar.OrderByType.Asc } }); content = WebResponseContent.Instance.OK(data: taskExecuteDetails); } @@ -211,5 +258,48 @@ } return content; } + + + + + + /// <summary> + /// 浠诲姟绫诲瀷鏋氫妇 + /// </summary> + public string GetEnumDescription(int enumValue) + { + var enumType = typeof(TaskInStatusEnum); + var field = enumType.GetFields() + .FirstOrDefault(f => f.FieldType == enumType && + (int)f.GetValue(null) == enumValue); + + if (field != null) + { + var descriptionAttribute = field.GetCustomAttributes(typeof(DescriptionAttribute), false) + .FirstOrDefault() as DescriptionAttribute; + + return descriptionAttribute?.Description ?? field.Name; + } + + return string.Empty; + } + + public string GetEnumDescription2(int enumValue) + { + var enumType = typeof(RGVTaskTypeEnum); + var field = enumType.GetFields() + .FirstOrDefault(f => f.FieldType == enumType && + (int)f.GetValue(null) == enumValue); + + if (field != null) + { + var descriptionAttribute = field.GetCustomAttributes(typeof(DescriptionAttribute), false) + .FirstOrDefault() as DescriptionAttribute; + + return descriptionAttribute?.Description ?? field.Name; + } + + return string.Empty; + } } } -- Gitblit v1.9.3