From eccad5a129106377a275be4f7cdc58e99e9b95d4 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 21 七月 2026 13:45:14 +0800
Subject: [PATCH] feat(mes): 实现库存移库功能
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 52 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 778f021..3b04bf6 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
@@ -2,8 +2,11 @@
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderItemRespDTO;
import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderRespDTO;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderDO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderItemDO;
+import cn.iocoder.yudao.module.erp.dal.mysql.purchase.ErpPurchaseOrderItemMapper;
import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus;
import cn.iocoder.yudao.module.erp.service.purchase.ErpPurchaseOrderService;
import jakarta.annotation.Resource;
@@ -11,6 +14,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
@@ -28,6 +32,9 @@
@Resource
private ErpPurchaseOrderService purchaseOrderService;
+
+ @Resource
+ private ErpPurchaseOrderItemMapper purchaseOrderItemMapper;
@Override
public CommonResult<ErpPurchaseOrderRespDTO> getPurchaseOrder(Long id) {
@@ -55,4 +62,49 @@
return success(BeanUtils.toBean(orders, ErpPurchaseOrderRespDTO.class));
}
+ @Override
+ public CommonResult<List<ErpPurchaseOrderItemRespDTO>> getPurchaseOrderItemList(Long orderId) {
+ if (orderId == null) {
+ return success(Collections.emptyList());
+ }
+ List<ErpPurchaseOrderItemDO> items = purchaseOrderService.getPurchaseOrderItemListByOrderId(orderId);
+ return success(BeanUtils.toBean(items, ErpPurchaseOrderItemRespDTO.class));
+ }
+
+ @Override
+ public CommonResult<ErpPurchaseOrderItemRespDTO> getPurchaseOrderItem(Long id) {
+ if (id == null) {
+ return success(null);
+ }
+ ErpPurchaseOrderItemDO item = purchaseOrderItemMapper.selectById(id);
+ return success(BeanUtils.toBean(item, ErpPurchaseOrderItemRespDTO.class));
+ }
+
+ @Override
+ public CommonResult<Boolean> updateOrderItemInCount(Long orderItemId, BigDecimal inCount) {
+ if (orderItemId == null || inCount == null) {
+ return success(false);
+ }
+ ErpPurchaseOrderItemDO item = purchaseOrderItemMapper.selectById(orderItemId);
+ if (item == null) {
+ return success(false);
+ }
+ // 绱姞鍏ュ簱鏁伴噺
+ BigDecimal newInCount = (item.getInCount() != null ? item.getInCount() : BigDecimal.ZERO).add(inCount);
+ ErpPurchaseOrderItemDO updateItem = new ErpPurchaseOrderItemDO();
+ updateItem.setId(orderItemId);
+ updateItem.setInCount(newInCount);
+ purchaseOrderItemMapper.updateById(updateItem);
+ return success(true);
+ }
+
+ @Override
+ public CommonResult<Boolean> updateOrderInStatus(Long orderId) {
+ if (orderId == null) {
+ return success(false);
+ }
+ purchaseOrderService.updatePurchaseOrderInStatus(orderId);
+ return success(true);
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3