zjh
2024-10-09 77717de6a75b6e59ffcafaeb97187b1852862d4c
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -271,7 +271,7 @@
    @ApiOperation(value = "打印体检报告为pdf")
    @Transactional
    public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "体检号") String tjNumber) {
        AjaxResult error = null;
        //        AjaxResult error = null;
        // 之前的代码 优化速度
//        System.out.println("----------------------------------oldFun开始-------------------------------------------------------");
//        error = oldFun(tjNumber);
@@ -301,20 +301,24 @@
        if (num > 0) {
            return AjaxResult.error("有延期项目暂不能生成报告!!!");
        }
        //判断表中有没有该体检报告  不能重复生成
        LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
        wqa.eq(TjReport::getTjNumber, tjNumber);
        wqa.eq(TjReport::getType, "体检报告");
        Integer count = tjReportService.getSelectCount(wqa);
        if (count != 0) {
            return AjaxResult.error("该客户报告已生成!不能重复生成!可直接预览或打印!");
        }
//        String configByKey = configService.selectConfigByKey("sfkqdyhis");
        String configByKey = "Y";
        LambdaQueryWrapper<TjOrder> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(TjOrder::getTjNumber, tjNumber);
        TjOrder tjOrder = tjOrderService.getOne(queryWrapper);
        if (null != tjOrder) {
            //判断表中有没有该体检报告  不能重复生成
            LambdaQueryWrapper<TjReport> wqa = new LambdaQueryWrapper<>();
            wqa.eq(TjReport::getTjNumber, tjNumber);
            wqa.eq(TjReport::getType, "体检报告");
            Integer count = tjReportService.getSelectCount(wqa);
            if (tjOrder.getReportTime() !=null ||  count != 0  ) {
                return AjaxResult.error("该客户报告已生成!不能重复生成!可直接预览或打印!");
            }
            LambdaQueryWrapper<TjReportTemplate> tjReportTemplateLambdaQueryWrapper = new LambdaQueryWrapper<>();
            tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
            tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
@@ -382,30 +386,7 @@
                wq1.eq(TjCustomer::getCusId, tjOrder.getUserId());
                TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
                try {
                    AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate);
                    if (!ajaxResult.get("code").toString().equals("200")) {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    } else {
                        Long userId = tjCustomer.getCusId();
                        String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_报告.pdf";
                        TjReport tjReport = new TjReport();
                        tjReport.setTjNumber(String.valueOf(tjNumber));
                        tjReport.setPath(urlValue + outputFileName1);
                        String outputPath1 = value + "\\";
                        String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
                        tjReport.setReport(pdfBinary);
                        tjReport.setType("体检报告");
                        tjReport.setPrint("pdf");
                        tjReportService.save(tjReport);
                        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;
                    return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate);
                } catch (Exception e) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    e.printStackTrace();
@@ -421,6 +402,37 @@
        return AjaxResult.error();
    }
    public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate) throws Exception {
        AjaxResult ajaxResult = hisPDFUtil.hisPDF(tjOrder, tjCustomer, reportTemplate);
        if (!ajaxResult.get("code").toString().equals("200")) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        } else {
            Long userId = tjCustomer.getCusId();
            String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_报告.pdf";
            TjReport tjReport = new TjReport();
            tjReport.setTjNumber(String.valueOf(tjNumber));
            tjReport.setPath(urlValue + outputFileName1);
            String outputPath1 = value + "\\";
            String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
            tjReport.setReport(pdfBinary);
            tjReport.setType("体检报告");
            tjReport.setPrint("pdf");
            tjReportService.save(tjReport);
            Date date = new Date();
            //            LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>();
//            updateWrapper.eq(TjOrder::getTjNumber, tjNumber);
//            updateWrapper.set(TjOrder::getReportTime, date);
//            updateWrapper.set(TjOrder::getPrintLastTime, date);
//            updateWrapper.set(TjOrder::getDownloadLastTime,date);
//            updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END);
            tjOrder.setStatus(TjConstants.TJ_END);
            tjOrder.setReportTime(date);
            tjOrder.setPrintLastTime(date);
            tjOrder.setDownloadLastTime(date);
            tjOrderService.updateById(tjOrder);
        }
        return ajaxResult;
    }
    /**