| | |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | // 收集重复任务的信息 |
| | | var duplicateTasks = new List<DuplicateTaskDto>(); |
| | | // 倒序遍历,安全删除并收集被移除的项 |
| | | for (int i = taskDTOs.Count - 1; i >= 0; i--) |
| | | { |
| | | var item = taskDTOs[i]; |
| | | var exists = BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode); |
| | | if (exists != null) |
| | | { |
| | | duplicateTasks.Add(new DuplicateTaskDto |
| | | { |
| | | TaskNum = exists.TaskNum, |
| | | PalletCode = exists.PalletCode, |
| | | TaskType = exists.TaskType, |
| | | TaskStatus = exists.TaskStatus |
| | | }); |
| | | taskDTOs.RemoveAt(i); |
| | | } |
| | | } |
| | | |
| | | // 调用 ReceiveWMSTask 创建 WCS 任务 |
| | | content = ReceiveWMSTask(taskDTOs); |
| | | |
| | | // 如果有重复任务,修改返回结果 |
| | | if (duplicateTasks.Count > 0 && content.Status) |
| | | { |
| | | var result = new ReceiveTaskResultDto |
| | | { |
| | | Success = true, |
| | | Message = content.Message + $",其中{duplicateTasks.Count}个任务在WCS中已存在", |
| | | CreatedCount = taskDTOs.Count, |
| | | DuplicateTasks = duplicateTasks |
| | | }; |
| | | content.Data = result; |
| | | } |
| | | |
| | | return content; |
| | | } |
| | | catch (Exception ex) |