|
|
@ -1287,29 +1287,98 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
} |
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid()); |
|
|
|
//判断是否是高低开,高低开的话推送开票申请
|
|
|
|
//若为增值税发票,若若高低开则推送价格客户备案、若不是高低开,则推送开票管理
|
|
|
|
detailsList.removeAll(Collections.singleton(null)); |
|
|
|
BusSalesOrderPrice data = busSalesOrderService.selectByContractNoOne(busDeliveredApply.getContractNo()).getData(); |
|
|
|
if(!detailsList.isEmpty()){ |
|
|
|
for (int i = 0; i < detailsList.size(); i++) { |
|
|
|
List<BusDeliveredApplyDetails> detailsList2 = new ArrayList<>(); |
|
|
|
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); |
|
|
|
//根据合同和车辆sid获取欠款开票的信息
|
|
|
|
BusBillApplication busBillApplication = busBillApplicationService.selectByContractNoAndSid(busDeliveredApply.getContractNo(),busDeliveredApplyDetails.getVinSid()); |
|
|
|
if(busBillApplication != null){ |
|
|
|
if(!data.getSingleFinalPrice().equals(busBillApplication.getOneBillMoney())){ |
|
|
|
detailsList2.add(busDeliveredApplyDetails); |
|
|
|
//推送开票申请数据
|
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
pushInvoice2(busDeliveredApply, detailsList2, orderDetailsVoResultBean.getData(), userVoResultBean.getData()); |
|
|
|
}); |
|
|
|
if("02".equals(busBillApplication.getOpenTickTypeKey())){ |
|
|
|
if(!data.getSingleFinalPrice().equals(busBillApplication.getOneBillMoney())){ |
|
|
|
//若高低开,推送价值客户备案
|
|
|
|
BusValcustFilingDto busValcustFilingDto = new BusValcustFilingDto(); |
|
|
|
busValcustFilingDto.setCreateBySid(busBillApplication.getCreateBySid()); |
|
|
|
busValcustFilingDto.setCreateByName(busBillApplication.getCreateByName()); |
|
|
|
busValcustFilingDto.setOrgSidPath(busBillApplication.getOrgSidPath()); |
|
|
|
busValcustFilingDto.setUseOrgSid(busBillApplication.getUseOrgSid()); |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(busBillApplication.getUseOrgSid()).getData(); |
|
|
|
busValcustFilingDto.setUseOrgName(sysOrganizationVo.getName()); |
|
|
|
busValcustFilingDto.setApplyDeptSid(busBillApplication.getDeptSid()); |
|
|
|
busValcustFilingDto.setApplyDeptName(busBillApplication.getDeptName()); |
|
|
|
busValcustFilingDto.setContractNo(busBillApplication.getContractNo()); |
|
|
|
busValcustFilingDto.setModelSid(busBillApplication.getModelSid()); |
|
|
|
busValcustFilingDto.setModelName(busBillApplication.getModelName()); |
|
|
|
busValcustFilingDto.setVinSid(busDeliveredApplyDetails.getVinSid()); |
|
|
|
busValcustFilingDto.setVinNo(busDeliveredApplyDetails.getVinNo()); |
|
|
|
BigDecimal money = busBillApplication.getOneBillMoney().subtract(data.getSingleFinalPrice()); |
|
|
|
int aa = money.compareTo(BigDecimal.ZERO); |
|
|
|
if (aa == 1) { |
|
|
|
busValcustFilingDto.setIsGdk("0"); |
|
|
|
String parameterValue = sysParameterFeign.fetchByParNo("CW_JZPZSXFBL").getData(); |
|
|
|
busValcustFilingDto.setYsMoney(money.multiply(new BigDecimal(parameterValue)).toString()); |
|
|
|
} else { |
|
|
|
busValcustFilingDto.setIsGdk("1"); |
|
|
|
busValcustFilingDto.setYsMoney("0"); |
|
|
|
} |
|
|
|
busValcustFilingDto.setMoney(money.abs().toString()); |
|
|
|
busValcustFilingDto.setSaleOrderSid(data.getSalesOrderSid()); |
|
|
|
busValcustFilingDto.setBusSid(busBillApplication.getSid()); |
|
|
|
busValcustFilingDto.setBusSource("0"); |
|
|
|
busValcustFilingService.saveOrUpdateDto(busValcustFilingDto); |
|
|
|
|
|
|
|
}else{ |
|
|
|
//不是高低开,推送开票管理
|
|
|
|
int count = baseMapper.selectCountByVinSid(busDeliveredApplyDetails.getVinSid(),busBillApplication.getContractNo()); |
|
|
|
if (count == 0) { |
|
|
|
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto(); |
|
|
|
finVehicleInvoiceDto.setInvoiceTitle(busBillApplication.getOpenTickUnitName()); |
|
|
|
finVehicleInvoiceDto.setContractNo(busBillApplication.getContractNo()); |
|
|
|
finVehicleInvoiceDto.setCustomerName(busBillApplication.getCustomerName()); |
|
|
|
finVehicleInvoiceDto.setVehicleSid(busDeliveredApplyDetails.getVinSid()); |
|
|
|
finVehicleInvoiceDto.setVIN(busDeliveredApplyDetails.getVinNo()); |
|
|
|
finVehicleInvoiceDto.setInvoiceTypeKey(busBillApplication.getOpenTickTypeKey()); |
|
|
|
finVehicleInvoiceDto.setInvoiceType(busBillApplication.getOpenTickTypeValue()); |
|
|
|
finVehicleInvoiceDto.setInvoiceAmount(busBillApplication.getOneBillMoney()); |
|
|
|
finVehicleInvoiceDto.setBillingStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setBillingState("未开票"); |
|
|
|
finVehicleInvoiceDto.setTransferStateKey("001"); |
|
|
|
finVehicleInvoiceDto.setTransferState("未移交"); |
|
|
|
finVehicleInvoiceDto.setVehicleType("主车"); |
|
|
|
finVehicleInvoiceDto.setBillingSid(busBillApplication.getSid()); |
|
|
|
finVehicleInvoiceDto.setInvoicingName(busBillApplication.getOpenTickName()); |
|
|
|
finVehicleInvoiceDto.setCreateBySid(busBillApplication.getCreateBySid()); |
|
|
|
finVehicleInvoiceDto.setBusinessStateKey(busBillApplication.getBillStateKey()); |
|
|
|
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue()); |
|
|
|
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid()); |
|
|
|
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(busBillApplication.getOpenTickSid()); |
|
|
|
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){ |
|
|
|
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.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(busBillApplication.getOpenTickSid()).getData(); |
|
|
|
if (crmCustomerTempVo != null) { |
|
|
|
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); |
|
|
|
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
finVehicleInvoiceDto.setIsTakeTicket(busBillApplication.getIsLQOrigInvoice()); |
|
|
|
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
/* //推送开票申请数据
|
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
pushInvoice2(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData()); |
|
|
|
});*/ |
|
|
|
|
|
|
|
//推送优惠包交接数据
|
|
|
|
Future future2 = pool.submit(() -> { |
|
|
|