From e13dfa1b2313356e0eeba2671f5373c066c24b12 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 10 三月 2026 17:29:29 +0800
Subject: [PATCH] fix:首页质检数量不对
---
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 61 ++++++++++++++----------------
1 files changed, 28 insertions(+), 33 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 2d3e608..29a8c37 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -2,17 +2,14 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.account.mapper.AccountExpenseMapper;
import com.ruoyi.account.mapper.AccountIncomeMapper;
import com.ruoyi.account.pojo.AccountExpense;
-import com.ruoyi.home.mapper.HomeMapper;
-import com.ruoyi.account.mapper.AccountExpenseMapper;
import com.ruoyi.approve.mapper.ApproveProcessMapper;
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.mapper.ProductMapper;
-import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.mapper.SupplierManageMapper;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.basic.pojo.Product;
@@ -27,19 +24,11 @@
import com.ruoyi.dto.MapDto;
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.home.dto.*;
+import com.ruoyi.home.mapper.HomeMapper;
import com.ruoyi.home.service.HomeService;
-import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
-import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.ProductWorkOrderDto;
-import com.ruoyi.production.mapper.ProductOrderMapper;
-import com.ruoyi.production.mapper.ProductProcessMapper;
-import com.ruoyi.production.mapper.ProductWorkOrderMapper;
-import com.ruoyi.production.mapper.ProductionProductInputMapper;
-import com.ruoyi.production.mapper.ProductionProductOutputMapper;
-import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
-import com.ruoyi.production.pojo.ProductProcess;
+import com.ruoyi.production.mapper.*;
import com.ruoyi.production.pojo.ProductWorkOrder;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.mapper.SysDeptMapper;
@@ -2411,27 +2400,31 @@
dto.setProcessNum(sumQuantity(qualityInspectList, 1)); // 杩囩▼
dto.setFactoryNum(sumQuantity(qualityInspectList, 2)); // 鍑哄巶
- // 鍋囪 qualityInspectList 鏄竴涓� List<QualityInspect> 绫诲瀷鐨勯泦鍚�
Map<String, List<QualityInspect>> groupedByCheckResult = qualityInspectList.stream()
.collect(Collectors.groupingBy(QualityInspect::getCheckResult));
- List<QualityInspect> qualityInspects = groupedByCheckResult.get("涓嶅悎鏍�");
- if (ObjectUtils.isNull(qualityInspects) || qualityInspects.size() == 0) {
- return null;
- }
+
+ List<QualityInspect> qualityInspects = groupedByCheckResult.getOrDefault("涓嶅悎鏍�", new ArrayList<>());
+
// 4. 澶勭悊鍥捐〃椤� (Item)
List<QualityStatisticsItem> itemList = new ArrayList<>();
- Map<QualityInspect, LocalDate> dateMap = qualityInspectList.stream()
- .collect(Collectors.toMap(
- i -> i,
- i -> i.getCheckTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate()));
+ Map<QualityInspect, LocalDate> dateMap = qualityInspects.isEmpty() ?
+ new HashMap<>() :
+ qualityInspectList.stream()
+ .collect(Collectors.toMap(
+ i -> i,
+ i -> i.getCheckTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(),
+ (existing, replacement) -> existing));
+
if (type == 3) {
// 瀛e害妯″紡锛氭寜鏈堝垎缁�
- Map<String, List<QualityInspect>> groupByMonth = qualityInspects.stream()
- .collect(Collectors.groupingBy(i -> {
- LocalDate ld = dateMap.get(i);
- return ld.format(DateTimeFormatter.ofPattern("yyyy-MM"));
- }));
+ Map<String, List<QualityInspect>> groupByMonth = qualityInspects.isEmpty() ?
+ new HashMap<>() :
+ qualityInspects.stream()
+ .collect(Collectors.groupingBy(i -> {
+ LocalDate ld = dateMap.get(i);
+ return ld.format(DateTimeFormatter.ofPattern("yyyy-MM"));
+ }));
for (int i = 0; i < 3; i++) {
LocalDate monthDate = startDate.plusMonths(i);
@@ -2440,11 +2433,13 @@
}
} else {
// 鍛ㄦ垨鏈堟ā寮忥細鎸夊ぉ鍒嗙粍
- Map<String, List<QualityInspect>> groupByDay = qualityInspects.stream()
- .collect(Collectors.groupingBy(i -> {
- LocalDate ld = dateMap.get(i);
- return ld.format(DateTimeFormatter.ofPattern("MM/dd"));
- }));
+ Map<String, List<QualityInspect>> groupByDay = qualityInspects.isEmpty() ?
+ new HashMap<>() :
+ qualityInspects.stream()
+ .collect(Collectors.groupingBy(i -> {
+ LocalDate ld = dateMap.get(i);
+ return ld.format(DateTimeFormatter.ofPattern("MM/dd"));
+ }));
long days = ChronoUnit.DAYS.between(startDate, endDate);
for (int i = 0; i <= days; i++) {
LocalDate tempDay = startDate.plusDays(i);
--
Gitblit v1.9.3