chenyong
2024-11-18 10797a680feaa24bdc17d10ac085e323be807819
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -132,7 +132,12 @@
            WebResponseContent content = new WebResponseContent();
            try
            {
                #region 真实数据
                var hasTask = BaseDal.QueryFirst(x => x.PalletCode == palletCode);
                if (hasTask != null)
                {
                    return content;
                }
                #region 请求入库任务巷道
                // TODO: 调用接口获取下一个地址
                // 创建请求对象
                RequestTaskDto request = new RequestTaskDto()
@@ -407,21 +412,28 @@
                int oldState = task.TaskState;
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish)
                    {
                        return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    }
                    //if (task.TaskState >= (int)TaskOutStatusEnum.OutFinish)
                    //{
                    //    return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    //}
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>();
                    task.TaskState = nextStatus;
                    if (task.TaskState == (int)TaskOutStatusEnum.Line_OutFinish)
                    {
                        task.ModifyDate = DateTime.Now;
                        task.Modifier = "System";
                        BaseDal.DeleteData(task);
                    }
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    if (task.TaskState >= (int)TaskInStatusEnum.InFinish)
                    {
                        return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    }
                    //if (task.TaskState >= (int)TaskInStatusEnum.InFinish)
                    //{
                    //    return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                    //}
                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
                    task.TaskState = nextStatus;
@@ -429,7 +441,7 @@
                    if (task.TaskState == (int)TaskInStatusEnum.Line_InFinish)
                    {
                        #region 真实数据
                        #region 入库调用接口获取货位地址
                        // TODO: 调用接口获取货位地址
                        // 创建请求对象
                        RequestTaskDto taskDto = new RequestTaskDto()
@@ -439,7 +451,7 @@
                        };
                        // 发送请求并等待响应
                        var abc = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestTaskAsync", taskDto.ToJsonString()).Result;
                        var abc = HttpHelper.PostAsync("http://127.0.0.1:5000/api/Task/RequestLocationTaskAsync", taskDto.ToJsonString()).Result;
                        if (abc == null)
                            return content.Error();
                        // 反序列化响应内容
@@ -457,6 +469,14 @@
                        task.TargetAddress = task.NextAddress;
                        #endregion
                    }
                    else if (task.TaskState == (int)TaskInStatusEnum.SC_InFinish)
                    {
                        task.ModifyDate = DateTime.Now;
                        task.Modifier = "System";
                        BaseDal.DeleteData(task);
                    }
                }
                else
@@ -586,8 +606,11 @@
                #region WMS同步任务完成
                //var x = new { taskNum = taskNum };
                var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync?taskNum={taskNum}").Result;
                var keys = new Dictionary<string, object>()
                {
                    {"taskNum", taskNum}
                };
                var result = HttpHelper.GetAsync($"http://127.0.0.1:5000/api/Task/CompleteTaskAsync", keys).Result;
                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
                #endregion
                #region  更新任务状态