From ecad1a81530c025d749331d76d2c0c6336c18a1c Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 19 May 2025 17:01:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinCollectionConfirmationService.java | 386 +++++++++++++++++- 1 file changed, 384 insertions(+), 2 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 28a16f49ab..642f9f4567 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 @@ -5275,7 +5275,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).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); + } + } + } + } else if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + } else { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity); + }else{ + if (null != planDetails.getPaymentInterest()) { + if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) { + BigDecimal paymentInterest = planDetails.getPaymentInterest(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentInterest(subtract); + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + BigDecimal subtract2 = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract2); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + String orderSid = planDetails.getSalesOrderSid(); + String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData(); + String bankSid = ""; + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData(); + if (isOther.equals("0")) { + if (StringUtils.isNotBlank(schedule.getBankSid())) { + bankSid = schedule.getBankSid(); + } + } else if (isOther.equals("1")) { + if (StringUtils.isNotBlank(schedule.getOtherBankSid())) { + bankSid = schedule.getOtherBankSid(); + } + } + ResultBean bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).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); + } + } + } + } + } + } + } + }else if("7".equals(busSalesOrderVehicle.getRiskState().toString())){//亏损执行 - if("诉讼费".equals(v.getReceivablesName())){ + if("诉讼保全费".equals(v.getReceivablesName()) || "诉讼费用".equals(v.getReceivablesName())){ Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); all4 = all4.add(new BigDecimal(v.getSubscriptionMoney())); voucherResultDetailDtoDf.setSummary(customerNumber+"执行回款诉讼费"); @@ -5370,7 +5555,204 @@ public class FinCollectionConfirmationService extends MybatisBaseService bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).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); + } + } + } + } else if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + } else { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity); + }else{ + if (null != planDetails.getPaymentInterest()) { + if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) { + BigDecimal paymentInterest = planDetails.getPaymentInterest(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentInterest(subtract); + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + BigDecimal subtract2 = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract2); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + String orderSid = planDetails.getSalesOrderSid(); + String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData(); + String bankSid = ""; + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData(); + if (isOther.equals("0")) { + if (StringUtils.isNotBlank(schedule.getBankSid())) { + bankSid = schedule.getBankSid(); + } + } else if (isOther.equals("1")) { + if (StringUtils.isNotBlank(schedule.getOtherBankSid())) { + bankSid = schedule.getOtherBankSid(); + } + } + ResultBean bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).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); + } + } + } + } + } + } + } } } From b8a05f734f8ac20e791d372dd303f9a584dfdf95 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 20 May 2025 08:54:53 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A3=8E=E6=8E=A7?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bussalesordervehicle/BusSalesOrderVehicle.java | 2 +- .../FinCollectionConfirmationService.java | 14 +++++++------- .../LoanOutboundApplyService.java | 4 ++-- .../LoanRedemptionApplyService.java | 2 +- .../LoanSecondarySalesApplyService.java | 2 +- .../loansubletapply/LoanSubletApplyService.java | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java index 19c2adde51..a9ca136811 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicle.java @@ -93,7 +93,7 @@ public class BusSalesOrderVehicle extends BaseEntity { private String vehMark; @ApiModelProperty("结清申请提交时间") private Date settleApplyDate; - //风控状态(0正常,1交回,2赎回,3转租,4不追偿,5处置损失,6亏损立案,7亏损执行,8亏损结案、9赎回中,10 二次销售中、11转租中) + //风控状态(0正常,1交回,2赎回,3转租,4赎回中、5二次销售中、6转租中、7处置损失、8不追偿、9未交回立案、10交回立案、11亏损立案、12执行、13诉讼结案、14执行结案) @ApiModelProperty("风控状态") private Integer riskState; //是否生成资金占用费(1生成,0不生成.默认生成,交回后改为不生成,若赎回改为生成) 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 642f9f4567..7babca4c0b 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 @@ -4796,9 +4796,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService busVinSidList = redemptionVinLists.stream().map(v->v.getBusVinSid()).collect(Collectors.toList()); - busVinStateSetQuery.setState(9);//客户赎回中 + busVinStateSetQuery.setState(4);//客户赎回中 ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); //--------更新风控状态结束 FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = new FinUncollectedReceivablesDetailedJR(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java index cdb768a7ba..12dccbbd2d 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalesapply/LoanSecondarySalesApplyService.java @@ -559,7 +559,7 @@ public class LoanSecondarySalesApplyService extends MybatisBaseService busVinSidList = list.stream().map(v->v.getBusVinSid()).collect(Collectors.toList()); - busVinStateSetQuery.setState(10);//二次销售中 + busVinStateSetQuery.setState(5);//二次销售中 ResultBean resultBeanss = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); //--------更新风控状态结束 diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java index 06b6d43625..3b7d0fc212 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java @@ -702,7 +702,7 @@ public class LoanSubletApplyService extends MybatisBaseService busVinSidList = subletVinLists.stream().map(v->v.getBusVinSid()).collect(Collectors.toList()); - busVinStateSetQuery.setState(11);//二次转租中 + busVinStateSetQuery.setState(6);//二次转租中 ResultBean resultBeanss = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); try { ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() From 50b5d5f34e33f12cdaef900ee0f936f854e46c4c Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Tue, 20 May 2025 09:57:01 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=AF=89=E8=AE=BC=E8=AE=A4=E6=AC=BE?= =?UTF-8?q?=E3=80=81=E6=89=A7=E8=A1=8C=E8=AE=A4=E6=AC=BE=E5=87=AD=E8=AF=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusSalesOrderVehicleFeignFallback.java | 5 + .../FinCollectionConfirmationService.java | 315 +++++++++++++++++- .../LoanCaseExecuteApplyService.java | 150 ++++++--- 3 files changed, 406 insertions(+), 64 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java index 6a609984fd..c31a968dac 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java @@ -203,4 +203,9 @@ public class BusSalesOrderVehicleFeignFallback implements BusSalesOrderVehicleFe return null; } + @Override + public List selectListBySid(List busVinSidList) { + return null; + } + } 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 7babca4c0b..92d15aa9a9 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 @@ -4726,10 +4726,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService list2 = new ArrayList<>(); List list3 = new ArrayList<>(); List list4 = new ArrayList<>(); + List list5 = new ArrayList<>(); BigDecimal all = BigDecimal.ZERO;//赎回 BigDecimal all2 = BigDecimal.ZERO;//二次销售 BigDecimal all3 = BigDecimal.ZERO;//亏损立案 - BigDecimal all4 = BigDecimal.ZERO;//亏损立案 + BigDecimal all4 = BigDecimal.ZERO;//未交回立案 + BigDecimal all5 = BigDecimal.ZERO;//执行 BigDecimal otherMoney = BigDecimal.ZERO; String payType = ""; DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(finalConfirmation.getCollectionTypeKey(), "payVoucherType").getData(); @@ -4799,8 +4801,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).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); + } + } + } + } else if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 0) { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + } else { + try { + Date collDate = sdf.parse(finalConfirmation.getCollectionDate()); + historyEntity.setActualDate(collDate); + if (planDetails.getDueDate().compareTo(collDate) > 0) { + //未逾期 + Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历 + cal_1.setTime(planDetails.getDueDate()); + cal_1.add(Calendar.DAY_OF_MONTH, -1); + historyEntity.setPrepareDate(cal_1.getTime()); + } else { + //已逾期 + historyEntity.setPrepareDate(new DateTime()); + } + } catch (ParseException e) { + e.printStackTrace(); + } + historyEntity.setPaymentState("待转付"); + historyEntity.setPaymentStateKey("001"); + } + loanRepaymentHistoryFeign.saveHistoryByEntity(historyEntity); + }else{ + if (null != planDetails.getPaymentInterest()) { + if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) { + BigDecimal paymentInterest = planDetails.getPaymentInterest(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentInterest(subtract); + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + BigDecimal subtract2 = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract2); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + String orderSid = planDetails.getSalesOrderSid(); + String isOther = loanRepaymentScheduleFeign.returnBankOrOtherBankByPlanSid(planSid).getData(); + String bankSid = ""; + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleFeign.fetchBySid(scheduleSid).getData(); + if (isOther.equals("0")) { + if (StringUtils.isNotBlank(schedule.getBankSid())) { + bankSid = schedule.getBankSid(); + } + } else if (isOther.equals("1")) { + if (StringUtils.isNotBlank(schedule.getOtherBankSid())) { + bankSid = schedule.getOtherBankSid(); + } + } + ResultBean bankResultBean = loanFinBankFeign.fetchEntityBySid(bankSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(userSid).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("诉讼保全费".equals(v.getReceivablesName()) || "诉讼费用".equals(v.getReceivablesName())){ Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); all4 = all4.add(new BigDecimal(v.getSubscriptionMoney())); - voucherResultDetailDtoDf.setSummary(customerNumber+"执行回款诉讼费"); + voucherResultDetailDtoDf.setSummary(customerNumber+"诉讼回款诉讼费"); voucherResultDetailDtoDf.setSubjectNo("2191.25"); //核算部门 voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); @@ -5520,12 +5707,28 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + if (StringUtils.isNotBlank(finalConfirmation.getCollectionBankNum())) { + voucherResultDetailDtoJf.setBankAccount(finalConfirmation.getCollectionBankNum()); + } + voucherResultDetailDtoJf.setSubjectNo(payType); + voucherResultDetailDtoJf.setSummary("收款" +finalConfirmation.getPayerName()+ "(" + collectionDate + ")"); + voucherResultDetailDtoJf.setDebit(String.valueOf(all5)); + list5.add(voucherResultDetailDtoJf); + } + if (!list.isEmpty()) {//赎回收款(风控状态赎回中以及交回推送) voucher.setResultDetails(list); @@ -5828,10 +6103,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanCaseExecuteApplyQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -252,7 +254,7 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return p; } - + public String saveOrUpdateDto(LoanCaseExecuteApplyDto dto){ String dtoSid = dto.getSid(); List pjclFiles = dto.getPjclFiles(); @@ -341,7 +343,7 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); - Future future1 = pool.submit(() -> { + LoanCaseExecuteApply finalLoanCaseExecuteApply = loanCaseExecuteApply; + Future future1 = pool.submit(() -> { //推送财务凭证 //TOdO: pushRiskToFin(bv.getBusinessSid()); + //修改风控状态为执行 + //--更新销售订单车辆表的风控状态为执行 + List busVinSidList = loanCaseProgressVehService.selectByMainSid(finalLoanCaseExecuteApply.getBusSid()); + BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery(); + busVinStateSetQuery.setState(12); + busVinStateSetQuery.setBusVinSidList(busVinSidList); + ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); }); } catch (Exception e) { e.printStackTrace(); } + } else { //极光推送 loanCaseExecuteApply = fetchBySid(businessSid); @@ -573,6 +584,7 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService voucherResultDetailDtos = new ArrayList<>(); + List voucherResultDetailDtos2 = new ArrayList<>(); SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanCaseExecuteApply.getDeptSid()).getData(); List busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid()); for (int i = 0; i < busVinSidList.size(); i++) { @@ -629,53 +641,99 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService 0) { - voucherResultDetailDtoDf.setSummary(customerNumber+"转执行"); - voucherResultDetailDtoDf.setSubjectNo("1201.03.04.02"); - //核算部门 - voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoDf.setDimensionCustom(customerNumber); - voucherResultDetailDtoDf.setCredit(all.toString()); - voucherResultDetailDtos.add(voucherResultDetailDtoDf); - } - - //---------------------------------------------待处理财产损溢 风险准备金(输入)-预申请坏账金额 - if (ysqhz.compareTo(BigDecimal.ZERO) > 0) { - voucherResultDetailDtoJf.setSummary(customerNumber+"转执行"); - voucherResultDetailDtoJf.setSubjectNo("1911.05"); - //核算部门 - voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoJf.setDimensionCustom(customerNumber); - voucherResultDetailDtoJf.setDebit(ysqhz.toString()); - voucherResultDetailDtos.add(voucherResultDetailDtoJf); + if("11".equals(busSalesOrderVehicle.getRiskState().toString())){//亏损立案---二次销售后的诉讼后的执行 + //-------------------------------------------应收贷款车欠款_待处理欠款_处置车辆_已诉讼-当前欠款合计 + if (all.compareTo(BigDecimal.ZERO) > 0) { + //贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf.setSummary(customerNumber+"转执行"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.04.02"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(all.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoDf); + } + //---------------------------------------------待处理财产损溢 风险准备金(输入)-预申请坏账金额 + if (ysqhz.compareTo(BigDecimal.ZERO) > 0) { + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf.setSummary(customerNumber+"转执行"); + voucherResultDetailDtoJf.setSubjectNo("1911.05"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(ysqhz.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf); + } + //--------------------------------------------应收贷款车欠款_待处理欠款_待执行-其中执行欠款金额 + if (qzzxqk.compareTo(BigDecimal.ZERO) > 0) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf2.setSummary(customerNumber+"转执行"); + voucherResultDetailDtoJf2.setSubjectNo("1201.03.05"); + //核算部门 + voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf2.setDebit(qzzxqk.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf2); + } } + if("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "10".equals(busSalesOrderVehicle.getRiskState().toString())){ + //未交回立案-交回立案后的执行 + //-------------------------------------------应收贷款车欠款_待处理欠款_诉讼车辆 + if (all.compareTo(BigDecimal.ZERO) > 0) { + //贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf.setSummary(customerNumber+"转执行"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.03"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(all.toString()); + voucherResultDetailDtos2.add(voucherResultDetailDtoDf); + } + //---------------------------------------------待处理财产损溢 风险准备金(输入)-预申请坏账金额 + if (ysqhz.compareTo(BigDecimal.ZERO) > 0) { + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf.setSummary(customerNumber+"转执行"); + voucherResultDetailDtoJf.setSubjectNo("1911.05"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(ysqhz.toString()); + voucherResultDetailDtos2.add(voucherResultDetailDtoJf); + } + //--------------------------------------------应收贷款车欠款_待处理欠款_待执行-其中执行欠款金额 + if (qzzxqk.compareTo(BigDecimal.ZERO) > 0) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf2.setSummary(customerNumber+"转执行"); + voucherResultDetailDtoJf2.setSubjectNo("1201.03.05"); + //核算部门 + voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf2.setDebit(qzzxqk.toString()); + voucherResultDetailDtos2.add(voucherResultDetailDtoJf2); + } - //--------------------------------------------应收贷款车欠款_待处理欠款_待执行-其中执行欠款金额 - if (qzzxqk.compareTo(BigDecimal.ZERO) > 0) { - voucherResultDetailDtoJf2.setSummary(customerNumber+"转执行"); - voucherResultDetailDtoJf2.setSubjectNo("1201.03.05"); - //核算部门 - voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); - voucherResultDetailDtoJf2.setDebit(qzzxqk.toString()); - voucherResultDetailDtos.add(voucherResultDetailDtoJf2); - } + } } if (!voucherResultDetailDtos.isEmpty()) { voucher.setResultDetails(voucherResultDetailDtos); finKingDeeFeign.saveVoucher(voucher); } + + if (!voucherResultDetailDtos2.isEmpty()) { + voucher.setResultDetails(voucherResultDetailDtos2); + finKingDeeFeign.saveVoucher(voucher); + } } }