| | |
| | | using WIDESEAWCS_BasicInfoService; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Common.APIEnum; |
| | | using WIDESEAWCS_Common.StationEnum; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | |
| | | private readonly ITask_HtyRepository _taskHtyRepository; |
| | | private readonly IApiInfoRepository _apiInfoRepository; |
| | | private readonly IUnitOfWorkManage _unitOfWorkManage; |
| | | private readonly IDt_MaterialInfo_HtyRepository _MaterialInfo_HtyRepository; |
| | | private readonly IDt_MaterialInfoRepository _MaterialInfoRepository; |
| | | |
| | | private Dictionary<string, OrderByType> _taskOrderBy = new() |
| | | { |
| | |
| | | #endregion è·åææä»»å¡ç±»åãç¶æ |
| | | |
| | | |
| | | public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, IRouterRepository routerRepository, ITask_HtyRepository htyRepository, IApiInfoRepository apiInfoRepository,IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) |
| | | public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, IRouterRepository routerRepository, ITask_HtyRepository htyRepository, IApiInfoRepository apiInfoRepository,IUnitOfWorkManage unitOfWorkManage, IDt_MaterialInfo_HtyRepository materialInfo_HtyRepository, IDt_MaterialInfoRepository materialInfoRepository) : base(BaseDal) |
| | | { |
| | | _routerService = routerService; |
| | | _taskExecuteDetailService = taskExecuteDetailService; |
| | |
| | | _taskHtyRepository = htyRepository; |
| | | _apiInfoRepository = apiInfoRepository; |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | _MaterialInfo_HtyRepository = materialInfo_HtyRepository; |
| | | _MaterialInfoRepository = materialInfoRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | catch { } |
| | | stringBuilder.Append($",ä»»å¡ç¶æç±{oldStatus}åæ´ä¸º{newStatus}"); |
| | | |
| | | task.TaskState = taskStatus.ObjToInt(); |
| | | task.TaskState = (int)taskStatus; |
| | | } |
| | | BaseDal.UpdateData(task); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, stringBuilder.ToString()); |
| | |
| | | WriteLog.Write_Log("ä»»å¡å®æ", "ä»»å¡å®ææ¥å£", "ä»»å¡å·", $"ä»»å¡ï¼{taskNum}"); |
| | | |
| | | // 忬¡æ¥è¯¢ä»»å¡ç¶æï¼é²æ¢å¨éçå¾
æé´ä»»å¡ç¶æå·²æ¹å |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); |
| | | Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskNum); |
| | | if (task == null) |
| | | { |
| | | return content.Error($"ä»»å¡{taskNum}ä¸åå¨"); |
| | | } |
| | | //ä»»å¡å®æé»è¾ |
| | | _unitOfWorkManage.BeginTran(); |
| | | // æå½å任塿¥åºæ¥ ç¶åæ¯ä¸ä¸ªå段èµå¼ç»åå²ä»»å¡ ç¶åå é¤å½åä»»å¡ æ·»å 䏿¡åå²ä»»å¡ // ç¶åæè¿ä¸ªä»»å¡çç»ç¹ç对åºç«å°çç¶æè®¾ç½®ä¸ºå¯ç¨ |
| | | Dt_Task_Hty dt_Task_Hty = _mapper.Map<Dt_Task_Hty>(task); |
| | | dt_Task_Hty.TaskNum = task.TaskId; |
| | | |
| | | Dt_StationManager dt_StationManager = _stationManagerRepository.QueryFirst(x => x.StationLocation == task.TargetAddress);// ç®çä½ç½® |
| | | Dt_StationManager SourceAddress = _stationManagerRepository.QueryFirst(x => x.StationLocation == task.SourceAddress);// èµ·å§ä½ç½® |
| | | if(dt_StationManager == null) return content.Error($"ä»»å¡{taskNum}çç®çç«å°ã{task.TargetAddress}ãç«å°ä¸åå¨"); |
| | | if(SourceAddress == null) return content.Error($"ä»»å¡{taskNum}çå½åèµ·å§ã{task.SourceAddress}ãç«å°ä¸åå¨"); |
| | | dt_StationManager.StationStatus = ((int)StationEnum.Enable).ToString(); |
| | | SourceAddress.StationStatus = ((int)StationEnum.Enable).ToString(); |
| | | |
| | | |
| | | Dt_MaterialInfo dt_MaterialInfo = _MaterialInfoRepository.QueryFirst(x => x.ContainerCode == task.PalletCode); |
| | | if (dt_MaterialInfo == null) return content.Error("æ¥è¯¢ä¸å°ç¸å
³æ°æ® æè
å·²ç»è§£ç»ï¼"); |
| | | dt_MaterialInfo.IsBind = false; |
| | | Dt_MaterialInfo_Hty dt_MaterialInfo_Hty = _mapper.Map<Dt_MaterialInfo_Hty>(dt_MaterialInfo); |
| | | |
| | | |
| | | _MaterialInfo_HtyRepository.AddData(dt_MaterialInfo_Hty); |
| | | _MaterialInfoRepository.DeleteData(dt_MaterialInfo); |
| | | |
| | | _taskHtyRepository.AddData(dt_Task_Hty); |
| | | BaseDal.DeleteData(task); |
| | | _stationManagerRepository.UpdateData(dt_StationManager); |
| | | _stationManagerRepository.UpdateData(SourceAddress); |
| | | |
| | | _unitOfWorkManage.CommitTran(); |
| | | content.OK("ä»»å¡å®æ"); |