From ac2e2b5af3726ee64dc37c3ebf26989a0346f22a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 07 十一月 2026 19:16:05 +0800
Subject: [PATCH] feat(feedback): 优化报工审批流程并增加报工人校验
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/template/MesQcTemplateItemServiceImpl.java | 36 ++++++++++++++++++++++++++++++------
1 files changed, 30 insertions(+), 6 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 ffba036..cf91a47 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
@@ -28,7 +28,7 @@
/**
* MES 璐ㄦ鏂规-浜у搧鍏宠仈 Service 瀹炵幇绫�
*
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
@Service
@Validated
@@ -116,11 +116,35 @@
@Override
public MesQcTemplateItemDO getRequiredTemplateByItemIdAndType(Long itemId, Integer qcType) {
- // 1. 鏌ュ嚭 itemId 鍏宠仈鐨勬墍鏈� templateItem
- MesMdItemDO item1 = mesMdItemService.getItem(itemId);
- List<MesQcTemplateItemDO> templateItems = templateItemMapper.selectListByItemId(item1.getMdmItemId());
- if (CollUtil.isEmpty(templateItems)) {
+ MesQcTemplateItemDO matched = findTemplateItem(itemId, qcType);
+ if (matched == null) {
throw exception(QC_NO_TEMPLATE);
+ }
+ return matched;
+ }
+
+ @Override
+ public boolean hasEnabledTemplate(Long itemId, Integer qcType) {
+ return findTemplateItem(itemId, qcType) != null;
+ }
+
+ /**
+ * 鎸夌墿鏂� + QC 绫诲瀷鏌ユ壘鍚敤鐨勬ā鏉垮叧鑱旓紝鏈懡涓繑鍥� null
+ */
+ private MesQcTemplateItemDO findTemplateItem(Long itemId, Integer qcType) {
+ if (itemId == null || qcType == null) {
+ return null;
+ }
+ // 1. 鏌ュ嚭 itemId 鍏宠仈鐨勬墍鏈� templateItem
+ // 鍏煎涓ゅ鐗╂枡 ID锛氳川妫�/浠撳偍鍗曟嵁浼犲叆 mdm_item.id锛孭RO 宸ュ崟/浠诲姟浼犲叆 mes_md_item.id
+ Long templateItemId = itemId;
+ MesMdItemDO mesItem = mesMdItemService.getItem(itemId);
+ if (mesItem != null && mesItem.getMdmItemId() != null) {
+ templateItemId = mesItem.getMdmItemId();
+ }
+ List<MesQcTemplateItemDO> templateItems = templateItemMapper.selectListByItemId(templateItemId);
+ if (CollUtil.isEmpty(templateItems)) {
+ return null;
}
// 2. 绛涢�� types 鍖呭惈 qcType 涓旂姸鎬佷负寮�鍚殑妯℃澘
List<MesQcTemplateDO> templates = templateService.getTemplateList(
@@ -128,7 +152,7 @@
MesQcTemplateDO matchedTemplate = findFirst(templates,
t -> CommonStatusEnum.isEnable(t.getStatus()) && CollUtil.contains(t.getTypes(), qcType));
if (matchedTemplate == null) {
- throw exception(QC_NO_TEMPLATE);
+ return null;
}
// 3. 杩斿洖瀵瑰簲鐨� templateItem
return findFirst(templateItems,
--
Gitblit v1.9.3