From b43973fb18890173bdb0f973f217df04e18a2095 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 18 九月 2026 09:08:01 +0800
Subject: [PATCH] fix:1.检验单模板实时更新
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index a31cca9..cd0ebb6 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -634,7 +634,10 @@
JSONObject values = JSON.parseObject(JSON.toJSONString(dto.getValues() == null
? Collections.emptyMap() : dto.getValues()));
- List<String> exportValueCoordinates = getExportValueCoordinates(snapshot.getThing()).values().stream()
+ // 妫�楠屾湡闂撮〉闈㈠睍绀虹殑鏄爣鍑嗙淮鎶や腑鐨勬渶鏂版ā鏉匡紝淇濆瓨鏍¢獙蹇呴』浣跨敤鍚屼竴浠芥ā鏉匡紝
+ // 閬垮厤妯℃澘鏂板鈥滃鍑哄�尖�濇壒娉ㄥ悗浠嶆寜涓嬪崟鏃剁殑鏃у揩鐓ц鎶ユ湭閰嶇疆銆�
+ String currentTemplateThing = getCurrentTemplateThing(snapshot);
+ List<String> exportValueCoordinates = getExportValueCoordinates(currentTemplateThing).values().stream()
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
@@ -777,6 +780,20 @@
}
/**
+ * 妫�楠屼繚瀛樸�佹彁浜ゆ牎楠岃鍙栨爣鍑嗙淮鎶や腑鐨勫疄鏃舵ā鏉匡紱妯℃澘宸茶鍒犻櫎鎴栧唴瀹逛负绌烘椂鎵嶅洖閫�璁㈠崟蹇収銆�
+ * 妫�楠屽畬鎴愬悗鐨勫睍绀哄拰鎶ュ憡浠嶇敱璁㈠崟蹇収璐熻矗锛屼笉浼氶殢鏍囧噯妯℃澘鍚庣画淇敼鑰屽彉鍖栥��
+ */
+ private String getCurrentTemplateThing(InsOrderStandardTemplate snapshot) {
+ if (snapshot != null && snapshot.getTemplateId() != null) {
+ StandardTemplate currentTemplate = standardTemplateService.getById(snapshot.getTemplateId());
+ if (currentTemplate != null && StrUtil.isNotBlank(currentTemplate.getThing())) {
+ return currentTemplate.getThing();
+ }
+ }
+ return snapshot == null ? null : snapshot.getThing();
+ }
+
+ /**
* 鐩寸粦妯℃澘璁㈠崟鍙牎楠屾ā鏉夸腑鏍囪涓衡�滃鍑哄�尖�濈殑鍗曞厓鏍硷紝涓嶄娇鐢ㄦ楠岄」鐘舵�佹垨 last_value 鍒ゅ畾銆�
*/
private List<String> getMissingTemplateExportValues(Integer orderId) {
@@ -791,7 +808,7 @@
}
for (InsOrderStandardTemplate snapshot : snapshots) {
Integer templateId = snapshot.getTemplateId();
- List<String> coordinates = getExportValueCoordinates(snapshot.getThing()).values().stream()
+ List<String> coordinates = getExportValueCoordinates(getCurrentTemplateThing(snapshot)).values().stream()
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
@@ -3231,9 +3248,11 @@
// 鏉ユ牱鏂瑰紡
String formType = iSysDictTypeService.selectLabelByDict(DictDataConstants.FORM_TYPE, insOrder.getFormType());
- // 鏍峰搧鐘舵��
- String sampleStatus = iSysDictTypeService.selectLabelByDict(DictDataConstants.SAMPLE_STATUS_LIST, insOrder.getSampleStatus());
- ;
+ // 鏍峰搧澶栬浼樺厛灞曠ず瀛楀吀鍚嶇О锛涘巻鍙叉暟鎹垨鐩存帴淇濆瓨鏂囨湰鏃讹紝鍥為��灞曠ず璁㈠崟鍘熷�笺��
+ String sampleStatus = defaultReportText(
+ iSysDictTypeService.selectLabelByDict(
+ DictDataConstants.SAMPLE_STATUS_LIST, insOrder.getSampleStatus()),
+ insOrder.getSampleStatus());
// 鍏徃淇℃伅
Custom custom = customMapper.selectById(insOrder.getCompanyId());
@@ -3573,8 +3592,9 @@
Map<String, String> row = new LinkedHashMap<>();
row.put("seq", String.valueOf(sequence++));
- row.put("itemName", defaultReportText(itemName,
- defaultReportText(snapshot.getName(), "妯℃澘ID " + snapshot.getTemplateId())));
+ String reportItemName = defaultReportText(itemName,
+ defaultReportText(snapshot.getName(), "妯℃澘ID " + snapshot.getTemplateId()));
+ row.put("itemName", formatExportItemName(reportItemName));
row.put("unit", defaultReportText(unit, "/"));
row.put("result", result);
rows.add(row);
@@ -3716,7 +3736,12 @@
}
}
if (numbers.isEmpty()) {
- return StringUtils.isBlank(fallback) ? "" : fallback + unit;
+ // 鈥�/鈥濊〃绀烘ā鏉挎槑纭~鍐欎簡涓嶉�傜敤锛屼笉鑳藉啀鎸夌┖鍊煎鐞嗘垨杩藉姞鍗曚綅銆�
+ return candidates.stream()
+ .filter(StringUtils::isNotBlank)
+ .map(String::trim)
+ .distinct()
+ .collect(Collectors.joining("~"));
}
BigDecimal minimum = Collections.min(numbers);
BigDecimal maximum = Collections.max(numbers);
@@ -3727,6 +3752,14 @@
return minimumText + "~" + maximum.stripTrailingZeros().toPlainString() + unit;
}
+ /** 鎶ュ憡椤圭洰鍚嶇О涓嶅睍绀烘ā鏉胯绠楄繃绋嬩腑鐨勨�滃钩鍧囧�尖�濆瓧鏍峰強鍏跺悗鐨勫垎闅旈�楀彿銆� */
+ private static String formatExportItemName(String itemName) {
+ if (StringUtils.isBlank(itemName)) {
+ return itemName;
+ }
+ return itemName.replaceAll("骞冲潎鍊糪\s*[锛�,]?\\s*", "");
+ }
+
private static String getMapText(Map<String, String> map, String... keys) {
if (map == null) {
return null;
--
Gitblit v1.9.3