|
@@ -751,29 +751,32 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
|
|
|
@Override
|
|
@Override
|
|
|
public void taskChangeForTimeWorkChange(WorkTimeChangeEvent event) {
|
|
public void taskChangeForTimeWorkChange(WorkTimeChangeEvent event) {
|
|
|
String date = LocalDate.now().format(DateTimeFormatter.ofPattern(Constants.DAILY_FORMAT));
|
|
String date = LocalDate.now().format(DateTimeFormatter.ofPattern(Constants.DAILY_FORMAT));
|
|
|
- List<SysWorkTime> futureWorkTime = workTimeService.findFutureWorkTime(event.getOrgIds(), date, SecurityConstants.INNER);
|
|
|
|
|
|
|
+ Date now = new Date();
|
|
|
for (EduTrainingPlanCycleEnum value : EduTrainingPlanCycleEnum.values()) {
|
|
for (EduTrainingPlanCycleEnum value : EduTrainingPlanCycleEnum.values()) {
|
|
|
switch (value) {
|
|
switch (value) {
|
|
|
case DAILY:
|
|
case DAILY:
|
|
|
- List<SysWorkTime> timeList = futureWorkTime.stream()
|
|
|
|
|
- .filter(time -> ObjectUtil.equal(time.getYmdDate(), date))
|
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
- dealTimeWorkChangeForDaily(event, date, timeList);
|
|
|
|
|
|
|
+ List<SysWorkTime> dailyFutureWorkTime = getStartAndEndTime(now, EduTrainingPlanCycleEnum.DAILY.getCode(), event);
|
|
|
|
|
+ dealTimeWorkChangeForDaily(event, date, dailyFutureWorkTime);
|
|
|
break;
|
|
break;
|
|
|
case WEEKLY:
|
|
case WEEKLY:
|
|
|
- dealTimeWorkChangeForWeekly(event, date, futureWorkTime);
|
|
|
|
|
|
|
+ List<SysWorkTime> weeklyFutureWorkTime = getStartAndEndTime(now, EduTrainingPlanCycleEnum.WEEKLY.getCode(), event);
|
|
|
|
|
+ dealTimeWorkChangeForWeekly(event, date, weeklyFutureWorkTime);
|
|
|
break;
|
|
break;
|
|
|
case MONTHLY:
|
|
case MONTHLY:
|
|
|
- dealTimeWorkChangeForMonthly(event, date, futureWorkTime);
|
|
|
|
|
|
|
+ List<SysWorkTime> monthlyFutureWorkTime = getStartAndEndTime(now, EduTrainingPlanCycleEnum.MONTHLY.getCode(), event);
|
|
|
|
|
+ dealTimeWorkChangeForMonthly(event, date, monthlyFutureWorkTime);
|
|
|
break;
|
|
break;
|
|
|
case QUARTERLY:
|
|
case QUARTERLY:
|
|
|
- dealTimeWorkChangeForQuarterly(event, date, futureWorkTime);
|
|
|
|
|
|
|
+ List<SysWorkTime> quarterlyFutureWorkTime = getStartAndEndTime(now, EduTrainingPlanCycleEnum.QUARTERLY.getCode(), event);
|
|
|
|
|
+ dealTimeWorkChangeForQuarterly(event, date, quarterlyFutureWorkTime);
|
|
|
break;
|
|
break;
|
|
|
case HALF_YEARLY:
|
|
case HALF_YEARLY:
|
|
|
- dealTimeWorkChangeForHalfYearly(event, date, futureWorkTime);
|
|
|
|
|
|
|
+ List<SysWorkTime> halfYearlyFutureWorkTime = getStartAndEndTime(now, EduTrainingPlanCycleEnum.HALF_YEARLY.getCode(), event);
|
|
|
|
|
+ dealTimeWorkChangeForHalfYearly(event, date, halfYearlyFutureWorkTime);
|
|
|
break;
|
|
break;
|
|
|
case YEARLY:
|
|
case YEARLY:
|
|
|
- dealTimeWorkChangeForYearly(event, date, futureWorkTime);
|
|
|
|
|
|
|
+ List<SysWorkTime> yearlyFutureWorkTime = getStartAndEndTime(now, EduTrainingPlanCycleEnum.YEARLY.getCode(), event);
|
|
|
|
|
+ dealTimeWorkChangeForYearly(event, date, yearlyFutureWorkTime);
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
|
break;
|
|
break;
|
|
@@ -1036,6 +1039,14 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
|
|
|
//此list中Plan对象仅id与planCycle字段有值,
|
|
//此list中Plan对象仅id与planCycle字段有值,
|
|
|
buildTaskByPlan(planList, today);
|
|
buildTaskByPlan(planList, today);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ private List<SysWorkTime> getStartAndEndTime(Date now, Integer cycle, WorkTimeChangeEvent event) {
|
|
|
|
|
+ DateRange range = DateUtils.getStartAndEnd(now, cycle);
|
|
|
|
|
+ String startTime = DateUtil.format(range.getStartTime(), Constants.DAILY_FORMAT);
|
|
|
|
|
+ String endTime = DateUtil.format(range.getEndTime(), Constants.DAILY_FORMAT);
|
|
|
|
|
+ return workTimeService.findFutureWorkTime(event.getOrgIds(), startTime, endTime, SecurityConstants.INNER);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|