Browse Source

优化欠款出库推送

master
dimengzhe 2 years ago
parent
commit
db4986187f
  1. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java
  2. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  3. 91
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java

@ -120,4 +120,6 @@ public interface BusDeliveredApplyMapper extends BaseMapper<BusDeliveredApply> {
List<String> selectBySid(@Param("contractNo") String contractId, @Param("list") List<String> vinNoLists);
BaseVehicleState selectByBusVinSid(String sid);
int selectCountByVinSid(@Param("vinSid") String vinSid,@Param("contractNo") String contractNo);
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml

@ -195,4 +195,8 @@
<select id="selectByBusVinSid" resultType="com.yxt.anrui.base.api.basevehiclestate.BaseVehicleState">
select * from anrui_base.base_vehicle_state where busSid = #{sid} and busState != '602' order by id desc limit 1
</select>
<select id="selectCountByVinSid" resultType="int">
select count(*) from anrui_fin.fin_vehicle_invoice where contractNo = #{contractNo} and vehicleSid = #{vinSid}
</select>
</mapper>

91
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -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(() -> {

Loading…
Cancel
Save