From e09f103259fa602382bb5ce2a03361a6397af46a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 15 十月 2026 11:49:15 +0800
Subject: [PATCH] feat(mes): 优化MES模块生产调度与数据管理功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/qc/MesQcReportApiImpl.java | 40 +++++++++++++++++++++++++++++++++++-----
1 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/qc/MesQcReportApiImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/qc/MesQcReportApiImpl.java
index 19e538a..377edbf 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/qc/MesQcReportApiImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/api/qc/MesQcReportApiImpl.java
@@ -352,7 +352,7 @@
row.setGroupHidden(i == 0 ? "" : GROUP_CELL_HIDDEN);
row.setRequirement(i < anchorCount
? anchorRequirement(entry.indicator(), row)
- : defaultStr(row.getStandardValue()));
+ : defaultStr(row.getRequirement()));
items.add(row);
}
}
@@ -394,7 +394,7 @@
/** 缁勫ご鐨勩�屾娴嬭姹傘�嶆斁鍏紡锛堝垎缁勯」鍙湁鍏紡銆佹病鏈夎鏍硷級锛屾病閰嶅叕寮忓氨鐓у父鏀炬爣鍑嗚姹� */
private static String anchorRequirement(MesQcIndicatorDO head, MesQcReportItemRespDTO row) {
String formula = defaultStr(head.getFormulaText());
- return formula.isEmpty() ? defaultStr(row.getStandardValue()) : formula;
+ return formula.isEmpty() ? defaultStr(row.getRequirement()) : formula;
}
/** 缁勫ご娌℃帓杩涙湰鍗曟椂琛ュ嚭鏉ョ殑閭d竴琛岋細鍙湁鎸囨爣鏈韩锛屾病鏈夊崟鎹 */
@@ -445,8 +445,11 @@
String detailRemark, Map<Long, MesMdUnitMeasureDO> unitMap,
MesMdItemDO item) {
MesMdUnitMeasureDO unit = unitMap.get(line.unitMeasureId());
- if (unit == null && item != null) {
- unit = unitMap.get(item.getUnitMeasureId());
+ String measureUnit = inspectionUnit(indicator, unit);
+ String requirement = inspectionRequirement(line.minThreshold(), line.maxThreshold(),
+ line.checkMethod(), line.remark());
+ if ((line.minThreshold() != null || line.maxThreshold() != null) && !measureUnit.isEmpty()) {
+ requirement += " " + measureUnit;
}
return new MesQcReportItemRespDTO()
.setIndicatorId(indicator.getId())
@@ -455,8 +458,9 @@
.setCheckMethod(defaultStr(line.checkMethod()))
.setTool(defaultStr(line.tool()))
.setStandardValue(plain(line.standardValue()))
+ .setRequirement(requirement)
.setActualValue(defaultStr(value))
- .setUnit(unit == null ? "" : defaultStr(unit.getName()))
+ .setUnit(measureUnit)
.setUpperLimit(line.maxThreshold())
.setLowerLimit(line.minThreshold())
.setValueType(indicator.getResultType())
@@ -469,6 +473,32 @@
.setRemark(mergeRemark(line.remark(), detailRemark));
}
+ /** 妫�娴嬪崟浣嶆潵鑷娴嬮」鎴栨楠岃锛屼骇鍝佺殑鍖呰鍗曚綅涓嶈兘浣滀负妫�娴嬪崟浣嶃�� */
+ static String inspectionUnit(MesQcIndicatorDO indicator, MesMdUnitMeasureDO unit) {
+ if (MesQcIndicatorItemTypeEnum.isGroup(indicator.getItemType())) {
+ return "";
+ }
+ return unit == null ? defaultStr(indicator.getUnitText()) : defaultStr(unit.getName());
+ }
+
+ /** 鏁板�奸」灞曠ず鍏佽鍖洪棿锛涘畾鎬у強鍒嗙骇椤圭洰淇濈暀鏂规姝f枃涓殑瀹屾暣瑕佹眰銆� */
+ static String inspectionRequirement(BigDecimal lower, BigDecimal upper, String method, String remark) {
+ if (lower != null && upper != null) {
+ return lower.compareTo(upper) == 0 ? "=" + plain(lower) : plain(lower) + "锝�" + plain(upper);
+ }
+ if (lower != null) {
+ return "鈮�" + plain(lower);
+ }
+ if (upper != null) {
+ return "鈮�" + plain(upper);
+ }
+ if (method != null && method.startsWith("瑕佹眰锛�")) {
+ int end = method.indexOf("锛涙柟娉曪細");
+ return end < 0 ? method.substring(3) : method.substring(3, end);
+ }
+ return remark != null && !remark.startsWith("10鏈�8鏃ヨ嚦14鏃ヤ笟鍔¢摼") ? remark : "";
+ }
+
// ==================== 鍙栬锛堝洓绫诲悓鏋勶級 ====================
private List<LineRow> loadIqcLines(Long qcId) {
--
Gitblit v1.9.3