From ed01be06d17f1159d32e7fa2133a32f2986d3b9f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 22 九月 2026 14:50:53 +0800
Subject: [PATCH] refactor(mes): 替换物料服务为MDM API并完善质检Word导出功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcController.java | 40 ++++++++++++++++++++++++----------------
1 files changed, 24 insertions(+), 16 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcController.java
index 8ddc929..0088488 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcController.java
@@ -13,8 +13,10 @@
import cn.iocoder.yudao.module.mes.controller.admin.qc.rqc.vo.MesQcRqcRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.rqc.vo.MesQcRqcSaveReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.qc.vo.MesQcQualityExportVO;
-import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
-import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO;
+import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
+import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemRespDTO;
+import cn.iocoder.yudao.module.mdm.api.unit.MdmUnitMeasureApi;
+import cn.iocoder.yudao.module.mdm.api.unit.dto.MdmUnitMeasureRespDTO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicator.MesQcIndicatorDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicatorresult.MesQcIndicatorResultDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.indicatorresult.MesQcIndicatorResultDetailDO;
@@ -23,8 +25,6 @@
import cn.iocoder.yudao.module.mes.dal.mysql.qc.rqc.MesQcRqcLineMapper;
import cn.iocoder.yudao.module.mes.enums.DictTypeConstants;
import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
-import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
-import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
import cn.iocoder.yudao.module.mes.service.qc.indicator.MesQcIndicatorService;
import cn.iocoder.yudao.module.mes.service.qc.indicatorresult.MesQcIndicatorResultService;
import cn.iocoder.yudao.module.mes.service.qc.rqc.MesQcRqcService;
@@ -64,9 +64,9 @@
@Resource
private MesQcRqcService rqcService;
@Resource
- private MesMdItemService itemService;
+ private MdmItemApi mdmItemApi;
@Resource
- private MesMdUnitMeasureService unitMeasureService;
+ private MdmUnitMeasureApi mdmUnitMeasureApi;
@Resource
private MesQcIndicatorResultService indicatorResultService;
@Resource
@@ -145,15 +145,19 @@
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
}
- // 鎵归噺鏌ヨ鐗╂枡
- Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
+ // 鎵归噺鏌ヨ鐗╂枡锛圡DM 鐗╂枡锛�
+ Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
convertSet(list, MesQcRqcDO::getItemId));
// 鎵归噺鏌ヨ璁¢噺鍗曚綅
- Map<Long, MesMdUnitMeasureDO> unitMeasureMap = unitMeasureService.getUnitMeasureMap(
- convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId));
- // 鎵归噺鏌ヨ妫�娴嬩汉鍛�
- Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
- convertSet(list, MesQcRqcDO::getInspectorUserId));
+ Map<Long, MdmUnitMeasureRespDTO> unitMeasureMap = mdmUnitMeasureApi.getUnitMeasureList(
+ convertSet(itemMap.values(), MdmItemRespDTO::getUnitMeasureId)).getCheckedData()
+ .stream().collect(Collectors.toMap(MdmUnitMeasureRespDTO::getId, e -> e));
+ // 鎵归噺鏌ヨ妫�娴�/澶嶆牳/瀹℃牳浜哄憳
+ Set<Long> qcUserIds = new HashSet<>();
+ qcUserIds.addAll(convertSet(list, MesQcRqcDO::getInspectorUserId));
+ qcUserIds.addAll(convertSet(list, MesQcRqcDO::getAuditUserId));
+ qcUserIds.addAll(convertSet(list, MesQcRqcDO::getApproveUserId));
+ Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(qcUserIds);
// 鎵归噺鏌ヨ妫�楠岄」鎸囨爣
Map<Long, String> indicatorSummaryMap = buildIndicatorSummaryMap(list);
// 鎷艰 VO
@@ -165,6 +169,10 @@
});
findAndThen(userMap, vo.getInspectorUserId(),
user -> vo.setInspectorNickname(user.getNickname()));
+ findAndThen(userMap, vo.getAuditUserId(),
+ user -> vo.setAuditNickname(user.getNickname()));
+ findAndThen(userMap, vo.getApproveUserId(),
+ user -> vo.setApproveNickname(user.getNickname()));
vo.setIndicatorResultSummary(indicatorSummaryMap.getOrDefault(vo.getId(), ""));
});
}
@@ -235,8 +243,8 @@
// 鎵归噺鏌ヨ妫�娴嬩汉鍛�
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
convertSet(list, MesQcRqcDO::getInspectorUserId));
- // 鎵归噺鏌ヨ鐗╂枡
- Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
+ // 鎵归噺鏌ヨ鐗╂枡锛圡DM 鐗╂枡锛�
+ Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
convertSet(list, MesQcRqcDO::getItemId));
// 鎵归噺鏌ヨ琛屾槑缁�
List<MesQcRqcLineDO> lines = rqcLineMapper.selectListByRqcIds(convertSet(list, MesQcRqcDO::getId));
@@ -253,7 +261,7 @@
for (MesQcRqcDO rqc : list) {
MesQcQualityExportVO vo = new MesQcQualityExportVO();
vo.setDocName(rqc.getName());
- MesMdItemDO item = itemMap.get(rqc.getItemId());
+ MdmItemRespDTO item = itemMap.get(rqc.getItemId());
vo.setItemName(item != null ? item.getName() : "");
vo.setBatchNo(rqc.getBatchCode());
vo.setInspectDate(MesQcQualityExportVO.formatDateTime(rqc.getInspectDate()));
--
Gitblit v1.9.3