zjh
2023-12-26 bf84842d69b99d79ee17996de65bf8a2bab4ac07
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -90,7 +90,8 @@
    @Autowired
    private ISysDictDataService dictDataService;
    @Resource
    private ITbTransitionService transitionService;
    //    /* *//**
//     * 查询体检报告存储列表
@@ -270,6 +271,7 @@
        if (null != tjOrder) {
            LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
            TjReportTemplate reportTemplate =null;
            if (tjOrder.getTjCategory()!=null){
                //查询字典
                LambdaQueryWrapper<SysDictData> wqq = new LambdaQueryWrapper<>();
@@ -290,12 +292,13 @@
                }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");
@@ -427,11 +430,11 @@
                    //设置文档的页边距就是距离页面边上的距离,分别为:左边距,右边距,上边距,下边距
                    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();
@@ -581,14 +584,14 @@
                    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);
                    if(null !=one11111){
                        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, "心电图");
@@ -608,7 +611,7 @@
                        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";
@@ -630,7 +633,7 @@
                    //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");
@@ -649,6 +652,8 @@
                } catch (Exception e) {
                    e.printStackTrace();
                    return AjaxResult.success("PDF导出失败");
                }finally {
                    transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(),tjOrder.getCardId());
                }
            }
        }