From 086b2186789ea04362db4bce71c6112686c43caa Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 21 九月 2026 15:33:26 +0800
Subject: [PATCH] feat(crm): 支持合同编号自定义配置
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateItemServiceImpl.java | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateItemServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateItemServiceImpl.java
index 712c693..8ff8e40 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateItemServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateItemServiceImpl.java
@@ -126,8 +126,8 @@
}
@Override
- public MesQcTemplateItemDO getRequiredTemplateByItemIdAndType(Long itemId, Integer qcType) {
- List<MesQcTemplateItemDO> templateItems = getTemplateItemList(itemId, qcType, null, null);
+ public MesQcTemplateItemDO getRequiredTemplateByItemIdAndType(Long mdmItemId, Integer qcType) {
+ List<MesQcTemplateItemDO> templateItems = getTemplateItemList(mdmItemId, qcType, null, null);
if (CollUtil.isEmpty(templateItems)) {
throw exception(QC_NO_TEMPLATE);
}
@@ -135,28 +135,27 @@
}
@Override
- public List<MesQcTemplateItemDO> getTemplateItemList(Long itemId, Integer qcType, Long workOrderId, Long taskId) {
- // 1. 瑙f瀽鐪熷疄浜у搧鐗╂枡 ID锛氫换鍔′紭鍏堬紝鍏舵宸ュ崟锛屾渶鍚庣洿鎺ョ敤鍏ュ弬
- Long resolvedItemId = itemId;
+ public List<MesQcTemplateItemDO> getTemplateItemList(Long mdmItemId, Integer qcType, Long workOrderId, Long taskId) {
+ // 1. 瑙f瀽 MDM 浜у搧鐗╂枡 ID锛氫换鍔′紭鍏堬紝鍏舵宸ュ崟锛涗袱鑰呭瓨鐨勬槸 MES 鐗╂枡 ID锛岄渶杞崲涓� MDM 鐗╂枡 ID銆�
+ // 鏈紶宸ュ崟/浠诲姟鏃讹紝鍏ュ弬鏈韩鍗� MDM 鐗╂枡 ID锛堣川妫�鍗曞墠绔�夋嫨鐨勫氨鏄� MDM 鐗╂枡锛�
+ Long resolvedMdmItemId;
if (taskId != null) {
- resolvedItemId = proTaskService.validateTaskExists(taskId).getItemId();
+ resolvedMdmItemId = convertMesItemIdToMdmItemId(proTaskService.validateTaskExists(taskId).getItemId());
} else if (workOrderId != null) {
- resolvedItemId = proWorkOrderService.validateWorkOrderExists(workOrderId).getProductId();
+ resolvedMdmItemId = convertMesItemIdToMdmItemId(
+ proWorkOrderService.validateWorkOrderExists(workOrderId).getProductId());
+ } else {
+ resolvedMdmItemId = mdmItemId;
}
- if (resolvedItemId == null) {
+ if (resolvedMdmItemId == null) {
return Collections.emptyList();
}
- // 2. mes_md_item.id 杞� mdm_item.id锛堜骇鍝佸叧鑱旇〃瀛樼殑鏄� mdm 鐗╂枡锛�
- MesMdItemDO item = mesMdItemService.getItem(resolvedItemId);
- if (item == null || item.getMdmItemId() == null) {
- return Collections.emptyList();
- }
- // 3. 鏌ュ嚭璇ョ墿鏂欏叧鑱旂殑鎵�鏈変骇鍝佸叧鑱�
- List<MesQcTemplateItemDO> templateItems = templateItemMapper.selectListByItemId(item.getMdmItemId());
+ // 2. 鏌ュ嚭璇ョ墿鏂欏叧鑱旂殑鎵�鏈変骇鍝佸叧鑱�
+ List<MesQcTemplateItemDO> templateItems = templateItemMapper.selectListByItemId(resolvedMdmItemId);
if (CollUtil.isEmpty(templateItems)) {
return Collections.emptyList();
}
- // 4. 杩囨护锛氭柟妗堝惎鐢ㄤ笖妫�娴嬬绫诲寘鍚� qcType锛岃繑鍥炲叏閮ㄥ尮閰嶉」
+ // 3. 杩囨护锛氭柟妗堝惎鐢ㄤ笖妫�娴嬬绫诲寘鍚� qcType锛岃繑鍥炲叏閮ㄥ尮閰嶉」
List<MesQcTemplateDO> templates = templateService.getTemplateList(
convertSet(templateItems, MesQcTemplateItemDO::getTemplateId));
Set<Long> matchedTemplateIds = templates.stream()
@@ -169,4 +168,18 @@
.collect(Collectors.toList());
}
+ /**
+ * MES 鐗╂枡 ID 杞� MDM 鐗╂枡 ID
+ *
+ * @param mesItemId MES 鐗╂枡 ID锛坢es_md_item.id锛�
+ * @return MDM 鐗╂枡 ID锛坢dm_item.id锛夛紱MES 鐗╂枡涓嶅瓨鍦ㄦ垨鏈叧鑱� MDM 鐗╂枡鏃惰繑鍥� null
+ */
+ private Long convertMesItemIdToMdmItemId(Long mesItemId) {
+ if (mesItemId == null) {
+ return null;
+ }
+ MesMdItemDO item = mesMdItemService.getItem(mesItemId);
+ return item != null ? item.getMdmItemId() : null;
+ }
+
}
--
Gitblit v1.9.3