From dd637406e18a7afbf08d323c6ece913fe545b7ad Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 28 十月 2026 18:11:32 +0800
Subject: [PATCH] feat(mes): 增加盘号追溯功能和销售退货单优化
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java
index 86d79a9..1a9e1ab 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java
@@ -115,6 +115,15 @@
.setTemplateId(templateId)
.setSourceDocCode(sourceDocCode)
.setStatus(MesQcStatusEnum.DRAFT.getStatus());
+ if (Objects.equals(createReqVO.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES)
+ && createReqVO.getSourceLineId() != null) {
+ var line = returnSalesLineService.validateReturnSalesLineExists(createReqVO.getSourceLineId());
+ if (!Objects.equals(line.getReturnId(), createReqVO.getSourceDocId())
+ || !Objects.equals(line.getItemId(), createReqVO.getItemId())) {
+ throw exception(WM_RETURN_SALES_DETAIL_SOURCE_MISMATCH);
+ }
+ rqc.setBatchCode(line.getBatchCode());
+ }
rqcMapper.insert(rqc);
// 3. 浠庢ā鏉挎寚鏍囪嚜鍔ㄧ敓鎴愭楠岃
@@ -125,7 +134,7 @@
@Override
public void updateRqc(MesQcRqcSaveReqVO updateReqVO) {
// 1.1 鏍¢獙瀛樺湪 + 鑽夌鐘舵��
- validateRqcStatusPrepare(updateReqVO.getId());
+ MesQcRqcDO existingRqc = validateRqcStatusPrepare(updateReqVO.getId());
// 1.2 鏍¢獙鏁版嵁
validateRqcSaveData(updateReqVO);
@@ -134,6 +143,8 @@
updateObj.setSourceDocType(null).setSourceDocId(null).setSourceLineId(null); // 涓嶅厑璁镐慨鏀规潵婧愬崟鎹�
updateObj.setTemplateId(null); // 涓嶅厑璁镐慨鏀规ā鏉�
updateObj.setItemId(null); // 涓嶅厑璁镐慨鏀圭墿鏂�
+ if (Objects.equals(existingRqc.getSourceDocType(), MesBizTypeConstants.WM_RETURN_SALES)
+ && existingRqc.getSourceLineId() != null) updateObj.setBatchCode(null);
rqcMapper.updateById(updateObj);
}
--
Gitblit v1.9.3