|
|
@ -26,6 +26,7 @@ |
|
|
|
package com.yxt.anrui.buscenter.biz.busbillapplication; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.TrailerVo; |
|
|
@ -45,7 +46,10 @@ import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicleDto; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.*; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicleVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetails; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; |
|
|
|
import com.yxt.anrui.buscenter.biz.busbillfile.BusBillFileService; |
|
|
|
import com.yxt.anrui.buscenter.biz.busbilltrailer.BusBillTrailerService; |
|
|
@ -53,7 +57,11 @@ import com.yxt.anrui.buscenter.biz.busbillvehicle.BusBillVehicleService; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplication; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplicationDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busbilltrailer.BusBillTrailerVo; |
|
|
|
import com.yxt.anrui.buscenter.biz.busdeliveredapply.BusDeliveredApplyService; |
|
|
|
import com.yxt.anrui.buscenter.biz.busdeliveredapplydetails.BusDeliveredApplyDetailsService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
@ -86,21 +94,26 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica |
|
|
|
private BaseVehicleAppendixFeign baseVehicleAppendixFeign; |
|
|
|
@Autowired |
|
|
|
private CommonAppendixFeign commonAppendixFeign; |
|
|
|
@Autowired |
|
|
|
private BusDeliveredApplyService busDeliveredApplyService; |
|
|
|
@Autowired |
|
|
|
private BusDeliveredApplyDetailsService busDeliveredApplyDetailsService; |
|
|
|
@Autowired |
|
|
|
private FinCompanyInvoicingFeign finCompanyInvoicingFeign; |
|
|
|
|
|
|
|
public ResultBean<String> saveOrUpdateDto(BusBillApplicationDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
List<BusBillTrailerDto> busBillTrailers = dto.getBusBillTrailers(); |
|
|
|
List<BusBillVehicleDto> busBillVehicles = dto.getBusBillVehicles(); |
|
|
|
List<BusBillTrailerDto> busBillTrailers = dto.getFinBillTrailers(); |
|
|
|
List<BusBillVehicleDto> busBillVehicles = dto.getFinBillVehicles(); |
|
|
|
List<BusBillFileDto> carBuyContractImages = dto.getCarBuyContractImages(); |
|
|
|
List<BusBillFileDto> khkpsqsApplicationAppendxs = dto.getKhkpsqsApplicationAppendxs(); |
|
|
|
List<BusBillFileDto> kpxxqrsApplicationAppendxs = dto.getKpxxqrsApplicationAppendxs(); |
|
|
|
List<BusBillFileDto> cldjhtApplicationAppendxs = dto.getCldjhtApplicationAppendxs(); |
|
|
|
List<BusBillFileDto> zjApplicationAppendxs = dto.getZjApplicationAppendxs(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) {//新增
|
|
|
|
BusBillApplication busBillApplication = new BusBillApplication(); |
|
|
|
BeanUtil.copyProperties(dto, busBillApplication, "sid"); |
|
|
|
busBillApplication.setNum(busBillVehicles.size()); |
|
|
|
busBillApplication.setArrearsMoney("0"); |
|
|
|
save(busBillApplication); |
|
|
|
//主车开票信息
|
|
|
|
for (BusBillVehicleDto busBillVehicleDto : busBillVehicles) { |
|
|
@ -130,26 +143,6 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica |
|
|
|
busBillFileDto.setAttachType(BusAttachTypeEnum.CLMMHT.getAttachType()); |
|
|
|
busBillFileService.saveOrUpdateDto(busBillFileDto); |
|
|
|
} |
|
|
|
for (BusBillFileDto busBillFileDto : khkpsqsApplicationAppendxs) { |
|
|
|
String filePath = busBillFileDto.getFileUrl(); |
|
|
|
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { |
|
|
|
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
busBillFileDto.setFileUrl(filePath); |
|
|
|
busBillFileDto.setBillAppSid(busBillApplication.getSid()); |
|
|
|
busBillFileDto.setAttachType(BusAttachTypeEnum.KHKPSQS.getAttachType()); |
|
|
|
busBillFileService.saveOrUpdateDto(busBillFileDto); |
|
|
|
} |
|
|
|
for (BusBillFileDto busBillFileDto : kpxxqrsApplicationAppendxs) { |
|
|
|
String filePath = busBillFileDto.getFileUrl(); |
|
|
|
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { |
|
|
|
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
busBillFileDto.setFileUrl(filePath); |
|
|
|
busBillFileDto.setBillAppSid(busBillApplication.getSid()); |
|
|
|
busBillFileDto.setAttachType(BusAttachTypeEnum.KPXXQRS.getAttachType()); |
|
|
|
busBillFileService.saveOrUpdateDto(busBillFileDto); |
|
|
|
} |
|
|
|
for (BusBillFileDto busBillFileDto : cldjhtApplicationAppendxs) { |
|
|
|
String filePath = busBillFileDto.getFileUrl(); |
|
|
|
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { |
|
|
@ -192,30 +185,6 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica |
|
|
|
busBillFileService.saveOrUpdateDto(busBillFileDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (khkpsqsApplicationAppendxs != null) { |
|
|
|
for (BusBillFileDto busBillFileDto : khkpsqsApplicationAppendxs) { |
|
|
|
String filePath = busBillFileDto.getFileUrl(); |
|
|
|
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { |
|
|
|
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
busBillFileDto.setFileUrl(filePath); |
|
|
|
busBillFileDto.setBillAppSid(busBillApplication.getSid()); |
|
|
|
busBillFileDto.setAttachType(BusAttachTypeEnum.KHKPSQS.getAttachType()); |
|
|
|
busBillFileService.saveOrUpdateDto(busBillFileDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (kpxxqrsApplicationAppendxs != null) { |
|
|
|
for (BusBillFileDto busBillFileDto : kpxxqrsApplicationAppendxs) { |
|
|
|
String filePath = busBillFileDto.getFileUrl(); |
|
|
|
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { |
|
|
|
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
} |
|
|
|
busBillFileDto.setFileUrl(filePath); |
|
|
|
busBillFileDto.setBillAppSid(busBillApplication.getSid()); |
|
|
|
busBillFileDto.setAttachType(BusAttachTypeEnum.KPXXQRS.getAttachType()); |
|
|
|
busBillFileService.saveOrUpdateDto(busBillFileDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (cldjhtApplicationAppendxs != null) { |
|
|
|
for (BusBillFileDto busBillFileDto : cldjhtApplicationAppendxs) { |
|
|
|
String filePath = busBillFileDto.getFileUrl(); |
|
|
@ -277,10 +246,56 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public BusBillApplicationDetailsVo fetchDetailByCkSid(String cksqSid) { |
|
|
|
BusBillApplicationVo busBillApplicationVo = baseMapper.selectByCkSid(cksqSid); |
|
|
|
public BusBillApplicationDetailsVo fetchDetailByCkSid(String ckSid) { |
|
|
|
BusBillApplicationVo busBillApplicationVo = baseMapper.selectByCkSid(ckSid); |
|
|
|
BusDeliveredApply busDeliveredApply = busDeliveredApplyService.fetchBySid(ckSid); |
|
|
|
if (busBillApplicationVo == null){ |
|
|
|
return null; |
|
|
|
BusBillApplicationDetailsVo vo = new BusBillApplicationDetailsVo(); |
|
|
|
vo.setUseOrgSid(busDeliveredApply.getUseOrgSid()); |
|
|
|
vo.setSaleTypeKey(busDeliveredApply.getPaymentMethodKey()); |
|
|
|
vo.setSaleTypeValue(busDeliveredApply.getPaymentMethod()); |
|
|
|
vo.setStaffName(busDeliveredApply.getStaffName()); |
|
|
|
vo.setSaleDeptName(busDeliveredApply.getStaffDeptName()); |
|
|
|
vo.setSaleDeptSid(busDeliveredApply.getStaffDeptSid()); |
|
|
|
vo.setCkSid(ckSid); |
|
|
|
vo.setBillStateKey("001"); |
|
|
|
vo.setBillStateValue("正常开票"); |
|
|
|
//开票单位
|
|
|
|
ResultBean<AppOrderDetailsVo> orderDetailsVoResultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(busDeliveredApply.getContractNo()); |
|
|
|
AppOrderDetailsVo appOrderDetailsVo = orderDetailsVoResultBean.getData(); |
|
|
|
if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) { |
|
|
|
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); |
|
|
|
if (invoicingDetailsVoResultBean.getData() != null) { |
|
|
|
vo.setOpenTickUnitName(invoicingDetailsVoResultBean.getData().getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
vo.setBusSalesOrderSid(appOrderDetailsVo.getBusSalesOrderSid()); |
|
|
|
vo.setCustomerSid(appOrderDetailsVo.getCustomerSid()); |
|
|
|
vo.setCustomerName(appOrderDetailsVo.getName()); |
|
|
|
vo.setContractNo(busDeliveredApply.getContractNo()); |
|
|
|
vo.setApplyDate(DateUtil.today()); |
|
|
|
vo.setCreateBySid(busDeliveredApply.getCreateBySid()); |
|
|
|
vo.setDeptSid(busDeliveredApply.getApplyDeptSid()); |
|
|
|
vo.setDeptName(busDeliveredApply.getApplyDept()); |
|
|
|
vo.setCreateBySid(busDeliveredApply.getApplySid()); |
|
|
|
vo.setCreateByName(busDeliveredApply.getApplyName()); |
|
|
|
//车辆信息
|
|
|
|
List<BusBillVehicleVo> busBillVehicleVos = new ArrayList<>(); |
|
|
|
List<BusDeliveredApplyDetails> busDeliveredApplyDetails = busDeliveredApplyDetailsService.selectByApplySid(ckSid); |
|
|
|
for (BusDeliveredApplyDetails busDeliveredApplyDetail : busDeliveredApplyDetails) { |
|
|
|
BusBillVehicleVo busBillVehicleVo = new BusBillVehicleVo(); |
|
|
|
busBillVehicleVo.setVinNo(busDeliveredApplyDetail.getVinNo()); |
|
|
|
busBillVehicleVo.setVehSid(busDeliveredApplyDetail.getVinSid()); |
|
|
|
//合格证状态
|
|
|
|
BaseVehicleCertificateVo baseVehicleCertificate = baseVehicleCertificateFeign.selStateByVehicleSid(busDeliveredApplyDetail.getVinSid()).getData(); |
|
|
|
if (baseVehicleCertificate != null) { |
|
|
|
busBillVehicleVo.setCertificateStateKey(baseVehicleCertificate.getCertificateState()); |
|
|
|
busBillVehicleVo.setCertificateStateValue(baseVehicleCertificate.getCertificateStateValue()); |
|
|
|
} |
|
|
|
busBillVehicleVos.add(busBillVehicleVo); |
|
|
|
} |
|
|
|
vo.setFinBillVehicles(busBillVehicleVos); |
|
|
|
return vo; |
|
|
|
} |
|
|
|
String sid = busBillApplicationVo.getSid(); |
|
|
|
BusBillApplication entity = fetchBySid(sid); |
|
|
@ -303,7 +318,7 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
vo.setBusBillVehicles(busBillVehicleVos); |
|
|
|
vo.setFinBillVehicles(busBillVehicleVos); |
|
|
|
List<BusBillTrailerVo> busBillTrailerVos = busBillTrailerService.fetchByMainSid(sid); |
|
|
|
if (busBillTrailerVos.size() > 0) { |
|
|
|
for (BusBillTrailerVo busBillTrailerVo : busBillTrailerVos) { |
|
|
@ -322,7 +337,7 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica |
|
|
|
busBillTrailerVo.setOneBillMoney(baseTrailerDetailsVo.getDealPrice()); |
|
|
|
} |
|
|
|
} |
|
|
|
vo.setBusBillTrailers(busBillTrailerVos); |
|
|
|
vo.setFinBillTrailers(busBillTrailerVos); |
|
|
|
} |
|
|
|
List<BusBillFileVo> clmmhtApplicationAppendxs = busBillFileService.fetchclmmhtBySid(sid); |
|
|
|
for (BusBillFileVo clmmhtApplicationAppendx : clmmhtApplicationAppendxs) { |
|
|
|