diff --git a/src/main/java/com/xujie/sys/modules/scheduling/controller/SchedulingController.java b/src/main/java/com/xujie/sys/modules/scheduling/controller/SchedulingController.java index 67b90336..d5cd9991 100644 --- a/src/main/java/com/xujie/sys/modules/scheduling/controller/SchedulingController.java +++ b/src/main/java/com/xujie/sys/modules/scheduling/controller/SchedulingController.java @@ -68,7 +68,6 @@ public class SchedulingController { @PostMapping(value="/saveSchedulingHeader") @ResponseBody public R saveSchedulingHeader(@RequestBody SchedulingData data){ - System.out.println(data.toString()); R r = schedulingService.saveSchedulingHeader(data); return r; } diff --git a/src/main/java/com/xujie/sys/modules/scheduling/entity/SchedulingData.java b/src/main/java/com/xujie/sys/modules/scheduling/entity/SchedulingData.java index dce8274c..8a82cea6 100644 --- a/src/main/java/com/xujie/sys/modules/scheduling/entity/SchedulingData.java +++ b/src/main/java/com/xujie/sys/modules/scheduling/entity/SchedulingData.java @@ -35,5 +35,9 @@ public class SchedulingData { private Object checkbox2; @TableField(exist = false) private List peopleList; + @TableField(exist = false) + private String insertType; + @TableField(exist = false) + private List selectedDates; } diff --git a/src/main/java/com/xujie/sys/modules/scheduling/service/impl/SchedulingServiceImpl.java b/src/main/java/com/xujie/sys/modules/scheduling/service/impl/SchedulingServiceImpl.java index 9aba95a6..65fb8af7 100644 --- a/src/main/java/com/xujie/sys/modules/scheduling/service/impl/SchedulingServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/scheduling/service/impl/SchedulingServiceImpl.java @@ -83,41 +83,64 @@ public class SchedulingServiceImpl implements SchedulingService { } else { throw new RuntimeException("工厂和部门有误!"); } - Date startDate = data.getStartDate(); - Date endDate = data.getEndDate(); - String checkbox1 = Objects.toString(data.getCheckbox1()); - String checkbox2 = Objects.toString(data.getCheckbox2()); - Calendar cal = Calendar.getInstance(); - cal.setTime(startDate); - while (!cal.getTime().after(endDate)) { - int day = cal.get(Calendar.DAY_OF_WEEK); - if ((day == Calendar.SATURDAY && !"true".equals(checkbox1))){ + if ("true".equals(data.getInsertType())){ + Date startDate = data.getStartDate(); + Date endDate = data.getEndDate(); + String checkbox1 = Objects.toString(data.getCheckbox1()); + String checkbox2 = Objects.toString(data.getCheckbox2()); + Calendar cal = Calendar.getInstance(); + cal.setTime(startDate); + while (!cal.getTime().after(endDate)) { + int day = cal.get(Calendar.DAY_OF_WEEK); + if ((day == Calendar.SATURDAY && !"true".equals(checkbox1))){ + cal.add(Calendar.DATE, 1); + continue; + } + if ((day == Calendar.SUNDAY && !"true".equals(checkbox2))){ + cal.add(Calendar.DATE, 1); + continue; + } + data.setDate(cal.getTime()); + + try { + //新增主表信息 + schedulingMapper.saveSchedulingHeader(data); + }catch (Exception e){ + throw new RuntimeException("保存失败,请检查是否存在重复的班次编码和日期"); + } + //设置子表参数 + SchedulingRecordData schedulingRecordData = new SchedulingRecordData(); + schedulingRecordData.setHeadId(data.getId()); + schedulingRecordData.setIsHoliday("N"); + List peopleList = data.getPeopleList(); + for (int i = 0;i peopleList = data.getPeopleList(); - for (int i = 0;i selectedDates = data.getSelectedDates(); + selectedDates.forEach(date1 -> { + data.setDate(date1); + try { + //新增主表信息 + schedulingMapper.saveSchedulingHeader(data); + }catch (Exception e){ + throw new RuntimeException("保存失败,请检查是否存在重复的班次编码和日期"); + } + //设置子表参数 + SchedulingRecordData schedulingRecordData = new SchedulingRecordData(); + schedulingRecordData.setHeadId(data.getId()); + schedulingRecordData.setIsHoliday("N"); + List peopleList = data.getPeopleList(); + for (int i = 0;i