Browse Source

Merge branch 'online1' into 2021-04-28

Joburgess 4 years ago
parent
commit
829bfe859d
18 changed files with 172 additions and 17 deletions
  1. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java
  2. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java
  3. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java
  4. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentAttendanceViewDto.java
  5. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java
  6. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/ArrearageStudentsQueryInfo.java
  7. 12 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  8. 20 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java
  9. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentVisitServiceImpl.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  11. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  12. 1 0
      mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml
  13. 7 2
      mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml
  14. 6 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml
  15. 1 0
      mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml
  16. 9 0
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  17. 74 0
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  18. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -168,7 +168,9 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
 
 
     List<Map<Integer, Integer>> getOrganNoClassMusicGroupStudentNum(@Param("organIds") Set<Integer> organIds, @Param("educationUserId") Integer educationUserId);
     List<Map<Integer, Integer>> getOrganNoClassMusicGroupStudentNum(@Param("organIds") Set<Integer> organIds, @Param("educationUserId") Integer educationUserId);
 
 
-    int countNoPaymentStudentNum(@Param("organIds") Set<Integer> organIds, @Param("educationUserId") Integer educationUserId);
+    int countNoPaymentStudentNum(@Param("organIds") Set<Integer> organIds,
+                                 @Param("educationUserId") Integer educationUserId,
+                                 @Param("noPaymentType") Integer noPaymentType);
 
 
     List<Map<Integer, Integer>> countOrganNoPaymentStudentNum(@Param("organIds") Set<Integer> organIds, @Param("educationUserId") Integer educationUserId);
     List<Map<Integer, Integer>> countOrganNoPaymentStudentNum(@Param("organIds") Set<Integer> organIds, @Param("educationUserId") Integer educationUserId);
 
 

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -507,4 +507,12 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @return
      * @return
      */
      */
     Integer getPaymentStudentNum(@Param("musicGroupId") String musicGroupId);
     Integer getPaymentStudentNum(@Param("musicGroupId") String musicGroupId);
+
+    /**
+     * 查找报名中的学员
+     * @param musicGroupId
+     * @param studentIds
+     * @return
+     */
+    StudentRegistration findApplyStudent(@Param("musicGroupId") String musicGroupId, @Param("studentIds") List<Integer> studentIds);
 }
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -500,4 +500,6 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
     String queryTeacherNameByTeacherIds(@Param("teachingTeacherIds") String teachingTeacherIds);
     String queryTeacherNameByTeacherIds(@Param("teachingTeacherIds") String teachingTeacherIds);
 
 
     List<Integer> queryAllIds();
     List<Integer> queryAllIds();
+
+    void eduUpdateTeacher(Teacher teacher);
 }
 }

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

@@ -45,6 +45,16 @@ public class StudentAttendanceViewDto {
     @ApiModelProperty(value = "学生在学状态",required = false)
     @ApiModelProperty(value = "学生在学状态",required = false)
     private StudentAttendanceStatusEnum status;
     private StudentAttendanceStatusEnum status;
 
 
+    private Boolean beMerged;
+
+    public Boolean getBeMerged() {
+        return beMerged;
+    }
+
+    public void setBeMerged(Boolean beMerged) {
+        this.beMerged = beMerged;
+    }
+
     public String getPaymentStatus() {
     public String getPaymentStatus() {
         return paymentStatus;
         return paymentStatus;
     }
     }

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexErrorType.java

@@ -13,6 +13,7 @@ public enum IndexErrorType implements BaseEnum<String, IndexErrorType> {
     NO_CLASS_MUSIC_GROUP_STUDENT_INFO("NO_CLASS_MUSIC_GROUP_STUDENT_INFO", "当前有{0}个乐团共{1}名学员未加入任何班级"),
     NO_CLASS_MUSIC_GROUP_STUDENT_INFO("NO_CLASS_MUSIC_GROUP_STUDENT_INFO", "当前有{0}个乐团共{1}名学员未加入任何班级"),
 
 
     STUDENT_INFO("STUDENT_INFO", "学员处理"),
     STUDENT_INFO("STUDENT_INFO", "学员处理"),
+    STUDENT_ARREARAGE("STUDENT_ARREARAGE", "欠费学员数"),
     STUDENT_NOT_PAYMENT("STUDENT_NOT_PAYMENT", "未缴费学员数"),
     STUDENT_NOT_PAYMENT("STUDENT_NOT_PAYMENT", "未缴费学员数"),
     STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP("STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP", "申请退团学员数"),
     STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP("STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP", "申请退团学员数"),
     WAIT_CREATE_PAYMENT_CALENDER("WAIT_CREATE_PAYMENT_CALENDER", "待创建缴费项目"),
     WAIT_CREATE_PAYMENT_CALENDER("WAIT_CREATE_PAYMENT_CALENDER", "待创建缴费项目"),

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/ArrearageStudentsQueryInfo.java

@@ -18,6 +18,9 @@ public class ArrearageStudentsQueryInfo extends QueryInfo {
 
 
     private Integer eduTeacherId;
     private Integer eduTeacherId;
 
 
+    @ApiModelProperty(value = "未缴费类型:0历史,1进行中")
+    private Integer noPaymentType;
+
     public String getOrganIds() {
     public String getOrganIds() {
         return organIds;
         return organIds;
     }
     }
@@ -49,4 +52,12 @@ public class ArrearageStudentsQueryInfo extends QueryInfo {
     public void setEduTeacherId(Integer eduTeacherId) {
     public void setEduTeacherId(Integer eduTeacherId) {
         this.eduTeacherId = eduTeacherId;
         this.eduTeacherId = eduTeacherId;
     }
     }
+
+    public Integer getNoPaymentType() {
+        return noPaymentType;
+    }
+
+    public void setNoPaymentType(Integer noPaymentType) {
+        this.noPaymentType = noPaymentType;
+    }
 }
 }

+ 12 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1730,8 +1730,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 List<Map<Integer, Long>> studentSubjectIdMaps = subjectDao.findStudentSubjectIdMaps(tempIds);
                 List<Map<Integer, Long>> studentSubjectIdMaps = subjectDao.findStudentSubjectIdMaps(tempIds);
                 Map<Integer, Long> studentSubjectIdMap = MapUtil.convertIntegerMap(studentSubjectIdMaps);
                 Map<Integer, Long> studentSubjectIdMap = MapUtil.convertIntegerMap(studentSubjectIdMaps);
                 truantStudent.forEach(studentAttendanceViewDto -> {
                 truantStudent.forEach(studentAttendanceViewDto -> {
-                    studentAttendanceViewDto.setSubjectName(studentSubjectNameMap.get(studentAttendanceViewDto.getStudentId().intValue()));
-                    studentAttendanceViewDto.setSubjectId(studentSubjectIdMap.get(studentAttendanceViewDto.getStudentId().intValue()));
+//                   if(studentAttendanceViewDto.getBeMerged()){
+//                       studentAttendanceViewDto.setSubjectName("被合并学员");
+//                   }else{
+                       studentAttendanceViewDto.setSubjectName(studentSubjectNameMap.get(studentAttendanceViewDto.getStudentId().intValue()));
+                       studentAttendanceViewDto.setSubjectId(studentSubjectIdMap.get(studentAttendanceViewDto.getStudentId().intValue()));
+//                   }
                 });
                 });
             } else if (schedule.getGroupType() != MUSIC) {
             } else if (schedule.getGroupType() != MUSIC) {
                 ClassGroup classGroup = classGroupDao.get(schedule.getClassGroupId());
                 ClassGroup classGroup = classGroupDao.get(schedule.getClassGroupId());
@@ -4015,6 +4019,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 studentIds);
                 studentIds);
         //创建缴费项目
         //创建缴费项目
         MusicGroup musicGroup = musicGroupDao.findByClassGroupId(masterClassGroupId);
         MusicGroup musicGroup = musicGroupDao.findByClassGroupId(masterClassGroupId);
+        //主班是否有报名状态的学员
+        StudentRegistration studentRegistration = studentRegistrationDao.findApplyStudent(musicGroup.getId(), studentIds);
+        if (studentRegistration != null) {
+            throw new BizException("操作失败: 学员 {}/{} 在 {} 中为报名状态不可合并",
+                    studentRegistration.getName(),studentRegistration.getUserId(),musicGroup.getName());
+        }
         //获取缴费状态在审核中或者已拒绝的缴费项目的学员
         //获取缴费状态在审核中或者已拒绝的缴费项目的学员
         String studentId = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroup.getId(), null);
         String studentId = musicGroupPaymentCalenderDao.queryCalenderStudentIds(musicGroup.getId(), null);
         if (StringUtils.isNotEmpty(studentId)) {
         if (StringUtils.isNotEmpty(studentId)) {

+ 20 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -462,7 +462,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			List<IndexErrInfoDto> twoChild = new ArrayList<>();
 			List<IndexErrInfoDto> twoChild = new ArrayList<>();
 
 
 			//未缴费学员数
 			//未缴费学员数
-			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_NOT_PAYMENT, IndexErrorType.STUDENT_NOT_PAYMENT.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId), Arrays.asList(educationUserId)));
+			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_ARREARAGE, IndexErrorType.STUDENT_ARREARAGE.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId,0), Arrays.asList(educationUserId)));
 
 
 			//申请退团学员数
 			//申请退团学员数
 			List<Long> quitGroupNum = indexBaseMonthDataDao.queryApplyForQuitGroupNum(organIds,educationUserId);
 			List<Long> quitGroupNum = indexBaseMonthDataDao.queryApplyForQuitGroupNum(organIds,educationUserId);
@@ -521,12 +521,6 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 				noAttendance = indexBaseMonthDataDao.getNoAttendance(organIds,startTime,classGroupIds);
 				noAttendance = indexBaseMonthDataDao.getNoAttendance(organIds,startTime,classGroupIds);
 				courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds);
 				courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds);
 			}
 			}
-			String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
-			//全职未离职老师
-			//预计课酬较低
-			int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIdsStr,monthStr);
-			fourChild.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW, IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW.getMsg(),lowTeacherSalary, null));
-
 			fourChild.add(new IndexErrInfoDto(IndexErrorType.COURSE_TIME_ERROR, IndexErrorType.COURSE_TIME_ERROR.getMsg(), courseTimeError, null));
 			fourChild.add(new IndexErrInfoDto(IndexErrorType.COURSE_TIME_ERROR, IndexErrorType.COURSE_TIME_ERROR.getMsg(), courseTimeError, null));
 
 
 			fourChild.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXCEPTION_ATTENDANCE, IndexErrorType.TEACHER_EXCEPTION_ATTENDANCE.getMsg(), attendanceError, null));
 			fourChild.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXCEPTION_ATTENDANCE, IndexErrorType.TEACHER_EXCEPTION_ATTENDANCE.getMsg(), attendanceError, null));
@@ -795,6 +789,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		if (sysUser == null) {
 		if (sysUser == null) {
 			throw new BizException("用户信息获取失败");
 			throw new BizException("用户信息获取失败");
 		}
 		}
+
+		Set<Integer> organIdSet = null;
+		if(StringUtils.isNotBlank(organIds)){
+			organIdSet = Arrays.stream(organIds.split(",")).map(Integer::new).collect(Collectors.toSet());
+		}
+
 		//当前用户是否是分部经理
 		//当前用户是否是分部经理
 		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
 		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
 		Integer educationUserId = null;
 		Integer educationUserId = null;
@@ -819,6 +819,18 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			}
 			}
 		}
 		}
 		result.add(indexErrInfoDto);
 		result.add(indexErrInfoDto);
+
+		//未缴费学员数
+		result.add(new IndexErrInfoDto(IndexErrorType.STUDENT_NOT_PAYMENT, IndexErrorType.STUDENT_NOT_PAYMENT.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIdSet,educationUserId, 1), Arrays.asList(educationUserId)));
+
+
+		String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
+		//全职未离职老师
+		//预计课酬较低
+		int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIds,monthStr);
+		result.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW, IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW.getMsg(),lowTeacherSalary, null));
+
+
 		return result;
 		return result;
 	}
 	}
 
 
@@ -862,7 +874,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		resultMap.put("musicPatrol",flag1);
 		resultMap.put("musicPatrol",flag1);
 		boolean flag2 = false;
 		boolean flag2 = false;
 		if(!flag2){
 		if(!flag2){
-			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId);
+			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId, 0);
 			if(countNoPaymentStudentNum > 0){
 			if(countNoPaymentStudentNum > 0){
 				flag2 = true;
 				flag2 = true;
 			}
 			}

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

@@ -38,6 +38,8 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
     @Autowired
     @Autowired
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
     private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
     @Autowired
     @Autowired
+    private CourseScheduleDao courseScheduleDao;
+    @Autowired
     private StudentAttendanceDao studentAttendanceDao;
     private StudentAttendanceDao studentAttendanceDao;
 
 
 
 
@@ -75,6 +77,8 @@ public class StudentVisitServiceImpl extends BaseServiceImpl<Integer, StudentVis
                 studentAttendance.setUpdateTime(now);
                 studentAttendance.setUpdateTime(now);
                 studentAttendanceDao.update(studentAttendance);
                 studentAttendanceDao.update(studentAttendance);
             }
             }
+            CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleStudentPayment.getCourseScheduleId());
+            studentVisit.setOrganId(courseSchedule.getOrganId());
         }
         }
         studentVisitDao.insert(studentVisit);
         studentVisitDao.insert(studentVisit);
         return studentVisit;
         return studentVisit;

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

@@ -777,7 +777,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		teacherAttendance.setIsComplaints(1);
 		teacherAttendance.setIsComplaints(1);
 		teacherAttendance.setComplaintsStatus(ComplaintsStatusEnum.WAIT);
 		teacherAttendance.setComplaintsStatus(ComplaintsStatusEnum.WAIT);
 		teacherAttendance.setComplaintsContent(content);
 		teacherAttendance.setComplaintsContent(content);
-		teacherAttendance.setComplaintsTime(date);
+		teacherAttendance.setComplaintsTime(new Date());
 		teacherAttendance.setUrl(url);
 		teacherAttendance.setUrl(url);
 		teacherAttendanceDao.update(teacherAttendance);
 		teacherAttendanceDao.update(teacherAttendance);
 	}
 	}

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

@@ -154,7 +154,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 		}
 		}
 		teacher.setUpdateTime(new Date());
 		teacher.setUpdateTime(new Date());
 		teacher.setTeacherOrganId(teacher.getOrganId());
 		teacher.setTeacherOrganId(teacher.getOrganId());
-		teacherDao.update(teacher);
+		teacherDao.eduUpdateTeacher(teacher);
 		teacher.setOrganId(null);
 		teacher.setOrganId(null);
 		teacherDao.updateUser(teacher);
 		teacherDao.updateUser(teacher);
 		imGroupDao.updateNickname(teacher.getId(),teacher.getRealName());
 		imGroupDao.updateNickname(teacher.getId(),teacher.getRealName());

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

@@ -196,6 +196,7 @@
             cssp.user_id_ student_id_,
             cssp.user_id_ student_id_,
             su.username_,
             su.username_,
             su.avatar_,
             su.avatar_,
+            cssp.be_merged_,
             IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
             IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
         FROM
         FROM
             course_schedule_student_payment cssp
             course_schedule_student_payment cssp

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

@@ -771,7 +771,12 @@
 		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
 		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
 		WHERE
 		WHERE
 		mg.status_ = 'PROGRESS'
 		mg.status_ = 'PROGRESS'
-		AND DATE_FORMAT(NOW(),'%Y-%m-%d') >= DATE_FORMAT(mgpc.payment_valid_start_date_,'%Y-%m-%d')
+		<if test="noPaymentType==null or noPaymentType==0">
+			AND DATE_FORMAT(NOW(),'%Y-%m-%d') > mgpc.deadline_payment_date_
+		</if>
+		<if test="noPaymentType!=null and noPaymentType==1">
+			AND DATE_FORMAT(NOW(),'%Y-%m-%d') BETWEEN mgpc.start_payment_date_ AND mgpc.deadline_payment_date_
+		</if>
 		AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 		AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 		<if test="educationUserId != null">
 		<if test="educationUserId != null">
 			AND mg.educational_teacher_id_ = #{educationUserId}
 			AND mg.educational_teacher_id_ = #{educationUserId}
@@ -794,7 +799,7 @@
 		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
 		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
 		WHERE
 		WHERE
 		mg.status_ = 'PROGRESS'
 		mg.status_ = 'PROGRESS'
-		AND DATE_FORMAT(NOW(),'%Y-%m-%d') >= DATE_FORMAT(mgpc.payment_valid_start_date_,'%Y-%m-%d')
+		AND DATE_FORMAT(NOW(),'%Y-%m-%d') > mgpc.deadline_payment_date_
 		AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 		AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 		<if test="educationUserId != null">
 		<if test="educationUserId != null">
 			AND mg.educational_teacher_id_ = #{educationUserId}
 			AND mg.educational_teacher_id_ = #{educationUserId}

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

@@ -425,7 +425,12 @@
 	<sql id="queryArrearageStudentsCondition">
 	<sql id="queryArrearageStudentsCondition">
 		<where>
 		<where>
 			mg.status_ = 'PROGRESS'
 			mg.status_ = 'PROGRESS'
-			AND DATE_FORMAT( NOW(), '%Y-%m-%d' ) >= DATE_FORMAT( mgpc.payment_valid_start_date_, '%Y-%m-%d' )
+			<if test="noPaymentType==null or noPaymentType==0">
+				AND DATE_FORMAT(NOW(),'%Y-%m-%d') > mgpc.deadline_payment_date_
+			</if>
+			<if test="noPaymentType!=null and noPaymentType==1">
+				AND DATE_FORMAT(NOW(),'%Y-%m-%d') BETWEEN mgpc.start_payment_date_ AND mgpc.deadline_payment_date_
+			</if>
 			AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 			AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
 			AND mgpcd.expect_amount_ > 0
 			AND mgpcd.expect_amount_ > 0
 			<if test="organIds!=null and organIds.size()>0">
 			<if test="organIds!=null and organIds.size()>0">

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

@@ -222,6 +222,7 @@
         <result property="subjectName" column="subject_name_"/>
         <result property="subjectName" column="subject_name_"/>
         <result property="avatar" column="avatar_"/>
         <result property="avatar" column="avatar_"/>
         <result property="phone" column="phone_"/>
         <result property="phone" column="phone_"/>
+        <result property="beMerged" column="be_merged_"/>
         <result property="status" column="status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result property="status" column="status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
     </resultMap>
 
 

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

@@ -960,4 +960,13 @@
     <select id="getPaymentStudentNum" resultType="int">
     <select id="getPaymentStudentNum" resultType="int">
         SELECT COUNT(*) FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND payment_status_ = 2 AND music_group_status_ = 'NORMAL'
         SELECT COUNT(*) FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND payment_status_ = 2 AND music_group_status_ = 'NORMAL'
     </select>
     </select>
+    <select id="findApplyStudent" resultMap="StudentRegistration">
+        SELECT * FROM student_registration
+        WHERE music_group_id_ = #{musicGroupId} AND music_group_status_ = 'APPLY'
+        AND user_id_ IN
+        <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+            #{studentId}
+        </foreach>
+        LIMIT 1
+    </select>
 </mapper>
 </mapper>

+ 74 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -159,6 +159,80 @@
             <if test="lectureNum != null">
             <if test="lectureNum != null">
                 lecture_num_ = #{lectureNum},
                 lecture_num_ = #{lectureNum},
             </if>
             </if>
+            <if test="graduateSchool != null">
+                graduate_school_ = #{graduateSchool},
+            </if>
+            <if test="subjectId != null">
+                subject_id_ = #{subjectId},
+            </if>
+            <if test="organId != null">
+                organ_id_ = #{organId},
+            </if>
+            <if test="technicalTitles != null">
+                technical_titles_ = #{technicalTitles},
+            </if>
+            <if test="entryDate != null">
+                entry_date_ = #{entryDate},
+            </if>
+            <if test="jobType != null">
+                job_type_ = #{jobType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="flowOrganRange != null">
+                flow_organ_range_ = #{flowOrganRange},
+            </if>
+            <if test="certificateType != null">
+                certificate_type_ = #{certificateType},
+            </if>
+            <if test="jobNature != null">
+                job_nature_ = #{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="isProbationPeriod != null">
+                is_probation_period_ = #{isProbationPeriod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
+            <if test="updateTime != null">
+                update_time_ = NOW(),
+            </if>
+            <if test="educationBackground != null">
+                education_background_ = #{educationBackground},
+            </if>
+            <if test="certificateNum != null">
+                certificate_num_ = #{certificateNum},
+            </if>
+            <if test="workUnit != null">
+                work_unit_ = #{workUnit},
+            </if>
+            <if test="introduction != null">
+                introduction_ = #{introduction},
+            </if>
+            <if test="isSupportCourseScheduleRewardsRules != null">
+                is_support_course_schedule_rewards_rules_ = #{isSupportCourseScheduleRewardsRules},
+            </if>
+            <if test="isSupportExtraPracticeLesson != null">
+                is_support_extra_practice_lesson_ = #{isSupportExtraPracticeLesson},
+            </if>
+            <if test="idcardFrontImg != null">
+                idcard_front_img_ = #{idcardFrontImg},
+            </if>
+            <if test="idcardBackImg != null">
+                idcard_back_img_ = #{idcardBackImg},
+            </if>
+            <if test="idcardHandImg != null">
+                idcard_hand_img_ = #{idcardHandImg},
+            </if>
+            <if test="isSettlementSalary != null">
+                is_settlement_salary_ = #{isSettlementSalary},
+            </if>
+        </set>
+        WHERE id_ = #{id}
+    </update>
+
+    <!-- 根据主键查询一条记录 -->
+    <update id="eduUpdateTeacher" parameterType="com.ym.mec.biz.dal.entity.Teacher">
+        UPDATE teacher
+        <set>
+            <if test="lectureNum != null">
+                lecture_num_ = #{lectureNum},
+            </if>
                 memo_ = #{memo},
                 memo_ = #{memo},
             <if test="graduateSchool != null">
             <if test="graduateSchool != null">
                 graduate_school_ = #{graduateSchool},
                 graduate_school_ = #{graduateSchool},

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

@@ -2595,7 +2595,7 @@ public class ExportController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         OutputStream outputStream = response.getOutputStream();
 
 
         try {
         try {
-            String[] header = {"分部", "基础技能班学员数量异常", "乐团巡查事项异常", "未在班级学员数", "未缴费学员数",
+            String[] header = {"分部", "基础技能班学员数量异常", "乐团巡查事项异常", "未在班级学员数", "费学员数",
                     "申请退团学员数", "预计课酬较低", "课程时间安排异常", "乐团巡查未计划", "乐团巡查任务未提交",
                     "申请退团学员数", "预计课酬较低", "课程时间安排异常", "乐团巡查未计划", "乐团巡查任务未提交",
                     "回访任务未完成", "课程考勤异常", "课程异常", "服务指标异常", "总计",};
                     "回访任务未完成", "课程考勤异常", "课程异常", "服务指标异常", "总计",};
             String[] body = {"organName", "highClassStudentLessThanThreeNum", "musicPatrolItem", "noClassMusicGroupStudentInfo", "studentNotPayment",
             String[] body = {"organName", "highClassStudentLessThanThreeNum", "musicPatrolItem", "noClassMusicGroupStudentInfo", "studentNotPayment",