From 70ea74cfb981f812bfa4e3ef91843c5ad93f7b27 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 04 十一月 2026 17:32:49 +0800
Subject: [PATCH] feat(erp): 采购台账改造与采购退货增强
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java
index 46d3400..77e1ffd 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java
@@ -38,6 +38,9 @@
@Resource
private ErpPurchaseOrderItemMapper purchaseOrderItemMapper;
+ @Resource
+ private cn.iocoder.yudao.module.erp.dal.mysql.purchase.ErpPurchaseOrderMapper purchaseOrderMapper;
+
@Override
public CommonResult<ErpPurchaseOrderRespDTO> getPurchaseOrder(Long id) {
ErpPurchaseOrderDO order = purchaseOrderService.getPurchaseOrder(id);
@@ -101,6 +104,31 @@
}
@Override
+ public CommonResult<Boolean> updateOrderItemReturnCount(Long orderItemId, BigDecimal returnCount) {
+ if (orderItemId == null || returnCount == null) {
+ return success(false);
+ }
+ ErpPurchaseOrderItemDO item = purchaseOrderItemMapper.selectById(orderItemId);
+ if (item == null) {
+ return success(false);
+ }
+ // 绱姞閫�璐ф暟閲�
+ BigDecimal oldReturnCount = item.getReturnCount() != null ? item.getReturnCount() : BigDecimal.ZERO;
+ BigDecimal newReturnCount = oldReturnCount.add(returnCount);
+ purchaseOrderItemMapper.updateById(new ErpPurchaseOrderItemDO()
+ .setId(orderItemId)
+ .setReturnCount(newReturnCount));
+ // 鍚屾鏇存柊璁㈠崟绾ч��璐ф暟閲忥細鎸夎鍗曚笅鎵�鏈夋槑缁嗙殑閫�璐ф暟閲忔眰鍜岋紝閬垮厤鍙紶鍗曟潯鎶婂叾瀹冭娓呴浂
+ BigDecimal totalReturnCount = purchaseOrderItemMapper.selectListByOrderId(item.getOrderId()).stream()
+ .map(orderItem -> orderItem.getReturnCount() != null ? orderItem.getReturnCount() : BigDecimal.ZERO)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ purchaseOrderMapper.updateById(new ErpPurchaseOrderDO()
+ .setId(item.getOrderId())
+ .setReturnCount(totalReturnCount));
+ return success(true);
+ }
+
+ @Override
public CommonResult<Boolean> updateOrderInStatus(Long orderId) {
if (orderId == null) {
return success(false);
--
Gitblit v1.9.3