| | |
| | | // 5.2.3 算税逻辑 |
| | | if (detail.getServicesscopename().contains("税后")) { |
| | | // 税后明细:累计税后金额,反推税前金额和税金 |
| | | if (idcard.equals("330103196704060019")) { |
| | | log.info("330103196704060019"); |
| | | } |
| | | // if (idcard.equals("362329199103224511")) { |
| | | // log.info("朱玮安"); |
| | | // } |
| | | BigDecimal newTaxedAmounts = BigDecimal.valueOf(taxSum.getTaxedAmounts()).add(BigDecimal.valueOf(detail.getTaxedamount())); |
| | | String taxationBefore = TaxtUtils.getTaxationBefore(newTaxedAmounts); |
| | | BigDecimal amountNow = new BigDecimal(taxationBefore).subtract(BigDecimal.valueOf(taxSum.getAmounts())); |
| | |
| | | } else { |
| | | detail.setTaxTime(serviceFund1.getFundtaxtime()); |
| | | } |
| | | if (tax.doubleValue() < 0) { |
| | | log.info("小于0了"); |
| | | } |
| | | taxSum.setAmounts((BigDecimal.valueOf(taxSum.getAmounts()).add(amountNow)).doubleValue()); |
| | | taxSum.setTaxAmounts((BigDecimal.valueOf(taxSum.getTaxAmounts()).add(tax)).doubleValue()); |
| | | taxSum.setTaxedAmounts(newTaxedAmounts.doubleValue()); |
| | | } else { |
| | | // 税前明细:累计税前金额,算总税金,再算本次税金和税后金额 |
| | | BigDecimal newAmounts = BigDecimal.valueOf(taxSum.getAmounts()).add(BigDecimal.valueOf(detail.getAmount())); |
| | | if (idcard.equals("330103196704060019")) { |
| | | log.info("330103196704060019"); |
| | | } |
| | | // if (idcard.equals("362329199103224511")) { |
| | | // log.info("朱玮安"); |
| | | // } |
| | | String taxation = TaxtUtils.getTaxation(newAmounts); |
| | | |
| | | BigDecimal taxAmountNow = new BigDecimal(taxation).subtract(new BigDecimal(String.valueOf(taxSum.getTaxAmounts()))); |
| | | BigDecimal texdAfterNow = BigDecimal.valueOf(detail.getAmount()).subtract(taxAmountNow); |
| | | detail.setTaxamount(taxAmountNow.doubleValue()); |
| | | detail.setTaxedamount(texdAfterNow.doubleValue()); |
| | | if (taxAmountNow.doubleValue() < 0) { |
| | | log.info("小于0了"); |
| | | } |
| | | |
| | | if (ObjectUtils.isEmpty(serviceFund1.getFundtaxtime())) { |
| | | detail.setTaxTime(new Date()); |