|
|
@ -35,6 +35,7 @@ import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanFeign; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.TrailerVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.TraliveredVo; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; |
|
|
@ -110,6 +111,7 @@ import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDto; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; |
|
|
@ -236,6 +238,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
@Autowired |
|
|
|
private FinBillTrailerFeign finBillTrailerFeign; |
|
|
|
@Autowired |
|
|
|
private FinBillVehicleFeign finBillVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderDiscountService busSalesOrderDiscountService; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderVehicleService busSalesOrderVehicleService; |
|
|
@ -283,6 +287,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
private LoanNoGuaranteeCreditReviewFeign loanNoGuaranteeCreditReviewFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderLoancontractService busSalesOrderLoancontractService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 构造出库申请的查询条件 |
|
|
|
* |
|
|
@ -922,12 +927,12 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
log.error("获取销售订单详情出错啦!!!"); |
|
|
|
} |
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid()); |
|
|
|
BusBillApplication busBillApplication = busBillApplicationService.selectByCkSidAll(busDeliveredApply.getSid()); |
|
|
|
List<BusBillTrailerVo> busBillTrailerVos = busBillTrailerService.fetchByMainSid(busBillApplication.getSid()); |
|
|
|
if ("1".equals(busDeliveredApply.getHasInvoiceKey())) { |
|
|
|
BusSalesOrderPrice data = busSalesOrderService.selectByContractNoOne(busDeliveredApply.getContractNo()).getData(); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo()); |
|
|
|
BusBillApplication busBillApplication = busBillApplicationService.selectByCkSidAll(busDeliveredApply.getSid()); |
|
|
|
List<BusBillVehicleVo> busBillVehicleVos = busBillVehicleService.fetchVehBySid(busBillApplication.getSid()); |
|
|
|
List<BusBillTrailerVo> busBillTrailerVos = busBillTrailerService.fetchByMainSid(busBillApplication.getSid()); |
|
|
|
if (!data.getSingleFinalPrice().equals(busBillApplication.getOneBillMoney())) {//是高低开
|
|
|
|
BusValcustFilingDto busValcustFilingDto = new BusValcustFilingDto(); |
|
|
|
busValcustFilingDto.setCreateBySid(busBillApplication.getCreateBySid()); |
|
|
@ -1071,49 +1076,68 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
pushInvoice(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData()); |
|
|
|
}); |
|
|
|
} |
|
|
|
if (busBillTrailerVos != null){ |
|
|
|
String kpsqSid = finBillApplicationFeign.selectByCompContractNo(busDeliveredApply.getContractNo()).getData(); |
|
|
|
if (StringUtils.isNotBlank(kpsqSid)){ |
|
|
|
for (BusBillTrailerVo busBillTrailerVo : busBillTrailerVos) { |
|
|
|
Integer count = finBillTrailerFeign.fetchByGcVinNo(busBillTrailerVo.getGcVinNo(),kpsqSid).getData(); |
|
|
|
if (count == 0){ |
|
|
|
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(busBillTrailerVo.getGcVinNo()).getData(); |
|
|
|
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); |
|
|
|
finVehicleInvoiceDto.setInvoiceTitle(busBillApplication.getOpenTickUnitName()); |
|
|
|
finVehicleInvoiceDto.setContractNo(busBillApplication.getContractNo()); |
|
|
|
finVehicleInvoiceDto.setCustomerName(busBillApplication.getCustomerName()); |
|
|
|
finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid()); |
|
|
|
finVehicleInvoiceDto.setVIN(busBillTrailerVo.getGcVinNo()); |
|
|
|
finVehicleInvoiceDto.setInvoiceTypeKey(busBillTrailerVo.getBillTypeKey()); |
|
|
|
finVehicleInvoiceDto.setInvoiceType(busBillTrailerVo.getBillTypeValue()); |
|
|
|
finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(busBillTrailerVo.getOneBillMoney())); |
|
|
|
finVehicleInvoiceDto.setBillingStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setBillingState("未开票"); |
|
|
|
finVehicleInvoiceDto.setTransferStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setTransferState("未移交"); |
|
|
|
finVehicleInvoiceDto.setVehicleType("挂车"); |
|
|
|
finVehicleInvoiceDto.setBillingSid(busBillApplication.getSid()); |
|
|
|
finVehicleInvoiceDto.setInvoicingName(busBillTrailerVo.getOpenTickName()); |
|
|
|
finVehicleInvoiceDto.setCreateBySid(busBillApplication.getCreateBySid()); |
|
|
|
finVehicleInvoiceDto.setBusinessStateKey(busBillApplication.getBillStateKey()); |
|
|
|
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue()); |
|
|
|
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid()); |
|
|
|
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingFeign.fetchDetailsVoBySid(busBillTrailerVo.getOpenTickSid()).getData(); |
|
|
|
if (finCompanyInvoicingDetailsVo != null) { |
|
|
|
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(busBillTrailerVo.getOpenTickSid()).getData(); |
|
|
|
if (crmCustomerTempVo != null) { |
|
|
|
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); |
|
|
|
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
//根据合同编号获取销售订单信息
|
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo()); |
|
|
|
for (BusDeliveredApplyDetails busDeliveredApplyDetails : detailsList) { |
|
|
|
//查询同一合同下出库的主车是否存在绑定的挂车
|
|
|
|
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(), busDeliveredApply.getContractNo()); |
|
|
|
if (trailerList.getData() != null) { |
|
|
|
if (!trailerList.getData().getList().isEmpty()) { |
|
|
|
//根据合同号查询主车对应的已办结开票信息sid
|
|
|
|
String kpsqSid = finBillApplicationFeign.selectByCompContractNo(busDeliveredApply.getContractNo()).getData(); |
|
|
|
if (StringUtils.isNotBlank(kpsqSid)) {//主车存在已办结的开票信息
|
|
|
|
for (TrailerVo busBillTrailerVo : trailerList.getData().getList()) { |
|
|
|
//根据挂车车架号和开票信息sid查询是否存在挂车对应的开票信息
|
|
|
|
Integer count = finBillTrailerFeign.fetchByGcVinNo(busBillTrailerVo.getTrailerVinNo(), kpsqSid).getData(); |
|
|
|
if (count == 0) {//不存在则推送挂车的开票管理信息
|
|
|
|
//根据挂车车架号查询挂车信息
|
|
|
|
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(busBillTrailerVo.getTrailerVinNo()).getData(); |
|
|
|
//根据主车sid和合同号查询主车的开票管理信息
|
|
|
|
FinVehicleInvoice finVehicleInvoice = finVehicleInvoiceFeign.selectByVinAndContractNo(busDeliveredApplyDetails.getVinSid(), busDeliveredApply.getContractNo()).getData(); |
|
|
|
//根据主车sid查询主车的开票信息
|
|
|
|
FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(busDeliveredApplyDetails.getVinSid()).getData(); |
|
|
|
//根据销售订单sid查询金融方案
|
|
|
|
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(busSalesOrder.getSid()).getData(); |
|
|
|
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); |
|
|
|
finVehicleInvoiceDto.setInvoiceTitle(finVehicleInvoice.getInvoiceTitle()); |
|
|
|
finVehicleInvoiceDto.setContractNo(finVehicleInvoice.getContractNo()); |
|
|
|
finVehicleInvoiceDto.setCustomerName(finVehicleInvoice.getCustomerName()); |
|
|
|
finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid()); |
|
|
|
finVehicleInvoiceDto.setVIN(busBillTrailerVo.getTrailerVinNo()); |
|
|
|
finVehicleInvoiceDto.setInvoiceTypeKey(finVehicleInvoice.getInvoiceTypeKey()); |
|
|
|
finVehicleInvoiceDto.setInvoiceType(finVehicleInvoice.getInvoiceType()); |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getTrailerAmount())){ |
|
|
|
finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(solutionsDetailsVo.getTrailerAmount())); |
|
|
|
} |
|
|
|
finVehicleInvoiceDto.setBillingStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setBillingState("未开票"); |
|
|
|
finVehicleInvoiceDto.setTransferStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setTransferState("未移交"); |
|
|
|
finVehicleInvoiceDto.setVehicleType("挂车"); |
|
|
|
finVehicleInvoiceDto.setBillingSid(finVehicleInvoice.getBillingSid()); |
|
|
|
finVehicleInvoiceDto.setInvoicingName(finVehicleInvoice.getInvoicingName()); |
|
|
|
finVehicleInvoiceDto.setCreateBySid(finVehicleInvoice.getCreateBySid()); |
|
|
|
finVehicleInvoiceDto.setBusinessStateKey(finVehicleInvoice.getBusinessStateKey()); |
|
|
|
finVehicleInvoiceDto.setBusinessState(finVehicleInvoice.getBusinessState()); |
|
|
|
finVehicleInvoiceDto.setUseOrgSid(finVehicleInvoice.getUseOrgSid()); |
|
|
|
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillVehicleDetailsVo.getOpenTickSid()).getData(); |
|
|
|
if (finCompanyInvoicingDetailsVo != null) { |
|
|
|
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(finBillVehicleDetailsVo.getOpenTickSid()).getData(); |
|
|
|
if (crmCustomerTempVo != null) { |
|
|
|
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); |
|
|
|
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
} |
|
|
|
} |
|
|
|
finVehicleInvoiceDto.setIsTakeTicket("是"); |
|
|
|
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto); |
|
|
|
} |
|
|
|
} |
|
|
|
finVehicleInvoiceDto.setIsTakeTicket("是"); |
|
|
|
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|