From 69af9b4bd1cf6e75a848c70a0fe1964e08d91b7a Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 12 十二月 2025 17:05:20 +0800
Subject: [PATCH] yys 大屏分析修改
---
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 61 +++++++++++++++++++-----------
1 files changed, 38 insertions(+), 23 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 c7b0685..30e7893 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -274,7 +274,7 @@
BigDecimal factoryNum = new BigDecimal(0);
BigDecimal processNum = new BigDecimal(0);
// 寰幆4娆★紝鍒嗗埆缁熻杩�4涓湀鐨勬暟鎹紙褰撳墠鏈堛�佸墠1涓湀銆佸墠2涓湀銆佸墠3涓湀锛�
- for (int i = 0; i < 4; i++) {
+ for (int i = 3; i >= 0; i--) {
// 璁$畻褰撳墠寰幆瀵瑰簲鐨勬湀浠斤紙i=0锛氬綋鍓嶆湀锛宨=1锛氬墠1涓湀锛屼互姝ょ被鎺級
LocalDate currentMonth = today.minusMonths(i);
// 褰撴湀鐨勫紑濮嬫棩鏈燂紙姣忔湀1鍙凤級
@@ -287,18 +287,21 @@
queryWrapper.ge(QualityInspect::getCheckTime, monthStart)
.le(QualityInspect::getCheckTime, monthEnd); // 绛涢�夊綋鏈堟暟鎹�
List<QualityInspect> monthInspects = qualityStatisticsMapper.selectList(queryWrapper);
- supplierNum.add(supplierNum.add(monthInspects.stream()
+ BigDecimal reduce = monthInspects.stream()
.filter(inspect -> inspect.getInspectType().equals(0))
.map(QualityInspect::getQuantity)
- .reduce(BigDecimal.ZERO, BigDecimal::add)));
- factoryNum.add(factoryNum.add(monthInspects.stream()
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ supplierNum = supplierNum.add(reduce);
+ BigDecimal reduce1 = monthInspects.stream()
.filter(inspect -> inspect.getInspectType().equals(1))
.map(QualityInspect::getQuantity)
- .reduce(BigDecimal.ZERO, BigDecimal::add)));
- processNum.add(processNum.add(monthInspects.stream()
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ processNum= processNum.add(reduce1);
+ BigDecimal reduce2 = monthInspects.stream()
.filter(inspect -> inspect.getInspectType().equals(2))
.map(QualityInspect::getQuantity)
- .reduce(BigDecimal.ZERO, BigDecimal::add)));
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ factoryNum = factoryNum.add(reduce2);
// 鏋勫缓褰撴湀缁熻椤�
QualityStatisticsItem item = new QualityStatisticsItem();
@@ -442,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 rawwMaterialCount = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 0)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal count = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 0)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ if(count.compareTo(BigDecimal.ZERO) != 0){
+ qualityProductQualifiedRateDto.setRawMaterialQualifiedRate(rawwMaterialCount
+ .divide(count, 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(count > 0){
- qualityProductQualifiedRateDto.setRawMaterialQualifiedRate(new BigDecimal(processCount)
- .divide(new BigDecimal( countOne), 4, RoundingMode.HALF_UP)
+ BigDecimal processCount = qualityInspects.stream().filter(qualityInspect -> qualityInspect.getInspectType() == 1)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ BigDecimal countOne = qualityInspects.stream().filter(qualityInspect -> "鍚堟牸".equals(qualityInspect.getCheckResult()) && qualityInspect.getInspectType() == 1)
+ .map(QualityInspect::getQuantity)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ if(countOne.compareTo(BigDecimal.ZERO) != 0){
+ qualityProductQualifiedRateDto.setProcessQualifiedRate(processCount
+ .divide(countOne, 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(count > 0){
- qualityProductQualifiedRateDto.setRawMaterialQualifiedRate(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)));
}
}
@@ -486,7 +501,7 @@
.map(ProcurementRecordStorage::getInboundNum)
.reduce(BigDecimal.ZERO, BigDecimal::add);
if(reduce.compareTo(BigDecimal.ZERO) > 0){
- qualityProductQualifiedRateDto.setInventoryTurnoverRate(reduce.divide(reduceOne, 4, RoundingMode.HALF_UP)
+ qualityProductQualifiedRateDto.setInventoryTurnoverRate(reduceOne.divide(reduce, 4, RoundingMode.HALF_UP)
.multiply(BigDecimal.valueOf(100.0)));
}
--
Gitblit v1.9.3