From 7a681887e5a8e1aab49acc886974d354c69a280e Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 17 九月 2026 13:10:38 +0800
Subject: [PATCH] feat(mes): 新增质检指标分组树和平行测量功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java | 38 ++++++++++++++++++++++++++++++++++++--
1 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java
index 14f49fe..d3a2db7 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.controller.admin.qc.indicator;
+import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
@@ -22,7 +23,11 @@
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
+import java.util.Collections;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -66,7 +71,7 @@
@PreAuthorize("@ss.hasPermission('mes:qc-indicator:query')")
public CommonResult<MesQcIndicatorRespVO> getIndicator(@RequestParam("id") Long id) {
MesQcIndicatorDO indicator = indicatorService.getIndicator(id);
- return success(BeanUtils.toBean(indicator, MesQcIndicatorRespVO.class));
+ return success(buildRespVOList(Collections.singletonList(indicator)).get(0));
}
@GetMapping("/page")
@@ -74,7 +79,14 @@
@PreAuthorize("@ss.hasPermission('mes:qc-indicator:query')")
public CommonResult<PageResult<MesQcIndicatorRespVO>> getIndicatorPage(@Valid MesQcIndicatorPageReqVO pageReqVO) {
PageResult<MesQcIndicatorDO> pageResult = indicatorService.getIndicatorPage(pageReqVO);
- return success(BeanUtils.toBean(pageResult, MesQcIndicatorRespVO.class));
+ return success(new PageResult<>(buildRespVOList(pageResult.getList()), pageResult.getTotal()));
+ }
+
+ @GetMapping("/list")
+ @Operation(summary = "鑾峰緱璐ㄦ鎸囨爣鍏ㄩ噺鍒楄〃锛堝惈鍒嗙粍灞傜骇锛屼緵鏍戣〃/涓嬫媺浣跨敤锛�")
+ @PreAuthorize("@ss.hasPermission('mes:qc-indicator:query')")
+ public CommonResult<List<MesQcIndicatorRespVO>> getIndicatorList() {
+ return success(buildRespVOList(indicatorService.getIndicatorList()));
}
@GetMapping("/export-excel")
@@ -90,4 +102,26 @@
BeanUtils.toBean(list, MesQcIndicatorRespVO.class));
}
+ // ==================== 鎷兼帴 VO ====================
+
+ private List<MesQcIndicatorRespVO> buildRespVOList(List<MesQcIndicatorDO> list) {
+ List<MesQcIndicatorRespVO> voList = BeanUtils.toBean(list, MesQcIndicatorRespVO.class);
+ if (CollUtil.isEmpty(list)) {
+ return voList;
+ }
+ // 濉厖鐖舵寚鏍囧悕绉�
+ Set<Long> parentIds = list.stream().map(MesQcIndicatorDO::getParentId)
+ .filter(pid -> pid != null && pid > 0).collect(Collectors.toSet());
+ if (CollUtil.isNotEmpty(parentIds)) {
+ Map<Long, String> parentNameMap = indicatorService.getIndicatorList(parentIds).stream()
+ .collect(Collectors.toMap(MesQcIndicatorDO::getId, MesQcIndicatorDO::getName));
+ voList.forEach(vo -> {
+ if (vo.getParentId() != null && vo.getParentId() > 0) {
+ vo.setParentName(parentNameMap.get(vo.getParentId()));
+ }
+ });
+ }
+ return voList;
+ }
+
}
--
Gitblit v1.9.3