Browse Source

Merge branch 'master' into test

Joburgess 4 năm trước cách đây
mục cha
commit
ec3b3c825e
18 tập tin đã thay đổi với 225 bổ sung70 xóa
  1. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java
  2. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java
  3. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentServeCourseDto.java
  4. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentExtracurricularExercisesSituation.java
  5. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java
  6. 1 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  7. 27 11
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java
  8. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java
  9. 10 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java
  10. 11 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  11. 33 19
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java
  12. 0 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  13. 27 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java
  14. 1 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  15. 8 3
      mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml
  16. 53 18
      mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml
  17. 2 0
      mec-biz/src/main/resources/config/mybatis/StudentMapper.xml
  18. 9 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java

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

@@ -191,7 +191,7 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
      * @param organIdsStr
      * @return
      */
-    int queryInspectionItem(@Param("organIdsStr") String organIdsStr, @Param("startTime") String startTime);
+    int queryInspectionItem(@Param("organIdsStr") String organIdsStr, @Param("startTime") String startTime, @Param("userId") Integer userId);
 
     /**
      * 乐团巡查任务未提交
@@ -205,7 +205,7 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
      * @param organIdsStr
      * @return
      */
-    int queryStudentVisit(@Param("organIdsStr") String organIdsStr, @Param("startTime") String startTime);
+    int queryStudentVisit(@Param("organIdsStr") String organIdsStr, @Param("startTime") String startTime, @Param("userId") Integer userId);
 
     List<IndexBaseMonthData> getFinancePayData(@Param("dayStr") String dayStr);
 

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java

@@ -120,6 +120,7 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
 
     List<StudentExtracurricularExercisesSituation> findTeacherServeWithDate(@Param("monday") String monday,
                                                                             @Param("sunday") String sunday,
-                                                                            @Param("teacherIds") List<Integer> teacherIds);
+                                                                            @Param("teacherIds") List<Integer> teacherIds,
+                                                                            @Param("serveType") String serveType);
 
 }

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

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.TeachModeEnum;
 
@@ -24,6 +25,8 @@ public class StudentServeCourseDto {
 
     private Long classGroupId;
 
+    private CourseStatusEnum status;
+
     private CourseSchedule.CourseScheduleType type;
 
     private Integer actualTeacherId;
@@ -82,6 +85,14 @@ public class StudentServeCourseDto {
         this.courseScheduleId = courseScheduleId;
     }
 
+    public CourseStatusEnum getStatus() {
+        return status;
+    }
+
+    public void setStatus(CourseStatusEnum status) {
+        this.status = status;
+    }
+
     public GroupType getGroupType() {
         return groupType;
     }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentExtracurricularExercisesSituation.java

@@ -55,6 +55,10 @@ public class StudentExtracurricularExercisesSituation {
 
 	private String courseIds;
 
+	private String notOverCourseIds;
+
+	private Integer notOverCourseNum = 0;
+
 	public StudentExtracurricularExercisesSituation() {
 	}
 
@@ -205,6 +209,22 @@ public class StudentExtracurricularExercisesSituation {
 		return StringUtils.join(this.studentId, this.teacherId);
 	}
 
+	public String getNotOverCourseIds() {
+		return notOverCourseIds;
+	}
+
+	public void setNotOverCourseIds(String notOverCourseIds) {
+		this.notOverCourseIds = notOverCourseIds;
+	}
+
+	public Integer getNotOverCourseNum() {
+		return notOverCourseNum;
+	}
+
+	public void setNotOverCourseNum(Integer notOverCourseNum) {
+		this.notOverCourseNum = notOverCourseNum;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -164,7 +164,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     SMS_GOODS_REPERTORY_WARN("SMS_GOODS_REPERTORY_WARN","商品库存预警"),
     SMS_REPAIR_SEND_COMPLETED("SMS_REPAIR_SEND_COMPLETED","乐器维修完成邮寄"),
     SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE("SMS_MUSIC_GROUP_PARENT_MEETING_NOTICE","乐团家长会通知"),
-    SMS_INSPECTION_NOTICE("SMS_INSPECTION_NOTICE","巡查日程提醒");
+    SMS_INSPECTION_NOTICE("SMS_INSPECTION_NOTICE","巡查日程提醒"),
+    TEACHER_SERVE_PUSH("TEACHER_SERVE_PUSH", "服务指标未完成提醒");
 
 
 

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

@@ -1091,6 +1091,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
+		params.put("organIds", organIds);
 
 //        params.put("musicGroupStatus", null);
 //        params.put("vipGroupStatus", null);

+ 27 - 11
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -2,12 +2,14 @@ package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.auth.api.entity.SysUserRole;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.IndexBaseDto;
 import com.ym.mec.biz.dal.entity.IndexErrInfoDto;
 import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.IndexDataQueryInfo;
+import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
@@ -53,6 +55,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	private SysMessageDao sysMessageDao;
 	@Autowired
 	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
+	@Autowired
+	private StudentExtracurricularExercisesSituationService studentExtracurricularExercisesSituationService;
 
 	private static ThreadLocal<Set<Integer>> organIds = new ThreadLocal<Set<Integer>>(){
 		@Override
@@ -227,8 +231,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		//学员变动
 		saveData(indexBaseMonthDataDao.getAddStudentRegistrationData(dayStr), dayStr, IndexDataType.ADD_STUDENT_REGISTRATION_NUM);
 		saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, null), dayStr, IndexDataType.MUSIC_GROUP_STUDENT);
-		saveData(null, nowDate.plusDays(1).toString(), IndexDataType.NEWLY_STUDENT_NUM);
-		saveData(null, nowDate.plusDays(1).toString(), IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM);
+		saveData(null, nowDate.toString(), IndexDataType.NEWLY_STUDENT_NUM);
+		saveData(null, nowDate.toString(), IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM);
 		saveData(indexBaseMonthDataDao.getOtherStudentData(dayStr), dayStr, IndexDataType.VIP_PRACTICE_STUDENT_NUM);
 		saveData(indexBaseMonthDataDao.getVipPracticeAddStudentData(dayStr), dayStr, IndexDataType.VIP_PRACTICE_ADD_STUDENT_NUM);
 	}
@@ -333,13 +337,19 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIdsStr,monthStr);
 			threeChild.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW, IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW.getMsg(),lowTeacherSalary, null));
 
-			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime);
+			SysUser sysUser = sysUserFeignService.queryUserInfo();
+			List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
+			Integer userId = null;
+			if (!userRole.contains(SysUserRole.SECTION_MANAGER) && !sysUser.getIsSuperAdmin()) {
+				userId = sysUser.getId();
+			}
+			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId);
 			threeChild.add(new IndexErrInfoDto(IndexErrorType.INSPECTION_ITEM, IndexErrorType.INSPECTION_ITEM.getMsg(),inspectionItem, null));
 
 			int inspectionItemPlan = indexBaseMonthDataDao.queryInspectionItemPlan(organIdsStr,startTime);
 			threeChild.add(new IndexErrInfoDto(IndexErrorType.INSPECTION_ITEM_PLAN, IndexErrorType.INSPECTION_ITEM_PLAN.getMsg(),inspectionItemPlan, null));
 
-			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime);
+			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime,userId);
 			threeChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_VISIT, IndexErrorType.STUDENT_VISIT.getMsg(),studentVisit, null));
 
 			three.setNum(threeChild.stream().mapToInt(IndexErrInfoDto::getNum).sum());
@@ -460,8 +470,14 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 				flag3 = true;
 			}
 		}
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
+		Integer userId = null;
+		if (!userRole.contains(SysUserRole.SECTION_MANAGER) && !sysUser.getIsSuperAdmin()) {
+			userId = sysUser.getId();
+		}
 		if(!flag3){
-			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime);
+			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId);
 			if(inspectionItem > 0){
 				flag3 = true;
 			}
@@ -473,7 +489,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 			}
 		}
 		if(!flag3){
-			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime);
+			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime,userId);
 			if(studentVisit > 0){
 				flag3 = true;
 			}
@@ -509,12 +525,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		}
 		resultMap.put("attendanceServe",flag4);
 
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			throw new BizException("用户信息获取失败");
-		}
+//		SysUser sysUser = sysUserFeignService.queryUserInfo();
+//		if (sysUser == null) {
+//			throw new BizException("用户信息获取失败");
+//		}
 		//当前用户是否是分部经理
-		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
+//		List<Integer> userRole = employeeDao.queryUserRole(sysUser.getId());
 		//获取关联的乐团列表
 		List<String> musicGroupIds = musicGroupDao.queryIdsByEduIdAndOrganIds(userRole.contains(3)?sysUser.getId():null,organIdsStr);
 		String configValue1 = sysConfigDao.findConfigValue("push_create_payment_calender");

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -15,6 +15,7 @@ import com.ym.mec.biz.dal.dto.MusicArrearageStudentDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
 import com.ym.mec.biz.dal.page.ArrearageStudentsQueryInfo;
+import com.ym.mec.biz.event.source.GroupEventSource;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
@@ -65,6 +66,8 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 	private StudentRegistrationDao studentRegistrationDao;
 	@Autowired
 	private SysMessageService sysMessageService;
+	@Autowired
+	private GroupEventSource groupEventSource;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalenderDetail> getDAO() {
@@ -120,6 +123,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 					studentRegistration.setPaymentStatus(YES);
 					studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
 					studentRegistrationDao.update(studentRegistration);
+
+					//统计变更学员数
+					groupEventSource.musicGroupStudentChangeEvent(calender.getMusicGroupId(), StudentMusicGroupStatusEnum.NORMAL, new ArrayList<>(Arrays.asList(e.getUserId())));
 				}
 			}
 		});

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

@@ -28,6 +28,7 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.StudentMusicGroupStatusEnum;
+import com.ym.mec.biz.event.source.GroupEventSource;
 import com.ym.mec.biz.service.*;
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -132,6 +133,8 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 	private MusicGroupPaymentCalenderStudentDetailDao musicGroupPaymentCalenderStudentDetailDao;
 	@Autowired
 	private StudentRegistrationDao studentRegistrationDao;
+	@Autowired
+	private GroupEventSource groupEventSource;
 
 	@Override
 	public BaseDAO<Long, MusicGroupPaymentCalender> getDAO() {
@@ -814,6 +817,10 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 						,studentIds,courseIds,classGroupStudents,allLockCourseIds,batchNo,adjust.getMasterTotalPrice());
 			}
 		}
+
+		//统计变更学员数
+		groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.NORMAL, null);
+
 		return batchNo;
 	}
 
@@ -880,6 +887,9 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 					studentRegistration.setPaymentStatus(YES);
 					studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
 					studentRegistrationDao.update(studentRegistration);
+
+					//统计变更学员数
+					groupEventSource.musicGroupStudentChangeEvent(musicGroupPaymentCalender.getMusicGroupId(), StudentMusicGroupStatusEnum.NORMAL, new ArrayList<>(Arrays.asList(Integer.parseInt(studentId))));
 				}
 
 				// 学生加课程明细
@@ -1169,7 +1179,6 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
 			}
 			musicGroupPaymentCalenderDao.batchUpdate(musicGroupPaymentCalenders);
 		}
-
 	}
 
 	@Override

+ 11 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -1778,9 +1778,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
             }
 
-            //统计变更学员数
-            groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
+            if(MusicGroupStatusEnum.PROGRESS.equals(musicGroup.getStatus())){
+                //统计变更学员数
+                groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
 
+            }
             if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
                 return true;
             }
@@ -1956,8 +1958,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             musicGroupSubjectPlanDao.update(musicGroupSubjectPlan);
         }
 
-        //统计变更学员数
-        groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
+        if(MusicGroupStatusEnum.PROGRESS.equals(musicGroup.getStatus())){
+            //统计变更学员数
+            groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.QUIT, new ArrayList<>(Arrays.asList(userId)));
+        }
 
         if (currentStudentMusicGroupStatus != StudentMusicGroupStatusEnum.NORMAL) {
             return true;
@@ -2176,6 +2180,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 studentRegistration.setPaymentStatus(YES);
                 studentRegistration.setMusicGroupStatus(StudentMusicGroupStatusEnum.NORMAL);
                 studentRegistrationDao.update(studentRegistration);
+
+                //统计变更学员数
+                groupEventSource.musicGroupStudentChangeEvent(studentRegistration.getMusicGroupId(), StudentMusicGroupStatusEnum.NORMAL, new ArrayList<>(Arrays.asList(userId)));
             }
             /*if (musicGroupPaymentCalender.getType().equals(MusicGroupPaymentCalender.FeeType.ONLINE)) {
                 Integer getRemainNetworkClassTimes = musicGroupStudentFee.getRemainNetworkClassTimes() == null ? 0 : musicGroupStudentFee.getRemainNetworkClassTimes();

+ 33 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java

@@ -3,6 +3,7 @@ package com.ym.mec.biz.service.impl;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import com.ym.mec.biz.dal.enums.GroupType;
 import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 import com.ym.mec.biz.dal.enums.TeacherRemindTypeEnum;
@@ -192,26 +193,30 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 			params.put("offset", pageInfo.getOffset());
 			dataList = studentExtracurricularExercisesSituationDao.queryTeacherServeInfo(params);
 			List<Integer> teacherIds = dataList.stream().map(TeacherServeDto::getTeacherId).collect(Collectors.toList());
-			List<TeacherRemind> teacherReminds = teacherRemindDao.findTeachersRemindWithType(TeacherRemindTypeEnum.SERVICE, teacherIds, queryInfo.getMonday(), queryInfo.getSunday());
+			List<TeacherRemind> teacherReminds = new ArrayList<>();
+			if(!CollectionUtils.isEmpty(teacherIds)){
+				teacherReminds = teacherRemindDao.findTeachersRemindWithType(TeacherRemindTypeEnum.SERVICE, teacherIds, queryInfo.getMonday(), queryInfo.getSunday());
+			}
 			Map<String, Map<Integer, List<TeacherRemind>>> mondayTeacherRemindMap = new HashMap<>();
 			if(!CollectionUtils.isEmpty(teacherReminds)){
 				mondayTeacherRemindMap = teacherReminds.stream().collect(Collectors.groupingBy(e -> DateUtil.dateToString(e.getMonday(), "yyyy-MM-dd"), Collectors.groupingBy(TeacherRemind::getTeacherId)));
 			}
-			List<StudentExtracurricularExercisesSituation> teacherServeWithDate = studentExtracurricularExercisesSituationDao.findTeacherServeWithDate(queryInfo.getMonday(), queryInfo.getSunday(), teacherIds);
-			Map<Integer, List<StudentExtracurricularExercisesSituation>> teacherServeMap = teacherServeWithDate.stream().filter(s -> "HOMEWORK".equals(s.getServeType())).collect(Collectors.groupingBy(StudentExtracurricularExercisesSituation::getTeacherId));
+			List<StudentExtracurricularExercisesSituation> teacherServeWithDate = studentExtracurricularExercisesSituationDao.findTeacherServeWithDate(queryInfo.getMonday(), queryInfo.getSunday(), teacherIds, null);
+			Map<Integer, List<StudentExtracurricularExercisesSituation>> teacherServeMap = teacherServeWithDate.stream().collect(Collectors.groupingBy(StudentExtracurricularExercisesSituation::getTeacherId));
 			for (TeacherServeDto teacherServeDto : dataList) {
-				if(teacherServeMap.containsKey(teacherServeDto.getTeacherId())){
-					List<StudentExtracurricularExercisesSituation> tss = teacherServeMap.get(teacherServeDto.getTeacherId());
-					Set<Long> courseIds = new HashSet<>();
-					for (StudentExtracurricularExercisesSituation ts : tss) {
-						if(StringUtils.isBlank(ts.getCourseIds())){
-							continue;
-						}
-						Set<Long> ids = Arrays.stream(ts.getCourseIds().split(",")).map(s -> Long.valueOf(s)).collect(Collectors.toSet());
-						courseIds.addAll(ids);
+				List<StudentExtracurricularExercisesSituation> tss = teacherServeMap.get(teacherServeDto.getTeacherId());
+				Set<Long> courseIds = new HashSet<>();
+				for (StudentExtracurricularExercisesSituation ts : tss) {
+					if(teacherServeDto.getMonday().compareTo(ts.getMonday())!=0){
+						continue;
+					}
+					if(StringUtils.isBlank(ts.getCourseIds())){
+						continue;
 					}
-					teacherServeDto.setHomeworkNum(courseIds.size());
+					Set<Long> ids = Arrays.stream(ts.getCourseIds().split(",")).map(s -> Long.valueOf(s)).collect(Collectors.toSet());
+					courseIds.addAll(ids);
 				}
+				teacherServeDto.setHomeworkNum(courseIds.size());
 				String mondayStr = DateUtil.dateToString(teacherServeDto.getMonday(), "yyyy-MM-dd");
 				if(!mondayTeacherRemindMap.containsKey(mondayStr)){
 					continue;
@@ -296,8 +301,8 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 
 			Map<Integer, String> userMap = new HashMap<>();
 			userMap.put(teacherServe.getTeacherId(), teacherServe.getTeacherId().toString());
-			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.HOMEWORK_REMIND,
-					userMap, null, 0, null, "TEACHER", null);
+			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_SERVE_PUSH,
+					userMap, null, 0, null, "TEACHER", teacherServe.getHomeworkNum(), teacherServe.getExerciseNum());
 		}
 		if(!CollectionUtils.isEmpty(reminds)){
 			teacherRemindDao.batchInsert(reminds);
@@ -344,9 +349,12 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 			pageInfo.setTotal(count);
 			params.put("offset", pageInfo.getOffset());
 			List<CourseSchedule> courseSchedules = courseScheduleDao.queryByCourseScheduleIds(params);
+			Map<Integer, ClassGroup> idClassGroupMap = new HashMap<>();
 			List<Integer> classGroupIds = courseSchedules.stream().map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
-			List<ClassGroup> classGroups = classGroupDao.findByClassGroupIds(classGroupIds, null);
-			Map<Integer, ClassGroup> idClassGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, c -> c, (c1, c2) -> c1));
+			if(!CollectionUtils.isEmpty(classGroupIds)){
+				List<ClassGroup> classGroups = classGroupDao.findByClassGroupIds(classGroupIds, null);
+				idClassGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, c -> c, (c1, c2) -> c1));
+			}
 
 			List<CourseHomework> courseHomeworks = courseHomeworkDao.findByCourseSchedules(new ArrayList<>(courseIds));
 			Map<Long, Long> courseHomeworkMap = new HashMap<>();
@@ -367,7 +375,10 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 				}
 				dataList.add(tshd);
 			}
-			List<Subject> subjects = subjectDao.findBySubjectIds(new ArrayList<>(subjectIds));
+			List<Subject> subjects = new ArrayList<>();
+			if(!CollectionUtils.isEmpty(subjectIds)){
+				subjects = subjectDao.findBySubjectIds(new ArrayList<>(subjectIds));
+			}
 			for (TeacherServeHomeworkDto teacherServeHomeworkDto : dataList) {
 				if(idClassGroupMap.containsKey(teacherServeHomeworkDto.getClassGroupId())){
 					ClassGroup classGroup = idClassGroupMap.get(teacherServeHomeworkDto.getClassGroupId());
@@ -437,7 +448,10 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 				}
 				dataList.add(tsed);
 			}
-			List<Subject> subjects = subjectDao.findBySubjectIds(new ArrayList<>(subjectIds));
+			List<Subject> subjects = new ArrayList<>();
+			if(!CollectionUtils.isEmpty(subjectIds)){
+				subjectDao.findBySubjectIds(new ArrayList<>(subjectIds));
+			}
 			for (TeacherServeExtraDto teacherServeExtraDto : dataList) {
 				if(idNameMap.containsKey(teacherServeExtraDto.getUserId())){
 					teacherServeExtraDto.setUsername(idNameMap.get(teacherServeExtraDto.getUserId()));

+ 0 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -733,9 +733,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
             studentDao.update(student);
             //studentRegistrationDao.updateCurrentClass(studentRegistration);
 
-            //统计变更学员数
-            groupEventSource.musicGroupStudentChangeEvent(musicGroupId, StudentMusicGroupStatusEnum.NORMAL, new ArrayList<>(Arrays.asList(userId)));
-
             return userId;
         }
     }

+ 27 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -4,10 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.GroupType;
-import com.ym.mec.biz.dal.enums.TeachModeEnum;
-import com.ym.mec.biz.dal.enums.TeachTypeEnum;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.StudentServeService;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.common.exception.BizException;
@@ -378,15 +375,24 @@ public class StudentServeServiceImpl implements StudentServeService {
                 List<StudentServeCourseDto> weekCourseInfo = typeCourseMap.get(CourseSchedule.CourseScheduleType.SINGLE).stream().filter(c -> c.getCourseStartTime().compareTo(nextMonday) < 0).collect(Collectors.toList());
                 if(!CollectionUtils.isEmpty(weekCourseInfo)){
                     Map<String, List<StudentServeCourseDto>> groupCourseInfo = weekCourseInfo.stream().collect(Collectors.groupingBy(StudentServeCourseDto::getMusicGroupId));
+                    Map<Integer, Set<Long>> teacherNotOverCourseIds = new HashMap<>();
                     Map<Integer, Set<Long>> teacherServiceCourseIdMap = new HashMap<>();
                     for (Map.Entry<String, List<StudentServeCourseDto>> groupCourseInfoEntry : groupCourseInfo.entrySet()) {
-                        if(musicGroupIds.contains(groupCourseInfoEntry.getKey()))
+                        if(musicGroupIds.contains(groupCourseInfoEntry.getKey())) {
                             musicGroupIds.remove(groupCourseInfoEntry.getKey());
+                        }
                         StudentServeCourseDto courseInfo = groupCourseInfoEntry.getValue().stream().min(Comparator.comparing(StudentServeCourseDto::getCourseStartTime)).get();
                         if(!teacherServiceCourseIdMap.containsKey(courseInfo.getActualTeacherId())){
                             teacherServiceCourseIdMap.put(courseInfo.getActualTeacherId(), new HashSet<>());
                         }
                         teacherServiceCourseIdMap.get(courseInfo.getActualTeacherId()).add(courseInfo.getCourseScheduleId());
+
+                        if(!teacherNotOverCourseIds.containsKey(courseInfo.getActualTeacherId())){
+                            teacherNotOverCourseIds.put(courseInfo.getActualTeacherId(), new HashSet<>());
+                        }
+                        if(!CourseStatusEnum.OVER.equals(courseInfo.getStatus())){
+                            teacherNotOverCourseIds.get(courseInfo.getActualTeacherId()).add(courseInfo.getCourseScheduleId());
+                        }
                     }
                     for (Map.Entry<Integer, Set<Long>> teacherServiceCourseIdMapEntry : teacherServiceCourseIdMap.entrySet()) {
                         StudentExtracurricularExercisesSituation studentExtracurricularExercisesSituation=new StudentExtracurricularExercisesSituation(studentCourseMapEntry.getKey(),
@@ -394,6 +400,8 @@ public class StudentServeServiceImpl implements StudentServeService {
                                 DateUtil.stringToDate(monDayDate.toString(), "yyyy-MM-dd"), DateUtil.stringToDate(sunDayDate.toString(), "yyyy-MM-dd"),
                                 "HOMEWORK", StringUtils.join(teacherServiceCourseIdMapEntry.getValue(), ","));
                         studentExtracurricularExercisesSituation.setExpectExercisesNum(teacherServiceCourseIdMapEntry.getValue().size());
+                        studentExtracurricularExercisesSituation.setNotOverCourseIds(StringUtils.join(teacherNotOverCourseIds.get(teacherServiceCourseIdMapEntry.getKey()), ","));
+                        studentExtracurricularExercisesSituation.setNotOverCourseNum(teacherNotOverCourseIds.get(teacherServiceCourseIdMapEntry.getKey()).size());
                         results.add(studentExtracurricularExercisesSituation);
                     }
                 }
@@ -456,6 +464,10 @@ public class StudentServeServiceImpl implements StudentServeService {
                                     teacherCourseMapEntry.getKey(),nowDate.get(DateUtil.weekFields.weekOfYear()),
                                     DateUtil.stringToDate(monDayDate.toString(), "yyyy-MM-dd"), DateUtil.stringToDate(sunDayDate.toString(), "yyyy-MM-dd"),
                                     "HOMEWORK", String.valueOf(courseInfo.getCourseScheduleId()));
+                            if(!CourseStatusEnum.OVER.equals(courseInfo.getStatus())){
+                                studentExtracurricularExercisesSituation.setNotOverCourseIds(String.valueOf(courseInfo.getCourseScheduleId()));
+                                studentExtracurricularExercisesSituation.setNotOverCourseNum(1);
+                            }
                         }
                         results.add(studentExtracurricularExercisesSituation);
                     }
@@ -508,11 +520,19 @@ public class StudentServeServiceImpl implements StudentServeService {
                     }
                 }else{
                     Map<Integer, List<StudentServeCourseDto>> teacherCourseMap = weekCourseInfo.stream().collect(Collectors.groupingBy(StudentServeCourseDto::getActualTeacherId));
+                    Map<Integer, Set<Long>> teacherNotOverCourseIds = new HashMap<>();
                     Map<Integer, Set<Long>> teacherServiceCourseIdMap = new HashMap<>();
                     for (Map.Entry<Integer, List<StudentServeCourseDto>> teacherCourseMapEntry : teacherCourseMap.entrySet()) {
                         StudentServeCourseDto courseInfo = teacherCourseMapEntry.getValue().stream().min(Comparator.comparing(StudentServeCourseDto::getCourseStartTime)).get();
                         teacherServiceCourseIdMap.put(teacherCourseMapEntry.getKey(), new HashSet<>());
                         teacherServiceCourseIdMap.get(teacherCourseMapEntry.getKey()).add(courseInfo.getCourseScheduleId());
+
+                        if(!teacherNotOverCourseIds.containsKey(courseInfo.getActualTeacherId())){
+                            teacherNotOverCourseIds.put(courseInfo.getActualTeacherId(), new HashSet<>());
+                        }
+                        if(!CourseStatusEnum.OVER.equals(courseInfo.getStatus())){
+                            teacherNotOverCourseIds.get(courseInfo.getActualTeacherId()).add(courseInfo.getCourseScheduleId());
+                        }
                     }
                     for (Map.Entry<Integer, Set<Long>> teacherServiceCourseIdMapEntry : teacherServiceCourseIdMap.entrySet()) {
                         StudentExtracurricularExercisesSituation studentExtracurricularExercisesSituation=new StudentExtracurricularExercisesSituation(studentCourseMapEntry.getKey(),
@@ -520,6 +540,8 @@ public class StudentServeServiceImpl implements StudentServeService {
                                 DateUtil.stringToDate(monDayDate.toString(), "yyyy-MM-dd"), DateUtil.stringToDate(sunDayDate.toString(), "yyyy-MM-dd"),
                                 "HOMEWORK", StringUtils.join(teacherServiceCourseIdMapEntry.getValue(), ","));
                         studentExtracurricularExercisesSituation.setExpectExercisesNum(teacherServiceCourseIdMapEntry.getValue().size());
+                        studentExtracurricularExercisesSituation.setNotOverCourseIds(StringUtils.join(teacherNotOverCourseIds.get(teacherServiceCourseIdMapEntry.getKey()), ","));
+                        studentExtracurricularExercisesSituation.setNotOverCourseNum(teacherNotOverCourseIds.get(teacherServiceCourseIdMapEntry.getKey()).size());
                         results.add(studentExtracurricularExercisesSituation);
                     }
                 }

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

@@ -2545,7 +2545,7 @@
             AND FIND_IN_SET(cs.organ_id_,#{organIdList})
         </if>
         <if test="search != null and search != ''">
-            AND (cs.music_group_id_ = #{search} OR cs.name_ LIKE CONCAT('%' ,#{search}, '%' ))
+            AND (cs.music_group_id_ = #{search} OR cs.id_=#{search} OR cs.name_ LIKE CONCAT('%' ,#{search}, '%' ))
         </if>
         <if test="courseIdSearch != null">
             AND cs.id_ = #{courseIdSearch}

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

@@ -269,9 +269,9 @@
 					TRUNCATE(SUM(sees.exercises_message_num_)/SUM(sees.exercises_reply_num_)*100, 2) percent_
 				</when>
 				<otherwise>
-					SUM(sees.expect_exercises_num_) total_num_,
+					SUM(sees.expect_exercises_num_-sees.not_over_course_num_) total_num_,
 					SUM(sees.actual_exercises_num_) activate_num_,
-					TRUNCATE(SUM(sees.actual_exercises_num_)/SUM(sees.expect_exercises_num_)*100, 2) percent_
+					TRUNCATE(SUM(sees.actual_exercises_num_)/SUM(sees.expect_exercises_num_-sees.not_over_course_num_)*100, 2) percent_
 				</otherwise>
 			</choose>
 		FROM student_extracurricular_exercises_situation_ sees
@@ -514,7 +514,6 @@
 			AND cssp1.id_ IS NULL
 			AND su.organ_id_ IS NOT NULL
 			AND m.group_type_ IN ('VIP', 'PRACTICE')
-			AND m.status_ = 'NOT_START'
 			<if test="dayStr!=null and dayStr!=''">
 				AND DATE_FORMAT(s.create_time_, '%Y-%m-%d') = #{dayStr}
 			</if>
@@ -798,6 +797,9 @@
 		<if test="organIdsStr != null and organIdsStr != ''">
 			AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
 		</if>
+		<if test="userId != null">
+			AND ii.user_id_ = #{userId}
+		</if>
 	</select>
 	<select id="queryInspectionItemPlan" resultType="int">
 		SELECT COUNT(DISTINCT iip.id_) FROM inspection_item_plan iip
@@ -817,6 +819,9 @@
 		<if test="organIdsStr != null and organIdsStr != ''">
 			AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
 		</if>
+		<if test="userId != null">
+			AND ii.user_id_ = #{userId}
+		</if>
 	</select>
 
     <select id="queryErrInspection" resultType="int">

+ 53 - 18
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -23,6 +23,8 @@
 		<result column="last_submit_time_" property="lastSubmitTime"/>
 		<result column="serve_type_" property="serveType"/>
 		<result column="course_ids_" property="courseIds"/>
+		<result column="not_over_course_ids_" property="notOverCourseIds"/>
+		<result column="not_over_course_num_" property="notOverCourseNum"/>
 	</resultMap>
 
 	<resultMap id="StudentExercisesSituationDto" type="com.ym.mec.biz.dal.dto.StudentExercisesSituationDto" extends="StudentExtracurricularExercisesSituation">
@@ -52,21 +54,21 @@
 		INSERT INTO student_extracurricular_exercises_situation_ (id_,student_id_,week_of_year_,monday_,sunday_,teacher_id_,expect_exercises_num_,
 		                                                          actual_exercises_num_,exercises_reply_num_,exercises_message_num_,
 		                                                          exercises_message_timely_num_,create_time_,update_time_,last_submit_time_,
-		                                                          serve_type_,course_ids_)
+		                                                          serve_type_,course_ids_,not_over_course_ids_,not_over_course_num_)
 		VALUES(#{id},#{studentId},#{weekOfYear},#{monday},#{sunday},#{teacherId},#{expectExercisesNum},#{actualExercisesNum},#{exercisesReplyNum},
-		       #{exercisesMessageNum},#{exercisesMessageTimelyNum},NOW(),NOW(),#{lastSubmitTime},#{serveType},#{courseIds})
+		       #{exercisesMessageNum},#{exercisesMessageTimelyNum},NOW(),NOW(),#{lastSubmitTime},#{serveType},#{courseIds},#{notOverCourseIds},#{notOverCourseNum})
 	</insert>
 
 	<insert id="batchInsert" parameterType="com.ym.mec.biz.dal.entity.StudentExtracurricularExercisesSituation" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO student_extracurricular_exercises_situation_ (student_id_,week_of_year_,monday_,sunday_,teacher_id_,expect_exercises_num_,
 		                                                          actual_exercises_num_,exercises_reply_num_,exercises_message_num_,
 		                                                          exercises_message_timely_num_,create_time_,update_time_,last_submit_time_,
-		                                                          serve_type_,course_ids_)
+		                                                          serve_type_,course_ids_,not_over_course_ids_,not_over_course_num_)
 		VALUES
 		<foreach collection="situations" item="situation" separator=",">
 			(#{situation.studentId},#{situation.weekOfYear},#{situation.monday},#{situation.sunday},#{situation.teacherId},#{situation.expectExercisesNum},
 			#{situation.actualExercisesNum},#{situation.exercisesReplyNum},#{situation.exercisesMessageNum},#{situation.exercisesMessageTimelyNum},
-			NOW(),NOW(),#{situation.lastSubmitTime},#{situation.serveType},#{situation.courseIds})
+			NOW(),NOW(),#{situation.lastSubmitTime},#{situation.serveType},#{situation.courseIds},#{situation.notOverCourseIds},#{situation.notOverCourseNum})
 		</foreach>
 	</insert>
 
@@ -119,6 +121,12 @@
 			<if test="courseIds!=null and courseIds!=''">
 				course_ids_=#{courseIds},
 			</if>
+			<if test="notOverCourseIds!=null and notOverCourseIds!=''">
+				not_over_course_ids_=#{notOverCourseIds},
+			</if>
+			<if test="notOverCourseNum!=null">
+				not_over_course_num_=#{notOverCourseNum},
+			</if>
 			update_time_ = #{updateTime}
 		</set> WHERE id_ = #{id}
 	</update>
@@ -166,6 +174,12 @@
 				<if test="situation.courseIds!=null">
 					course_ids_=#{situation.courseIds},
 				</if>
+				<if test="situation.notOverCourseIds!=null and situation.notOverCourseIds!=''">
+					not_over_course_ids_=#{situation.notOverCourseIds},
+				</if>
+				<if test="situation.notOverCourseNum!=null">
+					not_over_course_num_=#{situation.notOverCourseNum},
+				</if>
 				update_time_ = NOW()
 			</set> WHERE id_ = #{situation.id}
 		</foreach>
@@ -497,12 +511,6 @@
 			<if test="teacherId!=null">
 				AND sees.teacher_id_ = #{teacherId}
 			</if>
-			<if test="unDone!=null and unDone==1">
-				AND sees.expect_exercises_num_>sees.actual_exercises_num_
-			</if>
-			<if test="unDone!=null and unDone==0">
-				AND sees.expect_exercises_num_=sees.actual_exercises_num_
-			</if>
 			<if test="reminded!=null and reminded==0">
 				AND NOT EXISTS (SELECT id_ FROM teacher_remind WHERE teacher_id_=sees.teacher_id_ AND monday_ = sees.monday_ AND type_='SERVICE')
 			</if>
@@ -523,15 +531,25 @@
 			sees.teacher_id_,
 			su.real_name_ teacher_name_,
 			SUM(CASE sees.serve_type_ WHEN 'HOMEWORK' THEN sees.expect_exercises_num_ ELSE 0 END) homework_num_,
-			SUM(CASE sees.serve_type_ WHEN 'EXERCISE' THEN sees.expect_exercises_num_ ELSE 0 END) exercise_num_,
-			SUM(sees.expect_exercises_num_)>SUM(sees.actual_exercises_num_) un_done_
+			SUM(CASE sees.serve_type_ WHEN 'EXERCISE' THEN 1 ELSE 0 END) exercise_num_,
+			SUM( sees.expect_exercises_num_-sees.not_over_course_num_ )> SUM( sees.actual_exercises_num_ ) un_done_
 		FROM
 			student_extracurricular_exercises_situation_ sees
 			LEFT JOIN teacher tea ON tea.id_=sees.teacher_id_
 			LEFT JOIN organization organ ON organ.id_=tea.organ_id_
 			LEFT JOIN sys_user su ON tea.id_=su.id_
 		<include refid="queryTeacherServeInfoCondition" />
-		GROUP BY sees.monday_,sees.sunday_,sees.teacher_id_ ORDER BY sees.monday_,sees.sunday_,sees.teacher_id_
+		GROUP BY sees.monday_,sees.sunday_,sees.teacher_id_
+		<if test="unDone!=null">
+			HAVING
+			<if test="unDone==1">
+				SUM( sees.expect_exercises_num_-sees.not_over_course_num_ ) &gt; SUM( sees.actual_exercises_num_ )
+			</if>
+			<if test="unDone==0">
+				SUM( sees.expect_exercises_num_-sees.not_over_course_num_ ) &lt;= SUM( sees.actual_exercises_num_ )
+			</if>
+		</if>
+		ORDER BY sees.monday_,sees.sunday_,sees.teacher_id_
 		<include refid="global.limit"></include>
 	</select>
 
@@ -543,14 +561,31 @@
 				student_extracurricular_exercises_situation_ sees
 				LEFT JOIN teacher tea ON tea.id_=sees.teacher_id_
 			<include refid="queryTeacherServeInfoCondition" />
-			GROUP BY sees.monday_,sees.sunday_,sees.teacher_id_ ORDER BY sees.monday_,sees.sunday_,sees.teacher_id_
+			GROUP BY sees.monday_,sees.sunday_,sees.teacher_id_
+			<if test="unDone!=null">
+				HAVING
+				<if test="unDone==1">
+					SUM( sees.expect_exercises_num_-sees.not_over_course_num_ ) &gt; SUM( sees.actual_exercises_num_ )
+				</if>
+				<if test="unDone==0">
+					SUM( sees.expect_exercises_num_-sees.not_over_course_num_ ) &lt;= SUM( sees.actual_exercises_num_ )
+				</if>
+			</if>
+			ORDER BY sees.monday_,sees.sunday_,sees.teacher_id_
 		) e
 	</select>
 
 	<select id="findTeacherServeWithDate" resultMap="StudentExtracurricularExercisesSituation">
-		SELECT * FROM student_extracurricular_exercises_situation_ WHERE monday_ BETWEEN #{monday} AND #{sunday} AND teacher_id_ IN
-		<foreach collection="teacherIds" item="teacherId" open="(" close=")" separator=",">
-			#{teacherId}
-		</foreach>
+		SELECT * FROM student_extracurricular_exercises_situation_
+		WHERE monday_ BETWEEN #{monday} AND #{sunday}
+			<if test="serveType!=null and serveType!=''">
+				AND serve_type_=#{serveType}
+			</if>
+		  <if test="teacherIds!=null and teacherIds.size()>0">
+			  AND teacher_id_ IN
+			  <foreach collection="teacherIds" item="teacherId" open="(" close=")" separator=",">
+				  #{teacherId}
+			  </foreach>
+		  </if>
 	</select>
 </mapper>

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

@@ -504,6 +504,7 @@
         <result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="class_group_id_" property="classGroupId"/>
+        <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="actual_teacher_id_" property="actualTeacherId"/>
         <result column="course_start_time_" property="courseStartTime"/>
@@ -518,6 +519,7 @@
             cs.group_type_,
             cs.music_group_id_,
             cs.class_group_id_,
+            cs.status_,
             CASE cs.type_ WHEN 'TRAINING_SINGLE' THEN 'SINGLE' WHEN 'TRAINING_MIX' THEN 'MIX' ELSE cs.type_ END type_,
             cs.actual_teacher_id_,
             CONCAT(cs.class_date_, ' ', cs.start_class_time_) course_start_time_,

+ 9 - 1
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreAccompanimentController.java

@@ -55,7 +55,15 @@ public class SysMusicScoreAccompanimentController extends BaseController {
     @ApiOperation(value = "分页查询")
     @GetMapping("/queryPageLimit")
     public Object queryPageLimit(SysExamSongQueryInfo queryInfo) {
-        queryInfo.setType("COMMON");
+        String type = queryInfo.getType();
+        if(StringUtils.isEmpty(type)){
+            queryInfo.setType("ALL");
+        }
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(sysUser == null){
+            throw new BizException("请登录");
+        }
+        queryInfo.setCreateUserId(sysUser.getId());
         return succeed(sysMusicScoreAccompanimentService.queryPage(queryInfo));
     }
 }