|
|
@ -7,14 +7,20 @@ 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.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.stkmiscellaneous.StkMiscellaneous; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.stkmisdelivery.StkMisDelivery; |
|
|
|
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; |
|
|
@ -38,6 +44,7 @@ import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundVinListVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansubletapply.*; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo; |
|
|
@ -50,6 +57,7 @@ import com.yxt.anrui.riskcenter.biz.loanoutboundveh.LoanOutboundVehService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanredemptionapply.LoanRedemptionApplyService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loansubletveh.LoanSubletVehService; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
@ -65,6 +73,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.*; |
|
|
@ -118,6 +127,8 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp |
|
|
|
private LoanSubletVehService loanSubletVehService; |
|
|
|
@Autowired |
|
|
|
private LoanOutboundVehService loanOutboundVehService; |
|
|
|
@Autowired |
|
|
|
private LoanRestoreReportApplyService loanRestoreReportApplyService; |
|
|
|
|
|
|
|
public PagerVo<LoanOutboundApplyVo> listPage(PagerQuery<LoanOutboundApplyQuery> pq) { |
|
|
|
IPage<LoanOutboundApply> page = PagerUtil.queryToPage(pq); |
|
|
@ -662,6 +673,94 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//推送财务凭证
|
|
|
|
public void pushRiskToFin(LoanOutboundApply loanOutboundApply,List<String> busVinSidList) { |
|
|
|
Voucher voucher = new Voucher(); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData(); |
|
|
|
if (null != organizationVo) { |
|
|
|
voucher.setAccountBook(organizationVo.getOrgCode()); |
|
|
|
voucher.setVoucherNo(organizationVo.getOrgCode()); |
|
|
|
} |
|
|
|
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getDeptSid()).getData(); |
|
|
|
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) { |
|
|
|
// List<BdCustomer> bdCustomers = new ArrayList<>();
|
|
|
|
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<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); |
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
customerNumber = bdCustomer.getFNumber(); |
|
|
|
} |
|
|
|
} else { |
|
|
|
customerNumber = busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
} |
|
|
|
AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(busVinSid); |
|
|
|
//应收贷款车欠款_待处理欠款_扣回车辆
|
|
|
|
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 = alrepaidAndArrVo.getUnexpiredMoney(); |
|
|
|
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); |
|
|
|
|
|
|
|
|
|
|
|
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>(); |
|
|
|
//借方
|
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); |
|
|
|
//贷方
|
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf1 = new Voucher.VoucherResultDetailDto(); |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto(); |
|
|
|
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public void pushStkOut(LoanOutboundApply loanOutboundApply,List<String> busVinSidList) { |
|
|
|
SysOrganizationVo sysOrg = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData(); |
|
|
|
StkMisDelivery stkMisDelivery = new StkMisDelivery(); |
|
|
@ -682,9 +781,9 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp |
|
|
|
stkMiscellaneousEntryList.add(stkMisDeliveryEntry); |
|
|
|
stkMisDelivery.setStkMisDeliveryEntry(stkMiscellaneousEntryList); |
|
|
|
} |
|
|
|
|
|
|
|
ResultBean resultBean = finKingDeeFeign.draftStkMisDelivery(stkMisDelivery); |
|
|
|
|
|
|
|
if(!stkMiscellaneousEntryList.isEmpty()){ |
|
|
|
ResultBean resultBean = finKingDeeFeign.draftStkMisDelivery(stkMisDelivery); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|