zouxuan 4 years ago
parent
commit
a217ef4520

+ 0 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -1245,16 +1245,6 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
                                        @Param("continueCourseTime") String continueCourseTime, @Param("endDateTime") String endDateTime);
 
     /**
-     * 获取当前课程,下一次连堂课
-     *
-     * @param continueCourseTime
-     * @param courseSchedule
-     * @return
-     */
-    CourseSchedule queryRepairContinueCourse(@Param("courseSchedule") CourseSchedule courseSchedule,
-                                             @Param("continueCourseTime") String continueCourseTime, @Param("endDateTime") String endDateTime);
-
-    /**
      * 获取单节课时长
      *
      * @param courseScheduleId

+ 7 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -530,7 +530,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
                 //获取当前课程的所有连堂课列表
                 String courseClassDate = DateUtil.format(cs.getClassDate(), DateUtil.DEFAULT_PATTERN);
                 String courseEndDateTime = DateUtil.format(cs.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
-                cs = courseScheduleDao.queryRepairContinueCourse(cs, continueCourseTime, courseClassDate + " " + courseEndDateTime);
+                cs = courseScheduleDao.queryContinueCourse(cs, continueCourseTime, courseClassDate + " " + courseEndDateTime);
                 //存在连堂课
                 if (cs != null) {
                     courseSchedules.add(cs);
@@ -578,8 +578,12 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
         }else {
             studentAttendance.setSignOutTime(signOutTime);
             studentAttendance.setStatus(StudentAttendanceStatusEnum.NORMAL);
+            Date signInTime1 = studentAttendance.getSignInTime();
+            if(signInTime1 == null){
+                studentAttendance.setSignInTime(signInTime);
+            }
             studentAttendanceDao.update(studentAttendance);
-            if(studentAttendance.getSignInTime() != null){
+            if(signInTime1 != null){
                 return true;
             }
         }
@@ -629,7 +633,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
                 //获取当前课程的所有连堂课列表
                 String courseClassDate = DateUtil.format(cs.getClassDate(), DateUtil.DEFAULT_PATTERN);
                 String courseEndDateTime = DateUtil.format(cs.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
-                cs = courseScheduleDao.queryRepairContinueCourse(cs, continueCourseTime, courseClassDate + " " + courseEndDateTime);
+                cs = courseScheduleDao.queryContinueCourse(cs, continueCourseTime, courseClassDate + " " + courseEndDateTime);
                 //存在连堂课
                 if (cs != null) {
                     courseSchedules.add(cs);

+ 9 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -270,16 +270,17 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		Date date = new Date();
 		String classDate = DateUtil.format(courseSchedule.getClassDate(), DateUtil.DEFAULT_PATTERN);
 		String startClassTime = DateUtil.format(courseSchedule.getStartClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
-		String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
+//		String endClassTime = DateUtil.format(courseSchedule.getEndClassTime(), DateUtil.EXPANDED_TIME_FORMAT);
 		//上课时间
 		Date classStartDateTime = DateUtil.stringToDate(classDate + " " + startClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
-		Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
+//		Date classEndDateTime = DateUtil.stringToDate(classDate + " " + endClassTime, DateUtil.EXPANDED_DATE_TIME_FORMAT);
 //		Date classEndDateAdd60Minutes = DateUtil.addMinutes(classEndDateTime, 60);
 //		Date classEndDateCut10Minutes = DateUtil.addMinutes(classEndDateTime, -10);
 
 //		Date add60Minutes = DateUtil.addMinutes(classStartDateTime, -60);
 		//签到
 		if(teacherAttendance.getSignInTime() == null && SignStatusEnum.SIGN_IN.equals(signStatus)){
+
 			YesOrNoEnum yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
 					userId.longValue(),
 					false,
@@ -367,8 +368,13 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		}else {
 			teacherAttendance.setSignOutStatus(status);
 			teacherAttendance.setSignOutTime(signOutTime);
+			Date signInTime1 = teacherAttendance.getSignInTime();
+			if(signInTime1 == null){
+				teacherAttendance.setSignInTime(signInTime);
+				teacherAttendance.setSignInStatus(YesOrNoEnum.YES);
+			}
 			teacherAttendanceDao.update(teacherAttendance);
-			if(teacherAttendance.getSignInTime() != null){
+			if(signInTime1 != null){
 				return true;
 			}
 		}

+ 0 - 9
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -2628,15 +2628,6 @@
           AND cs.class_group_id_ = #{courseSchedule.classGroupId} AND NOW() > CONCAT(cs.class_date_,' ', cs.start_class_time_)
         LIMIT 1
     </select>
-    <select id="queryRepairContinueCourse" resultMap="CourseSchedule">
-        SELECT cs.*
-        FROM course_schedule cs
-        WHERE TIMESTAMPDIFF(MINUTE, #{endDateTime}, CONCAT(cs.class_date_, ' ', cs.start_class_time_)) >= 0
-          AND TIMESTAMPDIFF(MINUTE, #{endDateTime}, CONCAT(cs.class_date_, ' ', cs.start_class_time_)) &lt;= #{continueCourseTime}
-          AND cs.teacher_id_ = #{courseSchedule.teacherId}
-          AND cs.class_group_id_ = #{courseSchedule.classGroupId} AND NOW() > CONCAT(cs.class_date_, ' ', cs.start_class_time_)
-        LIMIT 1
-    </select>
     <select id="getSingleClassMinutes" resultType="java.lang.Integer">
         SELECT FLOOR((UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.end_class_time_)) -
                       UNIX_TIMESTAMP(CONCAT(cs.class_date_, ' ', cs.start_class_time_))) / 60)