From 757c7e03bee3560bb4d7766fddd03673e2c2e611 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 23 七月 2026 17:46:34 +0800
Subject: [PATCH] feat(mes): 完善MES模块功能并优化日志配置
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java | 30 +++++++++++++++++-------------
1 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java
index 5cccfd3..84452a3 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemconsume/MesWmItemConsumeServiceImpl.java
@@ -2,8 +2,10 @@
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.module.mes.controller.admin.wm.materialstock.vo.MesWmMaterialStockListReqVO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.feedback.MesProFeedbackDO;
-import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductBomDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderBomDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemconsume.MesWmItemConsumeDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemconsume.MesWmItemConsumeDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemconsume.MesWmItemConsumeLineDO;
@@ -15,8 +17,9 @@
import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmItemConsumeStatusEnum;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
-import cn.iocoder.yudao.module.mes.service.pro.route.MesProRouteProductBomService;
-import cn.iocoder.yudao.module.mes.service.pro.route.MesProRouteService;
+import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
+import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
+import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderBomService;
import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService;
import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService;
import cn.iocoder.yudao.module.mes.service.wm.transaction.dto.MesWmTransactionSaveReqDTO;
@@ -24,6 +27,7 @@
import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService;
import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService;
import jakarta.annotation.Resource;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -54,9 +58,7 @@
@Resource
private MesWmItemConsumeDetailService itemConsumeDetailService;
@Resource
- private MesProRouteProductBomService routeProductBomService;
- @Resource
- private MesProRouteService routeService;
+ private MesProWorkOrderBomService workOrderBomService;
@Resource
private MesWmTransactionService wmTransactionService;
@Resource
@@ -67,17 +69,18 @@
private MesWmWarehouseAreaService areaService;
@Resource
private MesWmMaterialStockService materialStockService;
+ @Autowired
+ private MesMdItemService mesMdItemService;
@Override
public MesWmItemConsumeDO generateItemConsume(MesProFeedbackDO feedback) {
- // 1.1 閬垮厤 routeId 绛変负 null 鏃� getRouteProductBomList 鍥� eqIfPresent 鏀惧鏉′欢瀵艰嚧璇煡
- if (feedback.getRouteId() == null || feedback.getProcessId() == null || feedback.getItemId() == null) {
+ // 1.1 鏍¢獙宸ュ崟缂栧彿鏈夋晥
+ if (feedback.getWorkOrderId() == null) {
throw exception(PRO_FEEDBACK_ROUTE_PROCESS_INVALID);
}
- routeService.validateRouteExists(feedback.getRouteId());
- // 1.2 鏌ヨ褰撳墠宸ュ簭鐨� BOM 鐗╂枡閰嶇疆
- List<MesProRouteProductBomDO> boms = routeProductBomService.getRouteProductBomList(
- feedback.getRouteId(), feedback.getProcessId(), feedback.getItemId());
+ // 1.2 鏌ヨ宸ュ崟 BOM 鐗╂枡鍒楄〃锛堝�掑啿鎸夊伐鍗曟姇鏂欙紝闈炲伐鑹鸿矾绾匡級
+ List<MesProWorkOrderBomDO> boms = workOrderBomService.getWorkOrderBomListByWorkOrderId(
+ feedback.getWorkOrderId());
if (CollUtil.isEmpty(boms)) {
return null;
}
@@ -177,9 +180,10 @@
// 2. 閬嶅巻鏄庣粏锛屽垱寤哄簱瀛樹簨鍔★紙鎸夋壒娆$簿纭墸鍑忕嚎杈瑰簱锛�
for (MesWmItemConsumeDetailDO detail : details) {
+ MesMdItemDO item = mesMdItemService.getItem(detail.getItemId());
wmTransactionService.createTransaction(new MesWmTransactionSaveReqDTO()
.setType(MesWmTransactionTypeEnum.OUT.getType())
- .setItemId(detail.getItemId())
+ .setItemId(item.getMdmItemId())
.setQuantity(detail.getQuantity().negate())
.setBatchId(detail.getBatchId()).setBatchCode(detail.getBatchCode())
.setWarehouseId(detail.getWarehouseId())
--
Gitblit v1.9.3