diff --git a/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java b/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java index a40b16e5..3963152c 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java @@ -103,8 +103,8 @@ public class WmsAttendanceScheduleController extends BaseController { */ @Log(title = "生成排班", businessType = BusinessType.INSERT) @PostMapping("/generate") - public R generateSchedule(@Validated @RequestBody GenerateScheduleBo bo) { - iWmsAttendanceScheduleService.generateSchedule(bo); + public R generateSchedule(@Validated @RequestBody List boList) { + iWmsAttendanceScheduleService.generateSchedule(boList); return R.ok(); } } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java b/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java index b7a383fe..8483d9f7 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java @@ -51,5 +51,5 @@ public interface IWmsAttendanceScheduleService { /** * 生成排班 */ - void generateSchedule(GenerateScheduleBo bo); + void generateSchedule(List boList); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java index 8ceb4a8c..353a70aa 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java @@ -134,20 +134,22 @@ public class WmsAttendanceScheduleServiceImpl implements IWmsAttendanceScheduleS */ @Override @Transactional(rollbackFor = Exception.class) - public void generateSchedule(GenerateScheduleBo bo) { - LocalDate startDate = bo.getStartDate().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate(); - LocalDate endDate = bo.getEndDate().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate(); + public void generateSchedule(List boList) { + for (GenerateScheduleBo bo : boList) { + LocalDate startDate = bo.getStartDate().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate(); + LocalDate endDate = bo.getEndDate().toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate(); - if (startDate.isAfter(endDate)) { - throw new RuntimeException("开始时间不能大于结束时间"); - } + if (startDate.isAfter(endDate)) { + throw new RuntimeException("开始时间不能大于结束时间"); + } - if (bo.getRuleId() == null) { - // 正常排班,不倒班 - generateNormalSchedule(bo, startDate, endDate); - } else { - // 倒班排班 - generateShiftSchedule(bo, startDate, endDate); + if (bo.getRuleId() == null) { + // 正常排班,不倒班 + generateNormalSchedule(bo, startDate, endDate); + } else { + // 倒班排班 + generateShiftSchedule(bo, startDate, endDate); + } } }