| | |
| | | import cn.iocoder.yudao.module.mes.service.pro.route.*; |
| | | import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderProcessService; |
| | | import cn.iocoder.yudao.module.mes.service.pro.task.MesProTaskService; |
| | | import cn.iocoder.yudao.module.mes.service.cal.holiday.MesCalHolidayService; |
| | | import jakarta.annotation.Resource; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @Resource private MesProRouteProductService routeProductService; |
| | | @Resource private MesProProcessService processService; |
| | | @Resource private MesMdItemService itemService; |
| | | @Resource private MesCalHolidayService holidayService; |
| | | @Resource @Lazy private cn.iocoder.yudao.module.mes.service.pd.processparamtemplate.MesPdProcessParamTemplateService paramTemplateService; |
| | | @Resource private MesProScheduleGuardService guard; |
| | | @Resource private CrmCustomerApi customerApi; |
| | |
| | | .filter(task -> !Objects.equals(task.getStatus(), MesProTaskStatusEnum.CANCELED.getStatus())) |
| | | .forEach(task -> allRelevantTasks.put(task.getId(), task)); |
| | | var existingTasks = new ArrayList<>(allRelevantTasks.values()); |
| | | var holidays = holidayService.getHolidayList(request.getStartTime().toLocalDate().atStartOfDay(), request.getStartTime().plusYears(1)); |
| | | Set<LocalDate> holidayDates = holidays.stream().filter(day -> Objects.equals(day.getType(), 2)) |
| | | .map(day -> day.getDay().toLocalDate()).collect(Collectors.toSet()); |
| | | // 排班管理(含节假日设置)已下线,排产不再按节假日跳过 |
| | | Set<LocalDate> holidayDates = Set.of(); |
| | | var calendar = new MesProScheduleEngine.Calendar(holidayDates, request.getStartTime().toLocalDate().plusYears(1)); |
| | | List<MesProScheduleEngine.Busy> busy = new ArrayList<>(); |
| | | Set<Long> unknownStations = new HashSet<>(); |