|
|
@@ -155,19 +155,25 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setUpdateTime(new Date());
|
|
|
feeCenter.setUpdateUserName(AuthUtil.getUserName());
|
|
|
}
|
|
|
- // 金额
|
|
|
- BigDecimal amount = feeCenter.getAmount();
|
|
|
//计算字段null值处理
|
|
|
feeCenter.setQuantity(ObjectUtils.isNotNull(feeCenter.getQuantity()) ? feeCenter.getQuantity() : new BigDecimal("0.00"));
|
|
|
feeCenter.setPrice(ObjectUtils.isNotNull(feeCenter.getPrice()) ? feeCenter.getPrice() : new BigDecimal("0.00"));
|
|
|
feeCenter.setStlTtlAmount(ObjectUtils.isNotNull(feeCenter.getStlTtlAmount()) ? feeCenter.getStlTtlAmount() : new BigDecimal("0.00"));
|
|
|
+ // 金额
|
|
|
+ BigDecimal amount;
|
|
|
+ BigDecimal amountTax;
|
|
|
+ BigDecimal taxRate = feeCenter.getTaxRate().divide(new BigDecimal("100"),2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal price = feeCenter.getPrice().add(feeCenter.getPrice().multiply(taxRate));
|
|
|
+ amount = feeCenter.getQuantity().multiply(price);
|
|
|
+ amountTax = feeCenter.getPrice().multiply(taxRate).multiply(feeCenter.getQuantity());
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
+ feeCenter.setAmountTax(amountTax);
|
|
|
//判断是否是本位币
|
|
|
if (exrateType.equals(feeCenter.getCurCode())) {
|
|
|
feeCenter.setAmountLoc(amount);
|
|
|
} else {
|
|
|
feeCenter.setAmountLoc(feeCenter.getAmount().multiply(feeCenter.getExrate()));
|
|
|
}
|
|
|
- feeCenter.setAmount(amount);
|
|
|
feeCenter.setUnsettledAmount(feeCenter.getAmount().subtract(feeCenter.getStlTtlAmount()));
|
|
|
this.saveOrUpdate(feeCenter);
|
|
|
return R.data(feeCenter);
|
|
|
@@ -293,6 +299,7 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setPaymode(bills.getMpaymode());
|
|
|
feeCenter.setSort(count);
|
|
|
feeCenter.setCorpType(templateItems.getCorpType());
|
|
|
+ feeCenter.setTaxRate(items.getTaxRate());
|
|
|
count++;
|
|
|
if (ObjectUtils.isNull(templateItems.getCorpType())) {
|
|
|
BCorps bCorps = null;
|
|
|
@@ -491,6 +498,15 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setQuantity(new BigDecimal("1"));
|
|
|
feeCenter.setAmount(feeCenter.getPrice().multiply(feeCenter.getQuantity()));
|
|
|
}
|
|
|
+ // 金额
|
|
|
+ BigDecimal amount;
|
|
|
+ BigDecimal amountTax;
|
|
|
+ BigDecimal taxRate = feeCenter.getTaxRate().divide(new BigDecimal("100"),2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal price = feeCenter.getPrice().add(feeCenter.getPrice().multiply(taxRate));
|
|
|
+ amount = feeCenter.getQuantity().multiply(price);
|
|
|
+ amountTax = feeCenter.getPrice().multiply(taxRate).multiply(feeCenter.getQuantity());
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
+ feeCenter.setAmountTax(amountTax);
|
|
|
if (ObjectUtils.isNull(feeCenter.getAmount())) {
|
|
|
feeCenter.setAmount(new BigDecimal("0"));
|
|
|
}
|
|
|
@@ -803,20 +819,26 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setUpdateTime(new Date());
|
|
|
feeCenter.setUpdateUserName(AuthUtil.getUserName());
|
|
|
}
|
|
|
- // 金额
|
|
|
- BigDecimal amount = feeCenter.getAmount();
|
|
|
-
|
|
|
//计算字段null值处理
|
|
|
feeCenter.setQuantity(ObjectUtils.isNotNull(feeCenter.getQuantity()) ? feeCenter.getQuantity() : new BigDecimal("0.00"));
|
|
|
feeCenter.setPrice(ObjectUtils.isNotNull(feeCenter.getPrice()) ? feeCenter.getPrice() : new BigDecimal("0.00"));
|
|
|
+ feeCenter.setTaxRate(ObjectUtils.isNotNull(feeCenter.getTaxRate()) ? feeCenter.getTaxRate() : new BigDecimal("0.00"));
|
|
|
feeCenter.setStlTtlAmount(ObjectUtils.isNotNull(feeCenter.getStlTtlAmount()) ? feeCenter.getStlTtlAmount() : new BigDecimal("0.00"));
|
|
|
+ // 金额
|
|
|
+ BigDecimal amount;
|
|
|
+ BigDecimal amountTax;
|
|
|
+ BigDecimal taxRate = feeCenter.getTaxRate().divide(new BigDecimal("100"),2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal price = feeCenter.getPrice().add(feeCenter.getPrice().multiply(taxRate));
|
|
|
+ amount = feeCenter.getQuantity().multiply(price);
|
|
|
+ amountTax = feeCenter.getPrice().multiply(taxRate).multiply(feeCenter.getQuantity());
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
+ feeCenter.setAmountTax(amountTax);
|
|
|
//判断是否是本位币
|
|
|
if (exrateType.equals(feeCenter.getCurCode())) {
|
|
|
feeCenter.setAmountLoc(amount);
|
|
|
} else {
|
|
|
feeCenter.setAmountLoc(feeCenter.getAmount().multiply(feeCenter.getExrate()));
|
|
|
}
|
|
|
- feeCenter.setAmount(amount);
|
|
|
feeCenter.setUnsettledAmount(feeCenter.getAmount().subtract(feeCenter.getStlTtlAmount()));
|
|
|
feeCenterList.add(feeCenter);
|
|
|
}
|
|
|
@@ -933,49 +955,27 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setUpdateTime(new Date());
|
|
|
feeCenter.setUpdateUserName(AuthUtil.getUserName());
|
|
|
}
|
|
|
-
|
|
|
- /** --------------------金额计算-------------------------**/
|
|
|
- // 去税金额 = 数量quantity * 单价price
|
|
|
- BigDecimal amountNet = new BigDecimal("0.00");
|
|
|
- // 税额 = 去税金额amountNet * 税率taxRateSum
|
|
|
- BigDecimal amountTax = new BigDecimal("0.00");
|
|
|
- // 金额,amountTax + 去税金额amountNet - 折扣金额amountDiscount
|
|
|
- BigDecimal amount = new BigDecimal("0.00");
|
|
|
- //总税率 = 税率taxRate + 附加税率surchargeRate
|
|
|
- BigDecimal taxRate = new BigDecimal("0.00");
|
|
|
- // 税率 = 总税率/100
|
|
|
- BigDecimal taxRateSum = new BigDecimal("0.00");
|
|
|
-
|
|
|
//计算字段null值处理
|
|
|
feeCenter.setQuantity(ObjectUtils.isNotNull(feeCenter.getQuantity()) ? feeCenter.getQuantity() : new BigDecimal("0.00"));
|
|
|
feeCenter.setPrice(ObjectUtils.isNotNull(feeCenter.getPrice()) ? feeCenter.getPrice() : new BigDecimal("0.00"));
|
|
|
feeCenter.setSurchargeRate(ObjectUtils.isNotNull(feeCenter.getSurchargeRate()) ? feeCenter.getSurchargeRate() : new BigDecimal("0.00"));
|
|
|
feeCenter.setTaxRate(ObjectUtils.isNotNull(feeCenter.getTaxRate()) ? feeCenter.getTaxRate() : new BigDecimal("0.00"));
|
|
|
- feeCenter.setAmountDiscount(ObjectUtils.isNotNull(feeCenter.getAmountDiscount()) ? feeCenter.getAmountDiscount() : new BigDecimal("0.00"));
|
|
|
feeCenter.setStlTtlAmount(ObjectUtils.isNotNull(feeCenter.getStlTtlAmount()) ? feeCenter.getStlTtlAmount() : new BigDecimal("0.00"));
|
|
|
-
|
|
|
- amountNet = amountNet.add(feeCenter.getQuantity().multiply(feeCenter.getPrice()))
|
|
|
- .setScale(2, RoundingMode.HALF_UP);
|
|
|
- taxRate = taxRate.add(feeCenter.getTaxRate()).add(feeCenter.getSurchargeRate());
|
|
|
- taxRateSum = taxRateSum.add(taxRate.divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP));
|
|
|
- amountTax = amountTax.add(amountNet.multiply(taxRateSum)).setScale(2, RoundingMode.HALF_UP);
|
|
|
- amount = amount.add(amountNet.add(amountTax).subtract(feeCenter.getAmountDiscount()));
|
|
|
-
|
|
|
+ // 金额
|
|
|
+ BigDecimal amount;
|
|
|
+ BigDecimal amountTax;
|
|
|
+ BigDecimal taxRate = feeCenter.getTaxRate().divide(new BigDecimal("100"),2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal price = feeCenter.getPrice().add(feeCenter.getPrice().multiply(taxRate));
|
|
|
+ amount = feeCenter.getQuantity().multiply(price);
|
|
|
+ amountTax = feeCenter.getPrice().multiply(taxRate).multiply(feeCenter.getQuantity());
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
+ feeCenter.setAmountTax(amountTax);
|
|
|
//判断是否是本位币
|
|
|
if (exrateType.equals(feeCenter.getCurCode())) {
|
|
|
- feeCenter.setAmountNetLoc(amountNet);
|
|
|
- feeCenter.setAmountTaxLoc(amountTax);
|
|
|
feeCenter.setAmountLoc(amount);
|
|
|
- feeCenter.setAmountDiscountLoc(amount);
|
|
|
} else {
|
|
|
- feeCenter.setAmountNetLoc(amountNet.multiply(feeCenter.getExrate()));
|
|
|
- feeCenter.setAmountTaxLoc(amountTax.multiply(feeCenter.getExrate()));
|
|
|
feeCenter.setAmountLoc(amount.multiply(feeCenter.getExrate()));
|
|
|
- feeCenter.setAmountDiscountLoc(feeCenter.getAmountLoc());
|
|
|
}
|
|
|
- feeCenter.setAmountNet(amountNet);
|
|
|
- feeCenter.setAmountTax(amountTax);
|
|
|
- feeCenter.setAmount(amount);
|
|
|
feeCenter.setUnsettledAmount(feeCenter.getAmount().subtract(feeCenter.getStlTtlAmount()));
|
|
|
feeCenterList.add(feeCenter);
|
|
|
}
|
|
|
@@ -1609,6 +1609,16 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setQuantity(new BigDecimal("1"));
|
|
|
feeCenter.setAmount(feeCenter.getPrice().multiply(feeCenter.getQuantity()));
|
|
|
}
|
|
|
+ feeCenter.setTaxRate(items.getTaxRate());
|
|
|
+ // 金额
|
|
|
+ BigDecimal amount;
|
|
|
+ BigDecimal amountTax;
|
|
|
+ BigDecimal taxRate = feeCenter.getTaxRate().divide(new BigDecimal("100"),2, RoundingMode.HALF_UP);
|
|
|
+ BigDecimal price = feeCenter.getPrice().add(feeCenter.getPrice().multiply(taxRate));
|
|
|
+ amount = feeCenter.getQuantity().multiply(price);
|
|
|
+ amountTax = feeCenter.getPrice().multiply(taxRate).multiply(feeCenter.getQuantity());
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
+ feeCenter.setAmountTax(amountTax);
|
|
|
if (ObjectUtils.isNull(feeCenter.getAmount())) {
|
|
|
feeCenter.setAmount(new BigDecimal("0"));
|
|
|
}
|