From 146d4e85ff1ed4603d9e721f87c7b3e494399a93 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 12 十二月 2025 16:26:10 +0800
Subject: [PATCH] yys
---
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 42 +++++++++++++++++++++++++++---------------
1 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index ca2443b..41ad468 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -445,27 +445,39 @@
List<QualityInspect> qualityInspects = qualityStatisticsMapper.selectList(null);
if(!CollectionUtils.isEmpty(qualityInspects)){
// 鍘熸潗鏂欏悎鏍肩巼
- long rawwMaterialCount = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 0).count();
- long count = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 0).count();
- if(count > 0){
- qualityProductQualifiedRateDto.setRawMaterialQualifiedRate(new BigDecimal(rawwMaterialCount)
- .divide(new BigDecimal( count), 4, RoundingMode.HALF_UP)
+ BigDecimal reduce = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 0)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal reduce1 = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 0)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ if(reduce1.compareTo(BigDecimal.ZERO) != 0){
+ qualityProductQualifiedRateDto.setRawMaterialQualifiedRate(reduce
+ .divide(reduce1, 4, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(100.0)));
}
// 杩囩▼鍚堟牸鐜�
- long processCount = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 1).count();
- long countOne = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 1).count();
- if(countOne > 0){
- qualityProductQualifiedRateDto.setProcessQualifiedRate(new BigDecimal(processCount)
- .divide(new BigDecimal( countOne), 4, RoundingMode.HALF_UP)
+ BigDecimal reduce2 = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 1)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal reduce3 = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 1)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ if(reduce3.compareTo(BigDecimal.ZERO) != 0){
+ qualityProductQualifiedRateDto.setProcessQualifiedRate(reduce2
+ .divide(reduce3, 4, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(100.0)));
}
// 鍑哄巶鍚堟牸鐜�
- long factoryCount = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 2).count();
- long countTwo = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 2).count();
- if(countTwo > 0){
- qualityProductQualifiedRateDto.setFactoryQualifiedRate(new BigDecimal(factoryCount)
- .divide(new BigDecimal( countTwo), 4, RoundingMode.HALF_UP)
+ BigDecimal factoryCount = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 2)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal countTwo = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 2)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ if(countTwo.compareTo(BigDecimal.ZERO) != 0){
+ qualityProductQualifiedRateDto.setFactoryQualifiedRate(factoryCount
+ .divide(countTwo, 4, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(100.0)));
}
}
--
Gitblit v1.9.3