|
@@ -29,6 +29,7 @@ import java.util.TreeSet;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
+import com.ym.mec.biz.dal.entity.*;
|
|
|
import com.ym.mec.biz.dal.enums.*;
|
|
|
import org.apache.commons.collections.ListUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -92,35 +93,7 @@ import com.ym.mec.biz.dal.dto.TeacherRemarkCommitDto;
|
|
|
import com.ym.mec.biz.dal.dto.VipGroupApplyBaseInfoDto;
|
|
|
import com.ym.mec.biz.dal.dto.VipGroupApplyDto;
|
|
|
import com.ym.mec.biz.dal.dto.VipGroupCourseAdjustInfoDto;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
|
|
|
-import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseGenerateDto;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseSchedule;
|
|
|
import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleModifyLog;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleReview;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
|
|
|
-import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.CoursesGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.CoursesGroupModifyLog;
|
|
|
-import com.ym.mec.biz.dal.entity.Group;
|
|
|
-import com.ym.mec.biz.dal.entity.MusicGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.PracticeGroup;
|
|
|
-import com.ym.mec.biz.dal.entity.School;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentAttendance;
|
|
|
-import com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto;
|
|
|
-import com.ym.mec.biz.dal.entity.Subject;
|
|
|
-import com.ym.mec.biz.dal.entity.SysConfig;
|
|
|
-import com.ym.mec.biz.dal.entity.Teacher;
|
|
|
-import com.ym.mec.biz.dal.entity.TeacherAttendance;
|
|
|
-import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
|
|
|
-import com.ym.mec.biz.dal.entity.VipGroup;
|
|
|
import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
|
|
|
import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
|
|
|
import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
|
|
@@ -1450,6 +1423,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
int singleClassMinutes = DateUtil.minutesBetween(existCours.getStartClassTime(), existCours.getEndClassTime());
|
|
|
|
|
|
existCours.setClassDate(ac.getClassDate());
|
|
|
+ existCours.setUpdateTime(now);
|
|
|
existCours.setStartClassTime(ac.getStartClassTime());
|
|
|
existCours.setEndClassTime(DateUtil.addMinutes(existCours.getStartClassTime(), singleClassMinutes));
|
|
|
|
|
@@ -1472,6 +1446,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
|
|
|
checkNewCourseSchedules(existCourses, false);
|
|
|
+
|
|
|
courseScheduleDao.batchUpdate(existCourses);
|
|
|
|
|
|
studentAttendanceDao.deleteByCourseSchedules(courseIds);
|
|
@@ -3120,8 +3095,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
|
|
|
Date entryDate = DateUtil.stringToDate(sysConfigDao.findByParamName(SysConfigService.TEACHER_ENTRY_DATE).getParanValue(), "yyyy-MM-dd");
|
|
|
|
|
|
- List<CourseScheduleModifyLog> insertCourseScheduleModifyLogList = new ArrayList<CourseScheduleModifyLog>();
|
|
|
-
|
|
|
List<CourseScheduleStudentPayment> insertCourseScheduleStudentPaymentList = new ArrayList<CourseScheduleStudentPayment>();
|
|
|
|
|
|
for (CourseSchedule newCourseSchedule : newCourseSchedules) {
|
|
@@ -3378,23 +3351,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
insertCourseScheduleTeacherSalaryList.add(ts);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- // 调整日志
|
|
|
- CourseScheduleModifyLog courseScheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
- courseScheduleModifyLog.setCourseScheduleId(courseScheduleId);
|
|
|
- courseScheduleModifyLog.setCreateTime(date);
|
|
|
- courseScheduleModifyLog.setCurrentCourseSchedule(JsonUtil.toJSONString(newCourseSchedule));
|
|
|
- courseScheduleModifyLog.setPreviousCourseSchedule(JsonUtil.toJSONString(oldCourseSchedule));
|
|
|
-
|
|
|
- SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
- if (null == sysUser) {
|
|
|
- throw new BizException("获取用户信息失败");
|
|
|
- }
|
|
|
-
|
|
|
- courseScheduleModifyLog.setOperatorId(sysUser.getId());
|
|
|
-
|
|
|
- insertCourseScheduleModifyLogList.add(courseScheduleModifyLog);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
if (insertTeacherAttendanceList.size() > 0) {
|
|
@@ -3405,10 +3361,6 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
courseScheduleTeacherSalaryDao.batchInsert(insertCourseScheduleTeacherSalaryList);
|
|
|
}
|
|
|
|
|
|
- if (insertCourseScheduleModifyLogList.size() > 0) {
|
|
|
- courseScheduleModifyLogDao.batchInsert(insertCourseScheduleModifyLogList);
|
|
|
- }
|
|
|
-
|
|
|
if(newCourseSchedules.size() > 0){
|
|
|
courseScheduleDao.batchUpdate(newCourseSchedules);
|
|
|
List<Integer> classGroupIds = newCourseSchedules.stream().filter(courseSchedule -> Objects.nonNull(courseSchedule.getClassGroupId())).map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
|
|
@@ -3416,6 +3368,25 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
classGroupService.updateClassGroupsCourseInfo(classGroupIds);
|
|
|
}
|
|
|
}
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ if (null == sysUser) {
|
|
|
+ throw new BizException("获取用户信息失败");
|
|
|
+ }
|
|
|
+ List<CourseScheduleModifyLog> insertCourseScheduleModifyLogList = new ArrayList<>();
|
|
|
+ oldCourseScheduleList.forEach(e->{
|
|
|
+ // 调整日志
|
|
|
+ CourseScheduleModifyLog courseScheduleModifyLog = new CourseScheduleModifyLog();
|
|
|
+ courseScheduleModifyLog.setCourseScheduleId(e.getId());
|
|
|
+ courseScheduleModifyLog.setCreateTime(date);
|
|
|
+ courseScheduleModifyLog.setPreviousCourseSchedule(JsonUtil.toJSONString(e));
|
|
|
+ courseScheduleModifyLog.setCurrentCourseSchedule(JsonUtil.toJSONString(courseScheduleDao.get(e.getId())));
|
|
|
+ courseScheduleModifyLog.setOperatorId(sysUser.getId());
|
|
|
+ insertCourseScheduleModifyLogList.add(courseScheduleModifyLog);
|
|
|
+ });
|
|
|
+
|
|
|
+ if (insertCourseScheduleModifyLogList.size() > 0) {
|
|
|
+ courseScheduleModifyLogDao.batchInsert(insertCourseScheduleModifyLogList);
|
|
|
+ }
|
|
|
|
|
|
if(insertCourseScheduleStudentPaymentList.size() > 0){
|
|
|
courseScheduleStudentPaymentDao.batchInsert(insertCourseScheduleStudentPaymentList);
|
|
@@ -5137,4 +5108,49 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
|
|
|
}
|
|
|
return courseScheduleRateDtos;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CourseScheduleAuditDetailDto> queryCourseAdjustDetail(Long courseScheduleId) {
|
|
|
+ //获取所有的更改记录
|
|
|
+ Map<String,Object> param = new HashMap(1);
|
|
|
+ param.put("courseScheduleId",courseScheduleId);
|
|
|
+ List<CourseScheduleModifyLog> scheduleModifyLogs = courseScheduleModifyLogDao.findAll(param);
|
|
|
+ if(scheduleModifyLogs == null || scheduleModifyLogs.size() == 0){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ List<CourseScheduleAuditDetailDto> courseSchedules = new ArrayList<>();
|
|
|
+ for (int i = 0; i < scheduleModifyLogs.size(); i++) {
|
|
|
+ CourseScheduleModifyLog modifyLog = scheduleModifyLogs.get(i);
|
|
|
+ if(i == 0){
|
|
|
+ //如果是第一次调整
|
|
|
+ CourseScheduleAuditDetailDto dto = JSON.parseObject(modifyLog.getPreviousCourseSchedule(), CourseScheduleAuditDetailDto.class);
|
|
|
+ dto.setOperatorId(modifyLog.getOperatorId());
|
|
|
+ dto.setAuditTime(modifyLog.getCreateTime());
|
|
|
+ courseSchedules.add(dto);
|
|
|
+ }
|
|
|
+ if(i == 1){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ CourseScheduleAuditDetailDto detailDto = JSON.parseObject(modifyLog.getCurrentCourseSchedule(), CourseScheduleAuditDetailDto.class);
|
|
|
+ detailDto.setOperatorId(modifyLog.getOperatorId());
|
|
|
+ detailDto.setAuditTime(modifyLog.getCreateTime());
|
|
|
+ courseSchedules.add(detailDto);
|
|
|
+ }
|
|
|
+ if(courseSchedules.size() > 0){
|
|
|
+ Set<Integer> actualTeacherIds = courseSchedules.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet());
|
|
|
+ actualTeacherIds.addAll(courseSchedules.stream().map(e -> e.getTeacherId()).collect(Collectors.toSet()));
|
|
|
+ actualTeacherIds.addAll(courseSchedules.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet()));
|
|
|
+ Set<Integer> schoolIds = courseSchedules.stream().map(e -> e.getSchoolId()).collect(Collectors.toSet());
|
|
|
+ Map<Integer, String> actualTeacherMap = getMap("sys_user", "id_", "real_name_", actualTeacherIds, Integer.class, String.class);
|
|
|
+ Map<Integer, String> schoolMap = getMap("school", "id_", "name_", schoolIds, Integer.class, String.class);
|
|
|
+ courseSchedules.forEach(e->{
|
|
|
+ e.setTeacherName(actualTeacherMap.get(e.getTeacherId()));
|
|
|
+ e.setActualTeacherName(actualTeacherMap.get(e.getActualTeacherId()));
|
|
|
+ e.setSchoolName(schoolMap.get(e.getSchoolId()));
|
|
|
+ e.setOperatorName(actualTeacherMap.get(e.getOperatorId()));
|
|
|
+ });
|
|
|
+ return courseSchedules;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|