From 3990ae574c221e3764ce9cbc2e4e3eb71b7b1b52 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 24 十月 2026 23:41:23 +0800
Subject: [PATCH] fix(mes): 修复批次正反向追溯链路
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java
index 985e80f..1baf365 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnvendor/MesWmReturnVendorDetailServiceImpl.java
@@ -6,7 +6,7 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorDetailDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorLineDO;
import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnvendor.MesWmReturnVendorDetailMapper;
-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.wm.materialstock.MesWmMaterialStockService;
import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService;
import jakarta.annotation.Resource;
@@ -32,8 +32,12 @@
@Resource
@Lazy
private MesWmReturnVendorLineService returnVendorLineService;
+ // 涓� ReturnVendorServiceImpl 鐩镐簰寮曠敤锛岄』鐢� @Lazy 鎵撶牬寰幆
@Resource
- private MesMdItemService itemService;
+ @Lazy
+ private MesWmReturnVendorService returnVendorService;
+ @Resource
+ private MesMdmItemService mdmItemService;
@Resource
private MesWmMaterialStockService materialStockService;
@Resource
@@ -66,13 +70,15 @@
* 鏍¢獙鏄庣粏鍒涘缓/淇敼鐨勫叕鍏辨暟鎹�
*/
private void validateDetailSaveData(MesWmReturnVendorDetailSaveReqVO reqVO) {
+ // 鏍¢獙鐖跺崟锛堥��璐у崟锛夊浜庡噯澶囦腑鐘舵�侊紝瀹℃壒鏈熼棿鍙婁箣鍚庣姝㈠鍒犳敼鏄庣粏
+ returnVendorService.validateReturnVendorExistsAndPrepare(reqVO.getReturnId());
// 鏍¢獙鐖舵暟鎹紙琛岋級瀛樺湪
MesWmReturnVendorLineDO line = returnVendorLineService.validateReturnVendorLineExists(reqVO.getLineId());
if (ObjUtil.notEqual(line.getReturnId(), reqVO.getReturnId())) {
throw exception(WM_RETURN_VENDOR_DETAIL_LINE_NOT_MATCH);
}
// 鏍¢獙鐗╂枡瀛樺湪
- itemService.validateItemExistsAndEnable(reqVO.getItemId());
+ mdmItemService.validateItemExistsAndEnable(reqVO.getItemId());
// 鏍¢獙鐗╂枡涓庤鐗╂枡涓�鑷�
validateItemConsistency(reqVO.getItemId(), line);
// 鏍¢獙搴撲綅瀛樺湪
@@ -85,7 +91,9 @@
@Override
public void deleteReturnVendorDetail(Long id) {
// 鏍¢獙瀛樺湪
- validateReturnVendorDetailExists(id);
+ MesWmReturnVendorDetailDO detail = validateReturnVendorDetailExists(id);
+ // 鏍¢獙鐖跺崟澶勪簬鍑嗗涓姸鎬侊紝瀹℃壒鏈熼棿鍙婁箣鍚庣姝㈠垹闄ゆ槑缁�
+ returnVendorService.validateReturnVendorExistsAndPrepare(detail.getReturnId());
// 鍒犻櫎
returnVendorDetailMapper.deleteById(id);
}
@@ -115,10 +123,12 @@
returnVendorDetailMapper.deleteByLineId(lineId);
}
- private void validateReturnVendorDetailExists(Long id) {
- if (returnVendorDetailMapper.selectById(id) == null) {
+ private MesWmReturnVendorDetailDO validateReturnVendorDetailExists(Long id) {
+ MesWmReturnVendorDetailDO detail = returnVendorDetailMapper.selectById(id);
+ if (detail == null) {
throw exception(WM_RETURN_VENDOR_DETAIL_NOT_EXISTS);
}
+ return detail;
}
/**
--
Gitblit v1.9.3