|  | @@ -29,6 +29,7 @@ import java.time.DayOfWeek;
 | 
	
		
			
				|  |  |  import java.time.LocalDate;
 | 
	
		
			
				|  |  |  import java.time.LocalDateTime;
 | 
	
		
			
				|  |  |  import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.function.Function;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.IndexDataType.*;
 | 
	
	
		
			
				|  | @@ -299,6 +300,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  					VIP_AMOUNT.equals(typeDateMapEntry.getKey()) ||
 | 
	
		
			
				|  |  |  					PRACTICE_AMOUNT.equals(typeDateMapEntry.getKey()) ||
 | 
	
		
			
				|  |  |  					OTHER_AMOUNT.equals(typeDateMapEntry.getKey())){
 | 
	
		
			
				|  |  | +				indexBaseData.setOrganIndexMonthData(this.getOrganIndexMonthData(value,typeDateMapEntry.getKey()));
 | 
	
		
			
				|  |  |  				indexBaseData.setPercent(value.stream().map(IndexBaseMonthData::getPercent).reduce(BigDecimal.ZERO, BigDecimal::add));
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			if(IndexDataType.VIP_GROUP_COURSE.equals(typeDateMapEntry.getKey()) || VIP_GROUP_ONLINE_COURSE.equals(typeDateMapEntry.getKey()) ||
 | 
	
	
		
			
				|  | @@ -324,6 +326,22 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 | 
	
		
			
				|  |  |  		return result;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	public List<IndexBaseMonthData> getOrganIndexMonthData(List<IndexBaseMonthData> organIndexMonthData,IndexDataType indexDataType) {
 | 
	
		
			
				|  |  | +		if (!CollectionUtils.isEmpty(organIndexMonthData)){
 | 
	
		
			
				|  |  | +			List<IndexBaseMonthData> collect = organIndexMonthData.stream().filter(e -> e.getOrganId() != null && e.getOrganId() != 0).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +			if(!CollectionUtils.isEmpty(collect)){
 | 
	
		
			
				|  |  | +				Map<Integer, List<IndexBaseMonthData>> listMap = collect.stream().collect(Collectors.groupingBy(IndexBaseMonthData::getOrganId));
 | 
	
		
			
				|  |  | +				Set<Integer> organIds = listMap.keySet();
 | 
	
		
			
				|  |  | +				Map<Integer, String> organMap = organizationService.getMap("organization", "id_", "name_",
 | 
	
		
			
				|  |  | +						organIds, TenantContextHolder.getTenantId(), Integer.class, String.class);
 | 
	
		
			
				|  |  | +				Function<Integer,IndexBaseMonthData> fun = (organId) -> new IndexBaseMonthData(organId,organMap.get(organId),indexDataType,
 | 
	
		
			
				|  |  | +						listMap.get(organId).stream().map(e->e.getPercent()).reduce(BigDecimal.ZERO,BigDecimal::add));
 | 
	
		
			
				|  |  | +				return organIds.stream().map(fun::apply).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return new ArrayList<>();
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  |  	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |  	public void indexBaseDataTask(Integer tenantId, String dayStr, Set<IndexDataType> dataTypes) {
 |