|
@@ -263,37 +263,39 @@ public class SaleStatementServiceImpl implements SaleStatementService {
|
|
|
* 处理到账金额
|
|
|
*/
|
|
|
List<ClaimContract> cList = claimContractMap.getOrDefault(p.getContractId(),null);
|
|
|
- BigDecimal contractArrival = cList.stream().map(claimContract -> {
|
|
|
- //获取汇率
|
|
|
- BigDecimal rate = assignCurrencyRatesMap.getOrDefault(claimContract.getCurrency(),BigDecimal.ONE);
|
|
|
- // 获取认领金额
|
|
|
- BigDecimal money = claimContract.getMoney();
|
|
|
- // 返回兑人民币后金额
|
|
|
- return rate.multiply(money);
|
|
|
- }).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- p.setContractArrival(contractArrival);
|
|
|
+ if(CollectionUtils.isNotEmpty(cList)){
|
|
|
+ BigDecimal contractArrival = cList.stream().map(claimContract -> {
|
|
|
+ //获取汇率
|
|
|
+ BigDecimal rate = assignCurrencyRatesMap.getOrDefault(claimContract.getCurrency(),BigDecimal.ONE);
|
|
|
+ // 获取认领金额
|
|
|
+ BigDecimal money = claimContract.getMoney();
|
|
|
+ // 返回兑人民币后金额
|
|
|
+ return rate.multiply(money);
|
|
|
+ }).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ p.setContractArrival(contractArrival);
|
|
|
+ }
|
|
|
/**
|
|
|
* 处理退税金额
|
|
|
*/
|
|
|
List<TaxRefundDetails> rList = refundDetailsMap.getOrDefault(p.getContractId(),null);
|
|
|
- BigDecimal taxReturnMoney = rList.stream().map(taxRefundDetails -> {
|
|
|
- //获取汇率
|
|
|
- BigDecimal rate = assignCurrencyRatesMap.getOrDefault(taxRefundDetails.getCurrency(),BigDecimal.ONE);
|
|
|
- // 获取认领金额
|
|
|
- BigDecimal money = taxRefundDetails.getAmount();
|
|
|
- // 返回兑人民币后金额
|
|
|
- return rate.multiply(money);
|
|
|
- }).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- p.setTaxReturnMoney(taxReturnMoney);
|
|
|
+ if(CollectionUtils.isNotEmpty(rList)){
|
|
|
+ BigDecimal taxReturnMoney = rList.stream().map(taxRefundDetails -> {
|
|
|
+ //获取汇率
|
|
|
+ BigDecimal rate = assignCurrencyRatesMap.getOrDefault(taxRefundDetails.getCurrency(),BigDecimal.ONE);
|
|
|
+ // 获取认领金额
|
|
|
+ BigDecimal money = taxRefundDetails.getAmount();
|
|
|
+ // 返回兑人民币后金额
|
|
|
+ return rate.multiply(money);
|
|
|
+ }).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ p.setTaxReturnMoney(taxReturnMoney);
|
|
|
+ }
|
|
|
}else{//取数据汇率
|
|
|
/**
|
|
|
* 处理到账金额
|
|
|
*/
|
|
|
List<ClaimContract> cList = claimContractMap.getOrDefault(p.getContractId(),new ArrayList<>());
|
|
|
List<Long> warterIds = cList.stream().distinct().map(ClaimContract::getBusinessId).collect(Collectors.toList());
|
|
|
- if(CollectionUtils.isEmpty(warterIds)){
|
|
|
- p.setContractArrival(BigDecimal.ZERO);
|
|
|
- }else{
|
|
|
+ if(CollectionUtils.isNotEmpty(warterIds)){
|
|
|
//查出流水
|
|
|
List<AccountRunningWater> accountRunningWaterList = accountRunningWaterService.list(Wrappers.<AccountRunningWater>query().lambda().select(AccountRunningWater::getRate,AccountRunningWater::getId).in(AccountRunningWater::getId,warterIds));
|
|
|
Map<Long,BigDecimal> waterMap = accountRunningWaterList.stream().collect(Collectors.toMap(AccountRunningWater::getId, AccountRunningWater::getRate));
|
|
@@ -321,8 +323,6 @@ public class SaleStatementServiceImpl implements SaleStatementService {
|
|
|
return rate.multiply(money);
|
|
|
}).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
p.setTaxReturnMoney(taxReturnMoney);
|
|
|
- }else{
|
|
|
- p.setTaxReturnMoney(BigDecimal.ZERO);
|
|
|
}
|
|
|
}
|
|
|
}
|