| | |
| | | |
| | | @Autowired |
| | | private ISysDictDataService dictDataService; |
| | | |
| | | @Resource |
| | | private ITbTransitionService transitionService; |
| | | |
| | | // /* *//** |
| | | // * 查询体检报告存储列表 |
| | |
| | | public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "体检号") String tjNumber) { |
| | | |
| | | //从文件地址读入PDF文件 仅存储一次 |
| | | // TODO: 2023/3/21 将模板保存到数据库 一次使用后注释 |
| | | // String base64String = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\体检模板4.pdf"); |
| | | // TjReportTemplate tem = new TjReportTemplate(); |
| | | // tem.setName("体检报告模板4"); |
| | |
| | | // tem.setFlag("1"); |
| | | // tem.setOpen("0"); |
| | | // reportTemplateService.save(tem); |
| | | // // TODO: 2023/3/21 将心电图保存到数据库 一次使用后注释 暂时用于测试 |
| | | // String base64String2 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\心电图1.pdf"); |
| | | // TjReport tem2 = new TjReport(); |
| | | // tem2.setTjNumber(tjNumber); |
| | |
| | | |
| | | if (null != tjOrder) { |
| | | LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | TjReportTemplate reportTemplate =null; |
| | | if (tjOrder.getTjCategory()!=null){ |
| | | //查询字典 |
| | | LambdaQueryWrapper<SysDictData> wqq = new LambdaQueryWrapper<>(); |
| | |
| | | }else { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1); |
| | | } |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | reportTemplate = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper); |
| | | }else { |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | reportTemplate = reportTemplateService.list(tjReportTemplateLambdaQueryWrapper).get(2); |
| | | } |
| | | |
| | | |
| | | tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0); |
| | | TjReportTemplate one1 = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper); |
| | | String template = one1.getTemplate(); |
| | | String template = reportTemplate.getTemplate(); |
| | | |
| | | String userId = SecurityUtils.getLoginUser().getUsername(); |
| | | PDFBinaryUtil.base64StringToPDF(template, FileUtil.mkdir(value).getPath() + "\\" + userId + "体检报告封面模板.pdf"); |
| | |
| | | //设置文档的页边距就是距离页面边上的距离,分别为:左边距,右边距,上边距,下边距 |
| | | document.setMargins(70, 70, 40, 40); |
| | | //生成pdf的位置以及名称 |
| | | String fileName = value + "\\" + userId + "体检报告项目详情页.pdf"; |
| | | String fileName = value + "\\" + userId +tjNumber+ "体检报告项目详情页.pdf"; |
| | | OutputStream outputStream = Files.newOutputStream(Paths.get(fileName)); |
| | | PdfWriter pdfWriter = PdfWriter.getInstance(document, outputStream); |
| | | |
| | | pdfWriter.setPageEvent(new MyHeaderFooter());// 页眉页脚 |
| | | //pdfWriter.setPageEvent(new MyHeaderFooter());// 页眉页脚 |
| | | |
| | | document.open(); |
| | | |
| | |
| | | LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); |
| | | wqqq.eq(TjProject::getProId, entry.getKey().getProId()); |
| | | TjProject one11 = projectService.getOne(wqqq); |
| | | if ("1".equals(one11.getProCheckMethod())) { |
| | | //判断该项目是否需要打印报告 |
| | | if ("N".equals(one11.getNeedReport())){ |
| | | continue; |
| | | } |
| | | if ("1".equals(one11.getResultType())) { |
| | | String titleName = one11.getProName(); |
| | | // 设置标题字体样式 |
| | | Font titleFonts = PdfUtils.setFont(9); |
| | |
| | | pdfWriter.close(); |
| | | outputStream.close(); |
| | | |
| | | // TODO: 2023/3/29 查询附件pdf 如心电图、附件 |
| | | LambdaQueryWrapper<TjReport> rtwq1 = new LambdaQueryWrapper<>(); |
| | | rtwq1.eq(TjReport::getType, "医学名词"); |
| | | // rtwq1.eq(TjReport::getTjNumber, tjNumber); |
| | | TjReport one11111 = tjReportService.getOne(rtwq1); |
| | | String report1 = one11111.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "医学名词.pdf"); |
| | | // LambdaQueryWrapper<TjReport> rtwq1 = new LambdaQueryWrapper<>(); |
| | | // rtwq1.eq(TjReport::getType, "医学名词"); |
| | | //// rtwq1.eq(TjReport::getTjNumber, tjNumber); |
| | | // TjReport one11111 = tjReportService.getOne(rtwq1); |
| | | // if(null !=one11111){ |
| | | // String report1 = one11111.getReport(); |
| | | // PDFBinaryUtil.base64StringToPDF(report1, FileUtil.mkdir(value).getPath() + "\\" + userId + "医学名词.pdf"); |
| | | // } |
| | | |
| | | LambdaQueryWrapper<TjReport> rtwq = new LambdaQueryWrapper<>(); |
| | | rtwq.eq(TjReport::getType, "心电图"); |
| | | // rtwq.eq(TjReport::getTjNumber, tjNumber); |
| | | TjReport one1111 = tjReportService.getOne(rtwq); |
| | | String report = one1111.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + userId + "心电图.pdf"); |
| | | if(null !=one1111){ |
| | | String report = one1111.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report, FileUtil.mkdir(value).getPath() + "\\" + userId + "心电图.pdf"); |
| | | } |
| | | |
| | | LambdaQueryWrapper<TjReport> rtwq12 = new LambdaQueryWrapper<>(); |
| | | rtwq12.eq(TjReport::getType, "附件"); |
| | | // rtwq12.eq(TjReport::getTjNumber, tjNumber); |
| | | TjReport one111112 = tjReportService.getOne(rtwq12); |
| | | String report12 = one111112.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + userId + "附件.pdf"); |
| | | |
| | | |
| | | if(null !=one111112){ |
| | | String report12 = one111112.getReport(); |
| | | PDFBinaryUtil.base64StringToPDF(report12, FileUtil.mkdir(value).getPath() + "\\" + userId + "附件.pdf"); |
| | | } |
| | | //合并 |
| | | String[] files1 = {value + "\\" + userId + "体检报告封面页.pdf", value + "\\" + userId + "体检报告项目详情页.pdf", value + "\\" + userId + "医学名词.pdf", value + "\\" + userId + "附件.pdf", value + "\\" + userId + "心电图.pdf"}; |
| | | String[] files1 = {value + "\\" + userId + "体检报告封面页.pdf", value + "\\" + userId + tjNumber+"体检报告项目详情页.pdf", value + "\\" + userId + "附件.pdf", value + "\\" + userId + "心电图.pdf"}; |
| | | String outputPath1 = value + "\\"; |
| | | String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf"; |
| | | |
| | |
| | | tjReport.setType("体检报告"); |
| | | tjReportService.save(tjReport); |
| | | |
| | | //TODO 2023/2/3 16:21 生成体检报告pdf后删除本地文件 |
| | | //FileUtil.del(value + "\\" + tjNumber + "体检报告.pdf"); |
| | | //FileUtil.del(value + "\\" + userId + "体检报告封面模板.pdf"); |
| | | //FileUtil.del(value + "\\" + userId + "体检报告项目详情页.pdf"); |
| | | //FileUtil.del(value + "\\" + userId +tjNumber+ "体检报告项目详情页.pdf"); |
| | | //FileUtil.del(value + "\\" + userId + "体检报告封面页.pdf"); |
| | | //FileUtil.del(value + "\\" + userId + "心电图.pdf"); |
| | | |
| | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return AjaxResult.success("PDF导出失败"); |
| | | }finally { |
| | | transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(),tjOrder.getCardId()); |
| | | } |
| | | } |
| | | } |