|
|
@@ -9,7 +9,9 @@ import com.xjrsoft.module.classtime.dto.AddClassTimeCalendarDto;
|
|
|
import com.xjrsoft.module.classtime.entity.ClassTimeCalendar;
|
|
|
import com.xjrsoft.module.classtime.mapper.ClassTimeCalendarMapper;
|
|
|
import com.xjrsoft.module.classtime.service.IClassTimeCalendarService;
|
|
|
+import com.xjrsoft.module.courseTable.entity.ClassTime;
|
|
|
import com.xjrsoft.module.courseTable.entity.CourseTable;
|
|
|
+import com.xjrsoft.module.courseTable.service.IClassTimeService;
|
|
|
import com.xjrsoft.module.courseTable.service.ICourseTableService;
|
|
|
import com.xjrsoft.module.schedule.entity.CourseTableBak;
|
|
|
import com.xjrsoft.module.schedule.service.ICourseTableBakService;
|
|
|
@@ -34,21 +36,31 @@ import java.util.stream.Collectors;
|
|
|
public class ClassTimeCalendarServiceImpl extends MPJBaseServiceImpl<ClassTimeCalendarMapper, ClassTimeCalendar> implements IClassTimeCalendarService {
|
|
|
private final ICourseTableService courseTableService;
|
|
|
private final ICourseTableBakService courseTableBakService;
|
|
|
+ private final IClassTimeService classTimeService;
|
|
|
|
|
|
@Override
|
|
|
public Boolean add(AddClassTimeCalendarDto dto) {
|
|
|
try {
|
|
|
ClassTimeCalendar classTimeCalendar = BeanUtil.toBean(dto, ClassTimeCalendar.class);
|
|
|
|
|
|
+ List<String> timePeriod = Arrays.asList(dto.getTimePeriod().split(","));
|
|
|
//1、查询补课日期的数据,将日期设置为补班日期然后新增
|
|
|
List<CourseTable> list = courseTableService.list(
|
|
|
new QueryWrapper<CourseTable>().lambda()
|
|
|
.eq(CourseTable::getScheduleDate, dto.getReplaceDate())
|
|
|
- .in(dto.getCoverType() == 1, CourseTable::getTimeNumber, Arrays.asList(dto.getTimePeriod().split(",")))
|
|
|
+ .in(CourseTable::getTimeNumber, timePeriod)
|
|
|
);
|
|
|
if(list.isEmpty()){
|
|
|
throw new MyException("未能查询到补课日期那天的课表信息,请联系管理员");
|
|
|
}
|
|
|
+ List<Integer> timeNumbers = classTimeService.list().stream().map(ClassTime::getNumber).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Integer> notSelectedTimeNumbers = new ArrayList<>();
|
|
|
+ for (Integer timeNumber : timeNumbers) {
|
|
|
+ if(!timePeriod.contains(timeNumber.toString())){
|
|
|
+ notSelectedTimeNumbers.add(timeNumber);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
classTimeCalendar.setCreateDate(new Date());
|
|
|
boolean isSuccess = this.save(classTimeCalendar);
|
|
|
@@ -57,7 +69,7 @@ public class ClassTimeCalendarServiceImpl extends MPJBaseServiceImpl<ClassTimeCa
|
|
|
List<CourseTable> deleteList = courseTableService.list(
|
|
|
new QueryWrapper<CourseTable>().lambda()
|
|
|
.eq(CourseTable::getScheduleDate, dto.getSupplementDate())
|
|
|
- .in(dto.getCoverType() == 1, CourseTable::getTimeNumber, Arrays.asList(dto.getTimePeriod().split(",")))
|
|
|
+ .in(dto.getCoverType() == 1, CourseTable::getTimeNumber, timePeriod)
|
|
|
);
|
|
|
List<CourseTableBak> bakList = new ArrayList<>();
|
|
|
for (CourseTable courseTable : deleteList) {
|
|
|
@@ -138,11 +150,13 @@ public class ClassTimeCalendarServiceImpl extends MPJBaseServiceImpl<ClassTimeCa
|
|
|
public Boolean cancel(Long id) {
|
|
|
try{
|
|
|
ClassTimeCalendar calendar = this.getById(id);
|
|
|
+ List<String> timePeriod = Arrays.asList(calendar.getTimePeriod().split(","));
|
|
|
//1、作废后,删除新增的补班课表数据
|
|
|
courseTableService.remove(
|
|
|
new QueryWrapper<CourseTable>().lambda()
|
|
|
.eq(CourseTable::getScheduleDate, calendar.getSupplementDate())
|
|
|
.eq(CourseTable::getAdjustType, CourseAdjustTypeEnum.courseReplace.getCode())
|
|
|
+ .in(CourseTable::getTimeNumber, timePeriod)
|
|
|
);
|
|
|
//查询出来备份的数据,并恢复到课表中
|
|
|
List<CourseTableBak> list = courseTableBakService.list(
|