| 
					
				 | 
			
			
				@@ -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)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |