From c6a2b472cde9dff4d21b95637ee6d99a412c785c Mon Sep 17 00:00:00 2001
From: 高 <gao@gaodeMacBook-Pro.local>
Date: 星期六, 10 十月 2026 17:21:40 +0800
Subject: [PATCH] feat(mes,crm): 新增质检单批量导入、检测结果台账与开票导入
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/rqc/MesQcRqcServiceImpl.java | 27 ++++++++++++++++++++-------
1 files changed, 20 insertions(+), 7 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 878a611..072f660 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
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.service.qc.rqc;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -13,7 +14,7 @@
import cn.iocoder.yudao.module.mes.enums.qc.MesQcDefectLevelEnum;
import cn.iocoder.yudao.module.mes.enums.qc.MesQcTypeEnum;
import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
-import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
+import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
import cn.iocoder.yudao.module.mes.service.qc.defectrecord.MesQcDefectRecordService;
import cn.iocoder.yudao.module.mes.service.qc.indicatorresult.MesQcIndicatorResultService;
import cn.iocoder.yudao.module.mes.service.wm.returnissue.MesWmReturnIssueService;
@@ -57,7 +58,7 @@
private MesQcRqcLineService rqcLineService;
@Resource
@Lazy
- private MesMdItemService itemService;
+ private MdmItemApi mdmItemApi;
@Resource
@Lazy
private MesQcDefectRecordService defectRecordService;
@@ -89,9 +90,21 @@
public Long createRqc(MesQcRqcSaveReqVO createReqVO) {
// 1.1 鏍¢獙鏁版嵁
validateRqcSaveData(createReqVO);
- // 1.2 鏍规嵁鐗╂枡 + 妫�楠岀被鍨嬭嚜鍔ㄥ尮閰嶆ā鏉�
- MesQcTemplateItemDO templateItem = templateItemService.getRequiredTemplateByItemIdAndType(
- createReqVO.getItemId(), createReqVO.getType());
+ // 1.2 鏍规嵁鐗╂枡 + RQC 妫�娴嬬绫绘煡鎵惧彲鐢ㄨ川妫�鏂规锛堟敮鎸佸墠绔樉寮忔寚瀹氾級
+ List<MesQcTemplateItemDO> templateItems = templateItemService.getTemplateItemList(
+ createReqVO.getItemId(), MesQcTypeEnum.RQC.getType());
+ if (CollUtil.isEmpty(templateItems)) {
+ throw exception(QC_NO_TEMPLATE);
+ }
+ MesQcTemplateItemDO templateItem = templateItems.get(0);
+ if (createReqVO.getTemplateId() != null) {
+ templateItem = templateItems.stream()
+ .filter(available -> Objects.equals(available.getTemplateId(), createReqVO.getTemplateId()))
+ .findFirst().orElse(null);
+ if (templateItem == null) {
+ throw exception(QC_NO_TEMPLATE); // 鎸囧畾浜嗘柟妗堜絾涓嶅湪鍖归厤鍒楄〃涓紝鎷掔粷
+ }
+ }
Long templateId = templateItem.getTemplateId();
// 1.3 鑾峰彇鏉ユ簮鍗曟嵁缂栧彿
String sourceDocCode = validateAndGetSourceDocCode(
@@ -127,8 +140,8 @@
private void validateRqcSaveData(MesQcRqcSaveReqVO reqVO) {
// 鏍¢獙缂栧彿鍞竴
validateRqcCodeUnique(reqVO.getId(), reqVO.getCode());
- // 鏍¢獙鐗╂枡銆佹娴嬩汉鍛樺瓨鍦�
- itemService.validateItemExists(reqVO.getItemId());
+ // 鏍¢獙鐗╂枡锛堢墿鏂� ID 鏉ヨ嚜 MDM锛夈�佹娴嬩汉鍛樺瓨鍦�
+ mdmItemApi.validateItemExists(reqVO.getItemId());
adminUserApi.validateUser(reqVO.getInspectorUserId());
}
--
Gitblit v1.9.3