From 7c03ac9182b338a13dce52631b2924da7793dd5e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 17 十月 2026 18:36:50 +0800
Subject: [PATCH] feat(mes): 仓储物流单据跨模块关联字段支持手工填写
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java
index 67cb907..3bd691a 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptServiceImpl.java
@@ -10,7 +10,7 @@
import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWmOutsourceReceiptPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWmOutsourceReceiptSaveReqVO;
-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.workorder.MesProWorkOrderDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.outsourcereceipt.MesWmOutsourceReceiptDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.outsourcereceipt.MesWmOutsourceReceiptDetailDO;
@@ -20,8 +20,8 @@
import cn.iocoder.yudao.module.mes.enums.wm.MesWmOutsourceReceiptStatusEnum;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum;
import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
-import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
-import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService;
+import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService;
+import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi;
import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService;
import cn.iocoder.yudao.module.mes.service.wm.transaction.MesWmTransactionService;
import cn.iocoder.yudao.module.mes.service.wm.transaction.dto.MesWmTransactionSaveReqDTO;
@@ -56,9 +56,9 @@
@Resource
private MesWmTransactionService wmTransactionService;
@Resource
- private MesMdVendorService vendorService;
+ private SrmSupplierApi srmSupplierApi;
@Resource
- private MesMdItemService itemService;
+ private MesMdmItemService mdmItemService;
@Resource
private MesProWorkOrderService workOrderService;
@@ -108,11 +108,11 @@
public PageResult<MesWmOutsourceReceiptDO> getOutsourceReceiptPage(MesWmOutsourceReceiptPageReqVO pageReqVO) {
List<Long> workOrderIds = null;
if (StrUtil.isNotBlank(pageReqVO.getWorkOrderCode())) {
+ // 宸ュ崟鍙锋棦鍙兘鏄叧鑱斿伐鍗曪紝涔熷彲鑳芥槸鎵嬪伐濉啓鏂囨湰锛氭壘鍒板伐鍗曟寜 ID 杩囨护锛屾壘涓嶅埌鍒欐寜鏂囨湰妯$硦鍖归厤
MesProWorkOrderDO workOrder = workOrderService.getWorkOrder(pageReqVO.getWorkOrderCode());
- if (workOrder == null) {
- return PageResult.empty();
+ if (workOrder != null) {
+ workOrderIds = java.util.Collections.singletonList(workOrder.getId());
}
- workOrderIds = java.util.Collections.singletonList(workOrder.getId());
}
return outsourceReceiptMapper.selectPage(pageReqVO, workOrderIds);
}
@@ -160,7 +160,7 @@
MesWmOutsourceReceiptDetailDO::getQuantity, BigDecimal::add, BigDecimal.ZERO);
// 瀵规瘮琛屾暟閲忎笌鏄庣粏鎬绘暟閲忥紝涓嶆弧瓒崇洿鎺ユ姏鍑�
if (line.getQuantity().compareTo(totalDetailQuantity) > 0) {
- MesMdItemDO item = itemService.validateItemExistsAndEnable(line.getItemId());
+ MesMdmItemDO item = mdmItemService.validateItemExistsAndEnable(line.getItemId());
throw exception(WM_OUTSOURCE_RECEIPT_DETAIL_QUANTITY_MISMATCH,
item.getCode() + " " + item.getName() + " 鏈畬鎴愪笂鏋�");
}
@@ -308,8 +308,10 @@
private void validateOutsourceReceiptSaveData(Long id, MesWmOutsourceReceiptSaveReqVO reqVO) {
// 鏍¢獙缂栫爜鍞竴
validateCodeUnique(id, reqVO.getCode());
- // 鏍¢獙渚涘簲鍟嗗瓨鍦�
- vendorService.validateVendorExistsAndEnable(reqVO.getVendorId());
+ // 鏍¢獙渚涘簲鍟嗗瓨鍦紙浠呭叧鑱斾緵搴斿晢妗f鏃讹紱鎵嬪伐濉啓渚涘簲鍟嗗悕绉颁笉鏍¢獙锛�
+ if (reqVO.getVendorId() != null) {
+ srmSupplierApi.getSupplier(reqVO.getVendorId());
+ }
// 鏍¢獙澶栧崗宸ュ崟瀛樺湪
if (reqVO.getWorkOrderId() != null) {
workOrderService.validateWorkOrderConfirmed(reqVO.getWorkOrderId());
--
Gitblit v1.9.3