From 47c5bd416bf37769022e41402add8a41c2d09c96 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期一, 23 三月 2026 09:47:53 +0800
Subject: [PATCH] 1、生产工单搜索加上生产订单号搜索。 2、列表顺序除了按照优先级进行排序,还要根据工艺路线的工序的顺序进行排序,开始的排在前面
---
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 51 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index b3ad019..9f4fe5a 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -378,6 +378,55 @@
@Override
public List<ProductionProductMainDto> getByProductWorkOrderId(Long productWorkOrderId) {
- return productionProductMainMapper.getByProductWorkOrderId(productWorkOrderId);
+ List<ProductionProductMainDto> productionProductMainDtos = productionProductMainMapper.getByProductWorkOrderId(productWorkOrderId);
+
+ if (productionProductMainDtos == null || productionProductMainDtos.isEmpty()) {
+ return productionProductMainDtos;
+ }
+
+ // 鏀堕泦鎵�鏈変骇鍝佷富璁板綍ID
+ List<Long> productMainIds = productionProductMainDtos.stream()
+ .map(ProductionProductMainDto::getId)
+ .collect(Collectors.toList());
+
+ // 鎵归噺鏌ヨ鎵�鏈夌浉鍏崇殑璐ㄦ璁板綍
+ List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(
+ Wrappers.<QualityInspect>lambdaQuery()
+ .in(QualityInspect::getProductMainId, productMainIds)
+ );
+
+ if (!qualityInspects.isEmpty()) {
+ // 鏀堕泦鎵�鏈夎川妫�璁板綍ID
+ List<Long> inspectIds = qualityInspects.stream()
+ .map(QualityInspect::getId)
+ .collect(Collectors.toList());
+
+ // 鎵归噺鏌ヨ鎵�鏈夌浉鍏崇殑涓嶅悎鏍煎鐞嗚褰�
+ List<QualityUnqualified> qualityUnqualifieds = qualityUnqualifiedMapper.selectList(
+ Wrappers.<QualityUnqualified>lambdaQuery()
+ .in(QualityUnqualified::getInspectId, inspectIds)
+ );
+
+ // 鏋勫缓璐ㄦID鍒颁笉鍚堟牸澶勭悊璁板綍鐨勬槧灏�
+ Map<Long, QualityUnqualified> inspectIdToUnqualifiedMap = qualityUnqualifieds.stream()
+ .collect(Collectors.toMap(QualityUnqualified::getInspectId, q -> q, (q1, q2) -> q1));
+
+ // 鏋勫缓浜у搧涓籌D鍒拌川妫�璁板綍鐨勬槧灏�
+ Map<Long, QualityInspect> productMainIdToInspectMap = qualityInspects.stream()
+ .collect(Collectors.toMap(QualityInspect::getProductMainId, q -> q, (q1, q2) -> q1));
+
+ // 鍏宠仈澶勭悊缁撴灉鍒颁骇鍝佷富璁板綍
+ productionProductMainDtos.forEach(p -> {
+ QualityInspect qualityInspect = productMainIdToInspectMap.get(p.getId());
+ if (qualityInspect != null) {
+ QualityUnqualified qualityUnqualified = inspectIdToUnqualifiedMap.get(qualityInspect.getId());
+ if (qualityUnqualified != null) {
+ p.setDealResult(qualityUnqualified.getDealResult() == null ? "" : qualityUnqualified.getDealResult());
+ }
+ }
+ });
+ }
+
+ return productionProductMainDtos;
}
-}
+}
\ No newline at end of file
--
Gitblit v1.9.3