lige
2024-02-29 228af2c61a61c9ff32271ecd533cabf52fd1bb1a
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -297,6 +297,9 @@
                tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
                reportTemplate = reportTemplateService.list(tjReportTemplateLambdaQueryWrapper).get(2);
            }
            String template = reportTemplate.getTemplate();
            String userId = SecurityUtils.getLoginUser().getUsername();
@@ -315,6 +318,25 @@
            Integer checkStatus = tjOrder.getCheckStatus();
            if (checkStatus == 1) {
                //判断报告生成 保存类型 2024/2/29
                if ("报表".equals(reportTemplate.getPrint())){
                    TjReport tjReport = new TjReport();
                    tjReport.setTjNumber(String.valueOf(tjNumber));
                    tjReport.setPath(reportTemplate.getUrl()+"?tjNum="+tjNumber);
                    tjReport.setType("体检报告");
                    tjReport.setPrint("报表");
                    tjReportService.save(tjReport);
                    //修改order表中的打印报告时间为当前时间
                    LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
                    updateWrapper.eq(TjOrder::getTjNumber, tjNumber);
                    updateWrapper.set(TjOrder::getReportTime, new Date());
                    updateWrapper.set(TjOrder::getPrintLastTime, new Date());
                    updateWrapper.set(TjOrder::getDownloadLastTime, new Date());
                    updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
                    tjOrderService.update(updateWrapper);
                    return AjaxResult.success("已生成报告!可直接点击预览!");
                }
                LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
                wq1.eq(TjCustomer::getCusId, tjOrder.getUserId());
                TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
@@ -678,6 +700,7 @@
                    String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
                    tjReport.setReport(pdfBinary);
                    tjReport.setType("体检报告");
                    tjReport.setPrint("pdf");
                    tjReportService.save(tjReport);
                    //FileUtil.del(value + "\\" + tjNumber + "体检报告.pdf");
@@ -878,6 +901,29 @@
    }
    @GetMapping("/isPdfOrJimu")
    @ApiOperation(value = "判断报告打开类型")
    public AjaxResult isPdfOrJimu(String tjNumber) {
        Map<String,String> res=new HashMap<>();
        LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>();
        we.eq(TjReport::getTjNumber, tjNumber);
        we.eq(TjReport::getType, "体检报告");
        TjReport one = tjReportService.getOne(we);
        if ("pdf".equals(one.getPrint())){
            res.put("flag","0");
            return AjaxResult.success(res);
        }else if ("报表".equals(one.getPrint())){
            res.put("flag","1");
            res.put("url",one.getPath());
            return AjaxResult.success(res);
        }else {
            return AjaxResult.error("暂无体检报告");
        }
    }
    @GetMapping("/preview/{flag}/{TjNumber}")
    @ApiOperation(value = "下载体检报告")
    public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) {
@@ -907,6 +953,7 @@
        if (one == null) {
            return;
        }
        String userId = SecurityUtils.getLoginUser().getUsername();
        PDFBinaryUtil.base64StringToPDF(one.getReport(), FileUtil.mkdir(value).getPath() + "\\" + userId + tjNumber + tjCustomer.getCusName() + "_体检报告.pdf");
        //String filePath = one.getPath();