From 4d15fa8051884869c5b612d0641508874cc71811 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 29 七月 2026 11:04:15 +0800
Subject: [PATCH] feat(erp): 集成SRM供应商服务并优化ERP模块功能
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/api/purchase/ErpPurchaseOrderApiImpl.java | 63 +++++++++++++++++++++++++++++++
1 files changed, 63 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..3b1cedf 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,13 @@
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.ErpPurchaseOrderCreateReqDTO;
+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.controller.admin.purchase.vo.order.ErpPurchaseOrderSaveReqVO;
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 +16,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 +34,9 @@
@Resource
private ErpPurchaseOrderService purchaseOrderService;
+
+ @Resource
+ private ErpPurchaseOrderItemMapper purchaseOrderItemMapper;
@Override
public CommonResult<ErpPurchaseOrderRespDTO> getPurchaseOrder(Long id) {
@@ -55,4 +64,58 @@
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);
+ }
+
+ @Override
+ public CommonResult<Long> createPurchaseOrder(ErpPurchaseOrderCreateReqDTO createReqDTO) {
+ ErpPurchaseOrderSaveReqVO saveReqVO = BeanUtils.toBean(createReqDTO, ErpPurchaseOrderSaveReqVO.class);
+ if (createReqDTO.getItems() != null) {
+ saveReqVO.setItems(BeanUtils.toBean(createReqDTO.getItems(), ErpPurchaseOrderSaveReqVO.Item.class));
+ }
+ return success(purchaseOrderService.createPurchaseOrder(saveReqVO));
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3