|
|
@ -70,6 +70,8 @@ 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.loanrepurchaseapply.LoanRepurchaseApply; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrepurchasecost.LoanRepurchaseCost; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loancaseexecuteveh.LoanCaseExecuteVehService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loancaseprogress.LoanCaseProgressService; |
|
|
@ -77,6 +79,8 @@ import com.yxt.anrui.riskcenter.biz.loancaseprogresstrial.LoanCaseProgressTrialS |
|
|
|
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.loanrepurchaseapply.LoanRepurchaseApplyService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrepurchasecost.LoanRepurchaseCostService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
|
import com.yxt.messagecenter.api.message.MessageFeign; |
|
|
@ -139,6 +143,10 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec |
|
|
|
private LoanRestoreReportApplyService loanRestoreReportApplyService; |
|
|
|
@Autowired |
|
|
|
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService; |
|
|
|
@Autowired |
|
|
|
private LoanRepurchaseApplyService loanRepurchaseApplyService; |
|
|
|
@Autowired |
|
|
|
private LoanRepurchaseCostService loanRepurchaseCostService; |
|
|
|
|
|
|
|
public PagerVo<LoanCaseExecuteApplyVo> listPageVo(PagerQuery<LoanCaseExecuteApplyQuery> pq) { |
|
|
|
LoanCaseExecuteApplyQuery query = pq.getParams(); |
|
|
@ -508,27 +516,29 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec |
|
|
|
UpdateFlowFieldVo ufVo = resultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
List<String> busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid()); |
|
|
|
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery(); |
|
|
|
if(busVinSidList.isEmpty()){ |
|
|
|
busVinStateSetQuery.setState(12);//执行
|
|
|
|
busVinStateSetQuery.setBusVinSidList(busVinSidList); |
|
|
|
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); |
|
|
|
} |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); |
|
|
|
LoanCaseExecuteApply finalLoanCaseExecuteApply = loanCaseExecuteApply; |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
//推送财务凭证
|
|
|
|
//TOdO:
|
|
|
|
pushRiskToFin(bv.getBusinessSid()); |
|
|
|
List<String> busVinSidList = loanCaseProgressVehService.selectByMainSid(finalLoanCaseExecuteApply.getBusSid()); |
|
|
|
BusVinStateSetQuery busVinStateSetQuery = new BusVinStateSetQuery(); |
|
|
|
if(busVinSidList.isEmpty()){ |
|
|
|
busVinStateSetQuery.setState(12);//执行
|
|
|
|
busVinStateSetQuery.setBusVinSidList(busVinSidList); |
|
|
|
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
//极光推送
|
|
|
|
loanCaseExecuteApply = fetchBySid(businessSid); |
|
|
@ -561,6 +571,7 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec |
|
|
|
voucher.setVoucherNo(organizationVo.getOrgCode()); |
|
|
|
} |
|
|
|
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>(); |
|
|
|
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos2 = new ArrayList<>(); |
|
|
|
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanCaseExecuteApply.getDeptSid()).getData(); |
|
|
|
List<String> busVinSidList = loanCaseProgressVehService.selectByMainSid(loanCaseExecuteApply.getBusSid()); |
|
|
|
BigDecimal executeAmountInArear= loanCaseExecuteApply.getExecuteAmountInArear();//其中执行欠款金额
|
|
|
@ -648,54 +659,127 @@ public class LoanCaseExecuteApplyService extends MybatisBaseService<LoanCaseExec |
|
|
|
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); |
|
|
|
if("1".equals(busSalesOrderVehicle.getRepoState().toString())){//已回购
|
|
|
|
//查询回购的资方费用
|
|
|
|
LoanRepurchaseApply loanRepurchaseApply = loanRepurchaseApplyService.selectByBusVinSid(busSalesOrderVehicle.getSid()); |
|
|
|
if(loanRepurchaseApply != null){ |
|
|
|
LoanRepurchaseCost loanRepurchaseCost = loanRepurchaseCostService.selectByMainSid(loanRepurchaseApply.getSid()); |
|
|
|
if(loanRepurchaseCost != null){ |
|
|
|
//合同违约金
|
|
|
|
BigDecimal bankContractLiquidated = loanRepurchaseCost.getBankContractLiquidated(); |
|
|
|
if(bankContractLiquidated != null){ |
|
|
|
all = all.add(bankContractLiquidated); |
|
|
|
} |
|
|
|
//资方名义价
|
|
|
|
BigDecimal bankNominalPrice = loanRepurchaseCost.getBankNominalPrice(); |
|
|
|
if(bankNominalPrice != null){ |
|
|
|
all = all.add(bankNominalPrice); |
|
|
|
} |
|
|
|
//资方其他费用
|
|
|
|
BigDecimal bankOtherReceivable = loanRepurchaseCost.getBankOtherReceivable(); |
|
|
|
if(bankOtherReceivable != null){ |
|
|
|
all = all.add(bankOtherReceivable); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
qzzxqk = executeAmountInArear; |
|
|
|
ysqhz = all.subtract(qzzxqk); |
|
|
|
//贷方
|
|
|
|
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("9".equals(busSalesOrderVehicle.getRiskState().toString())){ |
|
|
|
//贷方
|
|
|
|
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.03"); |
|
|
|
//核算部门
|
|
|
|
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode()); |
|
|
|
//核算客户
|
|
|
|
voucherResultDetailDtoDf.setDimensionCustom(customerNumber); |
|
|
|
voucherResultDetailDtoDf.setCredit(all.toString()); |
|
|
|
voucherResultDetailDtos2.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 (ysqhz.compareTo(BigDecimal.ZERO) > 0) { |
|
|
|
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) { |
|
|
|
voucherResultDetailDtoJf2.setSummary(customerNumber + "转执行"); |
|
|
|
voucherResultDetailDtoJf2.setSubjectNo("1201.03.05"); |
|
|
|
//核算部门
|
|
|
|
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode()); |
|
|
|
//核算客户
|
|
|
|
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber); |
|
|
|
voucherResultDetailDtoJf2.setDebit(qzzxqk.toString()); |
|
|
|
voucherResultDetailDtos2.add(voucherResultDetailDtoJf2); |
|
|
|
} |
|
|
|
|
|
|
|
}else if("11".equals(busSalesOrderVehicle.getRiskState().toString())){ |
|
|
|
//贷方
|
|
|
|
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 (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 (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); |
|
|
|
} |
|
|
|
if (!voucherResultDetailDtos2.isEmpty()) { |
|
|
|
voucher.setResultDetails(voucherResultDetailDtos2); |
|
|
|
finKingDeeFeign.saveVoucher(voucher); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|