From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
index b085553..50479f2 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
@@ -78,6 +78,7 @@
// 鎻掑叆
MesWmArrivalNoticeDO notice = BeanUtils.toBean(createReqVO, MesWmArrivalNoticeDO.class);
+ fillContractNoFromPurchaseOrder(notice);
notice.setStatus(MesWmArrivalNoticeStatusEnum.PREPARE.getStatus());
arrivalNoticeMapper.insert(notice);
return notice.getId();
@@ -92,7 +93,21 @@
// 鏇存柊
MesWmArrivalNoticeDO updateObj = BeanUtils.toBean(updateReqVO, MesWmArrivalNoticeDO.class);
+ fillContractNoFromPurchaseOrder(updateObj);
arrivalNoticeMapper.updateById(updateObj);
+ }
+
+ /**
+ * 閲囪喘鍚堝悓鍙锋湭鏄惧紡浼犲叆鏃讹紝浠庡叧鑱旂殑閲囪喘璁㈠崟甯﹀叆锛堟崲璐у埌璐у繀椤昏兘杩芥函鍒板師閲囪喘鍚堝悓锛�
+ */
+ private void fillContractNoFromPurchaseOrder(MesWmArrivalNoticeDO notice) {
+ if (notice.getPurchaseOrderId() == null || cn.hutool.core.util.StrUtil.isNotBlank(notice.getContractNo())) {
+ return;
+ }
+ ErpPurchaseOrderRespDTO purchaseOrder = purchaseOrderApi.getPurchaseOrder(notice.getPurchaseOrderId()).getCheckedData();
+ if (purchaseOrder != null) {
+ notice.setContractNo(purchaseOrder.getContractNo());
+ }
}
private void validateArrivalNoticeSaveData(MesWmArrivalNoticeSaveReqVO reqVO) {
@@ -336,6 +351,7 @@
notice.setName(purchaseOrder.getNo() + "鍒拌揣閫氱煡");
notice.setPurchaseOrderId(purchaseOrderId);
notice.setPurchaseOrderCode(purchaseOrder.getNo());
+ notice.setContractNo(purchaseOrder.getContractNo());
notice.setVendorId(purchaseOrder.getSupplierId());
notice.setArrivalDate(java.time.LocalDateTime.now()); // 鍒拌揣鏃堕棿涓哄綋鍓嶆椂闂�
notice.setStatus(MesWmArrivalNoticeStatusEnum.PENDING_RECEIPT.getStatus());
@@ -414,6 +430,9 @@
notice.setName(returnVendor.getCode() + "鎹㈣揣鍒拌揣");
notice.setPurchaseOrderId(returnVendor.getPurchaseOrderId());
notice.setPurchaseOrderCode(returnVendor.getPurchaseOrderCode());
+ // 鎹㈣揣閲嶆柊鍏宠仈鍘熼噰璐悎鍚屽彿锛氫紭鍏堝彇閫�璐у崟蹇収锛岄��璐у崟鏈揩鐓ф椂鍥炲~閲囪喘璁㈠崟鍚堝悓鍙�
+ notice.setContractNo(returnVendor.getContractNo());
+ fillContractNoFromPurchaseOrder(notice);
notice.setVendorId(returnVendor.getVendorId());
notice.setArrivalDate(java.time.LocalDateTime.now());
notice.setStatus(MesWmArrivalNoticeStatusEnum.PENDING_QC.getStatus());
--
Gitblit v1.9.3