| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -3,6 +3,7 @@ package com.epmet.support.normalizing.batch; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.support.normalizing.ScoreCalculator; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.math.BigDecimal; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.math.RoundingMode; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.HashMap; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.List; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.stream.Collectors; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -24,7 +25,7 @@ public class BatchScoreCalculator { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            // 循环同一个指标内的多个样本值的SampleValue列表
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            List<SampleScore> scores4OneIndex = indexValueVOs.stream().map(vo -> { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                BigDecimal score = scoreCalculator.normalize(vo.getSampleValue(), weight); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                BigDecimal score = scoreCalculator.normalize(vo.getSampleValue(), weight).setScale(6, RoundingMode.HALF_UP);; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                return new SampleScore(vo.getSampleId(), score); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }).collect(Collectors.toList()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -52,9 +53,10 @@ public class BatchScoreCalculator { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                String sampleId = vo.getSampleId(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                BigDecimal score = scoreCalculator.normalize(vo.getSampleValue(), weight); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if (scoreCountOfSamples.containsKey(sampleId)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    BigDecimal newScore = scoreCountOfSamples.get(sampleId).add(score); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    BigDecimal newScore = scoreCountOfSamples.get(sampleId).add(score).setScale(6, RoundingMode.HALF_UP); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    scoreCountOfSamples.put(sampleId, newScore); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    score.setScale(6, RoundingMode.HALF_UP); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    scoreCountOfSamples.put(sampleId, score); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |