diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index 7d0abd0ae4..f6a1a31b91 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java @@ -590,13 +590,16 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { resultDetails.add(dto2); decimal = decimal.add(voucherDetail.getAmount()); } else if (payCostTitleValue.equals("名义价")) { - Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 - dto2.setSummary("结清名义价款"); - dto2.setSubjectNo(bankCode); - dto2.setDimensionDept(voucherDetail.getDeptCode()); - dto2.setDimensionCustom(voucherDetail.getCustomerCode()); - dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend())); - resultDetails.add(dto2); + if (voucherDetail.getSubtrahend().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 + dto2.setSummary("结清名义价款"); + dto2.setSubjectNo(bankCode); + dto2.setDimensionDept(voucherDetail.getDeptCode()); + dto2.setDimensionCustom(voucherDetail.getCustomerCode()); + dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend())); + resultDetails.add(dto2); + decimal = decimal.add(voucherDetail.getSubtrahend()); + } if (voucherDetail.getBalance().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //贷方 dto3.setSummary("结清名义价款差额转收入"); @@ -606,15 +609,17 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { resultDetails.add(dto3); decimal = decimal.add(voucherDetail.getBalance()); } - decimal = decimal.add(voucherDetail.getSubtrahend()); } else if (payCostTitleValue.equals("合同违约金")) { - Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 - dto2.setSummary("还其他费用-合同违约金"); - dto2.setSubjectNo(bankCode); - dto2.setDimensionDept(voucherDetail.getDeptCode()); - dto2.setDimensionCustom(voucherDetail.getCustomerCode()); - dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend())); - resultDetails.add(dto2); + if (voucherDetail.getSubtrahend().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 + dto2.setSummary("还其他费用-合同违约金"); + dto2.setSubjectNo(bankCode); + dto2.setDimensionDept(voucherDetail.getDeptCode()); + dto2.setDimensionCustom(voucherDetail.getCustomerCode()); + dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend())); + resultDetails.add(dto2); + decimal = decimal.add(voucherDetail.getSubtrahend()); + } if (voucherDetail.getBalance().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //贷方 dto3.setSummary("其他费用差额转收入"); @@ -624,15 +629,17 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { resultDetails.add(dto3); decimal = decimal.add(voucherDetail.getBalance()); } - decimal = decimal.add(voucherDetail.getSubtrahend()); } else if (payCostTitleValue.equals("其他费用")) { - Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 - dto2.setSummary("还其他费用-资方其他费用"); - dto2.setSubjectNo(bankCode); - dto2.setDimensionDept(voucherDetail.getDeptCode()); - dto2.setDimensionCustom(voucherDetail.getCustomerCode()); - dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend())); - resultDetails.add(dto2); + if (voucherDetail.getSubtrahend().compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 + dto2.setSummary("还其他费用-资方其他费用"); + dto2.setSubjectNo(bankCode); + dto2.setDimensionDept(voucherDetail.getDeptCode()); + dto2.setDimensionCustom(voucherDetail.getCustomerCode()); + dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend())); + resultDetails.add(dto2); + decimal = decimal.add(voucherDetail.getSubtrahend()); + } if (voucherDetail.getBalance().compareTo(BigDecimal.ZERO) != 0) { Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //贷方 dto3.setSummary("收其他费用"); @@ -643,7 +650,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { resultDetails.add(dto3); decimal = decimal.add(voucherDetail.getBalance()); } - decimal = decimal.add(voucherDetail.getSubtrahend()); } else if (payCostTitleValue.equals("资方退还垫款")) { check = 1; Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java index 60352f616b..3c305c4e3e 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java @@ -199,6 +199,7 @@ public class LoanSettleApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanSettleApplyQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -747,7 +748,7 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { - jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); + jmRate = (fund.subtract(fundJm)).divide(fund, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); } boolean isTure = false; boolean isTure2 = false; @@ -889,7 +890,7 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { - jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); + jmRate = (fund.subtract(fundJm)).divide(fund, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); } boolean isTure = false; boolean isTure2 = false; @@ -1641,7 +1642,12 @@ public class LoanSettleApplyService extends MybatisBaseService voucherDetails = new ArrayList<>(); - LoanRepaymentPlanDetails planDetails = baseMapper.selectMainPeriodByBusVinSid(loanSettleApply.getBusVinSid()); + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid()); + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(scheduleSid); + if (schedule.getIsOtherPolicy().equals("1") && schedule.getSameBank().equals("0")) { + planDetails = baseMapper.selectMainPeriodByBusVinSid(loanSettleApply.getBusVinSid()); + } if (null != planDetails) { String useOrgSid = planDetails.getUseOrgSid(); SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); @@ -1650,12 +1656,8 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { - jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); + jmRate = (fund.subtract(fundJm)).divide(fund, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); } boolean isTure = false; boolean isTure2 = false; @@ -2462,7 +2464,7 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { - jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); + jmRate = (fund.subtract(fundJm)).divide(fund, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); } boolean isTure = false; boolean isTure2 = false; @@ -2521,7 +2523,7 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { - jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); + jmRate = (fund.subtract(fundJm)).divide(fund, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36")); } boolean isTure = false; boolean isTure2 = false; @@ -3253,7 +3255,7 @@ public class LoanSettleApplyService extends MybatisBaseService getFinSettleVo(String busVinSid, String receivablesName,String subscriptionMoney) { + public ResultBean getFinSettleVo(String busVinSid, String receivablesName, String subscriptionMoney) { ResultBean rb = ResultBean.fireFail(); SettleFinVo vo = new SettleFinVo(); LoanSettleApply apply = baseMapper.getFinSettleVo(busVinSid); @@ -3291,7 +3293,7 @@ public class LoanSettleApplyService extends MybatisBaseService voucherDetails = new ArrayList<>(); - LoanRepaymentPlanDetails planDetails = baseMapper.selectMainPeriodByBusVinSid(apply.getBusVinSid()); + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(apply.getBusVinSid()); + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(scheduleSid); + if (schedule.getIsOtherPolicy().equals("1") && schedule.getSameBank().equals("0")) { + planDetails = baseMapper.selectMainPeriodByBusVinSid(apply.getBusVinSid()); + } if (null != planDetails) { PaymentVoucher.PaymentVoucherDetail voucherDetail = new PaymentVoucher.PaymentVoucherDetail(); if (topping == 1) { @@ -3351,7 +3358,6 @@ public class LoanSettleApplyService extends MybatisBaseService