zhaowenxuan
2025-04-30 aacaa3d2daafbd97ab008908b9f2fe9ed6c1f713
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -284,35 +284,8 @@
    @GetMapping("/toPdf/{TjNumber}")
    @ApiOperation(value = "打印体检报告为pdf")
    @Transactional
//    @Transactional
    public AjaxResult toPdf(@PathVariable("TjNumber") @ApiParam(value = "体检号") String tjNumber) {
        //        AjaxResult error = null;
        // 之前的代码 优化速度
//        System.out.println("----------------------------------oldFun开始-------------------------------------------------------");
//        error = oldFun(tjNumber);
//        System.out.println("--------------------------------------结束---------------------------------------------------");
        // 撤销操作
//        revocationReport(tjNumber);
//        根据某人tj号以及ProId进行打印前的请求
//        tjCheckController.getTjdetailList(tjNumber,null,1);
//        List<UpdateOrderRemarkVo> updateOrderRemarkVos = new ArrayList<>();
//        UpdateOrderRemarkVo remarkVo = new UpdateOrderRemarkVo();
//        remarkVo.setRemarks("未见异常");
//        remarkVo.setTjNumber("02132240308102232");
//        remarkVo.setProId("1633660948860522555");
//        updateOrderRemarkVos.add(remarkVo);
//        tjCheckController.checkUpdateOrderRemark(updateOrderRemarkVos);
//        System.out.println("---------------------------------------newFun开始--------------------------------------------------");
        // 以前测试pdf方法
//        error = newFun(tjNumber);
//        System.out.println("-------------------------------------------结束----------------------------------------------");
        // 撤销
//        revocationReport(tjNumber);
//        if (error != null) {
//            return error;
//        }
//        return AjaxResult.success("该用户体检未完成,不能打印报告!!!");
        TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber);
        if (null != tjOrder) {
            String config = configService.selectConfigByKey("sfjcwjhyqxm");
@@ -333,11 +306,6 @@
            wqa.eq(TjReport::getType, "体检报告");
            Integer count = tjReportService.getSelectCount(wqa);
            if (tjOrder.getReportTime() !=null ||  count != 0  ) {
//                tjOrder.setReportTime(null);
//                tjOrder.setCheckTime(null);
//                tjOrder.setCheckStatus(0);
//                tjOrder.setPrintLastTime(null);
//                tjOrderService.updateById(tjOrder);
                return AjaxResult.error("该客户报告已生成!不能重复生成!可直接预览或打印!");
            }
@@ -345,32 +313,6 @@
            tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
            tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getOpen, 0);
            TjReportTemplate reportTemplate = reportTemplateService.getOne(tjReportTemplateLambdaQueryWrapper);
//            if (tjOrder.getTjCategory() != null) {
//                //查询字典
//                LambdaQueryWrapper<SysDictData> wqq = new LambdaQueryWrapper<>();
//                wqq.eq(SysDictData::getDictType, "dict_tjtype");
//                wqq.eq(SysDictData::getDictValue, tjOrder.getTjCategory());
//                SysDictData one = dictDataService.getOne(wqq);
//                if (one != null) {
//                    //查询字典
//                    LambdaQueryWrapper<SysDictData> wqq1 = new LambdaQueryWrapper<>();
//                    wqq1.eq(SysDictData::getDictType, "report_template_type");
//                    wqq1.eq(SysDictData::getDictLabel, one.getDictLabel());
//                    SysDictData one1 = dictDataService.getOne(wqq1);
//                    if (one1 != null) {
//                        tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, one1.getDictValue());
//                    } else {
//                        tjReportTemplateLambdaQueryWrapper.eq(TjReportTemplate::getFlag, 1);
//                    }
//                } 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);
//            }
            Integer checkStatus = tjOrder.getCheckStatus();
            if (checkStatus == 1) {
                if ("报表".equals(reportTemplate.getPrint())) {
@@ -384,25 +326,10 @@
                    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("已生成报告!可直接点击预览!");
                }
//                String hisRegistrationId = tjOrder.getCardId();
//                Date createTime = tjOrder.getCreateTime();
//                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//                String ksrq = dateFormat.format(createTime);
//                String jsrq = dateFormat.format(new Date());
//                HashMap<String, Object> params = new HashMap<>();
//                params.put("his_registration_id", hisRegistrationId);
//                params.put("ksbm", "");
//                params.put("pationid", "");
//                params.put("ksrq", ksrq);
//                params.put("jsrq", jsrq);
//                params.put("pagecount", 100);
//                params.put("page", 1);
                LambdaQueryWrapper<TjCustomer> wq1 = new LambdaQueryWrapper<>();
                wq1.eq(TjCustomer::getCusId, tjOrder.getUserId());
                TjCustomer tjCustomer = tjCustomerService.getOne(wq1);
@@ -413,15 +340,12 @@
                try {
                    return shengchengbgmoban(tjNumber, tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing);
                } catch (Exception e) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    log.error(String.valueOf(e));
                    log.error("生成报告失败:"+e.getMessage(),String.valueOf(e));
                    tjOrder.setReportTime(null);
                    tjOrder.setCheckTime(null);
                    tjOrder.setCheckStatus(0);
                    tjOrder.setPrintLastTime(null);
                    tjOrderService.updateById(tjOrder);
                    logger.error(String.valueOf(e));
                    return AjaxResult.error("生成报告失败");
                }
            } else {
@@ -431,16 +355,15 @@
        return AjaxResult.error();
    }
    public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,TjReportTemplate zongJianYiShiQianMing) {
    public AjaxResult shengchengbgmoban(String tjNumber, TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,TjReportTemplate zongJianYiShiQianMing) throws Exception {
        AjaxResult ajaxResult = null;
        try {
            ajaxResult = hisPDFUtil.hisPDFNew2(tjOrder, tjCustomer, reportTemplate,zongJianYiShiQianMing);
        } catch (Exception e) {
            e.printStackTrace();
            log.error(String.valueOf(e));
            throw new Exception(e);
        }
        if (!ajaxResult.get("code").toString().equals("200")) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return AjaxResult.error("生成报告失败");
        } else {
            Long userId = tjCustomer.getCusId();
            String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_报告.pdf";