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/controller/admin/pro/process/MesProProcessParamController.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 111 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessParamController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessParamController.java
new file mode 100644
index 0000000..d058a81
--- /dev/null
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessParamController.java
@@ -0,0 +1,111 @@
+package cn.iocoder.yudao.module.mes.controller.admin.pro.process;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.param.MesProProcessParamRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.param.MesProProcessParamSaveReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pd.processparam.MesPdProcessParamDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessParamDO;
+import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
+import cn.iocoder.yudao.module.mes.service.pd.processparam.MesPdProcessParamService;
+import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessParamService;
+import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
+import static cn.iocoder.yudao.framework.common.util.collection.MapUtils.findAndThen;
+
+@Tag(name = "绠$悊鍚庡彴 - MES 宸ュ簭宸ヨ壓鍙傛暟缁戝畾")
+@RestController
+@RequestMapping("/mes/pro/process-param")
+@Validated
+public class MesProProcessParamController {
+
+ @Resource
+ private MesProProcessParamService processParamService;
+ @Resource
+ private MesPdProcessParamService pdProcessParamService;
+ @Resource
+ private MesMdUnitMeasureService unitMeasureService;
+ @Resource
+ private MesProProcessService processService;
+
+ @GetMapping("/list-by-process")
+ @Operation(summary = "鑾峰緱宸ュ簭缁戝畾鐨勫伐鑹哄弬鏁板垪琛紙鎸夊伐搴忕紪鍙凤級")
+ @Parameter(name = "processId", description = "宸ュ簭缂栧彿", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
+ public CommonResult<List<MesProProcessParamRespVO>> getProcessParamListByProcessId(@RequestParam("processId") Long processId) {
+ List<MesProProcessParamDO> list = processParamService.getProcessParamListByProcessId(processId);
+ return success(buildRespVOList(list));
+ }
+
+ @PostMapping("/update-bindings")
+ @Operation(summary = "鍏ㄩ噺瑕嗙洊淇濆瓨宸ュ簭缁戝畾鐨勫伐鑹哄弬鏁�")
+ @PreAuthorize("@ss.hasPermission('mes:pro-process:update')")
+ public CommonResult<Boolean> updateProcessParams(@Valid @RequestBody MesProProcessParamSaveReqVO reqVO) {
+ processParamService.updateProcessParams(reqVO.getProcessId(), reqVO.getItems());
+ return success(true);
+ }
+
+ @GetMapping("/list-by-param")
+ @Operation(summary = "鑾峰緱宸ヨ壓鍙傛暟琚粦瀹氱殑宸ュ簭鍒楄〃锛堟寜宸ヨ壓鍙傛暟缂栧彿锛�")
+ @Parameter(name = "paramId", description = "宸ヨ壓鍙傛暟缂栧彿", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
+ public CommonResult<List<MesProProcessRespVO>> getProcessListByParamId(@RequestParam("paramId") Long paramId) {
+ List<MesProProcessParamDO> list = processParamService.getProcessParamListByParamId(paramId);
+ if (CollUtil.isEmpty(list)) {
+ return success(Collections.emptyList());
+ }
+ Map<Long, MesProProcessDO> processMap = processService.getProcessMap(
+ convertSet(list, MesProProcessParamDO::getProcessId));
+ List<MesProProcessRespVO> result = new ArrayList<>(list.size());
+ for (MesProProcessParamDO binding : list) {
+ MesProProcessDO process = processMap.get(binding.getProcessId());
+ if (process != null) {
+ result.add(new MesProProcessRespVO()
+ .setId(process.getId()).setCode(process.getCode()).setName(process.getName()));
+ }
+ }
+ return success(result);
+ }
+
+ // ==================== 鎷兼帴 VO ====================
+
+ private List<MesProProcessParamRespVO> buildRespVOList(List<MesProProcessParamDO> list) {
+ if (CollUtil.isEmpty(list)) {
+ return Collections.emptyList();
+ }
+ // 1. 鎵归噺鑾峰彇宸ヨ壓鍙傛暟涓庤閲忓崟浣�
+ Map<Long, MesPdProcessParamDO> paramMap = pdProcessParamService.getProcessParamMap(
+ convertSet(list, MesProProcessParamDO::getProcessParamId));
+ Map<Long, MesMdUnitMeasureDO> unitMeasureMap = unitMeasureService.getUnitMeasureMap(
+ convertSet(paramMap.values(), MesPdProcessParamDO::getUnitMeasureId));
+ // 2. 鎷兼帴 VO
+ return BeanUtils.toBean(list, MesProProcessParamRespVO.class, vo ->
+ findAndThen(paramMap, vo.getProcessParamId(), param -> {
+ vo.setParamCode(param.getParamCode()).setParamName(param.getParamName())
+ .setParamType(param.getParamType()).setUnitMeasureId(param.getUnitMeasureId());
+ findAndThen(unitMeasureMap, param.getUnitMeasureId(), unit ->
+ vo.setUnitMeasureName(unit.getName()));
+ })
+ );
+ }
+
+}
--
Gitblit v1.9.3