From 3a83be3db09481c3719e6b86bc6265bcd431422a Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期四, 05 十一月 2026 11:48:13 +0800
Subject: [PATCH] 修复检验委托书字段绑定错误
---
cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java | 50 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 40 insertions(+), 10 deletions(-)
diff --git a/cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java b/cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java
index e9eb88c..42ecc72 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/listener/NewJuOrderInspectionListener.java
@@ -1,6 +1,10 @@
package com.ruoyi.process.listener;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.basic.mapper.StandardMethodMapper;
+import com.ruoyi.basic.mapper.StandardTreeMapper;
+import com.ruoyi.basic.pojo.StandardMethod;
+import com.ruoyi.basic.pojo.StandardTree;
import com.ruoyi.inspect.event.NewJuOrderPlacedEvent;
import com.ruoyi.inspect.mapper.InsOrderStandardTemplateMapper;
import com.ruoyi.inspect.mapper.InsSampleMapper;
@@ -33,6 +37,8 @@
private final InspectionOrderDetailMapper inspectionOrderDetailMapper;
private final InsSampleMapper insSampleMapper;
private final InsOrderStandardTemplateMapper insOrderStandardTemplateMapper;
+ private final StandardTreeMapper standardTreeMapper;
+ private final StandardMethodMapper standardMethodMapper;
@EventListener
public void onNewJuOrderPlaced(NewJuOrderPlacedEvent event) {
@@ -67,11 +73,11 @@
? order.getSampleView() : order.getSample());
inspectionOrder.setProduction(order.getProduction());
inspectionOrder.setQuantity(order.getTestQuantity());
- inspectionOrder.setCommissionDate(LocalDate.now());
+ inspectionOrder.setCommissionDate(order.getSampleDate() != null ? order.getSampleDate() : LocalDate.now());
inspectionOrder.setCommissionUnit(order.getCompany());
inspectionOrder.setCommissionUser(order.getPrepareUser());
inspectionOrder.setCommissionPhone(order.getPhone());
- inspectionOrder.setSampleStatus("瀹屽ソ");
+ inspectionOrder.setSampleStatus(order.getSampleStatus());
// 鏄惁鐣欐牱璇箟杞崲锛歩ns 0鍚�/1鏄� -> cnas 1鏄�/2鍚�
inspectionOrder.setIsLeave(Integer.valueOf(1).equals(order.getIsLeave()) ? 1 : 2);
// 鏍峰搧澶勭疆锛�1濮旀墭鏂瑰彇鍥�/2妫�娴嬫柟澶勭疆 -> processing 0濮旀墭鍗曚綅鍙栧洖/1瀹為獙瀹ゅ鐞嗭紱鏈�夋椂娌跨敤鏃у瓧娈�
@@ -102,7 +108,7 @@
detail.setSampleName(inspectionOrder.getSampleName());
detail.setQuantity(order.getTestQuantity());
detail.setSampleStatus(inspectionOrder.getSampleStatus());
- detail.setTestStandard(order.getSample());
+ detail.setRemark(order.getRemark());
List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
.eq(InsSample::getInsOrderId, order.getId())
@@ -110,15 +116,39 @@
if (!samples.isEmpty()) {
detail.setSampleNumber(samples.get(0).getSampleCode());
}
- String testItem = insOrderStandardTemplateMapper.selectList(
- Wrappers.<InsOrderStandardTemplate>lambdaQuery()
- .eq(InsOrderStandardTemplate::getInsOrderId, order.getId())
- .orderByAsc(InsOrderStandardTemplate::getSort, InsOrderStandardTemplate::getId))
- .stream()
+ List<InsOrderStandardTemplate> templates = insOrderStandardTemplateMapper.selectList(
+ Wrappers.<InsOrderStandardTemplate>lambdaQuery()
+ .eq(InsOrderStandardTemplate::getInsOrderId, order.getId())
+ .orderByAsc(InsOrderStandardTemplate::getSort, InsOrderStandardTemplate::getId));
+ detail.setTestStandard(resolveTestStandard(order, templates));
+ detail.setTestItem(templates.stream()
.map(InsOrderStandardTemplate::getName)
.filter(StringUtils::isNotBlank)
- .collect(Collectors.joining("銆�"));
- detail.setTestItem(testItem);
+ .collect(Collectors.joining("銆�")));
inspectionOrderDetailMapper.insert(detail);
}
+
+ /**
+ * 妫�娴嬩緷鎹樉绀衡�滄爣鍑嗗彿+鏍囧噯鍚嶇О鈥濓紝浼樺厛鍙栨爣鍑嗘柟娉曪紝鍙栦笉鍒版椂鍥為��鍒版ā鏉垮揩鐓х紪鍙枫��
+ */
+ private String resolveTestStandard(InsOrder order, List<InsOrderStandardTemplate> templates) {
+ if (order.getStandardTreeId() != null) {
+ StandardTree tree = standardTreeMapper.selectById(order.getStandardTreeId());
+ if (tree != null && tree.getStandardMethodId() != null) {
+ StandardMethod method = standardMethodMapper.selectById(tree.getStandardMethodId());
+ if (method != null) {
+ String combined = (StringUtils.trimToEmpty(method.getCode()) + " "
+ + StringUtils.trimToEmpty(method.getName())).trim();
+ if (StringUtils.isNotBlank(combined)) {
+ return combined;
+ }
+ }
+ }
+ }
+ return templates.stream()
+ .map(InsOrderStandardTemplate::getNumber)
+ .filter(StringUtils::isNotBlank)
+ .distinct()
+ .collect(Collectors.joining("銆�"));
+ }
}
--
Gitblit v1.9.3