瀏覽代碼

update:跨团合课服务指标

yonge 3 年之前
父節點
當前提交
1ff0037491
共有 1 個文件被更改,包括 11 次插入3 次删除
  1. 11 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

+ 11 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentServeServiceImpl.java

@@ -2,10 +2,8 @@ package com.ym.mec.biz.service.impl;
 
 import java.math.BigDecimal;
 import java.time.DayOfWeek;
-import java.time.Instant;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
@@ -20,7 +18,6 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -59,6 +56,7 @@ import com.ym.mec.biz.dal.enums.IndexDataType;
 import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
 import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
 import com.ym.mec.biz.service.StudentServeService;
 import com.ym.mec.biz.service.SysConfigService;
 import com.ym.mec.biz.service.SysTenantConfigService;
@@ -373,6 +371,8 @@ public class StudentServeServiceImpl implements StudentServeService {
         	return;
         }
         
+        Map<String,List<Integer>> musicGroupStudentMap = studentRegistrationList.stream().collect(Collectors.groupingBy(StudentRegistration :: getMusicGroupId, Collectors.mapping(StudentRegistration :: getUserId, Collectors.toList())));
+        
         List<Integer> studentIds = studentRegistrationList.stream().map(t -> t.getUserId()).distinct().collect(Collectors.toList());
 
         Set<String> holidayDays = new HashSet<>();
@@ -456,12 +456,15 @@ public class StudentServeServiceImpl implements StudentServeService {
 		Set<Long> courseIdList = null;
 		ClassGroupTypeEnum teacherType;
 		Map<Integer,Integer> teacherCourseNumMap = null;
+		List<Integer> musicGroupStudentIdList = null;
         
         //理论上一个学生一个乐团只布置一次作业
 		for (Entry<String, List<Integer>> entry : musicGroupStudentIdListMap.entrySet()) {
 			
 			musicGroupId = entry.getKey();
 			
+			musicGroupStudentIdList = musicGroupStudentMap.get(musicGroupId);
+			
 			MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
 			if(musicGroup == null || musicGroup.getStatus() != MusicGroupStatusEnum.PROGRESS){
 				continue;
@@ -477,6 +480,11 @@ public class StudentServeServiceImpl implements StudentServeService {
 			userCourseMap = musicGroupStudentCurrentWeekCourseMap.get(musicGroupId);
 			
 			for(Integer studentId : entry.getValue()){
+				
+				if(musicGroupStudentIdList == null || musicGroupStudentIdList.contains(studentId) == false){
+					continue;
+				}
+				
 				//在当前乐团,学生本周是否有课
 				if(userCourseMap == null || userCourseMap.get(studentId) == null){//如果本周没课