dengjunjie
6 天以前 fd073a00f6813eada92b08f1884b115295ac1177
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_StackCrane.cs
@@ -45,65 +45,76 @@
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机出库完成");
                    //todo åŒæ­¥åˆ°WMS
                    WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(task);
                    HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>());
                    //暂不考虑多个出库口
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup && task.TaskState == (int)TaskInStatusEnum.SC_InExecuting)
                {
                    //todo 
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    task.CurrentAddress = task.NextAddress;
                    task.NextAddress = string.Empty;
                    task.TaskState = nextStatus;
                    task.ModifyDate = DateTime.Now;
                    task.Modifier = "System";
                    WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(task);
                    if (task.TargetIsPickPlace)
                    {
                        task.TaskState = (int)TaskInStatusEnum.InFinish;
                        AddTask_Hty(task, TaskOperateTypeEnum.AutoComplete);
                    }
                    else
                        BaseDal.UpdateData(task);
                    _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机入库完成");
                    #region å‘WMS反馈堆垛机任务完成
                    WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(task);
                    var ResultData = HttpHelper.PostAsync(WMSInterfaceAddress.UpdateTaskStatus, WMStask.ToJson(), headers: new Dictionary<string, string>());
                    if (ResultData.Result == null) throw new Exception($"任务状态同步到WMS失败!任务号:{task.TaskNum}");
                    content = JsonConvert.DeserializeObject<WebResponseContent>(ResultData.Result);
                    if (content.Status)
                    {
                        //isDel = content.Status;
                        BaseDal.UpdateData(task);
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机入库完成");
                    }
                    #endregion
                    #region MyRegion
                    //WMSTaskDTO taskDTO = new WMSTaskDTO()
                    //{
                    //    TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
                    //    Grade = 1,
                    //    PalletCode = task.PalletCode + "S",
                    //    RoadWay = "SC01",
                    //    SourceAddress = task.TargetAddress,
                    //    TargetAddress = "CLOutAreaA",
                    //    TaskState = (int)TaskOutStatusEnum.OutNew,
                    //    Id = 0,
                    //    TaskType = (int)TaskOutboundTypeEnum.Outbound
                    //};
                    //content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
                    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)//移库
                {
                    //todo è°ƒç”¨WMS移库完成
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup && task.TaskState == (int)TaskCarStatusEnum.SC_CarExecuting)
                {
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskCarStatusEnum>();
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskRelocationStatusEnum>();
                    task.CurrentAddress = task.NextAddress;
                    task.NextAddress = string.Empty;
                    task.TaskState = nextStatus;
                    task.ModifyDate = DateTime.Now;
                    task.Modifier = "System";
                    WMSTaskDTO WMStask = _mapper.Map<WMSTaskDTO>(task);
                    if (task.TargetIsPickPlace)
                    {
                        task.TaskState = (int)TaskRelocationStatusEnum.RelocationFinish;
                        WMStask.TaskState = task.TaskState;
                        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.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.CarChargingSC_CarExecuting)
                    {
                        int nextStatus = task.TaskState.GetNextNotCompletedStatus<CarChargingTaskEnum>();
                        task.TaskState = nextStatus;
                        BaseDal.UpdateData(task);
                        _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"堆垛机移车完成");
                    }
                }
                else
                {