| | |
| | | using WIDESEAWCS_Core.Utilities; |
| | | using WIDESEAWCS_DTO.Enum; |
| | | using WIDESEAWCS_DTO.TaskInfo; |
| | | using WIDESEAWCS_IBasicInfoRepository; |
| | | using WIDESEAWCS_IBasicInfoService; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_QuartzJob.Models; |
| | | using WIDESEAWCS_QuartzJob.Service; |
| | | using WIDESEAWCS_TaskInfoRepository; |
| | | using static Microsoft.IO.RecyclableMemoryStreamManager; |
| | | |
| | | namespace WIDESEAWCS_TaskInfoService |
| | |
| | | private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository; |
| | | private readonly ITask_HtyService _task_HtyService; |
| | | private readonly IMapper _mapper; |
| | | private readonly IDt_StationManagerRepository _stationManagerRepository; |
| | | |
| | | |
| | | private Dictionary<string, OrderByType> _taskOrderBy = new() |
| | |
| | | public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList(); |
| | | public List<int> AGVTaskTypes => typeof(AGVTaskTypeEnum).GetEnumIndexList(); |
| | | |
| | | public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService task_HtyService) : base(BaseDal) |
| | | public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ITask_HtyService task_HtyService, IDt_StationManagerRepository stationManagerRepository) : base(BaseDal) |
| | | { |
| | | _routerService = routerService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | | _taskExecuteDetailRepository = taskExecuteDetailRepository; |
| | | _task_HtyService = task_HtyService; |
| | | _mapper = mapper; |
| | | _stationManagerRepository = stationManagerRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | return content; |
| | | } |
| | | |
| | | public WebResponseContent AddTask(WMSTaskDTO WMSDTO) |
| | | { |
| | | var SourceAddress= _stationManagerRepository.QueryFirst(x=>x.stationCode == WMSDTO.SourceAddress&&x.stationArea==int.Parse( WMSDTO.Area)); |
| | | var TargetAddress = _stationManagerRepository.QueryFirst(x=>x.stationCode == WMSDTO.TargetAddress && x.stationArea == int.Parse(WMSDTO.Area)); |
| | | if(SourceAddress == null || TargetAddress == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æªæ¾å°èµ·ç¹æç»ç¹ç«å°ä¿¡æ¯,èµ·ç¹:ã{WMSDTO.SourceAddress}ã,ç»ç¹:ã{WMSDTO.TargetAddress}ã"); |
| | | } |
| | | if (QueryConveyorLineTask(SourceAddress.stationName) != null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"èµ·ç¹:ã{WMSDTO.SourceAddress}ãåå¨ä»»å¡"); ; |
| | | } |
| | | if (QueryConveyorLineTask(TargetAddress.stationName) != null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"ç»ç¹:ã{WMSDTO.TargetAddress}ãåå¨ä»»å¡"); ; |
| | | } |
| | | Dt_Task taskDTO = new Dt_Task() |
| | | { |
| | | TaskNum = BaseDal.GetTaskNo().Result, |
| | | Grade = 1, |
| | | Roadway = SourceAddress.stationArea.ToString(), |
| | | SourceAddress = SourceAddress.stationName, |
| | | CurrentAddress = SourceAddress.stationName, |
| | | TargetAddress = TargetAddress.stationName, |
| | | NextAddress = TargetAddress.stationName, |
| | | TaskState = (int)AGVTaskStatusEnum.AGVNew, |
| | | TaskType = (int)AGVTaskTypeEnum.AGVCarry, |
| | | AGVName = SourceAddress.stationArea switch |
| | | { |
| | | 1 => "AGV01", |
| | | 4 => "AGV03", |
| | | _ => "AGV02", |
| | | } |
| | | }; |
| | | ReceiveWMSTask(new List<Dt_Task> { taskDTO }); |
| | | return WebResponseContent.Instance.OK("任塿·»å æå"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥æ¾è¯¥ç«å°æ¯å¦æä»»å¡ |
| | | /// </summary> |