|
|
@ -30,12 +30,32 @@ 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.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.BusValcustFilingNodeQuery; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.BusValcustFilingNodeVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.BusValcustFilingTaskQuery; |
|
|
|
import com.yxt.anrui.buscenter.api.busvalcustfiling.flowable.SubmitBusValcustFilingDto; |
|
|
|
import com.yxt.anrui.buscenter.biz.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
@ -70,6 +90,7 @@ import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingFeign; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
@ -99,6 +120,24 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
|
SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
private FinBillApplicationFeign finBillApplicationFeign; |
|
|
|
@Autowired |
|
|
|
private FinBillVehicleFeign finBillVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private FinBillTrailerFeign finBillTrailerFeign; |
|
|
|
@Autowired |
|
|
|
private FinVehicleInvoiceFeign finVehicleInvoiceFeign; |
|
|
|
@Autowired |
|
|
|
private BusArrearsCarryVehicleApplyService busArrearsCarryVehicleApplyService; |
|
|
|
@Autowired |
|
|
|
private CrmCustomerTempFeign crmCustomerTempFeign; |
|
|
|
@Autowired |
|
|
|
private FinCompanyInvoicingFeign finCompanyInvoicingFeign; |
|
|
|
@Autowired |
|
|
|
private BaseTrailerFeign baseTrailerFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderService busSalesOrderService; |
|
|
|
|
|
|
|
public PagerVo<BusValcustFilingVo> listPageVo(PagerQuery<BusValcustFilingQuery> pq) { |
|
|
|
BusValcustFilingQuery query = pq.getParams(); |
|
|
@ -328,6 +367,106 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling |
|
|
|
UpdateFlowFieldVo ufVo = resultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
if ("0".equals(busValcustFiling.getIsGdk())){//高开
|
|
|
|
|
|
|
|
}else { |
|
|
|
FinBillApplication finBillApplication = finBillApplicationFeign.fetchBySid(busValcustFiling.getBusSid()).getData(); |
|
|
|
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleFeign.fetchVehBySid(busValcustFiling.getBusSid()).getData(); |
|
|
|
List<FinBillTrailerVo> finBillTrailerVos = finBillTrailerFeign.fetchByMainSid(busValcustFiling.getBusSid()).getData(); |
|
|
|
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { |
|
|
|
int count = finVehicleInvoiceFeign.selectCountByVinSid(finBillVehicleVo.getVehSid()).getData(); |
|
|
|
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 = busArrearsCarryVehicleApplyService.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 = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()).getData(); |
|
|
|
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("是"); |
|
|
|
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (finBillTrailerVos != null) { |
|
|
|
for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) { |
|
|
|
String gcVinNo = finBillTrailerVo.getGcVinNo(); |
|
|
|
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData(); |
|
|
|
int count = finVehicleInvoiceFeign.selectCountByVinSid(baseTrailerDetailsVo.getSid()).getData(); |
|
|
|
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 = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()).getData(); |
|
|
|
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("是"); |
|
|
|
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busValcustFiling.getSaleOrderSid()); |
|
|
|
BigDecimal oneBillMoney = busSalesOrder.getOneBillMoney(); |
|
|
|
if (oneBillMoney == null) { |
|
|
|
busSalesOrderService.updateOneBillMoneyByOrderSid(busSalesOrder.getSid(), finBillApplication.getOneBillMoney().toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
//极光推送
|
|
|
|
busValcustFiling = fetchBySid(businessSid); |
|
|
|