diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeign.java index f141970d67..c845bfac28 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeign.java @@ -56,4 +56,9 @@ public interface BusBillApplicationFeign { @GetMapping("/fetchBySid") @ResponseBody ResultBean fetchBySid(@RequestParam("busSid") String busSid); + + @ApiOperation("点击生成附件") + @PostMapping("/saveInvoicedApplyInfo2Pdf") + @ResponseBody + public ResultBean saveInvoicedApplyInfo2Pdf(@RequestBody BusBillApplicationDto dto); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeignFallback.java index 8c09685350..fb6dc13f6a 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/BusBillApplicationFeignFallback.java @@ -46,4 +46,9 @@ public class BusBillApplicationFeignFallback implements BusBillApplicationFeign return null; } + @Override + public ResultBean saveInvoicedApplyInfo2Pdf(BusBillApplicationDto dto) { + return null; + } + } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/DownloanVoUrl.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/DownloanVoUrl.java new file mode 100644 index 0000000000..9b7135a5f0 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busbillapplication/DownloanVoUrl.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.buscenter.api.busbillapplication; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/12 + **/ +@Data +public class DownloanVoUrl { + + @ApiModelProperty("整体附件下载地址") + private String allDownloadUrl; + + private String sid; +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java index fca6a0b067..629d28a828 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java @@ -70,4 +70,9 @@ public class BusBillApplicationRest implements BusBillApplicationFeign { BusBillApplication busBillApplication = busBillApplicationService.fetchBySid(busSid); return rb.success().setData(busBillApplication); } + + @Override + public ResultBean saveInvoicedApplyInfo2Pdf(BusBillApplicationDto dto) { + return busBillApplicationService.saveInvoicedApplyInfo2Pdf(dto); + } } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java index af5aa89122..0a73762354 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java @@ -1519,4 +1519,14 @@ public class BusBillApplicationService extends MybatisBaseService saveInvoicedApplyInfo2Pdf(BusBillApplicationDto dto) { + ResultBean rb = ResultBean.fireFail(); + DownloanVoUrl downloanVoUrl = new DownloanVoUrl(); + ResultBean resultBean = saveOrUpdateDto(dto); + String contractNo = createContractNo(dto); + downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+contractNo); + downloanVoUrl.setSid(resultBean.getData()); + return rb.success().setData(downloanVoUrl); + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java index 8efc5a5ffc..b236fd690f 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java @@ -104,4 +104,10 @@ public interface InvoicedFeign { @PostMapping("/saveInvoicedApplyInfoPdf") @ResponseBody public ResultBean saveInvoicedApplyInfoPdf(@RequestBody BillApplicationIInfoDto dto); + + @ApiOperation("出库开票点击生成附件") + @PostMapping("/saveInvoicedApplyInfo2Pdf") + @ResponseBody + public ResultBean saveInvoicedApplyInfo2Pdf(@Valid @RequestBody BillApplicationIInfoDto dto); + } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeignFallback.java index 3c21cf45dc..1f2532f242 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeignFallback.java @@ -94,4 +94,9 @@ public class InvoicedFeignFallback implements InvoicedFeign { public ResultBean saveInvoicedApplyInfoPdf(BillApplicationIInfoDto dto) { return null; } + + @Override + public ResultBean saveInvoicedApplyInfo2Pdf(BillApplicationIInfoDto dto) { + return null; + } } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedRest.java index 8f4bd9d047..d59fd1e274 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedRest.java @@ -102,4 +102,9 @@ public class InvoicedRest implements InvoicedFeign { public ResultBean saveInvoicedApplyInfoPdf(BillApplicationIInfoDto dto) { return invoicedService.saveInvoicedApplyInfoPdf(dto); } + + @Override + public ResultBean saveInvoicedApplyInfo2Pdf(BillApplicationIInfoDto dto) { + return invoicedService.saveInvoicedApplyInfo2Pdf(dto); + } } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java index 25096f5fbf..83f6ea8540 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java @@ -1243,4 +1243,124 @@ public class InvoicedService { ResultBean resultBean = finBillApplicationFeign.saveInvoicedApplyInfoPdf(finBillApplicationDto); return resultBean; } + + public ResultBean saveInvoicedApplyInfo2Pdf(BillApplicationIInfoDto billApplicationIInfoDto) { + BusBillApplicationDto busBillApplicationDto = new BusBillApplicationDto(); + BeanUtil.copyProperties(billApplicationIInfoDto, busBillApplicationDto, "carBuyContractImages"); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(billApplicationIInfoDto.getOrgPath()).getData(); + busBillApplicationDto.setUseOrgSid(useOrgSid); + busBillApplicationDto.setCreateBySid(billApplicationIInfoDto.getUserSid()); + busBillApplicationDto.setTotalBillMoney(billApplicationIInfoDto.getInvoiceTotal()); + busBillApplicationDto.setOrgSidPath(billApplicationIInfoDto.getOrgPath()); + busBillApplicationDto.setSaleTypeValue(billApplicationIInfoDto.getSaleType()); + busBillApplicationDto.setSaleDeptName(billApplicationIInfoDto.getSellerDept()); + busBillApplicationDto.setStaffName(billApplicationIInfoDto.getSellerName()); + busBillApplicationDto.setOpenTickUnitName(billApplicationIInfoDto.getInvoicingUnit()); + busBillApplicationDto.setCustomerName(billApplicationIInfoDto.getName()); + busBillApplicationDto.setOneBillMoney(billApplicationIInfoDto.getInvoiceMoney()); + busBillApplicationDto.setOpenTickTypeKey(billApplicationIInfoDto.getOpenTickTypeKey()); + busBillApplicationDto.setOpenTickTypeValue(billApplicationIInfoDto.getOpenTickTypeValue()); + busBillApplicationDto.setOpenTickSid(billApplicationIInfoDto.getOpenTickSid()); + busBillApplicationDto.setOpenTickName(billApplicationIInfoDto.getOpenTickName()); + busBillApplicationDto.setBillStateKey(billApplicationIInfoDto.getInvoiceStateKey()); + busBillApplicationDto.setBillStateValue(billApplicationIInfoDto.getInvoiceState()); + busBillApplicationDto.setContractNo(billApplicationIInfoDto.getContractId()); + busBillApplicationDto.setApplyDate(billApplicationIInfoDto.getDate()); + busBillApplicationDto.setCreateBySid(billApplicationIInfoDto.getUserSid()); + busBillApplicationDto.setNodeState(billApplicationIInfoDto.getNodeState()); + busBillApplicationDto.setBillNo(billApplicationIInfoDto.getBillNo()); + busBillApplicationDto.setModelSid(billApplicationIInfoDto.getModelSid()); + busBillApplicationDto.setModelName(billApplicationIInfoDto.getModelName()); + String publishInfo = billApplicationIInfoDto.getPublishInfo(); + String[] split = publishInfo.split("-"); + busBillApplicationDto.setDeptName(split[0]); + busBillApplicationDto.setCreateByName(split[1]); + //开票车辆信息 + List vinList = billApplicationIInfoDto.getVinList(); + List busBillVehicleDtos = new ArrayList<>(); + for (VinListDto vinListDto : vinList) { + if (StringUtils.isBlank(vinListDto.getInvoiceInfo())) { + return new ResultBean().fail().setMsg("开票信息不能为空"); + } + BusBillVehicleDto busBillVehicleDto = new BusBillVehicleDto(); + busBillVehicleDto.setVinNo(vinListDto.getVin()); + busBillVehicleDto.setVehSid(vinListDto.getVinSid()); + busBillVehicleDto.setCertificateStateKey(vinListDto.getCertificateStateKey()); + busBillVehicleDto.setCertificateStateValue(vinListDto.getCertificateState()); + busBillVehicleDto.setBillTypeKey(vinListDto.getInvoiceTypeKey()); + busBillVehicleDto.setBillTypeValue(vinListDto.getInvoiceType()); + busBillVehicleDto.setOpenTickSid(vinListDto.getOpenTickSid()); + busBillVehicleDto.setOpenTickName(vinListDto.getInvoiceName()); + busBillVehicleDto.setOpenTickRemarks(vinListDto.getInvoiceInfo()); + busBillVehicleDtos.add(busBillVehicleDto); + } + busBillApplicationDto.setFinBillVehicles(busBillVehicleDtos); + //开票挂车信息 + List finBillTrailers = billApplicationIInfoDto.getFinBillTrailers(); + List busBillTrailerDtos = new ArrayList<>(); + if (finBillTrailers != null && finBillTrailers.size() > 0) { + for (FinBillTrailerDto finBillTrailerDto : finBillTrailers) { + BusBillTrailerDto busBillTrailerDto = new BusBillTrailerDto(); + BeanUtil.copyProperties(finBillTrailerDto, busBillTrailerDto); + busBillTrailerDtos.add(busBillTrailerDto); + } + } + busBillApplicationDto.setFinBillTrailers(busBillTrailerDtos); + //附件信息 + List appCarBuyContractImages = billApplicationIInfoDto.getCarBuyContractImages();//车辆买卖合同 + List customerInvoiceApplyImages = billApplicationIInfoDto.getCustomerInvoiceApplyImages();//客户开票申请书 + List invoiceApplyConfirmImages = billApplicationIInfoDto.getInvoiceApplyConfirmImages();//开票信息确认书 + List registerContractImages = billApplicationIInfoDto.getRegisterContractImages();//车辆登记合同 + List idCardImages = billApplicationIInfoDto.getIdCardImages();//证件 + if (idCardImages == null || idCardImages.size() == 0) { + return new ResultBean().fail().setMsg("证件不能为空"); + } + List carBuyContractImages = new ArrayList<>(); // 车辆买卖合同 + List khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息 + List kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息 + List cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息 + List idCardImagesPC = new ArrayList<>();//证件 + if (appCarBuyContractImages != null) { + for (String appCarBuyContractImage : appCarBuyContractImages) { + BusBillFileDto busBillFileDto = new BusBillFileDto(); + busBillFileDto.setFileUrl(appCarBuyContractImage); + carBuyContractImages.add(busBillFileDto); + } + } + if (customerInvoiceApplyImages != null) { + for (String customerInvoiceApplyImage : customerInvoiceApplyImages) { + BusBillFileDto busBillFileDto = new BusBillFileDto(); + busBillFileDto.setFileUrl(customerInvoiceApplyImage); + khkpsqsApplicationAppendxs.add(busBillFileDto); + } + } + if (invoiceApplyConfirmImages != null) { + for (String invoiceApplyConfirmImage : invoiceApplyConfirmImages) { + BusBillFileDto busBillFileDto = new BusBillFileDto(); + busBillFileDto.setFileUrl(invoiceApplyConfirmImage); + kpxxqrsApplicationAppendxs.add(busBillFileDto); + } + } + if (registerContractImages != null) { + for (String registerContractImage : registerContractImages) { + BusBillFileDto busBillFileDto = new BusBillFileDto(); + busBillFileDto.setFileUrl(registerContractImage); + cldjhtApplicationAppendxs.add(busBillFileDto); + } + } + if (idCardImages != null) { + for (String idCardImage : idCardImages) { + BusBillFileDto busBillFileDto = new BusBillFileDto(); + busBillFileDto.setFileUrl(idCardImage); + idCardImagesPC.add(busBillFileDto); + } + } + busBillApplicationDto.setCarBuyContractImages(carBuyContractImages); + busBillApplicationDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs); + busBillApplicationDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs); + busBillApplicationDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs); + busBillApplicationDto.setZjApplicationAppendxs(idCardImagesPC); + ResultBean resultBean = busBillApplicationFeign.saveInvoicedApplyInfo2Pdf(busBillApplicationDto); + return resultBean; + } }