| | |
| | | |
| | | using AutoMapper; |
| | | using SqlSugar; |
| | | using System.Reflection; |
| | | using WIDESEA_Common.TaskEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_DTO.Task; |
| | | using WIDESEA_IBasicService; |
| | | using WIDESEA_IInboundService; |
| | | using WIDESEA_IOutboundService; |
| | |
| | | { |
| | | private readonly IMapper _mapper; |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IStockInfoService _stockInfoService; |
| | | private readonly ILocationInfoService _locationInfoService; |
| | | private readonly IWarehouseService _warehouseService; |
| | | private readonly IRoadWayinfoService _roadWayinfoService; |
| | | |
| | | public IRepository<Dt_Task> Repository => BaseDal; |
| | | |
| | |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å®ææ¥å£ |
| | | /// </summary> |
| | | /// <param name="wCSTask"></param> |
| | | /// <returns></returns> |
| | | public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask) |
| | | { |
| | | try |
| | | { |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == wCSTask.TaskNum && x.PalletCode == wCSTask.PalletCode); |
| | | if (task == null) |
| | | return WebResponseContent.Instance.Error("æªæ¾å°ä»»å¡ä¿¡æ¯"); |
| | | |
| | | switch ((TaskTypeEnum)task.TaskType) |
| | | { |
| | | case TaskTypeEnum.Inbound: |
| | | return HandleInboundTask(task, wCSTask.TaskType); |
| | | case TaskTypeEnum.Outbound: |
| | | return HandleOutboundTask(task, wCSTask.TaskType); |
| | | case TaskTypeEnum.Relocation: |
| | | return HandleRelocationTask(task, wCSTask.TaskType); |
| | | default: |
| | | return WebResponseContent.Instance.Error($"ä»»å¡ç±»åé误ï¼ä»»å¡å·ï¼{task.TaskId},æçç¼å·ï¼{task.PalletCode},ç±»åï¼{task.TaskType}"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error($"WMSä»»å¡å®æé误ï¼{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | private WebResponseContent HandleInboundTask(Dt_Task task, int wcsTaskType) |
| | | { |
| | | switch (wcsTaskType) |
| | | { |
| | | case 1: |
| | | task.TaskStatus = (int)InTaskStatusEnum.PLC_InFinish; |
| | | BaseDal.UpdateData(task); |
| | | return WebResponseContent.Instance.OK($"å·²æ¥æ¶å
¥åºè¾éçº¿å®æä¿¡æ¯ï¼ä»»å¡å·ï¼{task.TaskId},æçç¼å·ï¼{task.PalletCode}"); |
| | | case 2: |
| | | task.TaskStatus = (int)InTaskStatusEnum.SC_OutFinish; |
| | | BaseDal.UpdateData(task); |
| | | return WebResponseContent.Instance.OK($"å·²æ¥æ¶å
¥åºå åæºå®æä¿¡æ¯ï¼ä»»å¡å·ï¼{task.TaskId},æçç¼å·ï¼{task.PalletCode}"); |
| | | default: |
| | | return WebResponseContent.Instance.Error($"WCS䏿¥ç±»åé误ï¼{wcsTaskType}"); |
| | | } |
| | | } |
| | | |
| | | private WebResponseContent HandleOutboundTask(Dt_Task task, int wcsTaskType) |
| | | { |
| | | switch (wcsTaskType) |
| | | { |
| | | case 1: |
| | | task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish; |
| | | BaseDal.UpdateData(task); |
| | | return WebResponseContent.Instance.OK($"å·²æ¥æ¶åºåºè¾éçº¿å®æä¿¡æ¯ï¼ä»»å¡å·ï¼{task.TaskId},æçç¼å·ï¼{task.PalletCode}"); |
| | | case 2: |
| | | task.TaskStatus = (int)OutTaskStatusEnum.SC_OutFinish; |
| | | BaseDal.UpdateData(task); |
| | | return WebResponseContent.Instance.OK($"å·²æ¥æ¶åºåºå åæºå®æä¿¡æ¯ï¼ä»»å¡å·ï¼{task.TaskId},æçç¼å·ï¼{task.PalletCode}"); |
| | | default: |
| | | return WebResponseContent.Instance.Error($"WCS䏿¥ç±»åé误ï¼{wcsTaskType}"); |
| | | } |
| | | } |
| | | |
| | | private WebResponseContent HandleRelocationTask(Dt_Task task, int wcsTaskType) |
| | | { |
| | | if (wcsTaskType == 2) |
| | | { |
| | | task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationFinish; |
| | | BaseDal.UpdateData(task); |
| | | return WebResponseContent.Instance.OK($"å·²æ¥æ¶ç§»åºå åæºå®æä¿¡æ¯ï¼ä»»å¡å·ï¼{task.TaskId},æçç¼å·ï¼{task.PalletCode}"); |
| | | } |
| | | return WebResponseContent.Instance.Error($"WCS䏿¥ç±»åé误ï¼{wcsTaskType}"); |
| | | } |
| | | } |
| | | } |