From a314e05e4d80dea31b503175e5c4cf493fc757b9 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Tue, 12 May 2026 15:15:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(schedule):=20=E4=BF=AE=E6=94=B9=E6=8E=92?= =?UTF-8?q?=E7=8F=AD=E7=94=9F=E6=88=90=E5=8A=9F=E8=83=BD=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 IWmsAttendanceScheduleService.generateSchedule 方法参数改为 List 类型 - 更新 WmsAttendanceScheduleController 中的 generateSchedule 接口接收批量数据 - 在 WmsAttendanceScheduleServiceImpl 中实现循环处理多个排班生成请求 - 保持原有的单个排班生成逻辑不变,通过遍历列表实现批量功能 --- .../WmsAttendanceScheduleController.java | 4 +-- .../IWmsAttendanceScheduleService.java | 2 +- .../WmsAttendanceScheduleServiceImpl.java | 26 ++++++++++--------- 3 files changed, 17 insertions(+), 15 deletions(-) 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); + } } }