liusheng
3 天以前 fdc9651c4b83c18e044a3a9ac6b5e019ffa6328d
ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFunddetailServiceImpl.java
@@ -346,9 +346,9 @@
            // 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()));
@@ -360,26 +360,21 @@
                } 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());