|
|
@ -43,7 +43,13 @@ import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderRetu |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehPdfVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.fin.api.finpaymentapplydetailsbelow.FinPaymentapplyDetailsBelowDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign; |
|
|
|
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; |
|
|
@ -67,6 +73,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|
|
|
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.loanrepaymentplandetails.LoanRepaymentPlanDetails; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApply; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrepurchasecost.LoanRepurchaseCost; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo; |
|
|
@ -78,6 +85,7 @@ import com.yxt.anrui.riskcenter.api.loansecondarysalesnotapply.flowable.*; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDetailsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansecondarysalesnotveh.LoanSecondarySalesNotVehDto; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanbepadsincereveh.LoanBePadsincereVehService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrepurchaseapply.LoanRepurchaseApplyService; |
|
|
@ -166,6 +174,12 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe |
|
|
|
private LoanRepurchaseApplyService loanRepurchaseApplyService; |
|
|
|
@Autowired |
|
|
|
private LoanRepurchaseCostService loanRepurchaseCostService; |
|
|
|
@Autowired |
|
|
|
private FinUncollectedReceivablesDetailedJRFeign finUncollectedReceivablesDetailedJRFeign; |
|
|
|
@Autowired |
|
|
|
private FinSelectedReceivablesDetailedFeign finSelectedReceivablesDetailedFeign; |
|
|
|
@Autowired |
|
|
|
private LoanBePadsincereVehService loanBePadsincereVehService; |
|
|
|
|
|
|
|
public PagerVo<LoanSecondarySalesNotApplyVo> listPageVo(PagerQuery<LoanSecondarySalesNotApplyQuery> pq) { |
|
|
|
LoanSecondarySalesNotApplyQuery query = pq.getParams(); |
|
|
@ -579,7 +593,8 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe |
|
|
|
UpdateFlowFieldVo ufVo = resultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
|
|
|
|
//认损应收
|
|
|
|
pushRiskToFin3(businessSid); |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
@ -622,6 +637,74 @@ public class LoanSecondarySalesNotApplyService extends MybatisBaseService<LoanSe |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void pushRiskToFin3(String businessSid) { |
|
|
|
LoanSecondarySalesNotApply loanSecondarySalesNotApply = fetchBySid(businessSid); |
|
|
|
//不追偿车辆列表
|
|
|
|
List<LoanSecondarySalesNotVehDetailsVo> loanSecondarySalesNotVehDetailsVos = loanSecondarySalesNotVehService.selByMainSid(businessSid); |
|
|
|
for (LoanSecondarySalesNotVehDetailsVo loanSecondarySalesNotVehDetailsVo : loanSecondarySalesNotVehDetailsVos) { |
|
|
|
//查询车辆还款计划明细
|
|
|
|
List<LoanRepaymentPlanDetails> loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.selectByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid()); |
|
|
|
//查询车辆是否有垫款金额
|
|
|
|
BigDecimal dkje = loanBePadsincereVehService.selByBusVinSid(loanSecondarySalesNotVehDetailsVo.getBusVinSid()); |
|
|
|
//获取明细sid集合
|
|
|
|
List<String> jhmxSids = loanRepaymentPlanDetails.stream().map(c -> c.getSid()). |
|
|
|
collect(Collectors.toList()); |
|
|
|
//查询金融应收所有应收款
|
|
|
|
List<FinUncollectedReceivablesDetailedJR> data = finUncollectedReceivablesDetailedJRFeign.selByBusSid(jhmxSids).getData(); |
|
|
|
if (!data.isEmpty()){ |
|
|
|
for (FinUncollectedReceivablesDetailedJR datum : data) { |
|
|
|
List<FinSelectedReceivablesDetailed> finSelectedReceivablesDetaileds = finSelectedReceivablesDetailedFeign.fetchByReceivablesSid(datum.getSid()).getData(); |
|
|
|
if (finSelectedReceivablesDetaileds.isEmpty()){ |
|
|
|
List<FinSelectedReceivablesDetailed> selectList = new ArrayList<>(); |
|
|
|
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); |
|
|
|
fin.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); |
|
|
|
fin.setRemarks("认损"); |
|
|
|
fin.setVIN(loanSecondarySalesNotVehDetailsVo.getVinNo()); |
|
|
|
fin.setUseOrgSid(loanSecondarySalesNotApply.getUseOrgSid()); |
|
|
|
fin.setReceivablesName(datum.getPayCostTitleValue()); |
|
|
|
fin.setSubscriptionMoney(datum.getReveivableMoney()); |
|
|
|
fin.setSubscriptionDate(DateUtil.today()); |
|
|
|
fin.setAuditState(3); |
|
|
|
fin.setAuditDate(DateUtil.today()); |
|
|
|
fin.setReceivablesSid(datum.getSid()); |
|
|
|
fin.setKxState("01"); |
|
|
|
fin.setPurchaseSystemSid(""); |
|
|
|
fin.setPurchaseSystemName(""); |
|
|
|
fin.setStaffUserSid(""); |
|
|
|
fin.setUseOrgName(loanSecondarySalesNotApply.getUseOrgName()); |
|
|
|
fin.setOrgSidPath(loanSecondarySalesNotApply.getOrgSidPath()); |
|
|
|
selectList.add(fin); |
|
|
|
finSelectedReceivablesDetailedFeign.saveAll(selectList); |
|
|
|
}else { |
|
|
|
BigDecimal ys = finSelectedReceivablesDetaileds.stream().map(FinSelectedReceivablesDetailed::getSubscriptionMoney).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
if (ys.compareTo(datum.getReveivableMoney()) == -1){ |
|
|
|
List<FinSelectedReceivablesDetailed> selectList = new ArrayList<>(); |
|
|
|
FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); |
|
|
|
fin.setCreateBySid(loanSecondarySalesNotApply.getCreateBySid()); |
|
|
|
fin.setRemarks("认损"); |
|
|
|
fin.setVIN(loanSecondarySalesNotVehDetailsVo.getVinNo()); |
|
|
|
fin.setUseOrgSid(loanSecondarySalesNotApply.getUseOrgSid()); |
|
|
|
fin.setReceivablesName(datum.getPayCostTitleValue()); |
|
|
|
fin.setSubscriptionMoney(datum.getReveivableMoney().subtract(ys)); |
|
|
|
fin.setSubscriptionDate(DateUtil.today()); |
|
|
|
fin.setAuditState(3); |
|
|
|
fin.setAuditDate(DateUtil.today()); |
|
|
|
fin.setReceivablesSid(datum.getSid()); |
|
|
|
fin.setKxState("01"); |
|
|
|
fin.setPurchaseSystemSid(""); |
|
|
|
fin.setPurchaseSystemName(""); |
|
|
|
fin.setStaffUserSid(""); |
|
|
|
fin.setUseOrgName(loanSecondarySalesNotApply.getUseOrgName()); |
|
|
|
fin.setOrgSidPath(loanSecondarySalesNotApply.getOrgSidPath()); |
|
|
|
selectList.add(fin); |
|
|
|
finSelectedReceivablesDetailedFeign.saveAll(selectList); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void pushRiskToFin2(LoanSecondarySalesNotApply loanSecondarySalesNotApply, List<String> busVinSidList) { |
|
|
|
LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostService.selectMainSu(loanSecondarySalesNotApply.getSecSaleSid()); |
|
|
|
Voucher voucher = new Voucher(); |
|
|
|