Преглед изворни кода

陪练课调整bug,签到bug

zouxuan пре 5 година
родитељ
комит
f69f4bffbf

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/CourseSchedule.java

@@ -13,6 +13,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 
@@ -134,6 +135,16 @@ public class CourseSchedule {
 
 	private String classGroupType;
 
+	private java.util.Date coursesExpireDate;
+
+	public Date getCoursesExpireDate() {
+		return coursesExpireDate;
+	}
+
+	public void setCoursesExpireDate(Date coursesExpireDate) {
+		this.coursesExpireDate = coursesExpireDate;
+	}
+
 	public String getTeacherName() {
 		return teacherName;
 	}

+ 19 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2527,6 +2527,22 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         if(!oldCourseSchedule.getGroupType().equals(GroupType.PRACTICE)){
             throw new BizException("请选择陪练课");
         }
+        PracticeGroup practiceGroup = practiceGroupDao.get(Long.parseLong(oldCourseSchedule.getMusicGroupId()));
+        String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
+        String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+        Date startDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+        Date endDateTime = DateUtil.addMinutes(startDateTime,practiceGroup.getSingleClassMinutes());
+        if(DateUtil.minutesBetween(practiceGroup.getCoursesExpireDate(),endDateTime) > 0){
+            throw new BizException("调整失败: 截止时间超过课程有效期");
+        }
+        Date date = new Date();
+        if(DateUtil.minutesBetween(endDateTime,date) > 0){
+            oldCourseSchedule.setStatus(CourseStatusEnum.OVER);
+        }else if(DateUtil.minutesBetween(date,startDateTime) > 0){
+            oldCourseSchedule.setStatus(CourseStatusEnum.NOT_START);
+        }else {
+            oldCourseSchedule.setStatus(CourseStatusEnum.UNDERWAY);
+        }
         Integer practiceCourseMinutes=25;
         SysConfig practiceCourseMinutesConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_MINUTES);
         if(Objects.nonNull(practiceCourseMinutesConfig)){
@@ -2535,11 +2551,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         oldCourseSchedule.setClassDate(courseSchedule.getStartClassTime());
         oldCourseSchedule.setStartClassTime(courseSchedule.getStartClassTime());
         oldCourseSchedule.setEndClassTime(DateUtil.addMinutes(courseSchedule.getStartClassTime(),practiceCourseMinutes));
-        oldCourseSchedule.setStatus(CourseStatusEnum.NOT_START);
         List<CourseSchedule> courseSchedules=new ArrayList<>();
         courseSchedules.add(oldCourseSchedule);
         checkNewCourseSchedules(courseSchedules,false);
-        teacherAttendanceDao.batchUpdateTeacher(courseSchedules.stream().map(e->e.getId()).collect(Collectors.toSet()),oldCourseSchedule.getActualTeacherId());
+        if(oldCourseSchedule.getStatus() == CourseStatusEnum.NOT_START){
+            teacherAttendanceDao.batchUpdateTeacher(courseSchedules.stream().map(e->e.getId()).collect(Collectors.toSet()),oldCourseSchedule.getActualTeacherId());
+        }
         courseScheduleDao.update(oldCourseSchedule);
     }
 

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2173,6 +2173,7 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
             //获取课程实际上课老师姓名
             Map<Long, String> teacherNames = MapUtil.convertIntegerMap(courseScheduleDao.queryTeacherName(courseScheduleIds));
             dataList.forEach(e -> {
+                e.setCoursesExpireDate(practiceGroup.getCoursesExpireDate());
                 Long isSettlement = courseSettlementMap.get(e.getId().longValue());
                 e.setTeacherName(teacherNames.get(e.getId()));
                 if (Objects.isNull(isSettlement) || isSettlement <= 0) {

+ 3 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ResourceRespositoryServiceImpl.java

@@ -25,10 +25,9 @@ public class ResourceRespositoryServiceImpl extends BaseServiceImpl<Integer, Res
 	@Override
 	public List<ResourceRespository> queryTree(MenuQueryInfo menuQueryInfo) {
 		if(menuQueryInfo.getSubjectId() != null && menuQueryInfo.getSubjectId() == 5){
-			menuQueryInfo.setSubjectId(6);
-		}
-		if(menuQueryInfo.getSubjectId() != null && menuQueryInfo.getSubjectId() == 23){
-			menuQueryInfo.setSubjectId(18);
+			Integer subjectId = menuQueryInfo.getSubjectId();
+			menuQueryInfo.setSubjectId(subjectId == 5?6:subjectId == 23?18:subjectId == 3?2:subjectId == 16?15:subjectId == 20?18:subjectId == 50?18:subjectId == 53?18
+					:subjectId == 54?18:subjectId == 55?18:subjectId == 56?18:subjectId == 60?18:subjectId == 8?4:subjectId);
 		}
 		List<ResourceRespository> resourceRespositories = resourceRespositoryDao.findList(menuQueryInfo.getParentId(),menuQueryInfo.getDelFlag(),menuQueryInfo.getSubjectId());
 		for (ResourceRespository repository:resourceRespositories) {

+ 0 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -251,7 +251,6 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			teacherAttendance.setTeacherId(userId);
 			teacherAttendance.setMusicGroupId(classGroup.getMusicGroupId());
 			teacherAttendance.setClassGroupId(classGroup.getId());
-			teacherAttendance.setClassGroupId(courseScheduleId);
 			teacherAttendance.setTeacherId(userId);
 			teacherAttendanceDao.insert(teacherAttendance);
 		}else {

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -222,7 +222,7 @@
     </select>
     
     <select id="findByTeacherAttendanceInfo" resultMap="TeacherAttendance">
-        SELECT * FROM teacher_attendance WHERE teacher_id_=#{teacherId} AND course_schedule_id_=#{courseScheduleId} LIMIT 1
+        SELECT * FROM teacher_attendance WHERE teacher_id_ = #{teacherId} AND course_schedule_id_ = #{courseScheduleId} LIMIT 1
     </select>
 
     <resultMap id="TeacherAbnormalAttendanceInfoDto" type="com.ym.mec.biz.dal.dto.TeacherAbnormalAttendanceInfoDto">
@@ -370,6 +370,7 @@
     </update>
 
     <delete id="deleteByMusicGroupId" parameterType="map" >
-		DELETE ta FROM teacher_attendance ta LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_ WHERE ta.music_group_id_=#{musicGroupId} AND ta.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cs.status_ = 'NOT_START'
+		DELETE ta FROM teacher_attendance ta LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_
+		WHERE ta.music_group_id_=#{musicGroupId} AND ta.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cs.status_ = 'NOT_START'
 	</delete>
 </mapper>

+ 1 - 1
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -100,7 +100,7 @@ public class RoomServiceImpl implements RoomService {
         CourseSchedule courseSchedule = courseScheduleDao.get(Long.parseLong(roomId));
         try {
             if(teacher != null && teacher.getId().equals(courseSchedule.getActualTeacherId())){
-                teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId),Integer.parseInt(userId), SignStatusEnum.SIGN_IN,true);
+                teacherAttendanceService.addTeacherAttendanceRecord(Integer.parseInt(roomId),courseSchedule.getActualTeacherId(), SignStatusEnum.SIGN_IN,true);
             }else {
                 studentAttendanceService.addStudentAttendanceRecord(Integer.parseInt(roomId),Integer.parseInt(userId), StudentAttendanceStatusEnum.NORMAL);
             }