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 16c20ea057..b2fb214e47 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 @@ -4694,7 +4694,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService(1024), namedThreadFactory, new java.util.concurrent.ThreadPoolExecutor.AbortPolicy()); FinCollectionConfirmation finalConfirmation1 = confirmation; Future future1 = pool.submit(() -> { - pushToRiskToFin(finalConfirmation1, finSelectedReceivablesDetailedVos, collectionDate, voucher); + pushToRiskToFin(finalConfirmation1, finSelectedReceivablesDetailedVos, collectionDate, voucher,userSid); }); } catch (Exception e) { e.printStackTrace(); @@ -4719,7 +4719,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService finSelectedReceivablesDetailedVoList, String collectionDate, Voucher voucher) { + private void pushToRiskToFin(FinCollectionConfirmation finalConfirmation, + List finSelectedReceivablesDetailedVoList, + String collectionDate, Voucher voucher,String userSid) { List list = new ArrayList<>(); List list2 = new ArrayList<>(); BigDecimal all = BigDecimal.ZERO;//赎回 @@ -4736,6 +4738,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService0) { - BigDecimal paymentMoney = planDetails.getPaymentMoney(); - String subscriptionMoney = v.getSubscriptionMoney(); - BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); - planDetails.setPaymentMoney(subtract); - loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney()); + list.add(voucherResultDetailDtoDf); + if("月还".equals(v.getReceivablesName())){ + //推送间还认款记录 + LoanRepaymentHistory historyEntity = new LoanRepaymentHistory(); + historyEntity.setPlanDetailSid(planSid); + historyEntity.setScheduleSid(planDetails.getScheduleSid()); + historyEntity.setSkdBillNo(finalConfirmation.getBillNo()); + historyEntity.setUpdateTime(new DateTime()); + historyEntity.setUpdateState("1"); + historyEntity.setDataTime(new DateTime()); + historyEntity.setBuckle("审核通过"); + historyEntity.setBuckleKey("003"); + historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney())); + historyEntity.setReturnWay("间还"); + historyEntity.setReturnWayKey("02"); + if (null != planDetails.getPaymentMoney()) { + if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) { + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract); + 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) { + 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"); } - } - }else{ - if(planDetails.getPaymentInterest() != null){ - if(planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO)>0){ - 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); + 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); + } + } + } + } } } } - } - //应收贷款车欠款_到期欠款_逾期利息--资金占用费 - Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); - if ("资金占用费".equals(v.getReceivablesName())) { - all = all.add(new BigDecimal(v.getSubscriptionMoney())); - if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){ - voucherResultDetailDtoDf2.setSummary("收款-赎回款"); - }else{ - voucherResultDetailDtoDf2.setSummary("收款-转租款"); + //应收贷款车欠款_到期欠款_逾期利息--资金占用费 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); + if ("资金占用费".equals(v.getReceivablesName())) { + all = all.add(new BigDecimal(v.getSubscriptionMoney())); + if ("9".equals(busSalesOrderVehicle.getRiskState().toString()) || "1".equals(busSalesOrderVehicle.getRiskState().toString())){ + voucherResultDetailDtoDf2.setSummary("收款-赎回款"); + }else{ + voucherResultDetailDtoDf2.setSummary("收款-转租款"); + } + voucherResultDetailDtoDf2.setSubjectNo("1201.02.03"); + //核算部门 + voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney()); + list.add(voucherResultDetailDtoDf2); } - voucherResultDetailDtoDf2.setSubjectNo("1201.02.03"); - //核算部门 - voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoDf2.setDimensionCustom(customerNumber); - voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney()); - list.add(voucherResultDetailDtoDf2); - } - } else if ("10".equals(busSalesOrderVehicle.getRiskState().toString())) {//二次销售中-二次销售凭证 + } else if ("10".equals(busSalesOrderVehicle.getRiskState().toString())) {//二次销售中-二次销售凭证 - if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { - Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); - all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); - voucherResultDetailDtoDf.setSummary("***扣回车辆再次销售款"); - voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); - //核算部门 - voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoDf.setDimensionCustom(customerNumber); - voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney()); - list2.add(voucherResultDetailDtoDf); - if("月还".equals(v.getReceivablesName())){ - if(planDetails.getPaymentMoney() != null){ - if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) >0) { - BigDecimal paymentMoney = planDetails.getPaymentMoney(); - String subscriptionMoney = v.getSubscriptionMoney(); - BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); - planDetails.setPaymentMoney(subtract); - loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + if ("月还".equals(v.getReceivablesName()) || "资方逾期利息".equals(v.getReceivablesName())) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); + voucherResultDetailDtoDf.setSummary(customerNumber+"扣回车辆再次销售款"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(v.getSubscriptionMoney()); + list2.add(voucherResultDetailDtoDf); + if("月还".equals(v.getReceivablesName())){ + //推送间还认款记录 + LoanRepaymentHistory historyEntity = new LoanRepaymentHistory(); + historyEntity.setPlanDetailSid(planSid); + historyEntity.setScheduleSid(planDetails.getScheduleSid()); + historyEntity.setSkdBillNo(finalConfirmation.getBillNo()); + historyEntity.setUpdateTime(new DateTime()); + historyEntity.setUpdateState("1"); + historyEntity.setDataTime(new DateTime()); + historyEntity.setBuckle("审核通过"); + historyEntity.setBuckleKey("003"); + historyEntity.setActualMoney(new BigDecimal(v.getSubscriptionMoney())); + historyEntity.setReturnWay("间还"); + historyEntity.setReturnWayKey("02"); + if (null != planDetails.getPaymentMoney()) { + if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) { + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract); + 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) { + 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"); } - } - }else{ - if(planDetails.getPaymentInterest() != null){ - if(planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO)>0){ - 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); + 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 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())) { - Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); - all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); - voucherResultDetailDtoDf2.setSummary("***扣回车辆再次销售款"); - voucherResultDetailDtoDf2.setSubjectNo("1201.02.03"); - //核算部门 - voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoDf2.setDimensionCustom(customerNumber); - voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney()); - list2.add(voucherResultDetailDtoDf2); - } + if ("资金占用费".equals(v.getReceivablesName())) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); + all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); + voucherResultDetailDtoDf2.setSummary(customerNumber+"扣回车辆再次销售款"); + voucherResultDetailDtoDf2.setSubjectNo("1201.02.03"); + //核算部门 + voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf2.setCredit(v.getSubscriptionMoney()); + list2.add(voucherResultDetailDtoDf2); + } - if ("预计资方结清费用".equals(v.getReceivablesName())) { - Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto(); - all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); - voucherResultDetailDtoDf3.setSummary("**扣回车辆再次销售-资方结清费用"); - voucherResultDetailDtoDf3.setSubjectNo("1201.03.01"); - //核算部门 - voucherResultDetailDtoDf3.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoDf3.setDimensionCustom(customerNumber); - voucherResultDetailDtoDf3.setCredit(v.getSubscriptionMoney()); - list2.add(voucherResultDetailDtoDf3); - } + if ("预计资方结清费用".equals(v.getReceivablesName())) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto(); + all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); + voucherResultDetailDtoDf3.setSummary(planDetails.getVinNo()+"扣回车辆再次销售-资方结清费用"); + voucherResultDetailDtoDf3.setSubjectNo("1201.03.01"); + //核算部门 + voucherResultDetailDtoDf3.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf3.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf3.setCredit(v.getSubscriptionMoney()); + list2.add(voucherResultDetailDtoDf3); + } - if ("停车费".equals(v.getReceivablesName())) { - Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); - all2 = all2.subtract(new BigDecimal(v.getSubscriptionMoney())); - voucherResultDetailDtoJf2.setSummary("**扣回车辆再次销售-停车费"); - voucherResultDetailDtoJf2.setSubjectNo("6601.32.02"); - //核算部门 - voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); - //核算客户 - voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); - voucherResultDetailDtoJf2.setDebit(new BigDecimal(v.getSubscriptionMoney()).negate().toString()); - list2.add(voucherResultDetailDtoJf2); - } - if ("车辆违章费用".equals(v.getReceivablesName()) || "年检费".equals(v.getReceivablesName()) || - "保险费".equals(v.getReceivablesName()) || "过户费".equals(v.getReceivablesName()) - ) { - otherMoney = otherMoney.add(new BigDecimal(v.getSubscriptionMoney())); + if ("停车费".equals(v.getReceivablesName())) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); + all2 = all2.add(new BigDecimal(v.getSubscriptionMoney())); + voucherResultDetailDtoJf2.setSummary(customerNumber+"扣回车辆再次销售-停车费"); + voucherResultDetailDtoJf2.setSubjectNo("6601.32.02"); + //核算部门 + voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf2.setDebit(new BigDecimal(v.getSubscriptionMoney()).negate().toString()); + list2.add(voucherResultDetailDtoJf2); + } + if ("车辆违章费用".equals(v.getReceivablesName()) || "年检费".equals(v.getReceivablesName()) || + "保险费".equals(v.getReceivablesName()) || "过户费".equals(v.getReceivablesName()) || "其他费用".equals(v.getReceivablesName()) + ) { + otherMoney = otherMoney.add(new BigDecimal(v.getSubscriptionMoney())); + } } } + } //客户赎回收款 if (all.compareTo(BigDecimal.ZERO) > 0) { @@ -4988,8 +5288,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); - all2 = all2.subtract(otherMoney); - voucherResultDetailDtoJf2.setSummary("**扣回车辆再次销售-费用(违章、年检、保险、过户)"); + all2 = all2.add(otherMoney); + voucherResultDetailDtoJf2.setSummary(customerNumber+"扣回车辆再次销售-费用(违章、年检、保险、过户)"); voucherResultDetailDtoJf2.setSubjectNo("1133.10.00"); //核算部门 voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); @@ -5004,7 +5304,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService ruleList = finUncollectedReceivablesDetailedJRService.getRskPaymentDetailsListForRule(loanContractNo, vinNo, finCollectionConfirmation.getUseOrgSid(), finCollectionConfirmation.getPurchaseSystemSid()); if (!ruleList.isEmpty()) { for (AppFinUncollectedReceivablesDetailedRskVo r : ruleList) { diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java index fcc823c95e..8292e8a7fc 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java @@ -45,4 +45,6 @@ public interface LoanOutboundApplyMapper extends BaseMapper { int updateLedgerStockStateBySid(@Param("key") String key, @Param("value") String value, @Param("date") String date, @Param("ledgerSid") String ledgerSid); String selectByBusVinSid(String busVinSid); + + LoanOutboundApply selectByApplySid(String sid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml index 0e1b192b96..8eb23338a8 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml @@ -205,4 +205,8 @@ se.receivablesSid in (select sid from anrui_riskcenter.loan_repayment_plan_details where busVinSid = #{busVinSid}) AND se.auditState = '3' and se.receivablesName in('月还','预计资方结清费用') + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java index ffbe2fb269..764521485d 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java @@ -1659,4 +1659,8 @@ public class LoanOutboundApplyService extends MybatisBaseService selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); LoanReturnVehLedger selectByPSid(String sid); + + LoanReturnVehLedger selVehLedgerBySid(String ledgerSid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml index a8c18f4d02..b98a87c6ff 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml @@ -40,4 +40,10 @@ from loan_return_veh_ledger where pSid = #{sid} + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java index 10d66196f2..5fa91943c2 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java @@ -264,4 +264,8 @@ public class LoanReturnVehLedgerService extends MybatisBaseService contractFilesList = Arrays.stream(contractFiles.split(",")) - .map(c -> { - FileQuery f = new FileQuery(); - f.setUrl(fileUploadComponent.getUrlPrefix() + c); - return f; - }) - .collect(Collectors.toList()); + if(loanSecondarySalesCustomer != null){ + String contractFiles = loanSecondarySalesCustomer.getContractFiles(); + String otherFiles = loanSecondarySalesCustomer.getOtherFiles(); + if(StringUtils.isNotBlank(contractFiles)){ + List contractFilesList = Arrays.stream(contractFiles.split(",")) + .map(c -> { + FileQuery f = new FileQuery(); + f.setUrl(fileUploadComponent.getUrlPrefix() + c); + return f; + }) + .collect(Collectors.toList()); - salesInitVo.setContractFiles(contractFilesList); - } - if(StringUtils.isNotBlank(otherFiles)){ - List otherFileList = Arrays.stream(otherFiles.split(",")) - .map(c -> { - FileQuery f = new FileQuery(); - f.setUrl(fileUploadComponent.getUrlPrefix() + c); - return f; - }) - .collect(Collectors.toList()); + salesInitVo.setContractFiles(contractFilesList); + } + if(StringUtils.isNotBlank(otherFiles)){ + List otherFileList = Arrays.stream(otherFiles.split(",")) + .map(c -> { + FileQuery f = new FileQuery(); + f.setUrl(fileUploadComponent.getUrlPrefix() + c); + return f; + }) + .collect(Collectors.toList()); - salesInitVo.setOtherFiles(otherFileList); + salesInitVo.setOtherFiles(otherFileList); + } } + return rb.success().setData(salesInitVo); } + + private void pushVehOutBound(LoanSecondarySalesApply loanSecondarySalesApply) { + LoanOutboundApply loanOutboundApply = loanOutboundApplyService.selectByApplySid(loanSecondarySalesApply.getSid()); + if(loanOutboundApply == null){ + LoanOutboundApplyDto dto = new LoanOutboundApplyDto(); + List vinList = new ArrayList<>(); + BeanUtil.copyProperties(loanSecondarySalesApply, dto); + dto.setApplySid(loanSecondarySalesApply.getSid()); + dto.setBorrowerName(loanSecondarySalesApply.getLoanName()); + dto.setBorrowerSid(loanSecondarySalesApply.getLoanSid()); + dto.setCustomer(loanSecondarySalesApply.getCustomerName()); + dto.setDisposalKey("03"); + dto.setDisposal("二次销售"); + if (org.apache.commons.lang3.StringUtils.isNotBlank(loanSecondarySalesApply.getCustomerSid())) { + dto.setNewCustomerSid(loanSecondarySalesApply.getCustomerSid()); + CrmCustomerTempVo customerTempVo = crmCustomerTempFeign.fetchSid(loanSecondarySalesApply.getCustomerSid()).getData(); + if (null != customerTempVo) { + if (StringUtils.isNotBlank(customerTempVo.getMobile())) { + dto.setPhoneNum(customerTempVo.getMobile()); + } + } + } + if (StringUtils.isNotBlank(loanSecondarySalesApply.getCustomerName())) { + dto.setNewCustomer(loanSecondarySalesApply.getCustomerName()); + } + List vinLists = loanSecondarySalesVehService.selByMainSid(loanSecondarySalesApply.getSid()); + if (!vinLists.isEmpty()) { + vinLists.forEach(v -> { + OutboundVinListDto outboundVinListDto = new OutboundVinListDto(); + BeanUtil.copyProperties(v, outboundVinListDto); + LoanReturnVehLedger loanReturnVehLedger = loanReturnVehLedgerService.selVehLedgerBySid(v.getLedgerSid()); + if (null != loanReturnVehLedger) { + if (StringUtils.isNotBlank(loanReturnVehLedger.getLocation())) { + outboundVinListDto.setLocation(loanReturnVehLedger.getLocation()); + } + } + vinList.add(outboundVinListDto); + }); + } + dto.setVinList(vinList); + loanOutboundApplyService.saveOutbound(dto); + } + + } }