| 
					
				 | 
			
			
				@@ -394,25 +394,6 @@ public class HomeServiceImpl implements HomeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public TeacherIndexWrapper.TeacherPracticeHome getTeacherPracticeHome(TeacherIndexWrapper.SummarySearch summarySearch) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         TeacherIndexWrapper.TeacherPracticeHome teacherPracticeHome = new TeacherIndexWrapper.TeacherPracticeHome(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //获取老师关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<Long> studentIds = teacherService.getDao().getStudentIds(summarySearch.getTeacherId(), summarySearch.getSubjectId(), summarySearch.getStartTime(), summarySearch.getEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(CollectionUtils.isEmpty(studentIds)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return teacherPracticeHome; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //获取学员练习汇总 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        TeacherIndexWrapper.PracticeSummaryDto practiceSummary = sysMusicCompareRecordService.getDao().getStudentTrainOverView(studentIds,summarySearch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //计算平均练习时长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(Objects.nonNull(practiceSummary) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                && practiceSummary.getPracticeCount().compareTo(BigDecimal.ZERO) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                && practiceSummary.getTotalPracticeTime().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //舍掉小数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            practiceSummary.setTotalPracticeTime(practiceSummary.getTotalPracticeTime().setScale(0, RoundingMode.DOWN)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            practiceSummary.setAveragePracticeTime(practiceSummary.getTotalPracticeTime() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    .divide(practiceSummary.getPracticeCount(), 0, RoundingMode.DOWN)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        teacherPracticeHome.setPracticeSummary(practiceSummary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //获取学员练习时长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取分组条件,如果所选时间段只有一天,则按小时分组,超过一个月按天分组,超过一年按月分组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String groupBy; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<String> dateList; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -434,21 +415,42 @@ public class HomeServiceImpl implements HomeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dateList = DateUtil.getYearList(startDate,endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TeacherIndexWrapper.PracticeTimeDto> studentTrainTime = sysMusicCompareRecordService.getDao().getStudentTrainTime(studentIds, summarySearch, groupBy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //获取老师关联的学员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Long> studentIds = teacherService.getDao().getStudentIds(summarySearch.getTeacherId(), summarySearch.getSubjectId(), summarySearch.getStartTime(), summarySearch.getEndTime()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TeacherIndexWrapper.PracticeTimeDto> studentTrainTime = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TeacherIndexWrapper.PracticeTimeDto> studentTrainCount = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(CollectionUtils.isNotEmpty(studentIds)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //获取学员练习汇总 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TeacherIndexWrapper.PracticeSummaryDto practiceSummary = sysMusicCompareRecordService.getDao().getStudentTrainOverView(studentIds,summarySearch); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //计算平均练习时长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(Objects.nonNull(practiceSummary) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    && practiceSummary.getPracticeCount().compareTo(BigDecimal.ZERO) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    && practiceSummary.getTotalPracticeTime().compareTo(BigDecimal.ZERO) > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //舍掉小数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                practiceSummary.setTotalPracticeTime(practiceSummary.getTotalPracticeTime().setScale(0, RoundingMode.DOWN)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                practiceSummary.setAveragePracticeTime(practiceSummary.getTotalPracticeTime() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .divide(practiceSummary.getPracticeCount(), 0, RoundingMode.DOWN)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            teacherPracticeHome.setPracticeSummary(practiceSummary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //获取学员练习时长 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            studentTrainTime = sysMusicCompareRecordService.getDao().getStudentTrainTime(studentIds, summarySearch, groupBy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //练习人数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            studentTrainCount = sysMusicCompareRecordService.getDao().getStudentTrainCount(studentIds, summarySearch, groupBy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //补全时间段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         teacherPracticeHome.setPracticeTimes(fillData(studentTrainTime,dateList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //练习人数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<TeacherIndexWrapper.PracticeTimeDto> studentTrainCount = sysMusicCompareRecordService.getDao().getStudentTrainCount(studentIds, summarySearch, groupBy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //补全时间段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         teacherPracticeHome.setPracticeCounts(fillData(studentTrainCount,dateList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return teacherPracticeHome; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //数据补全,按时间顺序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private List<TeacherIndexWrapper.PracticeTimeDto> fillData(List<TeacherIndexWrapper.PracticeTimeDto> studentTrainTime, List<String> dateList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String,TeacherIndexWrapper.PracticeTimeDto> timeMap = studentTrainTime.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .collect(Collectors.toMap(TeacherIndexWrapper.PracticeTimeDto::getDate, o -> o)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String,TeacherIndexWrapper.PracticeTimeDto> timeMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(CollectionUtils.isNotEmpty(studentTrainTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            timeMap = studentTrainTime.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .collect(Collectors.toMap(TeacherIndexWrapper.PracticeTimeDto::getDate, o -> o)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TeacherIndexWrapper.PracticeTimeDto> result = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (String s : dateList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             TeacherIndexWrapper.PracticeTimeDto practiceTimeDto = timeMap.get(s); 
			 |