From 5ddc232b8dffcb3402711874491df35fb1997d1d Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期六, 09 五月 2026 16:08:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 44 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
index 5e40d8a..b5003ae 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseReturnOrdersServiceImpl.java
@@ -2,32 +2,39 @@
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.common.enums.SaleEnum;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.purchase.dto.PurchaseReturnOrderDto;
import com.ruoyi.purchase.dto.PurchaseReturnOrderProductsDto;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.mapper.PurchaseReturnOrderProductsMapper;
import com.ruoyi.purchase.mapper.PurchaseReturnOrdersMapper;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.pojo.PurchaseReturnOrderProducts;
import com.ruoyi.purchase.pojo.PurchaseReturnOrders;
import com.ruoyi.purchase.service.PurchaseReturnOrdersService;
import com.ruoyi.purchase.vo.PurchaseReturnDetailsVo;
-import com.ruoyi.purchase.vo.PurchaseReturnOrderVo;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.purchase.dto.PurchaseReturnOrderHasAllInfoDto;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.service.ISalesLedgerService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.ruoyi.stock.mapper.StockOutRecordMapper;
+import com.ruoyi.stock.pojo.StockOutRecord;
+import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -42,20 +49,20 @@
* @since 2026-03-06 11:44:38
*/
@Service
+@RequiredArgsConstructor
public class PurchaseReturnOrdersServiceImpl extends ServiceImpl<PurchaseReturnOrdersMapper, PurchaseReturnOrders> implements PurchaseReturnOrdersService {
- @Autowired
- private PurchaseReturnOrdersMapper purchaseReturnOrdersMapper;
- @Autowired
- private PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper;
- @Autowired
- private ISalesLedgerService salesLedgerService;
-
- @Resource
- private AccountIncomeService accountIncomeService;
+ private final PurchaseReturnOrdersMapper purchaseReturnOrdersMapper;
+ private final PurchaseReturnOrderProductsMapper purchaseReturnOrderProductsMapper;
+ private final ISalesLedgerService salesLedgerService;
+ private final AccountIncomeService accountIncomeService;
+ private final StockUtils stockUtils;
+ private final SalesLedgerProductMapper salesLedgerProductMapper;
+ private final PurchaseLedgerMapper purchaseLedgerMapper;
+ private final StockOutRecordMapper stockOutRecordMapper;
@Override
- public IPage<PurchaseReturnOrderVo> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto) {
+ public IPage<PurchaseReturnOrderHasAllInfoDto> listPage(Page page, PurchaseReturnOrderDto purchaseReturnOrderDto) {
return purchaseReturnOrdersMapper.listPage(page, purchaseReturnOrderDto);
}
@@ -72,6 +79,10 @@
// 杩欓噷涓烘柊澧炲洜姝d涓簄ull
purchaseReturnOrderProductsDto.setId(null);
purchaseReturnOrderProductsMapper.insert(purchaseReturnOrderProductsDto);
+ //搴撳瓨闇�瑕佸嚭搴�(閲囪喘閫�璐�)
+ PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(purchaseReturnOrderDto.getPurchaseLedgerId());
+ SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(purchaseReturnOrderProductsDto.getSalesLedgerProductId());
+ stockUtils.substractStock(salesLedgerProduct.getProductModelId(), purchaseReturnOrderProductsDto.getReturnQuantity(), StockOutQualifiedRecordTypeEnum.PURCHASE_RETURN_STOCK_OUT.getCode(), purchaseReturnOrderDto.getId(), purchaseLedger.getPurchaseContractNumber()+"-"+salesLedgerProduct.getId());
}
}else {
throw new RuntimeException("璇烽�夋嫨閫�璐у晢鍝�");
@@ -96,7 +107,7 @@
@Override
public PurchaseReturnDetailsVo getPurchaseReturnOrderDtoById(Long id) {
- PurchaseReturnOrders purchaseReturnOrders = purchaseReturnOrdersMapper.selectById(id);
+ PurchaseReturnOrderHasAllInfoDto purchaseReturnOrders = purchaseReturnOrdersMapper.getPurchaseReturnOrderHasAllInfoById(id);
PurchaseReturnDetailsVo purchaseReturnOrderDto = BeanUtil.copyProperties(purchaseReturnOrders, PurchaseReturnDetailsVo.class);
// 鏌ヨ鍑轰粬鍏蜂綋瀵瑰簲鐨勯��璐�
LambdaQueryWrapper<PurchaseReturnOrderProducts> queryWrapper = new LambdaQueryWrapper<>();
@@ -117,4 +128,23 @@
return purchaseReturnOrderDto;
}
+
+ @Override
+ @Transactional
+ public void deleteById(Long id) {
+ purchaseReturnOrdersMapper.deleteById(id);
+ LambdaUpdateWrapper<PurchaseReturnOrderProducts> updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(PurchaseReturnOrderProducts::getPurchaseReturnOrderId, id);
+ purchaseReturnOrderProductsMapper.delete(updateWrapper);
+ //(閲囪喘閫�璐х殑鏁版嵁闇�瑕佸垹鎺�)
+ stockOutRecordMapper.delete(Wrappers.<StockOutRecord>lambdaQuery()
+ .eq(StockOutRecord::getRecordType,StockOutQualifiedRecordTypeEnum.PURCHASE_RETURN_STOCK_OUT.getCode())
+ .eq(StockOutRecord::getRecordId, id));
+ // 璐㈠姟
+ LambdaUpdateWrapper<AccountIncome> updateWrapperAccountIncome = new LambdaUpdateWrapper<>();
+ updateWrapperAccountIncome.eq(AccountIncome::getBusinessId, id);
+ updateWrapperAccountIncome.eq(AccountIncome::getBusinessType, 1);
+ updateWrapperAccountIncome.eq(AccountIncome::getIncomeType, 4);
+ accountIncomeService.remove(updateWrapperAccountIncome);
+ }
}
--
Gitblit v1.9.3