From 618030e495a9520291ebfd709c80c4c8a8b73451 Mon Sep 17 00:00:00 2001
From: quxin <592870522@qq.com>
Date: 星期五, 04 九月 2026 11:36:26 +0800
Subject: [PATCH] 修复: 生产领料后的退料应该是选择领料的记录,不是选择库存的记录(同时库存数据需要根据领料退料变动,比如库存100,领用80,然后领用80中退料30,库存应由原来的20变成50)
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/mps/MesProMpsController.java | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/mps/MesProMpsController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/mps/MesProMpsController.java
index b174b5a..45d87ba 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/mps/MesProMpsController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/mps/MesProMpsController.java
@@ -15,8 +15,10 @@
import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
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.mes.dal.dataobject.pro.mps.MesProMpsDO;
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.pro.mps.MesProMpsService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -47,6 +49,8 @@
private MesProMpsService mpsService;
@Resource
private MesMdItemService itemService;
+ @Resource
+ private MesMdUnitMeasureService unitMeasureService;
@Resource
private CrmCustomerApi customerApi;
@@ -139,6 +143,8 @@
// 1. 鎵归噺鑾峰彇鍏宠仈鏁版嵁
Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
convertSet(list, MesProMpsDO::getProductId));
+ Map<Long, MesMdUnitMeasureDO> unitMap = unitMeasureService.getUnitMeasureMap(
+ convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId));
Map<Long, CrmCustomerRespDTO> clientMap = customerApi.getCustomerMap(
convertSet(list, MesProMpsDO::getClientId));
// 2. 鎷兼帴 VO
@@ -147,6 +153,8 @@
vo.setProductName(item.getName())
.setProductCode(item.getCode())
.setProductSpecification(item.getSpecification());
+ MapUtils.findAndThen(unitMap, item.getUnitMeasureId(),
+ unit -> vo.setUnitMeasureName(unit.getName()));
});
MapUtils.findAndThen(clientMap, vo.getClientId(),
client -> vo.setClientName(client.getName()));
--
Gitblit v1.9.3