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 |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 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 c46144c..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
@@ -116,8 +116,24 @@
 
     @Override
     public MesQcTemplateItemDO getRequiredTemplateByItemIdAndType(Long itemId, Integer qcType) {
-        if (itemId == null) {
+        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
@@ -128,7 +144,7 @@
         }
         List<MesQcTemplateItemDO> templateItems = templateItemMapper.selectListByItemId(templateItemId);
         if (CollUtil.isEmpty(templateItems)) {
-            throw exception(QC_NO_TEMPLATE);
+            return null;
         }
         // 2. 绛涢�� types 鍖呭惈 qcType 涓旂姸鎬佷负寮�鍚殑妯℃澘
         List<MesQcTemplateDO> templates = templateService.getTemplateList(
@@ -136,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