zouxuan 5 年之前
父节点
当前提交
20ec7bf6da

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

@@ -353,6 +353,10 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 							if(personalAttendance != null && personalAttendance.getSignOutStatus() == YesOrNoEnum.NO){
 								continue;
 							}
+							//如果当前课程有签到时间,那么只更新签退时间和状态
+							if(personalAttendance.getSignInTime() != null){
+								signInTime = null;
+							}
 							if(date.after(endDateTime)){
 								teacherAttendanceDao.cuntinueCourseSign(courseSchedules.get(i).getId(),signInTime,date,1);
 							}else if (date.equals(endDateTime)){

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

@@ -2541,8 +2541,6 @@
           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 ta.sign_in_time_ IS NULL
-          AND ta.sign_out_time_ IS NULL
         LIMIT 1
     </select>
     <select id="queryRepairContinueCourse" resultMap="CourseSchedule">

+ 8 - 1
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -373,7 +373,14 @@
     </update>
     <update id="cuntinueCourseSign">
         UPDATE teacher_attendance
-        SET sign_in_time_ = #{startDateTime},sign_in_status_ = 1,sign_out_status_ = #{status},sign_out_time_= #{endDateTime}
+        <set>
+            <if test="startDateTime != null">
+                sign_in_time_ = #{startDateTime},sign_in_status_ = 1,
+            </if>
+            <if test="endDateTime != null">
+                sign_out_status_ = #{status},sign_out_time_= #{endDateTime}
+            </if>
+        </set>
     	WHERE course_schedule_id_ = #{courseScheduleId}
     </update>
     <update id="batchUpdateTeacher">