|
|
@ -33,6 +33,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
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.api.basetrailer.BaseTrailerDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; |
|
|
|
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; |
|
|
@ -45,6 +47,8 @@ import com.yxt.anrui.base.common.enums.BillTypeEnum; |
|
|
|
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.base.common.utils.domain.BillNo; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.BusDelivered; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredDto; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredFeign; |
|
|
@ -59,22 +63,37 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFiling; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingFeign; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.*; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.*; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinSelectDto; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.*; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.arreceivebill.ARReceivebill; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; |
|
|
|
import com.yxt.anrui.fin.biz.finbillapplication.FinBillApplicationService; |
|
|
|
import com.yxt.anrui.fin.biz.finbilltrailer.FinBillTrailerService; |
|
|
|
import com.yxt.anrui.fin.biz.finbillvehicle.FinBillVehicleService; |
|
|
|
import com.yxt.anrui.fin.biz.fincompanyinvoicing.FinCompanyInvoicingService; |
|
|
|
import com.yxt.anrui.fin.biz.finfundscarriedforwardveh.FinFundsCarriedForwardVehService; |
|
|
|
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; |
|
|
|
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService; |
|
|
|
import com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.arreceivebill.ArReceivebillService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
@ -144,6 +163,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
@Autowired |
|
|
|
private BaseVehicleFeign baseVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private BaseTrailerFeign baseTrailerFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderFeign busSalesOrderFeign; |
|
|
|
@Autowired |
|
|
|
private BusDeliveredFeign busDeliveredFeign; |
|
|
@ -167,6 +188,22 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
private FinFundsCarriedForwardVehService finFundsCarriedForwardVehService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleStateFeign baseVehicleStateFeign; |
|
|
|
@Autowired |
|
|
|
private ReceivableBillService receivableBillService; |
|
|
|
@Autowired |
|
|
|
private BusValcustFilingFeign busValcustFilingFeign; |
|
|
|
@Autowired |
|
|
|
private FinBillApplicationService finBillApplicationService; |
|
|
|
@Autowired |
|
|
|
private FinBillVehicleService finBillVehicleService; |
|
|
|
@Autowired |
|
|
|
private FinBillTrailerService finBillTrailerService; |
|
|
|
@Autowired |
|
|
|
private FinVehicleInvoiceService finVehicleInvoiceService; |
|
|
|
@Autowired |
|
|
|
private BusArrearsCarryVehicleApplyFeign busArrearsCarryVehicleApplyFeign; |
|
|
|
@Autowired |
|
|
|
private FinCompanyInvoicingService finCompanyInvoicingService; |
|
|
|
|
|
|
|
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
@ -1601,6 +1638,112 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
//删除临时表的数据
|
|
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); |
|
|
|
//判断加装配置手续费推送应收单
|
|
|
|
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { |
|
|
|
if ("加装配置手续费".equals(finSelectedReceivablesDetailedVo.getReceivablesName())){ |
|
|
|
BusValcustFiling busValcustFiling = busValcustFilingFeign.selectByContractNoAndVinNo(finSelectedReceivablesDetailedVo.getContractNo(), finSelectedReceivablesDetailedVo.getVIN()).getData(); |
|
|
|
if (busValcustFiling.getBusSource().equals("0")){//单独开票
|
|
|
|
FinBillApplication finBillApplication = finBillApplicationService.fetchBySid(busValcustFiling.getBusSid()); |
|
|
|
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(finBillApplication.getSid()); |
|
|
|
List<FinBillTrailerVo> finBillTrailerVos = finBillTrailerService.fetchByMainSid(finBillApplication.getSid()); |
|
|
|
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { |
|
|
|
int count = finVehicleInvoiceService.selectCountByVinSid(finBillVehicleVo.getVehSid()); |
|
|
|
if (count == 0) { |
|
|
|
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); |
|
|
|
finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); |
|
|
|
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); |
|
|
|
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); |
|
|
|
finVehicleInvoiceDto.setVehicleSid(finBillVehicleVo.getVehSid()); |
|
|
|
finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo()); |
|
|
|
finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleVo.getBillTypeKey()); |
|
|
|
finVehicleInvoiceDto.setInvoiceType(finBillVehicleVo.getBillTypeValue()); |
|
|
|
finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney()); |
|
|
|
finVehicleInvoiceDto.setBillingStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setBillingState("未开票"); |
|
|
|
finVehicleInvoiceDto.setTransferStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setTransferState("未移交"); |
|
|
|
finVehicleInvoiceDto.setVehicleType("主车"); |
|
|
|
finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid()); |
|
|
|
finVehicleInvoiceDto.setInvoicingName(finBillVehicleVo.getOpenTickName()); |
|
|
|
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); |
|
|
|
BusArrearsCarryVehicleApplyVo busArrearsCarryVehicleApplyVo = busArrearsCarryVehicleApplyFeign.selComByVehSid(finBillVehicleVo.getVehSid()).getData(); |
|
|
|
if (busArrearsCarryVehicleApplyVo == null){ |
|
|
|
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); |
|
|
|
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); |
|
|
|
}else { |
|
|
|
finVehicleInvoiceDto.setBusinessStateKey("005"); |
|
|
|
finVehicleInvoiceDto.setBusinessState("欠款提车"); |
|
|
|
} |
|
|
|
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); |
|
|
|
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()); |
|
|
|
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) { |
|
|
|
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); |
|
|
|
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); |
|
|
|
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); |
|
|
|
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); |
|
|
|
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); |
|
|
|
} else { |
|
|
|
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData(); |
|
|
|
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); |
|
|
|
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
} |
|
|
|
finVehicleInvoiceDto.setIsTakeTicket("是"); |
|
|
|
finVehicleInvoiceService.mySave(finVehicleInvoiceDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (finBillTrailerVos != null) { |
|
|
|
for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) { |
|
|
|
String gcVinNo = finBillTrailerVo.getGcVinNo(); |
|
|
|
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData(); |
|
|
|
int count = finVehicleInvoiceService.selectCountByVinSid(baseTrailerDetailsVo.getSid()); |
|
|
|
if (count == 0) { |
|
|
|
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); |
|
|
|
finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName()); |
|
|
|
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo()); |
|
|
|
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName()); |
|
|
|
finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid()); |
|
|
|
finVehicleInvoiceDto.setVIN(gcVinNo); |
|
|
|
finVehicleInvoiceDto.setInvoiceTypeKey(finBillTrailerVo.getBillTypeKey()); |
|
|
|
finVehicleInvoiceDto.setInvoiceType(finBillTrailerVo.getBillTypeValue()); |
|
|
|
finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(finBillTrailerVo.getOneBillMoney())); |
|
|
|
finVehicleInvoiceDto.setBillingStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setBillingState("未开票"); |
|
|
|
finVehicleInvoiceDto.setTransferStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setTransferState("未移交"); |
|
|
|
finVehicleInvoiceDto.setVehicleType("挂车"); |
|
|
|
finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid()); |
|
|
|
finVehicleInvoiceDto.setInvoicingName(finBillTrailerVo.getOpenTickName()); |
|
|
|
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid()); |
|
|
|
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey()); |
|
|
|
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); |
|
|
|
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); |
|
|
|
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()); |
|
|
|
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) { |
|
|
|
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); |
|
|
|
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); |
|
|
|
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); |
|
|
|
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); |
|
|
|
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); |
|
|
|
} else { |
|
|
|
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData(); |
|
|
|
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); |
|
|
|
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
} |
|
|
|
finVehicleInvoiceDto.setIsTakeTicket("是"); |
|
|
|
finVehicleInvoiceService.mySave(finVehicleInvoiceDto); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(finSelectedReceivablesDetailedVo.getContractNo()).getData(); |
|
|
|
BigDecimal oneBillMoney = busSalesOrder.getOneBillMoney(); |
|
|
|
if (oneBillMoney == null) { |
|
|
|
busSalesOrderFeign.updateOneBillMoneyByOrderSid(busSalesOrder.getSid(), finBillApplication.getOneBillMoney().toString()); |
|
|
|
} |
|
|
|
}else {//出库开票申请
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setMsg("款项确认成功"); |
|
|
|
} |
|
|
|
|
|
|
@ -1662,6 +1805,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//推送全款订金
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "订金", "1"); |
|
|
|
finSelectedReceivablesDetailedVos2.removeAll(Collections.singleton(null)); |
|
|
|
//加装配置手续费(全款)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos3_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "加装配置手续费", "1"); |
|
|
|
finSelectedReceivablesDetailedVos3_1.removeAll(Collections.singleton(null)); |
|
|
|
//贷款推送车款
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "车款", "2"); |
|
|
|
finSelectedReceivablesDetailedVos1_1.removeAll(Collections.singleton(null)); |
|
|
@ -1671,6 +1817,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//贷款推送车款(应收未收中为首付款的)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "首付款及费用", "2"); |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null)); |
|
|
|
//加装配置手续费(贷款)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos3_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "加装配置手续费", "2"); |
|
|
|
finSelectedReceivablesDetailedVos3_2.removeAll(Collections.singleton(null)); |
|
|
|
int carSize = 0; |
|
|
|
//全款推送车款
|
|
|
|
if (finSelectedReceivablesDetailedVos1.size() > 0) { |
|
|
@ -1680,7 +1829,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0) { |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 0) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = fullPaymentPushCar(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos1, freceivebillentry, one, orgCode); |
|
|
@ -1693,7 +1844,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0) { |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 0) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = fullPaymentPushCarFirst(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos1_1_1, freceivebillentry, one, orgCode); |
|
|
@ -1707,11 +1860,28 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 1 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0) { |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 0) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = fullPaymentPushDeposit(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos2, freceivebillentry, one, orgCode); |
|
|
|
} |
|
|
|
//全款推送加装配置手续费
|
|
|
|
if (finSelectedReceivablesDetailedVos3_1.size() > 0) { |
|
|
|
boolean one = false; |
|
|
|
if (finSelectedReceivablesDetailedVos1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 1 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 0) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = fullInstaConfigFee(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos3_1, freceivebillentry, one, orgCode); |
|
|
|
} |
|
|
|
|
|
|
|
//担保贷款推送车款
|
|
|
|
if (finSelectedReceivablesDetailedVos1_1.size() > 0) { |
|
|
@ -1721,7 +1891,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 1 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0) { |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 0) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = loanPushCar(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos1_1, freceivebillentry, one, orgCode); |
|
|
@ -1734,7 +1906,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 1) { |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 1 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 0) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = loanPushCarFirst(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos1_1_2, freceivebillentry, one, orgCode); |
|
|
@ -1747,11 +1921,28 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 1 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0) { |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 0) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = loanPushDeposit(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos2_1, freceivebillentry, one, orgCode); |
|
|
|
} |
|
|
|
//贷款推送加装配置手续费
|
|
|
|
if (finSelectedReceivablesDetailedVos3_2.size() > 0) { |
|
|
|
boolean one = false; |
|
|
|
if (finSelectedReceivablesDetailedVos1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos2_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_1.size() == 0 && |
|
|
|
finSelectedReceivablesDetailedVos3_2.size() == 1) { |
|
|
|
one = true; |
|
|
|
} |
|
|
|
carSize = loanInstaConfigFee(confirmation, arReceivebill, carSize, finSelectedReceivablesDetailedVos3_2, freceivebillentry, one, orgCode); |
|
|
|
} |
|
|
|
|
|
|
|
//简易订单-订金收取
|
|
|
|
if (finSelectedReceivablesDetailedVos1.isEmpty() && |
|
|
@ -1759,7 +1950,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
finSelectedReceivablesDetailedVos1_1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos2_1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos1_1_1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.isEmpty() && confirmation.getPushMessgae() == 1) { |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos3_1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos3_2.isEmpty() && confirmation.getPushMessgae() == 1) { |
|
|
|
//先推送客户
|
|
|
|
AppBusDepositBuscenterDetailVo busDeposit = busDepositFeign.getDepositInfoDetails(confirmation.getBusSid()).getData(); |
|
|
|
BdCustomer bdCustomer = createBdCustomer(confirmation.getUseOrgSid(), busDeposit.getPayName(), busDeposit.getPhone(), "", sid); |
|
|
@ -2123,6 +2316,82 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return carSize; |
|
|
|
} |
|
|
|
|
|
|
|
//全款推送加装配置手续费
|
|
|
|
private int fullInstaConfigFee(FinCollectionConfirmation confirmation, |
|
|
|
ARReceivebill arReceivebill, |
|
|
|
int carSize, |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos3_1, |
|
|
|
ARReceivebill.FRECEIVEBILLENTRY freceivebillentry, |
|
|
|
boolean one, |
|
|
|
String orgCode) { |
|
|
|
String sid = confirmation.getSid(); |
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = |
|
|
|
finSelectedReceivablesDetailedService.selectDetailsList(sid, "加装配置手续费"); |
|
|
|
finSelectedReceivablesDetailedVos3_1.removeAll(Collections.singleton(null)); |
|
|
|
List<ARReceivebill.FRECEIVEBILLENTRY> fEntityList = new ArrayList<>(); |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVos3_1.size(); i++) { |
|
|
|
FinSelectedReceivablesDetailedVo v = finSelectedReceivablesDetailedVos3_1.get(i); |
|
|
|
//推送客户
|
|
|
|
String customerNo = createCustomerQuery(1, v, orgCode); |
|
|
|
//往来单位
|
|
|
|
arReceivebill.setFCONTACTUNIT(customerNo); |
|
|
|
fEntityList = new ArrayList<>(); |
|
|
|
//查询该收款单已选款项中该合同号的所有车架号不为空的明细
|
|
|
|
String contractNo = v.getContractNo(); |
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, "加装配置手续费", contractNo); |
|
|
|
vinListVo.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinListVo.isEmpty()) { |
|
|
|
for (FinSelectedReceivablesDetailedVo vv : vinListVo) { |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(vv.getSubscriptionMoney()); |
|
|
|
//登记日期
|
|
|
|
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); |
|
|
|
if (vv.getVIN().length() >= 8) { |
|
|
|
freceivebillentry.setF_PAEZ_Base1(vv.getVIN().substring(vv.getVIN().length() - 8)); |
|
|
|
} |
|
|
|
//收款用途
|
|
|
|
freceivebillentry.setFPURPOSEIDKey("001"); |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
} |
|
|
|
} |
|
|
|
//查询该合同编号的车架号为空的情况
|
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, "加装配置手续费", contractNo); |
|
|
|
if (vvVo != null) { |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(vvVo.getSumAll()); |
|
|
|
//登记日期
|
|
|
|
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); |
|
|
|
//收款用途
|
|
|
|
freceivebillentry.setFPURPOSEIDKey("001"); |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
} |
|
|
|
//项目类别key、value
|
|
|
|
arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("006"); |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (one) { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} else { |
|
|
|
carSize = carSize + 1; |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize); |
|
|
|
} |
|
|
|
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
} |
|
|
|
return carSize; |
|
|
|
} |
|
|
|
|
|
|
|
//担保贷款推送车款
|
|
|
|
public int loanPushCar(FinCollectionConfirmation confirmation, |
|
|
|
ARReceivebill arReceivebill, |
|
|
@ -2289,6 +2558,56 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return carSize; |
|
|
|
} |
|
|
|
|
|
|
|
//贷款推送加装配置手续费
|
|
|
|
private int loanInstaConfigFee(FinCollectionConfirmation confirmation, |
|
|
|
ARReceivebill arReceivebill, int carSize, |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos3_2, |
|
|
|
ARReceivebill.FRECEIVEBILLENTRY freceivebillentry, |
|
|
|
boolean one, |
|
|
|
String orgCode) { |
|
|
|
String sid = confirmation.getSid(); |
|
|
|
List<ARReceivebill.FRECEIVEBILLENTRY> fEntityList = new ArrayList<>(); |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVos3_2.size(); i++) { |
|
|
|
FinSelectedReceivablesDetailedVo vvvv = finSelectedReceivablesDetailedVos3_2.get(i); |
|
|
|
//推送客户
|
|
|
|
String customerNo = createCustomerQuery(2, vvvv, orgCode); |
|
|
|
//往来单位
|
|
|
|
arReceivebill.setFCONTACTUNIT(customerNo); |
|
|
|
fEntityList = new ArrayList<>(); |
|
|
|
String uncollSid = ""; |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(vvvv.getSubscriptionMoney()); |
|
|
|
//登记日期
|
|
|
|
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); |
|
|
|
if (vvvv.getVIN().length() >= 8) { |
|
|
|
freceivebillentry.setF_PAEZ_Base1(vvvv.getVIN().substring(vvvv.getVIN().length() - 8)); |
|
|
|
} |
|
|
|
//收款用途
|
|
|
|
freceivebillentry.setFPURPOSEIDKey("001"); |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
uncollSid = vvvv.getReceivablesSid(); |
|
|
|
//项目类别key、value
|
|
|
|
arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("006"); |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (one) { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} else { |
|
|
|
//单据编号
|
|
|
|
carSize = carSize + 1; |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize); |
|
|
|
} |
|
|
|
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
} |
|
|
|
return carSize; |
|
|
|
} |
|
|
|
|
|
|
|
public String getPrefix(String collSid, String name, String mobile) { |
|
|
|
String customerNoPrefix = ""; |
|
|
|
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(collSid); |
|
|
|