From 68b49efb4da346edb42a5d8ebb39af47207402bd Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期一, 12 十月 2026 11:14:13 +0800
Subject: [PATCH] 修改了报销校验
---
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java | 46 ++++++++++++++++++++++++++++++++--------------
1 files changed, 32 insertions(+), 14 deletions(-)
diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
index 251704e..7488e4b 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -136,21 +136,30 @@
*/
@Override
public Double getTaxByBeneFiciaryNo(TaxMoneyVO taxMoneyVo) {
- Double sum = 0.00;
- Double totalScore = 0.00;
+ // 閲戦绱姞蹇呴』鐢� BigDecimal锛歞ouble 绱姞浼氬紩鍏ユ诞鐐瑰熬宸紝瀵艰嚧绠楀嚭鐨勪釜绋庡嚭鐜板垎浠ヤ笅璇樊
+ BigDecimal sum = BigDecimal.ZERO;
+ BigDecimal totalScore = BigDecimal.ZERO;
List<ServiceFunddetail> taxationByBeneFiciaryNo = serviceFunddetailMapper.getTaxBeforeByBeneFiciaryNo(taxMoneyVo);
if (CollectionUtils.isNotEmpty(taxationByBeneFiciaryNo)) {
//璁$畻鐢宠閲戦鎬诲拰锛屼笉鍖呮嫭褰撳墠浼犺繘鏉ョ殑
- sum = taxationByBeneFiciaryNo.stream().mapToDouble(ServiceFunddetail::getAmount).sum();
+ sum = taxationByBeneFiciaryNo.stream()
+ .map(ServiceFunddetail::getAmount)
+ .filter(java.util.Objects::nonNull)
+ .map(BigDecimal::valueOf)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
//涓嶅姞鏈钖叕鐨勪釜绋�
- totalScore = taxationByBeneFiciaryNo.stream().mapToDouble(ServiceFunddetail::getTaxamount).sum();
+ totalScore = taxationByBeneFiciaryNo.stream()
+ .map(ServiceFunddetail::getTaxamount)
+ .filter(java.util.Objects::nonNull)
+ .map(BigDecimal::valueOf)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
}
- sum = sum + new Double(taxMoneyVo.getMoney());
+ sum = sum.add(new BigDecimal(taxMoneyVo.getMoney()));
//鍔犱笂鏈钖叕鐨勬�讳釜绋�
- String taxation = TaxtUtils.getTaxation(new BigDecimal(sum));
+ String taxation = TaxtUtils.getTaxation(sum);
- Double tax = Double.valueOf(taxation) - totalScore;
+ Double tax = new BigDecimal(taxation).subtract(totalScore).doubleValue();
return tax;
}
@@ -163,21 +172,30 @@
@Override
public TaxedMoneyVO getTaxBeforeByAfterMoney(TaxMoneyVO taxMoneyVo) {
TaxedMoneyVO taxedMoneyVO = new TaxedMoneyVO();
- Double sum = 0.00;
- Double totalScore = 0.00;
+ // 閲戦绱姞蹇呴』鐢� BigDecimal锛岄伩鍏嶆诞鐐瑰熬宸奖鍝嶇◣鍓�/绋庨缁撴灉
+ BigDecimal sum = BigDecimal.ZERO;
+ BigDecimal totalScore = BigDecimal.ZERO;
List<ServiceFunddetail> taxationByBeneFiciaryNo = serviceFunddetailMapper.getTaxBeforeByBeneFiciaryNo(taxMoneyVo);
if (CollectionUtils.isNotEmpty(taxationByBeneFiciaryNo)) {
//璁$畻鍑虹◣鍚庢�婚噾棰濓紙涓嶅寘鍚湰娆★級
- sum = taxationByBeneFiciaryNo.stream().mapToDouble(ServiceFunddetail::getTaxedamount).sum();
+ sum = taxationByBeneFiciaryNo.stream()
+ .map(ServiceFunddetail::getTaxedamount)
+ .filter(java.util.Objects::nonNull)
+ .map(BigDecimal::valueOf)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
//姹傚嚭涔嬪墠鐨勬�荤殑涓◣
- totalScore = taxationByBeneFiciaryNo.stream().mapToDouble(ServiceFunddetail::getTaxamount).sum();
+ totalScore = taxationByBeneFiciaryNo.stream()
+ .map(ServiceFunddetail::getTaxamount)
+ .filter(java.util.Objects::nonNull)
+ .map(BigDecimal::valueOf)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
}
//璁$畻鍑烘�荤殑绋庡悗钖叕锛堝寘鍚湰娆★級
- sum = sum + Double.valueOf(taxMoneyVo.getMoney());
+ sum = sum.add(new BigDecimal(taxMoneyVo.getMoney()));
//绋庡墠鎬婚噾棰�
- String taxationBefore = TaxtUtils.getTaxationBefore(new BigDecimal(sum));
+ String taxationBefore = TaxtUtils.getTaxationBefore(sum);
//鎬讳釜绋�
- BigDecimal tax = new BigDecimal(taxationBefore).subtract(new BigDecimal(sum));
+ BigDecimal tax = new BigDecimal(taxationBefore).subtract(sum);
//鏈鐨勭◣鍓嶉噾棰�
String nowTaxMoney = TaxtUtils.getTaxationBefore(new BigDecimal(taxMoneyVo.getMoney()));
--
Gitblit v1.9.3