xiaojiao
2 天以前 9376389dbf19d202f766a4fe47cf80dfe4db4f42
ÏîÄ¿´úÂë/WIDESEA_WCSServer/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -52,6 +52,8 @@
        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()
        {
@@ -70,7 +72,7 @@
        #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;
@@ -83,6 +85,8 @@
            _taskHtyRepository = htyRepository;
            _apiInfoRepository = apiInfoRepository;
            _unitOfWorkManage = unitOfWorkManage;
            _MaterialInfo_HtyRepository = materialInfo_HtyRepository;
            _MaterialInfoRepository = materialInfoRepository;
        }
        /// <summary>
@@ -466,14 +470,27 @@
                    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);
                    if(dt_StationManager == null) return content.Error($"任务{taskNum}的当前站台不存在");
                    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("任务完成");