From 929c27cd0f31f18364187cc1f22488bff17792e7 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 19 May 2025 10:41:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E8=A1=8C=E7=AB=8B=E6=A1=88=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E9=87=91=E8=9D=B6=E8=B4=A2=E5=8A=A1=E8=BD=AC=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E7=AB=8B=E6=A1=88=E7=A7=91=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanCaseExecuteApplyService.java | 163 +++++++++++++++++- .../LoanCaseProgressVehMapper.java | 1 + ...pper.xml => LoanCaseProgressVehMapper.xml} | 6 +- .../LoanCaseProgressVehService.java | 3 + .../LoanRepaymentPlanDetailsMapper.java | 2 + .../LoanRepaymentPlanDetailsMapper.xml | 30 ++++ .../LoanRepaymentPlanDetailsService.java | 4 + 7 files changed, 207 insertions(+), 2 deletions(-) rename anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/{LoanCaseProgressTrialMapper.xml => LoanCaseProgressVehMapper.xml} (57%) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java index a9eb580a2b..8289fa2af4 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseexecuteapply/LoanCaseExecuteApplyService.java @@ -31,7 +31,19 @@ import cn.hutool.core.date.DateUtil; 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.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.FlowProcessMapQuery; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; @@ -62,11 +74,15 @@ import com.yxt.anrui.riskcenter.api.loancaseprogresstrial.LoanCaseProgressTrial; import com.yxt.anrui.riskcenter.api.loancaseprogressveh.LoanCaseProgressVeh; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanOutboundApply; +import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo; import com.yxt.anrui.riskcenter.biz.loancaseexecuteveh.LoanCaseExecuteVehService; import com.yxt.anrui.riskcenter.biz.loancaseprogress.LoanCaseProgressService; import com.yxt.anrui.riskcenter.biz.loancaseprogresstrial.LoanCaseProgressTrialService; import com.yxt.anrui.riskcenter.biz.loancaseprogressveh.LoanCaseProgressVehService; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; +import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; @@ -81,7 +97,9 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -126,6 +144,20 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanCaseExecuteApplyQuery query = pq.getParams(); @@ -495,7 +527,20 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //推送财务凭证 + //TOdO: + pushRiskToFin(bv.getBusinessSid()); + }); + } catch (Exception e) { + e.printStackTrace(); + } } else { //极光推送 loanCaseExecuteApply = fetchBySid(businessSid); @@ -518,6 +563,122 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService voucherResultDetailDtos = new ArrayList<>(); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanCaseExecuteApply.getDeptSid()).getData(); + List busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid()); + 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()); + } + } + // bdCustomers.add(bdCustomer); + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + } + AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(busVinSid); + //应收贷款车欠款_待处理欠款_处置车辆_已诉讼-当前欠款合计--不含资金占用费 + BigDecimal all = BigDecimal.ZERO; + //预申请坏账金额 + BigDecimal ysqhz = BigDecimal.ZERO; + //其中执行欠款金额 + BigDecimal qzzxqk = BigDecimal.ZERO; + String allMoney = loanRepaymentPlanDetailsService.selectAllMoney(busVinSid); + all = all.add(StringUtils.isNotBlank(allMoney)?new BigDecimal(allMoney):BigDecimal.ZERO); + + + //贷方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); + //-------------------------------------------应收贷款车欠款_待处理欠款_处置车辆_已诉讼-当前欠款合计 + if (all.compareTo(BigDecimal.ZERO) > 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 (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); + } + } + + } + public ResultBean> getPreviousNodesForReject(LoanCaseExecuteApplyNodeQuery query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.java index ca19a79b2c..560fb68012 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.java @@ -27,4 +27,5 @@ public interface LoanCaseProgressVehMapper extends BaseMapper selectByMainSid(String busSid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressTrialMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.xml similarity index 57% rename from anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressTrialMapper.xml rename to anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.xml index dacdca2747..aa9f8ba90a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressTrialMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehMapper.xml @@ -1,5 +1,9 @@ - + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehService.java index 92b3b0c695..3101c2ce1f 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancaseprogressveh/LoanCaseProgressVehService.java @@ -39,4 +39,7 @@ public class LoanCaseProgressVehService extends MybatisBaseService selectByMainSid(String busSid) { + return baseMapper.selectByMainSid(busSid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java index c4cd3deb5d..e0cea65d63 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java @@ -117,4 +117,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper + + diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java index 2e40f4d58f..06c190ec0a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java @@ -399,4 +399,8 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService