|  | @@ -113,7 +113,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			dataTypes = Arrays.stream(queryInfo.getDataTypes().split(",")).collect(Collectors.toSet());
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getIndexBaseData(organIds, dataTypes, startDate.toString(), endDate.toString());
 | 
	
		
			
				|  |  | +		List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getIndexBaseData(organIds, dataTypes, startDate.toString(), endDate.toString(),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  		if(Objects.isNull(indexBaseDatas)){
 | 
	
		
			
				|  |  |  			indexBaseDatas = new ArrayList<>();
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -124,7 +124,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			vipDataTypes.add("VIP_GROUP_COURSE");
 | 
	
		
			
				|  |  |  			vipDataTypes.add("VIP_GROUP_ONLINE_COURSE");
 | 
	
		
			
				|  |  |  			vipDataTypes.add("VIP_GROUP_OFFLINE_COURSE");
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> indexBaseDataList = indexBaseMonthDataDao.getVipCourseDataList(organIds, vipDataTypes, startDate.toString(), endDate.toString());
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> indexBaseDataList = indexBaseMonthDataDao.getVipCourseDataList(organIds, vipDataTypes, startDate.toString(), endDate.toString(),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			if(!CollectionUtils.isEmpty(indexBaseDataList)){
 | 
	
		
			
				|  |  |  				for (IndexBaseMonthData indexBaseMonthData : indexBaseDataList) {
 | 
	
		
			
				|  |  |  					if(StringUtils.isBlank(indexBaseMonthData.getExtendInfo())){
 | 
	
	
		
			
				|  | @@ -150,22 +150,22 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		Map<IndexDataType, List<IndexBaseMonthData>> typeDateMap = indexBaseDatas.stream().filter(d->Objects.nonNull(d.getDataType())).collect(Collectors.groupingBy(IndexBaseMonthData::getDataType));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(FINANCE_PAY.getCode())||dataTypes.contains(FINANCE_BALANCE_AMOUNT.getCode())||dataTypes.contains(FINANCE_AMOUNT.getCode())){
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> financePayDataWithTimely = indexBaseMonthDataDao.getFinancePayDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> financePayDataWithTimely = indexBaseMonthDataDao.getFinancePayDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			typeDateMap.put(IndexDataType.FINANCE_PAY,financePayDataWithTimely);
 | 
	
		
			
				|  |  | -			typeDateMap.put(IndexDataType.FINANCE_BALANCE_AMOUNT,indexBaseMonthDataDao.getFinanceBalanceDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds)));
 | 
	
		
			
				|  |  | -			typeDateMap.put(FINANCE_AMOUNT,indexBaseMonthDataDao.getFinanceActualDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds)));
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> totalAmountDataWithTimely = indexBaseMonthDataDao.getTotalAmountDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +			typeDateMap.put(IndexDataType.FINANCE_BALANCE_AMOUNT,indexBaseMonthDataDao.getFinanceBalanceDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),queryInfo.getTenantId()));
 | 
	
		
			
				|  |  | +			typeDateMap.put(FINANCE_AMOUNT,indexBaseMonthDataDao.getFinanceActualDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),queryInfo.getTenantId()));
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> totalAmountDataWithTimely = indexBaseMonthDataDao.getTotalAmountDataWithTimely(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			typeDateMap.put(IndexDataType.TOTAL_AMOUNT,totalAmountDataWithTimely);
 | 
	
		
			
				|  |  |  			//经营报表细化
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> applyAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),"APPLY,ADD_STUDENT",null);
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> applyAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),"APPLY,ADD_STUDENT",null,queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			typeDateMap.put(APPLY_AMOUNT,applyAmount);
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> renewAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),"RENEW",null);
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> renewAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),"RENEW",null,queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			typeDateMap.put(RENEW_AMOUNT,renewAmount);
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> vipAmount = indexBaseMonthDataDao.getVipAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> vipAmount = indexBaseMonthDataDao.getVipAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			typeDateMap.put(VIP_AMOUNT,vipAmount);
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> practiceAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),"PRACTICE_GROUP_BUY,PRACTICE_GROUP_RENEW",null);
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> practiceAmount = indexBaseMonthDataDao.getTotalAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),"PRACTICE_GROUP_BUY,PRACTICE_GROUP_RENEW",null,queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			typeDateMap.put(PRACTICE_AMOUNT,practiceAmount);
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> otherAmount = indexBaseMonthDataDao.getOtherAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> otherAmount = indexBaseMonthDataDao.getOtherAmountDataWithTimelyDetails(startDate.toString(), endDate.toString(), new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  			typeDateMap.put(OTHER_AMOUNT,otherAmount);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -173,13 +173,13 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  				||dataTypes.contains(VIP_GROUP_ONLINE_COURSE.getCode())||dataTypes.contains(VIP_GROUP_OFFLINE_COURSE.getCode())
 | 
	
		
			
				|  |  |  				||dataTypes.contains(PRACTICE_GROUP_COURSE.getCode())){
 | 
	
		
			
				|  |  |  			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_COURSE.getCode())) {
 | 
	
		
			
				|  |  | -				List<IndexBaseMonthData> musicCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.MUSIC, null, null, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +				List<IndexBaseMonthData> musicCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.MUSIC, null, null, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  				typeDateMap.put(MUSIC_GROUP_COURSE,musicCourseData);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE.getCode())) {
 | 
	
		
			
				|  |  | -				List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | -				List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +				List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  | +				List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, null, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  				Map<Integer, Map<String, Integer>> organCategoryCourseMap = new HashMap<>();
 | 
	
		
			
				|  |  |  				if (!CollectionUtils.isEmpty(vipGroupCategoryCourseData)) {
 | 
	
		
			
				|  |  |  					organCategoryCourseMap = vipGroupCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
 | 
	
	
		
			
				|  | @@ -193,8 +193,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_ONLINE_COURSE.getCode())) {
 | 
	
		
			
				|  |  | -				List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | -				List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +				List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  | +				List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.ONLINE, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  				Map<Integer, Map<String, Integer>> organOnlineCategoryCourseMap = new HashMap<>();
 | 
	
		
			
				|  |  |  				if (!CollectionUtils.isEmpty(vipGroupOnlineCategoryCourseData)) {
 | 
	
		
			
				|  |  |  					organOnlineCategoryCourseMap = vipGroupOnlineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
 | 
	
	
		
			
				|  | @@ -208,8 +208,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_OFFLINE_COURSE.getCode())) {
 | 
	
		
			
				|  |  | -				List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | -				List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +				List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  | +				List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(null, startDate.toString(), endDate.toString(), GroupType.VIP, null, TeachModeEnum.OFFLINE, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  				Map<Integer, Map<String, Integer>> organOfflineCategoryCourseMap = new HashMap<>();
 | 
	
		
			
				|  |  |  				if (!CollectionUtils.isEmpty(vipGroupOfflineCategoryCourseData)) {
 | 
	
		
			
				|  |  |  					organOfflineCategoryCourseMap = vipGroupOfflineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
 | 
	
	
		
			
				|  | @@ -223,7 +223,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PRACTICE_GROUP_COURSE.getCode())) {
 | 
	
		
			
				|  |  | -				List<IndexBaseMonthData> practiceCourses = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.PRACTICE, null, null, new ArrayList<>(organIds));
 | 
	
		
			
				|  |  | +				List<IndexBaseMonthData> practiceCourses = indexBaseMonthDataDao.getGroupCourseDataWithGroup(null, startDate.toString(), endDate.toString(), GroupType.PRACTICE, null, null, new ArrayList<>(organIds),queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  				typeDateMap.put(PRACTICE_GROUP_COURSE,practiceCourses);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -340,24 +340,26 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		LocalDate day = LocalDate.parse(dayStr, DateUtil.dateFormatter);
 | 
	
		
			
				|  |  |  		LocalDate monday = day.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +		Integer tenantId = TenantContextHolder.getTenantId();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//学员数据
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.STUDENT_REGISTRATION_NUM)){
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getStudentRegistrationData(dayStr), dayStr, IndexDataType.STUDENT_REGISTRATION_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getStudentRegistrationData(dayStr,tenantId), dayStr, IndexDataType.STUDENT_REGISTRATION_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CHARGE_STUDENT_CHANGE_RATE)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getChargeStudentChangeData(dayStr), dayStr, IndexDataType.CHARGE_STUDENT_CHANGE_RATE);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getChargeStudentChangeData(dayStr,tenantId), dayStr, IndexDataType.CHARGE_STUDENT_CHANGE_RATE);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.ACTIVATION_RATE)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getStudentSignUpData(dayStr, nowDate.plusMonths(-6).toString()), dayStr, IndexDataType.ACTIVATION_RATE);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getStudentSignUpData(dayStr, nowDate.plusMonths(-6).toString(),tenantId), dayStr, IndexDataType.ACTIVATION_RATE);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//运营数据
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SCHOOL)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getSchoolData(dayStr), dayStr, IndexDataType.SCHOOL);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getSchoolData(dayStr,tenantId), dayStr, IndexDataType.SCHOOL);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PROGRESS_MUSIC_GROUP_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getMusicData(dayStr), dayStr, IndexDataType.PROGRESS_MUSIC_GROUP_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getMusicData(dayStr,tenantId), dayStr, IndexDataType.PROGRESS_MUSIC_GROUP_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(TRANSACTION_TEACHER_NUM)) {
 | 
	
		
			
				|  |  |  			List<SimpleUserDto> transactionTeachers = employeeService.findByRole("58", null);
 | 
	
	
		
			
				|  | @@ -389,42 +391,42 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//人事数据
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.TEACHER_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, null), dayStr, IndexDataType.TEACHER_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, null,tenantId), dayStr, IndexDataType.TEACHER_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.FULL_TIME_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.FULL_TIME, null), dayStr, IndexDataType.FULL_TIME_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.FULL_TIME, null,tenantId), dayStr, IndexDataType.FULL_TIME_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PART_TIME_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.PART_TIME, null), dayStr, IndexDataType.PART_TIME_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getTeacherData(dayStr, JobNatureEnum.PART_TIME, null,tenantId), dayStr, IndexDataType.PART_TIME_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  //		saveData(indexBaseMonthDataDao.getTeacherData(dayStr, null, true), dayStr, IndexDataType.DIMISSION_NUM);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//剩余课时
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, null, CourseStatusEnum.NOT_START), dayStr, IndexDataType.SURPLUS_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, null, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_MUSIC_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.NOT_START), dayStr, IndexDataType.SURPLUS_MUSIC_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_MUSIC_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_VIP_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.VIP, CourseStatusEnum.NOT_START), dayStr, IndexDataType.SURPLUS_VIP_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.VIP, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_VIP_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.SURPLUS_PRACTICE_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.NOT_START), dayStr, IndexDataType.SURPLUS_PRACTICE_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.NOT_START,tenantId), dayStr, IndexDataType.SURPLUS_PRACTICE_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//已消耗课时
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, null, CourseStatusEnum.OVER), dayStr, IndexDataType.OVER_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, null, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_MUSIC_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.OVER), dayStr, IndexDataType.OVER_MUSIC_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.MUSIC, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_MUSIC_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_VIP_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.VIP, CourseStatusEnum.OVER), dayStr, IndexDataType.OVER_VIP_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.VIP, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_VIP_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.OVER_PRACTICE_COURSE_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.OVER), dayStr, IndexDataType.OVER_PRACTICE_COURSE_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupSurplusCourseData(dayStr, GroupType.PRACTICE, CourseStatusEnum.OVER,tenantId), dayStr, IndexDataType.OVER_PRACTICE_COURSE_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//经营数据
 | 
	
	
		
			
				|  | @@ -440,23 +442,23 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//业务数据
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.HOMEWORK_CREATE_RATE)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, null), monday.toString(), IndexDataType.HOMEWORK_CREATE_RATE);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, null,tenantId), monday.toString(), IndexDataType.HOMEWORK_CREATE_RATE);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.HOMEWORK_SUBMIT_RATE)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "submit"), monday.toString(), IndexDataType.HOMEWORK_SUBMIT_RATE);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "submit",tenantId), monday.toString(), IndexDataType.HOMEWORK_SUBMIT_RATE);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.HOMEWORK_COMMENT_RATE)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "comment"), monday.toString(), IndexDataType.HOMEWORK_COMMENT_RATE);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getHomeworkData(dayStr, "comment",tenantId), monday.toString(), IndexDataType.HOMEWORK_COMMENT_RATE);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//课程数据
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_COURSE)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.MUSIC, null, null, null), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.MUSIC, null, null, null,tenantId), dayStr, IndexDataType.MUSIC_GROUP_COURSE);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_COURSE)) {
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, null, null);
 | 
	
		
			
				|  |  | -			List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, null, null);
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> vipCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, null, null,tenantId);
 | 
	
		
			
				|  |  | +			List<OrganVipGroupCategoryCourseNumDto> vipGroupCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, null, null,tenantId);
 | 
	
		
			
				|  |  |  			Map<Integer, Map<String, Integer>> organCategoryCourseMap = new HashMap<>();
 | 
	
		
			
				|  |  |  			if (!CollectionUtils.isEmpty(vipGroupCategoryCourseData)) {
 | 
	
		
			
				|  |  |  				organCategoryCourseMap = vipGroupCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
 | 
	
	
		
			
				|  | @@ -470,8 +472,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_ONLINE_COURSE)) {
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null);
 | 
	
		
			
				|  |  | -			List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null);
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> vipOnlineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null,tenantId);
 | 
	
		
			
				|  |  | +			List<OrganVipGroupCategoryCourseNumDto> vipGroupOnlineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.ONLINE, null,tenantId);
 | 
	
		
			
				|  |  |  			Map<Integer, Map<String, Integer>> organOnlineCategoryCourseMap = new HashMap<>();
 | 
	
		
			
				|  |  |  			if (!CollectionUtils.isEmpty(vipGroupOnlineCategoryCourseData)) {
 | 
	
		
			
				|  |  |  				organOnlineCategoryCourseMap = vipGroupOnlineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
 | 
	
	
		
			
				|  | @@ -485,8 +487,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_GROUP_OFFLINE_COURSE)) {
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null);
 | 
	
		
			
				|  |  | -			List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null);
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> vipOfflineCourseData = indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null,tenantId);
 | 
	
		
			
				|  |  | +			List<OrganVipGroupCategoryCourseNumDto> vipGroupOfflineCategoryCourseData = indexBaseMonthDataDao.getVipGroupCategoryCourseData(dayStr, null, null, GroupType.VIP, null, TeachModeEnum.OFFLINE, null,tenantId);
 | 
	
		
			
				|  |  |  			Map<Integer, Map<String, Integer>> organOfflineCategoryCourseMap = new HashMap<>();
 | 
	
		
			
				|  |  |  			if (!CollectionUtils.isEmpty(vipGroupOfflineCategoryCourseData)) {
 | 
	
		
			
				|  |  |  				organOfflineCategoryCourseMap = vipGroupOfflineCategoryCourseData.stream().collect(Collectors.groupingBy(OrganVipGroupCategoryCourseNumDto::getOrganId, Collectors.toMap(OrganVipGroupCategoryCourseNumDto::getCategoryName, o -> o.getCourseNum())));
 | 
	
	
		
			
				|  | @@ -500,15 +502,15 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PRACTICE_GROUP_COURSE)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.PRACTICE, null, null, null), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getGroupCourseDataWithGroup(dayStr, null, null, GroupType.PRACTICE, null, null, null,tenantId), dayStr, IndexDataType.PRACTICE_GROUP_COURSE);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//学员变动
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.ADD_STUDENT_REGISTRATION_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getAddStudentRegistrationData(dayStr), dayStr, IndexDataType.ADD_STUDENT_REGISTRATION_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getAddStudentRegistrationData(dayStr,tenantId), dayStr, IndexDataType.ADD_STUDENT_REGISTRATION_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MUSIC_GROUP_STUDENT)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, null), dayStr, IndexDataType.MUSIC_GROUP_STUDENT);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getMusicStudentData(dayStr, null,tenantId), dayStr, IndexDataType.MUSIC_GROUP_STUDENT);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.NEWLY_STUDENT_NUM)) {
 | 
	
		
			
				|  |  |  			saveData(null, nowDate.toString(), IndexDataType.NEWLY_STUDENT_NUM);
 | 
	
	
		
			
				|  | @@ -517,46 +519,46 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			saveData(null, nowDate.toString(), IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_PRACTICE_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getOtherStudentData(dayStr), dayStr, IndexDataType.VIP_PRACTICE_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getOtherStudentData(dayStr,tenantId), dayStr, IndexDataType.VIP_PRACTICE_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.VIP_PRACTICE_ADD_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getVipPracticeAddStudentData(dayStr), dayStr, IndexDataType.VIP_PRACTICE_ADD_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getVipPracticeAddStudentData(dayStr,tenantId), dayStr, IndexDataType.VIP_PRACTICE_ADD_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//云教练相关
 | 
	
		
			
				|  |  |  		//分部学员数量
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.ORGAN_TOTAL_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getOrgansStudentNumData(dayStr), dayStr, IndexDataType.ORGAN_TOTAL_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getOrgansStudentNumData(dayStr,tenantId), dayStr, IndexDataType.ORGAN_TOTAL_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//会员数量
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.MEMBER_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getMemberStudentNumData(dayStr), dayStr, IndexDataType.MEMBER_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.MEMBER_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//新增会员数量
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.NEW_MEMBER_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getNewMemberStudentNumData(dayStr), dayStr, IndexDataType.NEW_MEMBER_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getNewMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.NEW_MEMBER_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//试用会员数量
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.EXPERIENCE_MEMBER_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getExperienceMemberStudentNumData(dayStr), dayStr, IndexDataType.EXPERIENCE_MEMBER_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getExperienceMemberStudentNumData(dayStr,tenantId), dayStr, IndexDataType.EXPERIENCE_MEMBER_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//云教练使用用户
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CLOUD_STUDY_DAY_USE_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getCloudStudyDayUseStudentNumData(dayStr), dayStr, IndexDataType.CLOUD_STUDY_DAY_USE_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getCloudStudyDayUseStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_DAY_USE_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//活跃用户
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CLOUD_STUDY_LIVELY_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getCloudStudyLivelyStudentNumData(dayStr), dayStr, IndexDataType.CLOUD_STUDY_LIVELY_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getCloudStudyLivelyStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_LIVELY_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//云教练新增人数
 | 
	
		
			
				|  |  |  		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.CLOUD_STUDY_NEW_STUDENT_NUM)) {
 | 
	
		
			
				|  |  | -			saveData(indexBaseMonthDataDao.getCloudStudyNewStudentNumData(dayStr), dayStr, IndexDataType.CLOUD_STUDY_NEW_STUDENT_NUM);
 | 
	
		
			
				|  |  | +			saveData(indexBaseMonthDataDao.getCloudStudyNewStudentNumData(dayStr,tenantId), dayStr, IndexDataType.CLOUD_STUDY_NEW_STUDENT_NUM);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//云教练新用户人数
 | 
	
	
		
			
				|  | @@ -583,7 +585,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		boolean specialType = IndexDataType.NEWLY_STUDENT_NUM.equals(indexDataType)||IndexDataType.QUIT_MUSIC_GROUP_STUDENT_NUM.equals(indexDataType);
 | 
	
		
			
				|  |  |  		Set<Integer> ignoreOrganIds = new HashSet<>();
 | 
	
		
			
				|  |  |  		if(specialType){
 | 
	
		
			
				|  |  | -			List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getWithDayAndDataType(dayStr, indexDataType);
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getWithDayAndDataType(dayStr, indexDataType,TenantContextHolder.getTenantId());
 | 
	
		
			
				|  |  |  			if(!CollectionUtils.isEmpty(indexBaseDatas)) {
 | 
	
		
			
				|  |  |  				ignoreOrganIds = indexBaseDatas.stream().map(IndexBaseMonthData::getOrganId).collect(Collectors.toSet());
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -627,7 +629,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			classGroupIds = classGroupDao.queryGroupClassGroupIds(sysUser.getId());
 | 
	
		
			
				|  |  |  			educationUserId = sysUser.getId();
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  |  		if(IndexErrorType.MUSIC_PATROL.equals(errorType)){
 | 
	
		
			
				|  |  |  			IndexErrInfoDto<IndexErrInfoDto> one = new IndexErrInfoDto<>();
 | 
	
		
			
				|  |  |  			one.setErrorType(IndexErrorType.MUSIC_PATROL);
 | 
	
	
		
			
				|  | @@ -635,14 +637,14 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			List<IndexErrInfoDto> oneChild = new ArrayList<>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//基础技能班学员数量异常
 | 
	
		
			
				|  |  | -			oneChild.add(new IndexErrInfoDto(IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE, IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE.getMsg(), indexBaseMonthDataDao.countLessThenThreeClassGroupNum(organIds,educationUserId), null));
 | 
	
		
			
				|  |  | +			oneChild.add(new IndexErrInfoDto(IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE, IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE.getMsg(), indexBaseMonthDataDao.countLessThenThreeClassGroupNum(organIds,educationUserId,tenantId), null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团巡查事项异常
 | 
	
		
			
				|  |  | -			int errInspection = indexBaseMonthDataDao.queryErrInspection(organIds,startTime);
 | 
	
		
			
				|  |  | +			int errInspection = indexBaseMonthDataDao.queryErrInspection(organIds,startTime,tenantId);
 | 
	
		
			
				|  |  |  			oneChild.add(new IndexErrInfoDto(IndexErrorType.MUSIC_PATROL_ITEM, IndexErrorType.MUSIC_PATROL_ITEM.getMsg(),errInspection, null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//未加入任何班级学员
 | 
	
		
			
				|  |  | -			IndexErrInfoDto noClassMusicGroupStudentInfo = indexBaseMonthDataDao.getNoClassMusicGroupStudentInfo(organIds,educationUserId);
 | 
	
		
			
				|  |  | +			IndexErrInfoDto noClassMusicGroupStudentInfo = indexBaseMonthDataDao.getNoClassMusicGroupStudentInfo(organIds,educationUserId,tenantId);
 | 
	
		
			
				|  |  |  			noClassMusicGroupStudentInfo.setDesc(IndexErrorType.NO_CLASS_MUSIC_GROUP_STUDENT_INFO.getMsg());
 | 
	
		
			
				|  |  |  			oneChild.add(noClassMusicGroupStudentInfo);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -662,16 +664,16 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			String studentErrorLeaveNum = sysTenantConfigService.getTenantConfigValue(SysConfigService.STUDENT_ERROR_LEAVE_NUM, tenantId);
 | 
	
		
			
				|  |  |  			if(StringUtils.isNotEmpty(studentErrorLeaveNum)){
 | 
	
		
			
				|  |  |  				String format1 = DateUtil.format(new Date(), DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  | -				studentErrorLeave = indexBaseMonthDataDao.countStudentErrorLeave(organIds, format1, classGroupIds,Integer.parseInt(studentErrorLeaveNum));
 | 
	
		
			
				|  |  | +				studentErrorLeave = indexBaseMonthDataDao.countStudentErrorLeave(organIds, format1, classGroupIds,Integer.parseInt(studentErrorLeaveNum),tenantId);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_ERROR_LEAVE, IndexErrorType.STUDENT_ERROR_LEAVE.getMsg(),studentErrorLeave , null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//未缴费学员数
 | 
	
		
			
				|  |  | -			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_ARREARAGE, IndexErrorType.STUDENT_ARREARAGE.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId,0), Arrays.asList(educationUserId)));
 | 
	
		
			
				|  |  | +			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_ARREARAGE, IndexErrorType.STUDENT_ARREARAGE.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId,0,tenantId), Arrays.asList(educationUserId)));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//申请退团学员数
 | 
	
		
			
				|  |  | -			List<Long> quitGroupNum = indexBaseMonthDataDao.queryApplyForQuitGroupNum(organIds,educationUserId);
 | 
	
		
			
				|  |  | +			List<Long> quitGroupNum = indexBaseMonthDataDao.queryApplyForQuitGroupNum(organIds,educationUserId,tenantId);
 | 
	
		
			
				|  |  |  			twoChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP, IndexErrorType.STUDENT_APPLY_FOR_QUIT_MUSIC_GROUP.getMsg(), quitGroupNum.size(),  quitGroupNum));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团学员会员到期首页提醒
 | 
	
	
		
			
				|  | @@ -707,15 +709,15 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团巡查任务未计划
 | 
	
		
			
				|  |  | -			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId);
 | 
	
		
			
				|  |  | +			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId,tenantId);
 | 
	
		
			
				|  |  |  			threeChild.add(new IndexErrInfoDto(IndexErrorType.INSPECTION_ITEM, IndexErrorType.INSPECTION_ITEM.getMsg(),inspectionItem, null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团巡查任务未提交
 | 
	
		
			
				|  |  | -			int inspectionItemPlan = indexBaseMonthDataDao.queryInspectionItemPlan(organIdsStr,startTime);
 | 
	
		
			
				|  |  | +			int inspectionItemPlan = indexBaseMonthDataDao.queryInspectionItemPlan(organIdsStr,startTime,tenantId);
 | 
	
		
			
				|  |  |  			threeChild.add(new IndexErrInfoDto(IndexErrorType.INSPECTION_ITEM_PLAN, IndexErrorType.INSPECTION_ITEM_PLAN.getMsg(),inspectionItemPlan, null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//回访任务未完成
 | 
	
		
			
				|  |  | -			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime,userId);
 | 
	
		
			
				|  |  | +			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime,userId,tenantId);
 | 
	
		
			
				|  |  |  			threeChild.add(new IndexErrInfoDto(IndexErrorType.STUDENT_VISIT, IndexErrorType.STUDENT_VISIT.getMsg(),studentVisit, null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			three.setNum(threeChild.stream().mapToInt(IndexErrInfoDto::getNum).sum());
 | 
	
	
		
			
				|  | @@ -735,12 +737,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			//课程时间安排异常
 | 
	
		
			
				|  |  |  			int courseTimeError = 0;
 | 
	
		
			
				|  |  |  			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  | -				attendanceError = indexBaseMonthDataDao.getAttendanceError(organIds,startTime,classGroupIds);
 | 
	
		
			
				|  |  | -				noAttendance = indexBaseMonthDataDao.getNoAttendance(organIds,startTime,classGroupIds);
 | 
	
		
			
				|  |  | +				attendanceError = indexBaseMonthDataDao.getAttendanceError(organIds,startTime,classGroupIds,tenantId);
 | 
	
		
			
				|  |  | +				noAttendance = indexBaseMonthDataDao.getNoAttendance(organIds,startTime,classGroupIds,tenantId);
 | 
	
		
			
				|  |  |  				String courseStartTimeError = sysTenantConfigService.getTenantConfigValue(SysConfigService.COURSE_START_TIME_ERROR, tenantId);
 | 
	
		
			
				|  |  |  				String courseEndTimeError = sysTenantConfigService.getTenantConfigValue(SysConfigService.COURSE_END_TIME_ERROR, tenantId);
 | 
	
		
			
				|  |  |  				if(StringUtils.isNotEmpty(courseStartTimeError) && StringUtils.isNotEmpty(courseEndTimeError)){
 | 
	
		
			
				|  |  | -					courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds,courseStartTimeError,courseEndTimeError);
 | 
	
		
			
				|  |  | +					courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds,courseStartTimeError,courseEndTimeError,tenantId);
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			fourChild.add(new IndexErrInfoDto(IndexErrorType.COURSE_TIME_ERROR, IndexErrorType.COURSE_TIME_ERROR.getMsg(), courseTimeError, null));
 | 
	
	
		
			
				|  | @@ -830,32 +832,34 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		Map<Integer, Integer> studentErrorLeaveMap = new HashMap<>();
 | 
	
		
			
				|  |  |  		//会员过期学员数
 | 
	
		
			
				|  |  |  		Map<Integer, Integer> noMemberStudentMap = new HashMap<>();
 | 
	
		
			
				|  |  | +		
 | 
	
		
			
				|  |  | +		Integer tenantId = TenantContextHolder.getTenantId();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(IndexErrorType.MUSIC_PATROL.equals(errorType)||Objects.isNull(errorType)){
 | 
	
		
			
				|  |  |  			//基础技能班学员数量异常
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> highClassStudentLessThanThreeMapList = indexBaseMonthDataDao.countLessThenThreeClassOrganGroupNum(organIds, educationUserId);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> highClassStudentLessThanThreeMapList = indexBaseMonthDataDao.countLessThenThreeClassOrganGroupNum(organIds, educationUserId, tenantId);
 | 
	
		
			
				|  |  |  			highClassStudentLessThanThreeMap = MapUtil.mapListToMap(highClassStudentLessThanThreeMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团巡查事项异常
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> musicPatrolItemMapList = indexBaseMonthDataDao.queryOrganErrInspection(organIds, startTime);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> musicPatrolItemMapList = indexBaseMonthDataDao.queryOrganErrInspection(organIds, startTime, tenantId);
 | 
	
		
			
				|  |  |  			musicPatrolItemMap = MapUtil.mapListToMap(musicPatrolItemMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//未加入任何班级学员
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> organNoClassMusicGroupStudentNumMapList = indexBaseMonthDataDao.getOrganNoClassMusicGroupStudentNum(organIds, educationUserId);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> organNoClassMusicGroupStudentNumMapList = indexBaseMonthDataDao.getOrganNoClassMusicGroupStudentNum(organIds, educationUserId, tenantId);
 | 
	
		
			
				|  |  |  			organNoClassMusicGroupStudentNumMap = MapUtil.mapListToMap(organNoClassMusicGroupStudentNumMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(IndexErrorType.STUDENT_INFO.equals(errorType)||Objects.isNull(errorType)){
 | 
	
		
			
				|  |  |  			//学员异常请假数
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> studentErrorLeaveMapList = indexBaseMonthDataDao.countOrganStudentErrorLeave(organIds, classGroupIds);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> studentErrorLeaveMapList = indexBaseMonthDataDao.countOrganStudentErrorLeave(organIds, classGroupIds, tenantId);
 | 
	
		
			
				|  |  |  			studentErrorLeaveMap = MapUtil.mapListToMap(studentErrorLeaveMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//未缴费学员数
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> studentNotPaymentMapList = indexBaseMonthDataDao.countOrganNoPaymentStudentNum(organIds, educationUserId);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> studentNotPaymentMapList = indexBaseMonthDataDao.countOrganNoPaymentStudentNum(organIds, educationUserId, tenantId);
 | 
	
		
			
				|  |  |  			studentNotPaymentMap = MapUtil.mapListToMap(studentNotPaymentMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//申请退团学员数
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> studentApplyForQuitMusicGroupMapList = indexBaseMonthDataDao.queryOrganApplyForQuitGroupNum(organIds, educationUserId);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> studentApplyForQuitMusicGroupMapList = indexBaseMonthDataDao.queryOrganApplyForQuitGroupNum(organIds, educationUserId, tenantId);
 | 
	
		
			
				|  |  |  			studentApplyForQuitMusicGroupMap = MapUtil.mapListToMap(studentApplyForQuitMusicGroupMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//会员过期学员数
 | 
	
	
		
			
				|  | @@ -868,7 +872,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//全职未离职老师
 | 
	
		
			
				|  |  |  			//预计课酬较低
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> teacherExpectSalaryBeLowMapList = indexBaseMonthDataDao.queryOrganLowTeacherSalary(organIdsStr, monthStr);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> teacherExpectSalaryBeLowMapList = indexBaseMonthDataDao.queryOrganLowTeacherSalary(organIdsStr, monthStr, tenantId);
 | 
	
		
			
				|  |  |  			teacherExpectSalaryBeLowMap = MapUtil.mapListToMap(teacherExpectSalaryBeLowMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//课程时间安排异常
 | 
	
	
		
			
				|  | @@ -882,26 +886,26 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团巡查任务未计划
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> inspectionItemMapList = indexBaseMonthDataDao.queryOrganInspectionItem(organIdsStr, startTime, userId);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> inspectionItemMapList = indexBaseMonthDataDao.queryOrganInspectionItem(organIdsStr, startTime, userId, tenantId);
 | 
	
		
			
				|  |  |  			inspectionItemMap = MapUtil.mapListToMap(inspectionItemMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//乐团巡查任务未提交
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> inspectionItemPlanMapList = indexBaseMonthDataDao.queryOrganInspectionItemPlan(organIdsStr, startTime);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> inspectionItemPlanMapList = indexBaseMonthDataDao.queryOrganInspectionItemPlan(organIdsStr, startTime, tenantId);
 | 
	
		
			
				|  |  |  			inspectionItemPlanMap = MapUtil.mapListToMap(inspectionItemPlanMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//回访任务未完成
 | 
	
		
			
				|  |  | -			List<Map<Integer, Integer>> studentVisitMapList = indexBaseMonthDataDao.queryOrganStudentVisit(organIdsStr, startTime, userId);
 | 
	
		
			
				|  |  | +			List<Map<Integer, Integer>> studentVisitMapList = indexBaseMonthDataDao.queryOrganStudentVisit(organIdsStr, startTime, userId, tenantId);
 | 
	
		
			
				|  |  |  			studentVisitMap = MapUtil.mapListToMap(studentVisitMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(IndexErrorType.ATTENDANCE_SERVE.equals(errorType)||Objects.isNull(errorType)){
 | 
	
		
			
				|  |  |  			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  |  				//课程考勤异常
 | 
	
		
			
				|  |  | -				List<Map<Integer, Integer>> teacherExceptionAttendanceMapList = indexBaseMonthDataDao.getOrganAttendanceError(organIds, startTime, classGroupIds);
 | 
	
		
			
				|  |  | +				List<Map<Integer, Integer>> teacherExceptionAttendanceMapList = indexBaseMonthDataDao.getOrganAttendanceError(organIds, startTime, classGroupIds, tenantId);
 | 
	
		
			
				|  |  |  				teacherExceptionAttendanceMap = MapUtil.mapListToMap(teacherExceptionAttendanceMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  				//课程异常
 | 
	
		
			
				|  |  | -				List<Map<Integer, Integer>> teacherNotAClassMapList = indexBaseMonthDataDao.getOrganNoAttendance(organIds, startTime, classGroupIds);
 | 
	
		
			
				|  |  | +				List<Map<Integer, Integer>> teacherNotAClassMapList = indexBaseMonthDataDao.getOrganNoAttendance(organIds, startTime, classGroupIds, tenantId);
 | 
	
		
			
				|  |  |  				teacherNotAClassMap = MapUtil.mapListToMap(teacherNotAClassMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -916,6 +920,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			params.put("jobNature", JobNatureEnum.FULL_TIME);
 | 
	
		
			
				|  |  |  			params.put("unDone",1);
 | 
	
		
			
				|  |  |  			params.put("reminded",0);
 | 
	
		
			
				|  |  | +			params.put("tenantId",TenantContextHolder.getTenantId());
 | 
	
		
			
				|  |  |  			List<Map<Integer, Integer>> teacherServeErrorMapList = indexBaseMonthDataDao.countOrganTeacherServeInfo(params);
 | 
	
		
			
				|  |  |  			teacherServeErrorMap = MapUtil.mapListToMap(teacherServeErrorMapList, Integer.class, Integer.class);
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -1072,12 +1077,12 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		result.add(indexErrInfoDto);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//未缴费学员数
 | 
	
		
			
				|  |  | -		result.add(new IndexErrInfoDto(IndexErrorType.STUDENT_NOT_PAYMENT, IndexErrorType.STUDENT_NOT_PAYMENT.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIdSet,educationUserId, 1), Arrays.asList(educationUserId)));
 | 
	
		
			
				|  |  | +		result.add(new IndexErrInfoDto(IndexErrorType.STUDENT_NOT_PAYMENT, IndexErrorType.STUDENT_NOT_PAYMENT.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentNum(organIdSet,educationUserId, 1, tenantId), Arrays.asList(educationUserId)));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  |  		//全职未离职老师
 | 
	
		
			
				|  |  |  		//预计课酬较低
 | 
	
		
			
				|  |  | -		int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIds,monthStr);
 | 
	
		
			
				|  |  | +		int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIds,monthStr, tenantId);
 | 
	
		
			
				|  |  |  		result.add(new IndexErrInfoDto(IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW, IndexErrorType.TEACHER_EXPECT_SALARY_BE_LOW.getMsg(),lowTeacherSalary, null));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		//乐团学员会员即将到期首页提醒
 | 
	
	
		
			
				|  | @@ -1128,18 +1133,18 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		Date date = new Date();
 | 
	
		
			
				|  |  |  		boolean flag1 = false;
 | 
	
		
			
				|  |  | -		int countLessThenThreeClassGroupNum = indexBaseMonthDataDao.countLessThenThreeClassGroupNum(organIds,educationUserId);
 | 
	
		
			
				|  |  | +		int countLessThenThreeClassGroupNum = indexBaseMonthDataDao.countLessThenThreeClassGroupNum(organIds,educationUserId, tenantId);
 | 
	
		
			
				|  |  |  		if(countLessThenThreeClassGroupNum > 0){
 | 
	
		
			
				|  |  |  			flag1 = true;
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(!flag1){
 | 
	
		
			
				|  |  | -			int errInspection = indexBaseMonthDataDao.queryErrInspection(organIds,startTime);
 | 
	
		
			
				|  |  | +			int errInspection = indexBaseMonthDataDao.queryErrInspection(organIds,startTime, tenantId);
 | 
	
		
			
				|  |  |  			if(errInspection > 0){
 | 
	
		
			
				|  |  |  				flag1 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(!flag1){
 | 
	
		
			
				|  |  | -			IndexErrInfoDto noClassMusicGroupStudentInfo = indexBaseMonthDataDao.getNoClassMusicGroupStudentInfo(organIds,educationUserId);
 | 
	
		
			
				|  |  | +			IndexErrInfoDto noClassMusicGroupStudentInfo = indexBaseMonthDataDao.getNoClassMusicGroupStudentInfo(organIds,educationUserId, tenantId);
 | 
	
		
			
				|  |  |  			if(Objects.nonNull(noClassMusicGroupStudentInfo) && noClassMusicGroupStudentInfo.getNum() > 0){
 | 
	
		
			
				|  |  |  				flag1 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -1152,21 +1157,21 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			String studentErrorLeaveNum = sysTenantConfigService.getTenantConfigValue(SysConfigService.STUDENT_ERROR_LEAVE_NUM, tenantId);
 | 
	
		
			
				|  |  |  			if(StringUtils.isNotEmpty(studentErrorLeaveNum)){
 | 
	
		
			
				|  |  |  				String format1 = DateUtil.format(new Date(), DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  | -				studentErrorLeave = indexBaseMonthDataDao.countStudentErrorLeave(organIds, format1, classGroupIds,Integer.parseInt(studentErrorLeaveNum));
 | 
	
		
			
				|  |  | +				studentErrorLeave = indexBaseMonthDataDao.countStudentErrorLeave(organIds, format1, classGroupIds,Integer.parseInt(studentErrorLeaveNum), tenantId);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			if(studentErrorLeave > 0){
 | 
	
		
			
				|  |  |  				flag2 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(!flag2){
 | 
	
		
			
				|  |  | -			List<Long> quitGroupNum = indexBaseMonthDataDao.queryApplyForQuitGroupNum(organIds,educationUserId);
 | 
	
		
			
				|  |  | +			List<Long> quitGroupNum = indexBaseMonthDataDao.queryApplyForQuitGroupNum(organIds,educationUserId, tenantId);
 | 
	
		
			
				|  |  |  			if(quitGroupNum.size() > 0){
 | 
	
		
			
				|  |  |  				flag2 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(!flag2){
 | 
	
		
			
				|  |  | -			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId, 0);
 | 
	
		
			
				|  |  | +			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId, 0, tenantId);
 | 
	
		
			
				|  |  |  			if(countNoPaymentStudentNum > 0){
 | 
	
		
			
				|  |  |  				flag2 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -1191,19 +1196,19 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		if(!flag3){
 | 
	
		
			
				|  |  | -			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId);
 | 
	
		
			
				|  |  | +			int inspectionItem = indexBaseMonthDataDao.queryInspectionItem(organIdsStr,startTime,userId, tenantId);
 | 
	
		
			
				|  |  |  			if(inspectionItem > 0){
 | 
	
		
			
				|  |  |  				flag3 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(!flag3){
 | 
	
		
			
				|  |  | -			int inspectionItemPlan = indexBaseMonthDataDao.queryInspectionItemPlan(organIdsStr,startTime);
 | 
	
		
			
				|  |  | +			int inspectionItemPlan = indexBaseMonthDataDao.queryInspectionItemPlan(organIdsStr,startTime, tenantId);
 | 
	
		
			
				|  |  |  			if(inspectionItemPlan > 0){
 | 
	
		
			
				|  |  |  				flag3 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(!flag3){
 | 
	
		
			
				|  |  | -			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime,userId);
 | 
	
		
			
				|  |  | +			int studentVisit = indexBaseMonthDataDao.queryStudentVisit(organIdsStr,startTime,userId, tenantId);
 | 
	
		
			
				|  |  |  			if(studentVisit > 0){
 | 
	
		
			
				|  |  |  				flag3 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -1217,7 +1222,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  				String courseStartTimeError = sysTenantConfigService.getTenantConfigValue(SysConfigService.COURSE_START_TIME_ERROR, tenantId);
 | 
	
		
			
				|  |  |  				String courseEndTimeError = sysTenantConfigService.getTenantConfigValue(SysConfigService.COURSE_END_TIME_ERROR, tenantId);
 | 
	
		
			
				|  |  |  				if(StringUtils.isNotEmpty(courseStartTimeError) && StringUtils.isNotEmpty(courseEndTimeError)){
 | 
	
		
			
				|  |  | -					courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds,courseStartTimeError,courseEndTimeError);
 | 
	
		
			
				|  |  | +					courseTimeError = indexBaseMonthDataDao.getCourseTimeError(organIds,classGroupIds,courseStartTimeError,courseEndTimeError, tenantId);
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			if(courseTimeError > 0){
 | 
	
	
		
			
				|  | @@ -1227,7 +1232,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		if(!flag4){
 | 
	
		
			
				|  |  |  			int attendanceError = 0;
 | 
	
		
			
				|  |  |  			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  | -				attendanceError = indexBaseMonthDataDao.getAttendanceError(organIds,startTime,classGroupIds);
 | 
	
		
			
				|  |  | +				attendanceError = indexBaseMonthDataDao.getAttendanceError(organIds,startTime,classGroupIds, tenantId);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			if(attendanceError > 0){
 | 
	
		
			
				|  |  |  				flag4 = true;
 | 
	
	
		
			
				|  | @@ -1236,7 +1241,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		if(!flag4){
 | 
	
		
			
				|  |  |  			int noAttendance = 0;
 | 
	
		
			
				|  |  |  			if(classGroupIds == null || classGroupIds.size() > 0){
 | 
	
		
			
				|  |  | -				noAttendance = indexBaseMonthDataDao.getNoAttendance(organIds,startTime,classGroupIds);
 | 
	
		
			
				|  |  | +				noAttendance = indexBaseMonthDataDao.getNoAttendance(organIds,startTime,classGroupIds, tenantId);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			if(noAttendance > 0){
 | 
	
		
			
				|  |  |  				flag4 = true;
 | 
	
	
		
			
				|  | @@ -1263,13 +1268,13 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		boolean flag5 = false;
 | 
	
		
			
				|  |  |  		if(!flag5){
 | 
	
		
			
				|  |  |  			String monthStr = DateUtil.format(date, DateUtil.ISO_YEAR_MONTH_FORMAT);
 | 
	
		
			
				|  |  | -			int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIdsStr,monthStr);
 | 
	
		
			
				|  |  | +			int lowTeacherSalary = indexBaseMonthDataDao.queryLowTeacherSalary(organIdsStr,monthStr, tenantId);
 | 
	
		
			
				|  |  |  			if(lowTeacherSalary > 0){
 | 
	
		
			
				|  |  |  				flag5 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  		if(!flag5){
 | 
	
		
			
				|  |  | -			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId, 1);
 | 
	
		
			
				|  |  | +			int countNoPaymentStudentNum = indexBaseMonthDataDao.countNoPaymentStudentNum(organIds,educationUserId, 1, tenantId);
 | 
	
		
			
				|  |  |  			if(countNoPaymentStudentNum > 0){
 | 
	
		
			
				|  |  |  				flag5 = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
	
		
			
				|  | @@ -1314,7 +1319,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  			add(ORGAN_TOTAL_STUDENT_NUM.getCode());add(CLOUD_STUDY_NEW_STUDENT_NUM.getCode());add(CLOUD_STUDY_DAY_USE_STUDENT_NUM.getCode());}};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getAllIndexBaseData(new HashSet<>(organIds), dataTypes, queryInfo.getDate(), queryInfo.getDate());
 | 
	
		
			
				|  |  | +		List<IndexBaseMonthData> indexBaseDatas = indexBaseMonthDataDao.getAllIndexBaseData(new HashSet<>(organIds), dataTypes, queryInfo.getDate(), queryInfo.getDate(), queryInfo.getTenantId());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		Map<Integer, Integer> organsStudentNumMap = indexBaseDatas.stream().filter(i->ORGAN_TOTAL_STUDENT_NUM.equals(i.getDataType())).collect(Collectors.toMap(IndexBaseMonthData::getOrganId, i->i.getActivateNum().intValue(), (i1, i2)->i1));
 | 
	
		
			
				|  |  |  
 |