| | |
| | | /// </summary> |
| | | /// <param name="task">任务实体。</param> |
| | | /// <param name="source">WMS任务原始数据。</param> |
| | | public void InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source) |
| | | public WebResponseContent InitializeOnReceive([NotNull] Dt_Task task, [NotNull] WMSTaskDTO source) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | int taskType = task.TaskType == (int)TaskOutboundTypeEnum.OutEmpty ? 100 : task.TaskType; |
| | | Dt_Router router = _routerService.QueryNextRoute(source.Roadway, source.TargetAddress, taskType); |
| | | if (router == null) |
| | | { |
| | | return; |
| | | return content.Error("未找到设备路由信息"); |
| | | } |
| | | |
| | | task.TaskStatus = (int)TaskOutStatusEnum.OutNew; |
| | | task.CurrentAddress = source.SourceAddress; |
| | | task.NextAddress = router.ChildPosi; |
| | | return content.OK(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | task.Modifier = "System"; |
| | | |
| | | // 通知WMS出库完成并获取返回结果 |
| | | return NotifyWMSOutboundFinish(task); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 通知WMS出库完成。 |
| | | /// </summary> |
| | | /// <param name="task">任务实体。</param> |
| | | /// <returns>通知结果。</returns> |
| | | private WebResponseContent NotifyWMSOutboundFinish(Dt_Task task) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | |
| | | // 通知WMS出库完成并获取返回结果 |
| | | var result = _httpClientHelper.Post<WebResponseContent>( |
| | | nameof(ConfigKey.OutboundFinishTaskAsync), |
| | | new StockInfoDTO { PalletCode = task.PalletCode, TaskNum = task.TaskNum }.ToJson()); |
| | | |
| | | if (!result.IsSuccess || !result.Data.Status) |
| | | { |
| | | return content.Error($"通知WMS系统堆垛机出库完成失败,任务号:【{task.TaskNum}】,托盘号:【{task.PalletCode}】,错误信息:【{result.Data?.Message}】"); |
| | | } |
| | | |
| | | // 处理WMS返回的入库任务(如果有) |
| | | if (result.Data?.Data != null) |
| | | { |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | return content.OK($"通知WMS系统堆垛机出库完成成功,任务号:【{task.TaskNum}】,托盘号:【{task.PalletCode}】"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 通知WMS出库完成。 |
| | | /// </summary> |
| | | /// <param name="task">任务实体。</param> |
| | | /// <returns>通知结果。</returns> |
| | | private WebResponseContent NotifyWMSOutboundFinish(Dt_Task task) |
| | | { |
| | | var result = _httpClientHelper.Post<WebResponseContent>( |
| | | nameof(ConfigKey.OutboundFinishTaskAsync), |
| | | new StockInfoDTO { PalletCode = task.PalletCode, TaskNum = task.TaskNum }.ToJson()); |
| | | |
| | | if (!result.IsSuccess || !result.Data.Status) |
| | | return WebResponseContent.Instance.Error($"通知WMS系统堆垛机出库完成失败,任务号:【{task.TaskNum}】,托盘号:【{task.PalletCode}】,错误信息:【{result.Data?.Message}】"); |
| | | |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | |
| | | /// <summary> |