浏览代码

首次请假逻辑回滚

zouxuan 3 年之前
父节点
当前提交
0593630bbc

+ 0 - 11
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -102,17 +102,6 @@ public class StudentManageListDto {
 
     private String cooperationOrganName;
 
-    @ApiModelProperty(value = "当月请假次数")
-    private Long leaveNum;
-
-    public Long getLeaveNum() {
-        return leaveNum;
-    }
-
-    public void setLeaveNum(Long leaveNum) {
-        this.leaveNum = leaveNum;
-    }
-
     public Integer getCooperationOrganId() {
         return cooperationOrganId;
     }

+ 0 - 22
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentAttendance.java

@@ -92,28 +92,6 @@ public class StudentAttendance {
 
 	private int normalRemind;
 
-	@ApiModelProperty(value = "是否首次请假")
-	private YesOrNoEnum firstLeave = YesOrNoEnum.NO;
-
-	@ApiModelProperty(value = "当月请假次数")
-	private Long leaveNum;
-
-	public Long getLeaveNum() {
-		return leaveNum;
-	}
-
-	public void setLeaveNum(Long leaveNum) {
-		this.leaveNum = leaveNum;
-	}
-
-	public YesOrNoEnum getFirstLeave() {
-		return firstLeave;
-	}
-
-	public void setFirstLeave(YesOrNoEnum firstLeave) {
-		this.firstLeave = firstLeave;
-	}
-
 	public int getNormalRemind() {
 		return normalRemind;
 	}

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

@@ -156,7 +156,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
         int remindNum = studentAttendanceDao.countNormalRemindNum(courseScheduleId);
         studentAttendanceDao.deleteStudentAttendancesByCourse(courseScheduleId);
         int classTimes = courseScheduleDao.countClassTimes(courseSchedule.getClassGroupId().longValue(), courseSchedule.getStartClassTime());
-        String month = DateUtil.format(courseSchedule.getClassDate(), DateUtil.ISO_YEAR_MONTH_FORMAT);
         studentAttendances.forEach(studentAttendance -> {
             studentAttendance.setTeacherId(sysUser.getId());
             studentAttendance.setCurrentClassTimes(classTimes + 1);
@@ -185,12 +184,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
                             studentAttendanceInfo.getMusicGroupId(),
                             YesOrNoEnum.NO.getCode());
                 }
-                if (studentAttendanceInfo.getStatus() == StudentAttendanceStatusEnum.LEAVE) {
-                    int leaveNum = studentAttendanceDao.getLeaveNum(studentAttendanceInfo.getUserId(),month,null);
-                    if(leaveNum == 0){
-                        studentAttendanceInfo.setFirstLeave(YesOrNoEnum.YES);
-                    }
-                }
                 if (studentAttendanceInfo.getStatus() == StudentAttendanceStatusEnum.NORMAL) {
                     studentAttendanceInfo.setSignInTime(courseSchedule.getStartClassTime());
                     studentAttendanceInfo.setSignOutTime(courseSchedule.getEndClassTime());
@@ -313,19 +306,10 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
             throw new BizException("此课程已结算");
         }
 
-        String month = DateUtil.format(courseSchedule.getClassDate(), DateUtil.ISO_YEAR_MONTH_FORMAT);
-
         List<Integer> userIds = studentAttendances.stream().map(StudentAttendance::getUserId).collect(Collectors.toList());
         studentAttendanceDao.deleteStudentAttendancesByCourseAndUsers(studentAttendanceInfo.getCourseScheduleId().longValue(), userIds);
         //获取非请假的学员考勤
         for (StudentAttendance studentAttendance : studentAttendances) {
-            if(studentAttendance.getStatus() == StudentAttendanceStatusEnum.LEAVE){
-                //当前月是否是第一次请假
-                int leaveNum = studentAttendanceDao.getLeaveNum(studentAttendance.getUserId(),month,null);
-                if(leaveNum == 0){
-                    studentAttendance.setFirstLeave(YesOrNoEnum.YES);
-                }
-            }
             studentAttendance.setGroupType(courseSchedule.getGroupType());
             studentAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
             studentAttendance.setClassGroupId(courseSchedule.getClassGroupId());
@@ -424,11 +408,6 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
         studentAttendance.setUserId(userId);
         studentAttendance.setGroupType(courseSchedule.getGroupType());
         studentAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
-        String month = DateUtil.format(courseSchedule.getClassDate(), DateUtil.ISO_YEAR_MONTH_FORMAT);
-        int leaveNum = studentAttendanceDao.getLeaveNum(userId,month,studentAttendance.getId());
-        if(leaveNum == 0){
-            studentAttendance.setFirstLeave(YesOrNoEnum.YES);
-        }
         if (Objects.nonNull(studentAttendance.getId())) {
             studentAttendanceDao.update(studentAttendance);
         } else {
@@ -685,12 +664,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
                 dataList = new ArrayList<>();
             }
             if(dataList.size() > 0){
-                Set<Integer> userIds = dataList.stream().map(StudentAttendance::getUserId).collect(Collectors.toSet());
-                //获取学员当月请假次数
-                String month = DateUtil.format(new Date(), DateUtil.ISO_YEAR_MONTH_FORMAT);
-                Map<Integer, Long> leaveNumMap = MapUtil.convertIntegerMap(studentAttendanceDao.queryLeaveNum(userIds,month));
                 for(StudentAttendance sa : dataList){
-                    sa.setLeaveNum(leaveNumMap.get(sa.getUserId()));
                     if(sa.getGroupType() == GroupType.MUSIC){
                         Set<Integer> userId = new HashSet<Integer>();
                         userId.add(sa.getUserId());

+ 0 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -142,9 +142,6 @@ public class StudentManageServiceImpl implements StudentManageService {
         }
 
         Set<Integer> userIds = dataList.stream().map(StudentManageListDto::getUserId).collect(Collectors.toSet());
-        //获取学员当月请假次数
-        String month = DateUtil.format(new Date(), DateUtil.ISO_YEAR_MONTH_FORMAT);
-        Map<Integer, Long> leaveNumMap = MapUtil.convertIntegerMap(studentAttendanceDao.queryLeaveNum(userIds,month));
 
         List<StudentListCourseDto> studentListCourseDtoList = studentManageDao.queryStudentRemianCourse(userIds);
         Map<Integer, StudentListCourseDto> StudentListCourseDtoMap = studentListCourseDtoList.stream().collect(Collectors.toMap(StudentListCourseDto::getUserId, studentListCourseDto -> studentListCourseDto));
@@ -192,8 +189,6 @@ public class StudentManageServiceImpl implements StudentManageService {
 //            }
             //年级
             dto.setCurrentGrade(studentService.getStudentGrade(dto.getGradeType(),dto.getCurrentGradeNum()));
-            //请假次数
-            dto.setLeaveNum(leaveNumMap.get(dto.getUserId()));
         }
 
         if (queryInfo.getIsExport()) {

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

@@ -2584,7 +2584,7 @@
         <if test="searchType == 'ERR_ATTENDANCE'">
             AND ta.teacher_id_ = cs.actual_teacher_id_
             AND cs.status_ = 'OVER'
-            AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0 AND sa.first_leave_ = 0)))
+            AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0)))
             AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)
             AND ta.sign_in_status_ IS NOT NULL AND ta.sign_out_status_ IS NOT NULL
             AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cssp.id_ IS NOT NULL

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

@@ -947,7 +947,7 @@
 		LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
 		WHERE ta.teacher_id_ = cs.actual_teacher_id_
 		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= '2021-02-01'
-		AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0 AND sa.first_leave_ = 0)))
+		AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0)))
 		AND ta.sign_in_status_ IS NOT NULL AND ta.sign_out_status_ IS NOT NULL
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cssp.id_ IS NOT NULL
 		AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)
@@ -976,7 +976,7 @@
 		LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
 		WHERE ta.teacher_id_ = cs.actual_teacher_id_
 		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= '2021-02-01'
-		AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0 AND sa.first_leave_ = 0)))
+		AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0)))
 		AND ta.sign_in_status_ IS NOT NULL AND ta.sign_out_status_ IS NOT NULL
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cssp.id_ IS NOT NULL
 		AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)

+ 4 - 7
mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -58,17 +58,17 @@
             keyColumn="id" keyProperty="id">
         INSERT INTO student_attendance
         (group_type_,music_group_id_,class_group_id_,course_schedule_id_,user_id_,teacher_id_,status_,create_time_,
-        update_time_,remark_,current_class_times_,sign_in_time_,sign_out_time_,current_schedule_id_,visit_flag_,normal_remind_,first_leave_)
+        update_time_,remark_,current_class_times_,sign_in_time_,sign_out_time_,current_schedule_id_,visit_flag_,normal_remind_)
         VALUES(#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},
         #{courseScheduleId},#{userId},#{teacherId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),now(),
         #{remark},#{currentClassTimes},#{signInTime},#{signOutTime},#{currentScheduleId},#{visitFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{normalRemind},#{firstLeave,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+        #{normalRemind})
     </insert>
 
     <insert id="addStudentAttendances" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id_">
       INSERT INTO student_attendance (group_type_, music_group_id_, class_group_id_, course_schedule_id_,
       user_id_, teacher_id_, status_, create_time_,update_time_, remark_ ,current_class_times_,sign_in_time_,
-                                      sign_out_time_,current_schedule_id_,visit_flag_,normal_remind_,first_leave_)
+                                      sign_out_time_,current_schedule_id_,visit_flag_,normal_remind_)
       VALUES
 	  <foreach collection="list" item="studentAttendance" separator=",">
           (#{studentAttendance.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
@@ -77,7 +77,7 @@
           #{studentAttendance.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now(),#{studentAttendance.updateTime},
           #{studentAttendance.remark},#{studentAttendance.currentClassTimes},
           #{studentAttendance.signInTime},#{studentAttendance.signOutTime},#{studentAttendance.currentScheduleId},#{studentAttendance.visitFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-          #{studentAttendance.normalRemind},#{studentAttendance.firstLeave,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+          #{studentAttendance.normalRemind})
       </foreach>
     </insert>
 
@@ -85,9 +85,6 @@
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentAttendance">
         UPDATE student_attendance
         <set>
-            <if test="firstLeave != null">
-                first_leave_ = #{firstLeave,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-            </if>
             <if test="status != null">
                 status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -719,10 +719,10 @@ public class ExportController extends BaseController {
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"分部", "学员编号", "学员姓名", "性别", "家长姓名",
                     "家长联系电话", "是否激活", "是否有课", "是否有网管课","网管课剩余课时","VIP课剩余课时", "课程余额(元)", "账户余额(元)",
-                    "所在乐团", "乐团所属声部", "所在乐团状态", "所在vip课", "所在VIP状态","当月请假次数", "服务标签", "运营标签", "指导老师", "是否签订协议"}, new String[]{
+                    "所在乐团", "乐团所属声部", "所在乐团状态", "所在vip课", "所在VIP状态", "服务标签", "运营标签", "指导老师", "是否签订协议"}, new String[]{
                     "organName", "userId", "username", "gender.description", "parentsName", "parentsPhone",
                     "isActive.msg", "hasCourse.msg", "hasPracticeCourse.msg","noStartPracticeCourseNum","noStartVipCourseNum", "courseBalance", "balance", "musicGroupName",
-                    "subjectName", "musicGroupStatus", "vipGroupName", "vipGroupStatus","leaveNum", "serviceTag.msg", "operatingTag.msg", "teacherName", "isSignedContract ? '是' : '否'"}, rows);
+                    "subjectName", "musicGroupStatus", "vipGroupName", "vipGroupStatus", "serviceTag.msg", "operatingTag.msg", "teacherName", "isSignedContract ? '是' : '否'"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             response.flushBuffer();