From 6fa82a1ad7c3ae061ef499f0d0806a16846e122b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 10 十一月 2026 16:55:02 +0800
Subject: [PATCH] feat(mes): 来料检验与不合格退货闭环优化
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java
index 93efc25..e11c611 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java
@@ -112,7 +112,7 @@
// 2. 鎻掑叆涓昏〃
MesQcIqcDO iqc = BeanUtils.toBean(createReqVO, MesQcIqcDO.class)
.setTemplateId(null)
- .setCheckQuantity(createReqVO.getQualifiedQuantity().add(createReqVO.getUnqualifiedQuantity()))
+ .setCheckQuantity(resolveCheckQuantity(createReqVO.getQualifiedQuantity(), createReqVO.getUnqualifiedQuantity()))
.setSourceDocCode(sourceDocCode)
.setStatus(MesQcStatusEnum.DRAFT.getStatus());
iqcMapper.insert(iqc);
@@ -131,8 +131,18 @@
updateObj.setSourceDocType(null).setSourceDocId(null).setSourceLineId(null); // 涓嶅厑璁镐慨鏀规潵婧愬崟鎹�
updateObj.setTemplateId(null); // 涓嶅厑璁镐慨鏀规ā鏉�
updateObj.setItemId(null); // 涓嶅厑璁镐慨鏀圭墿鏂�
- updateObj.setCheckQuantity(updateReqVO.getQualifiedQuantity().add(updateReqVO.getUnqualifiedQuantity()));
+ updateObj.setCheckQuantity(resolveCheckQuantity(updateReqVO.getQualifiedQuantity(), updateReqVO.getUnqualifiedQuantity()));
iqcMapper.updateById(updateObj);
+ }
+
+ /**
+ * 妫�楠屾暟閲� = 鍚堟牸鏁伴噺 + 涓嶅悎鏍兼暟閲忥紱涓よ�呮湭濉叏鏃剁暀绌猴紝绛夋楠屽憳褰曞叆鍚庡啀璁$畻
+ */
+ private BigDecimal resolveCheckQuantity(BigDecimal qualified, BigDecimal unqualified) {
+ if (qualified == null || unqualified == null) {
+ return null;
+ }
+ return qualified.add(unqualified);
}
private void validateIqcSaveData(MesQcIqcSaveReqVO reqVO) {
@@ -393,9 +403,10 @@
}
iqc.setItemId(line.getItemId());
iqc.setReceivedQuantity(line.getArrivalQuantity());
- iqc.setCheckQuantity(BigDecimal.ZERO); // 寰呭~鍐�
- iqc.setQualifiedQuantity(BigDecimal.ZERO); // 寰呭~鍐�
- iqc.setUnqualifiedQuantity(BigDecimal.ZERO); // 寰呭~鍐�
+ // 鍚堟牸/涓嶅悎鏍兼暟閲忕暀绌猴紝鐢辨楠屽憳濉啓鏃跺綍鍏ワ紙涓嶅啀榛樿 0锛岄伩鍏嶈鍒や负銆屽凡妫�楠屽悎鏍� 0銆嶏級
+ iqc.setCheckQuantity(null);
+ iqc.setQualifiedQuantity(null);
+ iqc.setUnqualifiedQuantity(null);
iqc.setReceiveDate(java.time.LocalDateTime.now());
iqc.setStatus(MesQcStatusEnum.DRAFT.getStatus());
iqcMapper.insert(iqc);
--
Gitblit v1.9.3