From a08832337f8de6a53edebbab1fb0b5a3bd1785aa Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期四, 27 八月 2026 17:23:04 +0800
Subject: [PATCH] feat(srm): 供应商准入审核接入协同办公(BPM)

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessParamServiceImpl.java |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessParamServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessParamServiceImpl.java
new file mode 100644
index 0000000..2bece6f
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessParamServiceImpl.java
@@ -0,0 +1,86 @@
+package cn.iocoder.yudao.module.mes.service.pro.process;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.param.MesProProcessParamSaveReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessParamDO;
+import cn.iocoder.yudao.module.mes.dal.mysql.pro.process.MesProProcessParamMapper;
+import cn.iocoder.yudao.module.mes.service.pd.processparam.MesPdProcessParamService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * MES 宸ュ簭-宸ヨ壓鍙傛暟缁戝畾 Service 瀹炵幇绫�
+ *
+ * @author 瓒呯骇绠$悊鍛�
+ */
+@Service
+@Validated
+public class MesProProcessParamServiceImpl implements MesProProcessParamService {
+
+    @Resource
+    private MesProProcessParamMapper processParamMapper;
+    @Resource
+    private MesProProcessService processService;
+    @Resource
+    private MesPdProcessParamService pdProcessParamService;
+
+    @Override
+    public List<MesProProcessParamDO> getProcessParamListByProcessId(Long processId) {
+        return processParamMapper.selectListByProcessId(processId);
+    }
+
+    @Override
+    public List<MesProProcessParamDO> getProcessParamListByProcessIds(Collection<Long> processIds) {
+        if (CollUtil.isEmpty(processIds)) {
+            return new ArrayList<>();
+        }
+        return processParamMapper.selectListByProcessIds(processIds);
+    }
+
+    @Override
+    public List<MesProProcessParamDO> getProcessParamListByParamId(Long processParamId) {
+        return processParamMapper.selectListByProcessParamId(processParamId);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateProcessParams(Long processId, List<MesProProcessParamSaveReqVO.Item> items) {
+        // 1. 鏍¢獙宸ュ簭瀛樺湪
+        processService.validateProcessExists(processId);
+        // 2. 鏍¢獙宸ヨ壓鍙傛暟瀛樺湪
+        if (CollUtil.isNotEmpty(items)) {
+            for (MesProProcessParamSaveReqVO.Item item : items) {
+                pdProcessParamService.validateProcessParamExists(item.getProcessParamId());
+            }
+        }
+        // 3. 鍏ㄩ噺瑕嗙洊锛氬厛鍒犳棫缁戝畾锛屽啀鎻掑叆鏂扮粦瀹�
+        processParamMapper.deleteByProcessId(processId);
+        if (CollUtil.isEmpty(items)) {
+            return;
+        }
+        List<MesProProcessParamDO> list = new ArrayList<>(items.size());
+        for (int i = 0; i < items.size(); i++) {
+            MesProProcessParamSaveReqVO.Item item = items.get(i);
+            list.add(MesProProcessParamDO.builder()
+                    .processId(processId)
+                    .processParamId(item.getProcessParamId())
+                    .required(Boolean.TRUE.equals(item.getRequired()))
+                    .sort(item.getSort() != null ? item.getSort() : i + 1)
+                    .remark(item.getRemark())
+                    .build());
+        }
+        processParamMapper.insertBatch(list);
+    }
+
+    @Override
+    public void deleteByParamId(Long processParamId) {
+        processParamMapper.deleteByProcessParamId(processParamId);
+    }
+
+}

--
Gitblit v1.9.3