浏览代码

Merge remote-tracking branch 'origin/master'

周箭河 5 年之前
父节点
当前提交
c679952b39

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java

@@ -37,7 +37,10 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @author Joburgess
      * @date 2019/10/18
      */
-    TeacherAttendanceDto getTeacherCourseByDateSpeed(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("teacherId") Long teacherId);
+    List<TeacherAttendanceDto> getTeacherCourseByDateSpeed(@Param("startTime") Date startTime,
+                                                     @Param("endTime") Date endTime,
+                                                     @Param("teacherId") Long teacherId,
+                                                     @Param("schoolId") Integer schoolId);
 
     int batchAddCourseSchedules(List<CourseSchedule> courseSchedules);
 

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherAttendanceDto.java

@@ -88,6 +88,16 @@ public class TeacherAttendanceDto {
 
     private Integer enableStudentAttendanceTimeRange;
 
+    private Integer enableStudentAttendanceTimeRangeVip;
+
+    public Integer getEnableStudentAttendanceTimeRangeVip() {
+        return enableStudentAttendanceTimeRangeVip;
+    }
+
+    public void setEnableStudentAttendanceTimeRangeVip(Integer enableStudentAttendanceTimeRangeVip) {
+        this.enableStudentAttendanceTimeRangeVip = enableStudentAttendanceTimeRangeVip;
+    }
+
     public int getStudentAttendanceIsFirstTime() {
         return studentAttendanceIsFirstTime;
     }

+ 5 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -129,7 +129,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
         currentCourseDetail.setCurrentClassTimes(courseScheduleDao.countClassGroupOverCourseNum(currentCourseDetail.getClassId()));
         SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ENABLE_STUDENT_ATTENDANCE_TIME_RANGE);
+        SysConfig sysConfigVip = sysConfigService.findByParamName(SysConfigService.ENABLE_STUDENT_ATTENDANCE_TIME_RANGE_VIP);
         currentCourseDetail.setEnableStudentAttendanceTimeRange(sysConfig.getParanValue(Integer.class));
+        currentCourseDetail.setEnableStudentAttendanceTimeRange(sysConfigVip.getParanValue(Integer.class));
         int studentNum = studentAttendanceDao.countByCourseSchedule(courseID);
         if (Objects.nonNull(studentNum)) {
             currentCourseDetail.setStudentAttendanceIsFirstTime(studentNum > 0 ? 0 : 1);
@@ -200,15 +202,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     public YesOrNoEnum enableOnlyNormalAttendance(Date startClassTime, Long userId, boolean checkSchool, Integer schoolId) {
         Date endTime = startClassTime;
         Date startTime = DateUtil.addHours(endTime, -1);
-        TeacherAttendanceDto teacherCourseByDateSpeed = courseScheduleDao.getTeacherCourseByDateSpeed(startTime, endTime, userId);
-        if (Objects.isNull(teacherCourseByDateSpeed)) {
+        List<TeacherAttendanceDto> teacherCourseByDateSpeeds = courseScheduleDao.getTeacherCourseByDateSpeed(startTime, endTime, userId, schoolId);
+        if (CollectionUtils.isEmpty(teacherCourseByDateSpeeds)) {
             return YesOrNoEnum.NO;
         } else {
             if (checkSchool
-                    && Objects.nonNull(teacherCourseByDateSpeed.getSignInTime())
-                    && Objects.nonNull(schoolId)
-                    && Objects.nonNull(teacherCourseByDateSpeed.getSchoolId())
-                    && schoolId.equals(teacherCourseByDateSpeed.getSchoolId().intValue())) {
+                    && Objects.nonNull(schoolId)) {
                 return YesOrNoEnum.YES;
             } else {
                 return YesOrNoEnum.NO;

+ 0 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java

@@ -189,13 +189,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			return;
 		}
 
-		YesOrNoEnum yesOrNoEnum = YesOrNoEnum.NO;
-		if(Objects.nonNull(courseSchedule.getSchoolId())){
-			yesOrNoEnum = courseScheduleService.enableOnlyNormalAttendance(courseSchedule.getStartClassTime(),
-					sysUser.getId().longValue(),
-					true,
-					courseSchedule.getSchoolId().intValue());
-		}
 		if(Objects.nonNull(teacherAttendance.getId())){
 			teacherAttendanceDao.update(teacherAttendance);
 		}else{
@@ -204,10 +197,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 			teacherAttendance.setSignOutTime(date);
 			teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);
 			teacherAttendance.setCurrentClassTimes(classTimes + 1);
-			if(yesOrNoEnum != YesOrNoEnum.YES && courseSchedule.getStartClassTime().before(date)){
-				teacherAttendance.setSignInStatus(YesOrNoEnum.NO);
-				teacherAttendance.setSignOutStatus(YesOrNoEnum.NO);
-			}
 			teacherAttendanceDao.insert(teacherAttendance);
 		}
 	}

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

@@ -306,7 +306,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			}
 		}
 		//签退
-		if(teacherAttendance.getSignOutTime() == null && SignStatusEnum.SIGN_OUT.equals(signStatus)){
+		if(SignStatusEnum.SIGN_OUT.equals(signStatus)){
 			//正常签退范围(课程结束前10分钟,1小时内)
 			if(DateUtil.minutesBetween(classEndDateCut10Minutes,date) > 0 && DateUtil.minutesBetween(date,classEndDateAdd60Minutes) > 0){
 				teacherAttendance.setSignOutStatus(YesOrNoEnum.YES);

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

@@ -343,8 +343,10 @@
             LEFT JOIN sys_user su ON cs.actual_teacher_id_=su.id_
             LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_
         WHERE cs.actual_teacher_id_= #{teacherId}
-            AND (cs.end_class_time_ BETWEEN #{startTime} AND #{endTime})
-        ORDER BY cs.id_ DESC LIMIT 1
+            AND (CONCAT(cs.class_date_,' ',cs.end_class_time_) BETWEEN #{startTime} AND #{endTime})
+            AND cs.schoole_id_=#{schoolId}
+            AND ta.sign_in_time_ IS NOT NULL
+        ORDER BY cs.id_
     </select>
 
     <resultMap id="studentAttendanceViewUtilEntity" type="com.ym.mec.biz.dal.dto.StudentAttendanceViewDto">

+ 4 - 6
mec-biz/src/main/resources/config/mybatis/SysUserCashAccountDetailMapper.xml

@@ -56,8 +56,8 @@
             <if test="description!=null">description_,</if>
             <if test="comment!=null">comment_,</if>
             <if test="createTime!=null">create_time_,</if>
-            <if test="updateTime!=null">update_time_,</if>
-            <if test="attribute!=null">attribute1_,</if>
+            update_time_,
+            attribute1_,
             <if test="channel!=null">channel_,</if>
             <if test="platformAccountNo!=null">platform_account_no_,</if>
         </trim>
@@ -75,8 +75,8 @@
             <if test="balance!=null">#{balance},</if>
             <if test="description!=null">#{description},</if>
             <if test="comment!=null">#{comment},</if>
-            <if test="createTime!=null">NOW(),</if>
-            <if test="updateTime!=null">NOW(),</if>
+            NOW(),
+            NOW(),
             <if test="attribute!=null">#{attribute},</if>
             <if test="channel!=null">#{channel},</if>
             <if test="platformAccountNo!=null">#{platformAccountNo},</if>
@@ -109,9 +109,7 @@
             <if test="comment != null">
                 comment_ = #{comment},
             </if>
-            <if test="updateTime != null">
                 update_time_ = NOW(),
-            </if>
             <if test="amount != null">
                 amount_ = #{amount},
             </if>

+ 2 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java

@@ -67,11 +67,13 @@ public class TeacherCourseScheduleController extends BaseController {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
         SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.ENABLE_STUDENT_ATTENDANCE_TIME_RANGE);
+        SysConfig sysConfigVip = sysConfigService.findByParamName(SysConfigService.ENABLE_STUDENT_ATTENDANCE_TIME_RANGE_VIP);
         List<CourseScheduleDto> teacherCourseSchedulesWithDate = scheduleService.getTeacherCourseSchedulesWithDate(user.getId(),date,type);
         Map<String,Object> result = new HashMap<>();
         result.put("rows",teacherCourseSchedulesWithDate);
         result.put("appealDaysRange",1);
         result.put("enableStudentAttendanceTimeRange",sysConfig.getParanValue(Integer.class));
+        result.put("enableStudentAttendanceTimeRangeVip",sysConfigVip.getParanValue(Integer.class));
         return succeed(result);
     }