diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyService.java index 9c76a46034..bf5af5addc 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanlawsuitsubapply/LoanLawsuitSubApplyService.java @@ -31,11 +31,19 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVinStateSetQuery; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; +import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; @@ -62,6 +70,7 @@ import com.yxt.anrui.riskcenter.biz.loancaseprogress.LoanCaseProgressService; import com.yxt.anrui.riskcenter.biz.loanlawsuitapply.LoanLawsuitApplyService; import com.yxt.anrui.riskcenter.biz.loanlawsuitsubveh.LoanLawsuitSubVehService; import com.yxt.anrui.riskcenter.biz.loanlawsuitveh.LoanLawsuitVehService; +import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrepurchaseapply.LoanRepurchaseApplyService; import com.yxt.anrui.riskcenter.biz.loansettleapply.LoanSettleApplyService; import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo; @@ -117,6 +126,16 @@ public class LoanLawsuitSubApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanLawsuitSubApplyQuery query = pq.getParams(); @@ -477,6 +496,7 @@ public class LoanLawsuitSubApplyService extends MybatisBaseService(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); Future future1 = pool.submit(() -> { + pushRiskToFin(businessSid); setRiskState(businessSid); }); } catch (Exception e) { @@ -505,6 +525,204 @@ public class LoanLawsuitSubApplyService extends MybatisBaseService voucherResultDetailDtos = new ArrayList<>(); + List voucherResultDetailDto2 = new ArrayList<>(); + List voucherResultDetailDto3 = new ArrayList<>(); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(lawsuitSubApply.getCreateDeptSid()).getData(); + List busVinSidList = loanLawsuitSubVehService.selectByMainSid(businessSid); + for (int i = 0; i < busVinSidList.size(); i++) { + String busVinSid = busVinSidList.get(i); + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData(); + String customerNumber = ""; + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData(); + if (salesOrder != null && busSalesOrderVehicle != null) { + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) { + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + } + bdCustomer.setTOrgIds(deptVo.getOrgCode()); + if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { + String vinNo = busSalesOrderVehicle.getLinkNo(); + if (vinNo.length() > 8) { + linkNo = vinNo.substring(vinNo.length() - 8); + } else { + linkNo = busSalesOrderVehicle.getLinkNo(); + } + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); + } + } else { + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); + } + } + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + } + + if("7".equals(busSalesOrderVehicle.getRiskState().toString())){ + BigDecimal all = BigDecimal.ZERO; + String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid); + String wdqMoney = loanRepaymentPlanDetailsService.getWdq(busVinSid); + all = all.add(StringUtils.isNotBlank(allMoney) ? new BigDecimal(allMoney) : BigDecimal.ZERO).add(StringUtils.isNotBlank(wdqMoney) ? new BigDecimal(wdqMoney) : BigDecimal.ZERO); + //贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + if (all.compareTo(BigDecimal.ZERO) > 0) { + voucherResultDetailDtoDf.setSummary(customerNumber + "转诉讼"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.04.01"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(all.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoDf); + voucherResultDetailDtoJf.setSummary(customerNumber + "转诉讼"); + voucherResultDetailDtoJf.setSubjectNo("1201.03.04.02"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(all.toString()); + voucherResultDetailDtos.add(voucherResultDetailDtoJf); + } + } + + if("0".equals(busSalesOrderVehicle.getRiskState().toString())){//未扣回,直接转诉讼 + BigDecimal all = BigDecimal.ZERO; + //应收贷款车欠款_到期欠款_累欠 + BigDecimal lqMoney = BigDecimal.ZERO; + //应收贷款车欠款_未到期欠款_未到期欠款 + BigDecimal wdqMoney = BigDecimal.ZERO; + //应收贷款车欠款_到期欠款_本金 + BigDecimal bjMoney = BigDecimal.ZERO; + String lq = loanRepaymentPlanDetailsService.getYqLq(busVinSid); + lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq) ? "0" : lq)); + //未到期欠款 + String wdq = loanRepaymentPlanDetailsService.getWdq(busVinSid); + wdqMoney = wdqMoney.add(new BigDecimal(StringUtils.isBlank(wdq) ? "0" : wdq)); + String bj = loanRepaymentPlanDetailsService.getBj(busVinSid); + bjMoney = bjMoney.add(new BigDecimal(StringUtils.isBlank(bj) ? "0" : bj)); + all = lqMoney.add(wdqMoney).add(bjMoney); + if (all.compareTo(BigDecimal.ZERO) != 0) { + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf.setSummary("转诉讼科目"); + voucherResultDetailDtoJf.setSubjectNo("1201.03.03"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(all.toString()); + voucherResultDetailDto2.add(voucherResultDetailDtoJf); + } + if (lqMoney.compareTo(BigDecimal.ZERO) != 0) { + //贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf1 = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf1.setSummary("转诉讼科目"); + voucherResultDetailDtoDf1.setSubjectNo("1201.02.03"); + //核算部门 + voucherResultDetailDtoDf1.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf1.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf1.setCredit(lqMoney.toString()); + voucherResultDetailDto2.add(voucherResultDetailDtoDf1); + } + + if (wdqMoney.compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf2.setSummary("转诉讼科目"); + voucherResultDetailDtoDf2.setSubjectNo("1201.01.00"); + //核算部门 + voucherResultDetailDtoDf2.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf2.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf2.setCredit(wdqMoney.toString()); + voucherResultDetailDto2.add(voucherResultDetailDtoDf2); + } + + if (bjMoney.compareTo(BigDecimal.ZERO) != 0) { + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf3.setSummary("转诉讼科目"); + voucherResultDetailDtoDf3.setSubjectNo("1201.02.01"); + //核算部门 + voucherResultDetailDtoDf3.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf3.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf3.setCredit(bjMoney.toString()); + voucherResultDetailDto2.add(voucherResultDetailDtoDf3); + } + } + if("1".equals(busSalesOrderVehicle.getRiskState().toString())){//扣回转诉讼 + BigDecimal all = BigDecimal.ZERO; + String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid); + String wdqMoney = loanRepaymentPlanDetailsService.getWdq(busVinSid); + all = all.add(StringUtils.isNotBlank(allMoney) ? new BigDecimal(allMoney) : BigDecimal.ZERO).add(StringUtils.isNotBlank(wdqMoney) ? new BigDecimal(wdqMoney) : BigDecimal.ZERO); + //贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + if (all.compareTo(BigDecimal.ZERO) > 0) { + voucherResultDetailDtoDf.setSummary("转诉讼科目"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(all.toString()); + voucherResultDetailDto3.add(voucherResultDetailDtoDf); + voucherResultDetailDtoJf.setSummary("转诉讼科目"); + voucherResultDetailDtoJf.setSubjectNo("1201.03.03"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode()); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(all.toString()); + voucherResultDetailDto3.add(voucherResultDetailDtoJf); + } + + + } + } + + if (!voucherResultDetailDtos.isEmpty()) { + voucher.setResultDetails(voucherResultDetailDtos); + finKingDeeFeign.saveVoucher(voucher); + } + if (!voucherResultDetailDto2.isEmpty()) { + voucher.setResultDetails(voucherResultDetailDto2); + finKingDeeFeign.saveVoucher(voucher); + } + if (!voucherResultDetailDto3.isEmpty()) { + voucher.setResultDetails(voucherResultDetailDto3); + finKingDeeFeign.saveVoucher(voucher); + } + } + } + public void setRiskState(String businessSid){ List busVinSidJh = new ArrayList<>(); List busVinSidSecond = new ArrayList<>();