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 5ec479dfd0..87cbcc13ba 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 @@ -3804,36 +3804,75 @@ public class FinCollectionConfirmationService extends MybatisBaseService bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid); - if (bankResultBean.getData() != null) { - LoanFinBank loanFinBank = bankResultBean.getData(); - if (null != loanFinBank.getReAdvances()) { - BigDecimal paymentMoney = planDetails.getPaymentMoney(); - String subscriptionMoney = v.getSubscriptionMoney(); - BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); - planDetails.setPaymentMoney(subtract); - loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); - if (loanFinBank.getReAdvances() == 1) { - FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); - jr.setCreateBySid(userSid); - SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData(); - jr.setCreateByName(userVo.getName()); - jr.setBusSid(planSid); - jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); - jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); - jr.setPayCostTitleKey("007"); - jr.setPayCostTitleValue("资方退还垫款"); - jr.setOrgSidPath(planDetails.getOrgSidPath()); - jr.setUseOrgName(planDetails.getUseOrgName()); - jr.setUseOrgSid(planDetails.getUseOrgSid()); - jr.setStaffDeptName(planDetails.getDept()); - jr.setStaffName(planDetails.getStaffName()); - jr.setStaffDeptSid(planDetails.getDeptSid()); - jr.setStaffUserSid(planDetails.getSalesUserSid()); - finUncollectedReceivablesDetailedJRService.insert(jr); + if (v.getReceivablesName().equals("月还")) { + if (null != planDetails.getPaymentMoney()) { + if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) { + String orderSid = planDetails.getSalesOrderSid(); + ResultBean bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData(); + jr.setCreateByName(userVo.getName()); + jr.setBusSid(planSid); + jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setPayCostTitleKey("007"); + jr.setPayCostTitleValue("资方退还垫款"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + finUncollectedReceivablesDetailedJRService.insert(jr); + } + } + } + } + } + } + if (v.getReceivablesName().equals("资方逾期利息")) { + if (null != planDetails.getPaymentInterest()) { + if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) { + String orderSid = planDetails.getSalesOrderSid(); + ResultBean bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + BigDecimal paymentInterest = planDetails.getPaymentInterest(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentInterest(subtract); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData(); + jr.setCreateByName(userVo.getName()); + jr.setBusSid(planSid); + jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setPayCostTitleKey("007"); + jr.setPayCostTitleValue("资方退还垫款"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + finUncollectedReceivablesDetailedJRService.insert(jr); + } } } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml index a6e7c27224..e55d3d2841 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml @@ -178,11 +178,7 @@ + and r.state = 1 + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java index 0c7e4e9d5b..8da2453f8a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java @@ -71,6 +71,7 @@ import com.yxt.messagecenter.api.message.MessagePushTransferDto; import com.yxt.messagecenter.api.message.PushMessageQuery; import com.yxt.messagecenter.api.message.PushSmsDto; import com.yxt.messagecenter.api.messagelist.MessageListDto; +import org.apache.poi.hpsf.Decimal; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -305,6 +306,11 @@ public class LoanRepaymentScheduleService extends MybatisBaseService solutionsDetailsVoResultBean = loanSolutionsService.selectDetailss(orderSid); + if (solutionsDetailsVoResultBean.getData() != null) { + BeanUtil.copyProperties(solutionsDetailsVoResultBean.getData(), solutionsDetailsssVo); + } if (StringUtils.isBlank(dto.getMainRepayDate())) { return rb.setMsg("请选择主金融产品首期还款日!"); } @@ -317,6 +323,18 @@ public class LoanRepaymentScheduleService extends MybatisBaseService 0) { + return rb.setMsg("填写的主产品月还与金融方案月还正负差值不能大于50"); + } + if (mainRepay.compareTo(f) < 0) { + return rb.setMsg("填写的主产品月还与金融方案月还正负差值不能大于50"); + } + } if (dto.getIsOtherPolicy().equals("1")) { if (StringUtils.isBlank(dto.getOtherRepayDate())) { return rb.setMsg("请选择其他融首期还款日!"); @@ -330,6 +348,18 @@ public class LoanRepaymentScheduleService extends MybatisBaseService 0) { + return rb.setMsg("填写的其他融月还与金融方案其他融月还正负差值不能大于50"); + } + if (otherRepay.compareTo(f) < 0) { + return rb.setMsg("填写的其他融月还与金融方案其他融月还正负差值不能大于50"); + } + } } if (null != loanRepaymentSchedule) { scheduleSid = loanRepaymentSchedule.getSid();