From 1f53841c3046579d366f061761241127c63da86a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 25 三月 2026 14:26:51 +0800
Subject: [PATCH] 采购销售审批功能完成
---
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 40 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 062adb6..abbd847 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -10,6 +10,7 @@
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountExpenseService;
import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.approve.service.IApproveProcessService;
import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.basic.mapper.ProductMapper;
@@ -378,6 +379,19 @@
LambdaQueryWrapper<ProductRecord> productRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
productRecordLambdaQueryWrapper.in(ProductRecord::getPurchaseLedgerId,ids);
productRecordMapper.delete(productRecordLambdaQueryWrapper);
+ // 鍒犻櫎鍏宠仈鐨勫鎵硅〃
+ List<String> strings = purchaseLedgerMapper.selectBatchIds(Arrays.asList(ids)).stream().map(PurchaseLedger::getPurchaseContractNumber).distinct().collect(Collectors.toList());
+ List<ApproveProcess> list = approveProcessService.list(Wrappers.<ApproveProcess>lambdaQuery()
+ .eq(ApproveProcess::getApproveType, 5)
+ .in(ApproveProcess::getApproveReason, strings));
+ if (CollectionUtils.isNotEmpty(list)){
+ List<String> approveIds = list.stream().map(ApproveProcess::getApproveId).distinct().collect(Collectors.toList());
+ Long[] ides = approveIds.stream()
+ .filter(s -> s != null && !s.isEmpty()) // 杩囨护绌哄瓧绗︿覆
+ .map(Long::valueOf)
+ .toArray(Long[]::new);
+ approveProcessService.delApprove(ides);
+ }
// 鎵归噺鍒犻櫎閲囪喘鍙拌处
return purchaseLedgerMapper.deleteBatchIds(Arrays.asList(ids));
}
@@ -532,6 +546,32 @@
return purchaseNo + String.format("%03d", sequence);
}
+ @Override
+ public PurchaseLedgerDto getPurchaseByCode(PurchaseLedgerDto purchaseLedgerDto) {
+ // 1. 鏌ヨ涓昏〃
+ PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectOne(new LambdaQueryWrapper<PurchaseLedger>()
+ .eq(PurchaseLedger::getPurchaseContractNumber, purchaseLedgerDto.getPurchaseContractNumber())
+ .last("LIMIT 1"));
+ if (purchaseLedger == null) {
+ throw new BaseException("閲囪喘鍙拌处涓嶅瓨鍦�");
+ }
+
+ // 2. 鏌ヨ瀛愯〃
+ LambdaQueryWrapper<SalesLedgerProduct> productWrapper = new LambdaQueryWrapper<>();
+ productWrapper.eq(SalesLedgerProduct::getSalesLedgerId, purchaseLedger.getId())
+ .eq(SalesLedgerProduct::getType, 2);
+ List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
+
+ // 4. 杞崲 DTO
+ PurchaseLedgerDto resultDto = new PurchaseLedgerDto();
+ BeanUtils.copyProperties(purchaseLedger, resultDto);
+ if (!products.isEmpty()) {
+ resultDto.setHasChildren(true);
+ resultDto.setProductData(products);
+ }
+ return resultDto;
+ }
+
/**
* 涓嬪垝绾垮懡鍚嶈浆椹煎嘲鍛藉悕
*/
--
Gitblit v1.9.3