|  | @@ -344,24 +344,29 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
 | 
	
		
			
				|  |  |          queryVO.setStatus(null);
 | 
	
		
			
				|  |  |          List<SubInfoGxj> listTotal = subInfoMapper.queryStatistics(queryVO);
 | 
	
		
			
				|  |  |          Map<String, Long> collect1 = listTotal.stream().collect(Collectors.groupingBy(SubInfoGxj::getStatus, Collectors.counting()));
 | 
	
		
			
				|  |  | -        Long zjNum1 = collect1.getOrDefault(SubInfoStatusEnum.ZJ.getCode(), 0L);
 | 
	
		
			
				|  |  | -        Long tcNum1 = collect1.getOrDefault(SubInfoStatusEnum.TC.getCode(), 0L);
 | 
	
		
			
				|  |  | -        Long xjNum1 = collect1.getOrDefault(SubInfoStatusEnum.XJ.getCode(), 0L);
 | 
	
		
			
				|  |  | +        Long zjNum = collect1.getOrDefault(SubInfoStatusEnum.ZJ.getCode(), 0L);
 | 
	
		
			
				|  |  | +        Long tcNum = collect1.getOrDefault(SubInfoStatusEnum.TC.getCode(), 0L);
 | 
	
		
			
				|  |  | +        Long xjNum = collect1.getOrDefault(SubInfoStatusEnum.XJ.getCode(), 0L);
 | 
	
		
			
				|  |  |          // 开工数、开复工率、投产率 -- 已入规、未入规、入规率
 | 
	
		
			
				|  |  | -        long kgNum = zjNum1 + tcNum1;
 | 
	
		
			
				|  |  | +        long kgNum = zjNum + tcNum;
 | 
	
		
			
				|  |  |          vo.setYkgNum(kgNum);
 | 
	
		
			
				|  |  | -        long rgNum = listTotal.stream().filter(SubInfoGxj::getBoolRg).count();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // long rgNum = listTotal.stream().filter(SubInfoGxj::getBoolRg).count();
 | 
	
		
			
				|  |  | +        long rgNum = list.stream().filter(SubInfoGxj::getBoolRg).count();
 | 
	
		
			
				|  |  |          vo.setYrgNum(rgNum);
 | 
	
		
			
				|  |  | -        vo.setWrgNum(listTotal.size() - rgNum);
 | 
	
		
			
				|  |  | -        BigDecimal total = BigDecimal.valueOf(zjNum1 + tcNum1 + xjNum1);
 | 
	
		
			
				|  |  | +        // vo.setWrgNum(listTotal.size() - rgNum);
 | 
	
		
			
				|  |  | +        vo.setWrgNum(list.size() - rgNum);
 | 
	
		
			
				|  |  | +        BigDecimal total = BigDecimal.valueOf(zjNum + tcNum + xjNum);
 | 
	
		
			
				|  |  | +        // vo.setRgRate(BigDecimal.valueOf(rgNum).multiply(BigDecimal.valueOf(100)).divide(total, 2, RoundingMode.HALF_UP));
 | 
	
		
			
				|  |  | +        vo.setRgRate(list.size() == 0 ? BigDecimal.ZERO : BigDecimal.valueOf(rgNum).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(list.size()), 2, RoundingMode.HALF_UP));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          if (total.compareTo(BigDecimal.ZERO) != 0) {
 | 
	
		
			
				|  |  |              vo.setKfgRate(BigDecimal.valueOf(kgNum).multiply(BigDecimal.valueOf(100)).divide(total, 2, RoundingMode.HALF_UP));
 | 
	
		
			
				|  |  | -            vo.setTcRate(BigDecimal.valueOf(tcNum1).multiply(BigDecimal.valueOf(100)).divide(total, 2, RoundingMode.HALF_UP));
 | 
	
		
			
				|  |  | -            vo.setRgRate(BigDecimal.valueOf(rgNum).multiply(BigDecimal.valueOf(100)).divide(total, 2, RoundingMode.HALF_UP));
 | 
	
		
			
				|  |  | +            vo.setTcRate(BigDecimal.valueOf(tcNum).multiply(BigDecimal.valueOf(100)).divide(total, 2, RoundingMode.HALF_UP));
 | 
	
		
			
				|  |  |          }else {
 | 
	
		
			
				|  |  |              vo.setKfgRate(BigDecimal.ZERO);
 | 
	
		
			
				|  |  |              vo.setTcRate(BigDecimal.ZERO);
 | 
	
		
			
				|  |  | -            vo.setRgRate(BigDecimal.ZERO);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return vo;
 | 
	
		
			
				|  |  |      }
 |