From 47806d9e390ee00e1d29ad1da8c1aa908882a758 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 11 八月 2026 14:43:59 +0800
Subject: [PATCH] 用河南鹤壁代码覆盖山西长治
---
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java | 75 ++++++++++++++++---------------------
1 files changed, 32 insertions(+), 43 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
index 983e717..e847384 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -7,16 +7,14 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.approve.bean.dto.ApprovalInstanceDto;
+import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
import com.ruoyi.approve.bean.vo.ApproveProcessVO;
-import com.ruoyi.approve.mapper.ApprovalTemplateMapper;
-import com.ruoyi.approve.pojo.ApproveProcess;
-import com.ruoyi.approve.service.ApprovalInstanceService;
-import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.enums.IsDeleteEnum;
+import com.ruoyi.common.utils.AmountUtils;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
@@ -33,8 +31,8 @@
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
import java.util.stream.Collectors;
@Service
@@ -47,8 +45,6 @@
private final ApproveProcessServiceImpl approveProcessService;
private final CustomerMapper customerMapper;
- private final ApprovalTemplateMapper approvalTemplateMapper;
- private final ApprovalInstanceService approvalInstanceService;
@Override
public IPage<SalesQuotationDto> listPage(Page page, SalesQuotationDto salesQuotationDto) {
@@ -56,31 +52,34 @@
if(CollectionUtils.isEmpty(salesQuotationDtoIPage.getRecords())){
return salesQuotationDtoIPage;
}
-
- // 鎵归噺鏌ヨ浜у搧锛岄伩鍏� N+1 闂
- List<Long> quotationIds = salesQuotationDtoIPage.getRecords().stream()
- .map(SalesQuotationDto::getId)
- .filter(Objects::nonNull)
- .collect(Collectors.toList());
-
- if (!quotationIds.isEmpty()) {
- List<SalesQuotationProduct> allProducts = salesQuotationProductMapper.selectList(
- new LambdaQueryWrapper<SalesQuotationProduct>()
- .in(SalesQuotationProduct::getSalesQuotationId, quotationIds)
- );
-
- Map<Long, List<SalesQuotationProduct>> productMap = allProducts.stream()
- .collect(Collectors.groupingBy(SalesQuotationProduct::getSalesQuotationId));
-
- salesQuotationDtoIPage.getRecords().forEach(record ->
- record.setProducts(productMap.getOrDefault(record.getId(), new ArrayList<>()))
- );
- }
+ salesQuotationDtoIPage.getRecords().forEach(record -> {
+ record.setTotalAmount(AmountUtils.scaleAmount(record.getTotalAmount()));
+ List<SalesQuotationProduct> products = salesQuotationProductMapper.selectBySalesQuotationId(record.getId());
+ if (!CollectionUtils.isEmpty(products)) {
+ products.forEach(product -> {
+ product.setUnitPrice(AmountUtils.scaleAmount(product.getUnitPrice()));
+ product.setAmount(AmountUtils.scaleAmount(product.getAmount()));
+ });
+ }
+ record.setProducts(products);
+ });
return salesQuotationDtoIPage;
+ }
+
+ private void normalizeAmounts(SalesQuotationDto salesQuotationDto) {
+ salesQuotationDto.setTotalAmount(AmountUtils.scaleAmount(salesQuotationDto.getTotalAmount()));
+ if (CollectionUtils.isEmpty(salesQuotationDto.getProducts())) {
+ return;
+ }
+ salesQuotationDto.getProducts().forEach(product -> {
+ product.setUnitPrice(AmountUtils.scaleAmount(product.getUnitPrice()));
+ product.setAmount(AmountUtils.scaleAmount(product.getAmount()));
+ });
}
@Override
public boolean add(SalesQuotationDto salesQuotationDto) {
+ normalizeAmounts(salesQuotationDto);
LoginUser loginUser = SecurityUtils.getLoginUser();
SalesQuotation salesQuotation = new SalesQuotation();
BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
@@ -114,25 +113,15 @@
approveProcessVO.setPrice(salesQuotationDto.getTotalAmount());
try {
approveProcessService.addApprove(approveProcessVO);
- } catch (Exception e) {
- log.error("SalesQuotationServiceImpl approve error for quotationNo: {}", e);
- throw new RuntimeException("瀹℃壒澶辫触: " + e.getMessage(), e);
+ }catch (Exception e){
+ log.error("SalesQuotationServiceImpl error:{}", e);
+ throw new RuntimeException("瀹℃壒澶辫触");
}
- // 鎶ヤ环瀹℃壒
- ApprovalInstanceDto approvalInstanceDto = new ApprovalInstanceDto();
- approvalInstanceDto.setTemplateId(salesQuotationDto.getTemplateId());
- approvalInstanceDto.setBusinessId(salesQuotationDto.getId());
- approvalInstanceDto.setBusinessType(7L);
- approvalInstanceDto.setTitle("鎶ヤ环缂栧彿锛�" + quotationNo);
- approvalInstanceDto.setApplicantId(SecurityUtils.getUserId());
- approvalInstanceDto.setTemplateName(approvalTemplateMapper.selectById(salesQuotationDto.getTemplateId()).getTemplateName());
- approvalInstanceDto.setApplicantName(SecurityUtils.getLoginUser().getNickName());
- approvalInstanceDto.setApplyTime(LocalDateTime.now());
- approvalInstanceService.add(approvalInstanceDto);
return true;
}
@Override
public boolean edit(SalesQuotationDto salesQuotationDto) {
+ normalizeAmounts(salesQuotationDto);
SalesQuotation salesQuotation = new SalesQuotation();
BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
ApproveGetAndUpdateVo vo = new ApproveGetAndUpdateVo();
--
Gitblit v1.9.3