From 8d350f76d9b8ca447f8eef680745cea2b3ec61d8 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期四, 25 六月 2026 09:09:17 +0800
Subject: [PATCH] fix: 报价、审核、采购台账、供应商往来、销售台账、客户往来小数点保留6位小数
---
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java | 40 ++++++++++++++++++++++++++++++++--------
1 files changed, 32 insertions(+), 8 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 a58bcfc..e847384 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -11,8 +11,10 @@
import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
import com.ruoyi.approve.bean.vo.ApproveGetAndUpdateVo;
import com.ruoyi.approve.bean.vo.ApproveProcessVO;
-import com.ruoyi.basic.dto.CustomerPrivatePoolDto;
-import com.ruoyi.basic.mapper.CustomerPrivatePoolMapper;
+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;
@@ -42,7 +44,7 @@
private final SalesQuotationProductService salesQuotationProductService;
private final ApproveProcessServiceImpl approveProcessService;
- private final CustomerPrivatePoolMapper customerPrivatePoolMapper;
+ private final CustomerMapper customerMapper;
@Override
public IPage<SalesQuotationDto> listPage(Page page, SalesQuotationDto salesQuotationDto) {
@@ -51,20 +53,40 @@
return salesQuotationDtoIPage;
}
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();
- CustomerPrivatePoolDto customerPrivatePoolDto = customerPrivatePoolMapper.selectInfo(Long.valueOf(salesQuotationDto.getCustomer()));
- if (ObjectUtils.isNotEmpty(customerPrivatePoolDto)) {
- BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
- salesQuotation.setCustomer(customerPrivatePoolDto.getCustomerName());
+ BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
+ salesQuotation.setId(null);
+ Customer customer = customerMapper.selectById(Long.valueOf(salesQuotationDto.getCustomerId()));
+ if (ObjectUtils.isNotEmpty(customer)) {
+ salesQuotation.setCustomer(customer.getCustomerName());
}
String quotationNo = OrderUtils.countTodayByCreateTime(salesQuotationMapper, "QT","quotation_no");
salesQuotation.setQuotationNo(quotationNo);
@@ -93,12 +115,13 @@
approveProcessService.addApprove(approveProcessVO);
}catch (Exception e){
log.error("SalesQuotationServiceImpl error:{}", e);
- throw new RuntimeException("瀹℃壒澶辫触");
+ throw new RuntimeException("瀹℃壒澶辫触");
}
return true;
}
@Override
public boolean edit(SalesQuotationDto salesQuotationDto) {
+ normalizeAmounts(salesQuotationDto);
SalesQuotation salesQuotation = new SalesQuotation();
BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
ApproveGetAndUpdateVo vo = new ApproveGetAndUpdateVo();
@@ -137,6 +160,7 @@
// 鍒犻櫎鎶ヤ环瀹℃壒
ApproveProcess one = approveProcessService.getOne(new LambdaQueryWrapper<ApproveProcess>()
.eq(ApproveProcess::getApproveType, 6)
+ .eq(ApproveProcess::getApproveDelete, IsDeleteEnum.NOT_DELETED)
.eq(ApproveProcess::getApproveReason, salesQuotation.getQuotationNo()));
if(one != null){
approveProcessService.delByIds(Collections.singletonList(one.getId()));
--
Gitblit v1.9.3