From 416558785276159b8730b2826e71995fc16b59a7 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期四, 29 十月 2026 11:47:44 +0800
Subject: [PATCH] refactor(safety): 人员与车间字段全面改为主数据关联
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyMaterialService.java | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyMaterialService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyMaterialService.java
index 6412acd..7b9f0b5 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyMaterialService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/safety/SafetyMaterialService.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.service.safety;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
@@ -36,6 +37,8 @@
@Resource
private SafetyMaterialMapper materialMapper;
@Resource
+ private SafetyRefResolver refResolver;
+ @Resource
private SafetyMaterialStockMapper stockMapper;
// ==================== 鐗╄祫鍙拌处 ====================
@@ -50,6 +53,7 @@
material.setCode(code);
material.setName(StrUtil.trim(reqVO.getName()));
material.setUnit(StrUtil.blankToDefault(reqVO.getUnit(), "涓�"));
+ applyManager(material, reqVO.getManagerId());
material.setStockQty(reqVO.getStockQty() == null ? BigDecimal.ZERO : reqVO.getStockQty());
material.setSafeStock(reqVO.getSafeStock() == null ? BigDecimal.ZERO : reqVO.getSafeStock());
materialMapper.insert(material);
@@ -66,6 +70,7 @@
SafetyMaterialDO material = BeanUtils.toBean(reqVO, SafetyMaterialDO.class);
material.setCode(code);
material.setName(StrUtil.trim(reqVO.getName()));
+ applyManager(material, reqVO.getManagerId());
// 搴撳瓨鏁伴噺鍙兘閫氳繃鍑哄叆搴撳崟鍙樺姩锛岀姝㈢洿鎺ョ紪杈�
material.setStockQty(null);
materialMapper.updateById(material);
@@ -84,6 +89,29 @@
return materialMapper.selectPage(reqVO);
}
+ /**
+ * 淇濈浜猴細浠庡憳宸ユ。妗堝甫鍑哄鍚嶈惤蹇収
+ */
+ private void applyManager(SafetyMaterialDO material, Long managerId) {
+ material.setManagerId(managerId);
+ material.setManager(managerId == null ? ""
+ : refResolver.requireEmployee(managerId, SAFETY_EMPLOYEE_REQUIRED).getName());
+ }
+
+ /**
+ * 鎵归噺鍥炲~淇濈浜烘渶鏂板鍚�
+ */
+ public void fillManagers(List<SafetyMaterialDO> materials) {
+ if (CollUtil.isEmpty(materials)) {
+ return;
+ }
+ var employeeMap = refResolver.employeeMap(materials.stream().map(SafetyMaterialDO::getManagerId).toList());
+ materials.forEach(material -> {
+ var employee = employeeMap.get(material.getManagerId());
+ if (employee != null) material.setManager(employee.getName());
+ });
+ }
+
public static void fillMaterialDisplay(SafetyMaterialDO material, SafetyMaterialRespVO respVO) {
respVO.setCategoryName(SafetyMaterialCategoryEnum.getNameByCategory(material.getCategory()));
BigDecimal stock = material.getStockQty() == null ? BigDecimal.ZERO : material.getStockQty();
--
Gitblit v1.9.3