From cde56aae50adc11ff8db84e424d873843c566bfd Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期一, 24 二月 2025 23:40:41 +0800 Subject: [PATCH] 优化WCS移库逻辑 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs" index c1cdd22..b1059cc 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs" @@ -71,32 +71,48 @@ HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>()); #endregion } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup && task.TaskState == (int)TaskRelocationStatusEnum.SC_RelocationExecuting)//绉诲簱 { int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskRelocationStatusEnum>(); + task.CurrentAddress = task.NextAddress; + task.NextAddress = string.Empty; task.TaskState = nextStatus; task.ModifyDate = DateTime.Now; task.Modifier = "System"; - - task.CurrentAddress = task.NextAddress; - task.NextAddress = string.Empty; - BaseDal.UpdateData(task); + WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(task); + if (task.TargetIsPickPlace) + { + task.TaskState = (int)TaskRelocationStatusEnum.RelocationFinish; + AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete); + } + else + BaseDal.UpdateData(task); _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ搴撳畬鎴�"); //todo 璋冪敤WMS绉诲簱瀹屾垚 + HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>()); } - else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup && task.TaskState == (int)TaskCarStatusEnum.SC_CarExecuting) + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup)//绉昏溅/绉昏溅鍏呯數 { - int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskCarStatusEnum>(); - task.TaskState = nextStatus; task.ModifyDate = DateTime.Now; task.Modifier = "System"; task.CurrentAddress = task.NextAddress; task.NextAddress = string.Empty; - BaseDal.UpdateData(task); - - _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ杞﹀畬鎴�"); + if (task.TaskState == (int)TaskCarStatusEnum.SC_CarExecuting) + { + int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskCarStatusEnum>(); + task.TaskState = nextStatus; + BaseDal.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ杞﹀畬鎴�"); + } + else if (task.TaskState == (int)CarChargingTaskEnum.SC_CarExecuting) + { + int nextStatus = task.TaskState.GetNextNotCompletedStatus<CarChargingTaskEnum>(); + task.TaskState = nextStatus; + BaseDal.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ杞﹀畬鎴�"); + } } else { -- Gitblit v1.9.3