From 7e75478985c733962ccd96bac5b072b7a7336754 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 6 Sep 2024 18:09:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=BB=93=E6=B8=85=E5=AE=A1?= =?UTF-8?q?=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinCollectionConfirmationService.java | 2 +- .../fin/biz/kingdee/FinKingDeeFeignRest.java | 18 +- .../loansettleapply/LoanSettleApplyFeign.java | 4 +- .../loansettleapply/LoanSettleApplyRest.java | 4 +- .../LoanSettleApplyService.java | 231 +++++++++--------- 5 files changed, 134 insertions(+), 125 deletions(-) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index f0b647aacf..477043d8dd 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -4141,7 +4141,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSettleVo = loanSettleApplyFeign.getFinSettleVo(planDetails.getBusVinSid(), v.getReceivablesName()); + ResultBean finSettleVo = loanSettleApplyFeign.getFinSettleVo(planDetails.getBusVinSid(), v.getReceivablesName(),v.getSubscriptionMoney()); if (finSettleVo.getSuccess()) { SettleFinVo finVo = finSettleVo.getData(); voucherDetail.setPayCostTitleValue(v.getReceivablesName()); 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 15eec3e7c3..94df0942fa 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 @@ -298,7 +298,9 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto1.setDimensionDept(voucherDetail.getDeptCode()); dto1.setDimensionCustom(voucherDetail.getCustomerCode()); dto2.setDimensionDept(voucherDetail.getDeptCode()); - dto2.setDimensionCustom(voucherDetail.getCustomerCode()); + if (!voucherDetail.getSceneCode().equals("资金占用费减免")) { + dto2.setDimensionCustom(voucherDetail.getCustomerCode()); + } resultDetails.add(dto1); resultDetails.add(dto2); } @@ -513,6 +515,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { StringBuffer sb = new StringBuffer(); Set setString = new HashSet<>(); BigDecimal amountAll = new BigDecimal(0); + BigDecimal decimal = BigDecimal.ZERO; int check = 0; Date date = null; List resultDetails = new ArrayList<>(); @@ -538,7 +541,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { if (StringUtils.isNotBlank(voucherDetail.getBankName())) { DictCommonVo dictCommonVo2 = dictCommonFeign.selectBykey(voucherDetail.getBankName(), "investorsCode").getData(); if (null != dictCommonVo2) { - bankCode = dictCommonVo.getDictValue(); + bankCode = dictCommonVo2.getDictValue(); } } String payCostTitleValue = voucherDetail.getPayCostTitleValue(); @@ -564,6 +567,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto2.setDimensionCustom(voucherDetail.getCustomerCode()); dto2.setCredit(String.valueOf(voucherDetail.getAmount())); resultDetails.add(dto2); + decimal = decimal.add(voucherDetail.getAmount()); } else if (payCostTitleValue.equals("资金占用费")) { setString.add("累欠"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 @@ -575,6 +579,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } dto2.setCredit(String.valueOf(voucherDetail.getAmount())); resultDetails.add(dto2); + decimal = decimal.add(voucherDetail.getAmount()); } else if (payCostTitleValue.equals("结清时资方逾期利息")) { setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 @@ -584,6 +589,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto2.setDimensionCustom(voucherDetail.getCustomerCode()); dto2.setCredit(String.valueOf(voucherDetail.getAmount())); resultDetails.add(dto2); + decimal = decimal.add(voucherDetail.getAmount()); } else if (payCostTitleValue.equals("名义价")) { setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 @@ -600,7 +606,9 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto3.setDimensionDept(voucherDetail.getDeptCode()); dto3.setCredit(String.valueOf(voucherDetail.getBalance())); resultDetails.add(dto3); + decimal = decimal.add(voucherDetail.getBalance()); } + decimal = decimal.add(voucherDetail.getSubtrahend()); } else if (payCostTitleValue.equals("合同违约金")) { setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 @@ -617,7 +625,9 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto3.setDimensionDept(voucherDetail.getDeptCode()); dto3.setCredit(String.valueOf(voucherDetail.getBalance())); resultDetails.add(dto3); + decimal = decimal.add(voucherDetail.getBalance()); } + decimal = decimal.add(voucherDetail.getSubtrahend()); } else if (payCostTitleValue.equals("其他费用")) { setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 @@ -635,7 +645,9 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto3.setDimensionCustom(voucherDetail.getCustomerCode()); dto3.setCredit(String.valueOf(voucherDetail.getBalance())); 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(); //借方 @@ -697,6 +709,8 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } newVoucher.setResultDetails(resultDetails); } + System.out.println("借方 --" + amountAll); + System.out.println("贷方 --" + decimal); log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher)); return voucherService.saveVoucher(newVoucher); } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java index c4397bc5f6..f3c0203939 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java @@ -98,7 +98,9 @@ public interface LoanSettleApplyFeign { @ApiOperation(value = "金融认款返回公司应收和资方应收") @PostMapping(value = "/getFinSettleVo") - ResultBean getFinSettleVo(@RequestParam("busVinSid") String busVinSid,@RequestParam("receivablesName") String receivablesName); + ResultBean getFinSettleVo(@RequestParam("busVinSid") String busVinSid, + @RequestParam("receivablesName") String receivablesName, + @RequestParam("subscriptionMoney") String subscriptionMoney); @ApiOperation(value = "推送资方结清款凭证") @PostMapping(value = "/pushBankVoucher") diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java index ecdcbfec5a..acafaa30b0 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java @@ -120,8 +120,8 @@ public class LoanSettleApplyRest implements LoanSettleApplyFeign { } @Override - public ResultBean getFinSettleVo(String busVinSid, String receivablesName) { - return loanSettleApplyService.getFinSettleVo(busVinSid,receivablesName); + public ResultBean getFinSettleVo(String busVinSid, String receivablesName,String subscriptionMoney) { + return loanSettleApplyService.getFinSettleVo(busVinSid,receivablesName,subscriptionMoney); } @Override 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 53ab2d50a5..d0bd466f86 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 @@ -1264,118 +1264,128 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "结清时资方逾期利息"); - BigDecimal money = new BigDecimal(p.getMoney()); - FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); - fin.setCreateBySid(planDetails.getSalesUserSid()); - fin.setRemarks("贷款保证金抵顶"); - fin.setVIN(planDetails.getVinNo()); - fin.setUseOrgSid(planDetails.getUseOrgSid()); - fin.setReceivablesName("结清时资方逾期利息"); - if (deposit.compareTo(money) >= 0) { - fin.setSubscriptionMoney(money); - deposit = deposit.subtract(money); - } else { - fin.setSubscriptionMoney(deposit); - deposit = BigDecimal.ZERO; - } - fin.setSubscriptionDate(DateUtil.today()); - fin.setAuditState(3); - fin.setAuditDate(DateUtil.today()); - fin.setReceivablesSid(p.getJrSid()); - fin.setKxState("01"); - fin.setPurchaseSystemSid(""); - fin.setPurchaseSystemName(""); - fin.setStaffUserSid(""); - fin.setUseOrgName(planDetails.getUseOrgName()); - fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); - selectList.add(fin); + if (null != p) { + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("贷款保证金抵顶"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("结清时资方逾期利息"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + } //名义价 if (deposit.compareTo(BigDecimal.ZERO) > 0) { PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "名义价"); - BigDecimal money = new BigDecimal(p.getMoney()); - FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); - fin.setCreateBySid(planDetails.getSalesUserSid()); - fin.setRemarks("贷款保证金抵顶"); - fin.setVIN(planDetails.getVinNo()); - fin.setUseOrgSid(planDetails.getUseOrgSid()); - fin.setReceivablesName("名义价"); - if (deposit.compareTo(money) >= 0) { - fin.setSubscriptionMoney(money); - deposit = deposit.subtract(money); - } else { - fin.setSubscriptionMoney(deposit); - deposit = BigDecimal.ZERO; - } - fin.setSubscriptionDate(DateUtil.today()); - fin.setAuditState(3); - fin.setAuditDate(DateUtil.today()); - fin.setReceivablesSid(p.getJrSid()); - fin.setKxState("01"); - fin.setPurchaseSystemSid(""); - fin.setPurchaseSystemName(""); - fin.setStaffUserSid(""); - fin.setUseOrgName(planDetails.getUseOrgName()); - fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); - selectList.add(fin); + if (null != p) { + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("贷款保证金抵顶"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("名义价"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + } //合同违约金 if (deposit.compareTo(BigDecimal.ZERO) > 0) { PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "合同违约金"); - BigDecimal money = new BigDecimal(p.getMoney()); - FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); - fin.setCreateBySid(planDetails.getSalesUserSid()); - fin.setRemarks("贷款保证金抵顶"); - fin.setVIN(planDetails.getVinNo()); - fin.setUseOrgSid(planDetails.getUseOrgSid()); - fin.setReceivablesName("合同违约金"); - if (deposit.compareTo(money) >= 0) { - fin.setSubscriptionMoney(money); - deposit = deposit.subtract(money); - } else { - fin.setSubscriptionMoney(deposit); - deposit = BigDecimal.ZERO; - } - fin.setSubscriptionDate(DateUtil.today()); - fin.setAuditState(3); - fin.setAuditDate(DateUtil.today()); - fin.setReceivablesSid(p.getJrSid()); - fin.setKxState("01"); - fin.setPurchaseSystemSid(""); - fin.setPurchaseSystemName(""); - fin.setStaffUserSid(""); - fin.setUseOrgName(planDetails.getUseOrgName()); - fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); - selectList.add(fin); + if (null != p) { + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("贷款保证金抵顶"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("合同违约金"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } } //其他费用 if (deposit.compareTo(BigDecimal.ZERO) > 0) { PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "其他费用"); - BigDecimal money = new BigDecimal(p.getMoney()); - FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); - fin.setCreateBySid(planDetails.getSalesUserSid()); - fin.setRemarks("贷款保证金抵顶"); - fin.setVIN(planDetails.getVinNo()); - fin.setUseOrgSid(planDetails.getUseOrgSid()); - fin.setReceivablesName("其他费用"); - if (deposit.compareTo(money) >= 0) { - fin.setSubscriptionMoney(money); - deposit = deposit.subtract(money); - } else { - fin.setSubscriptionMoney(deposit); - deposit = BigDecimal.ZERO; - } - fin.setSubscriptionDate(DateUtil.today()); - fin.setAuditState(3); - fin.setAuditDate(DateUtil.today()); - fin.setReceivablesSid(p.getJrSid()); - fin.setKxState("01"); - fin.setPurchaseSystemSid(""); - fin.setPurchaseSystemName(""); - fin.setStaffUserSid(""); - fin.setUseOrgName(planDetails.getUseOrgName()); - fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); - selectList.add(fin); + if (null != p) { + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("贷款保证金抵顶"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("其他费用"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } } //资金占用费 if (deposit.compareTo(BigDecimal.ZERO) > 0) { @@ -3134,34 +3144,17 @@ public class LoanSettleApplyService extends MybatisBaseService getFinSettleVo(String busVinSid, String receivablesName) { + public ResultBean getFinSettleVo(String busVinSid, String receivablesName,String subscriptionMoney) { ResultBean rb = ResultBean.fireFail(); SettleFinVo vo = new SettleFinVo(); LoanSettleApply apply = baseMapper.getFinSettleVo(busVinSid); if (null != apply) { String sid = apply.getSid(); - BigDecimal amount = BigDecimal.ZERO; + BigDecimal amount = new BigDecimal(subscriptionMoney); BigDecimal balance = BigDecimal.ZERO; BigDecimal subtrahend = BigDecimal.ZERO; LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(sid); LoanSettleBankCost bankCost = loanSettleBankCostService.selectByMainSid(sid); - if (null != companyCost) { - if (receivablesName.equals("名义价")) { - if (null != companyCost.getCompanyNominalPrice()) { - amount = companyCost.getCompanyNominalPrice(); - } - } - if (receivablesName.equals("合同违约金")) { - if (null != companyCost.getContractLiquidated()) { - amount = companyCost.getContractLiquidated(); - } - } - if (receivablesName.equals("其他费用")) { - if (null != companyCost.getCompanyOtherPrice()) { - amount = companyCost.getCompanyOtherPrice(); - } - } - } if (null != bankCost) { if (receivablesName.equals("名义价")) { if (null != bankCost.getBankNominalPrice()) {