zjh
2024-07-16 f3445e5babad91627609b898dbc9b5ed844d7cdd
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -80,6 +80,7 @@
    /**
     * 通过his API请求获取数据生成PDF
     *
     * @param pdfInfoMap
     * @param params
     * @param tjOrder
@@ -252,6 +253,7 @@
    /**
     * 生成检查表格
     *
     * @param tjOrder
     * @return
     */
@@ -292,6 +294,7 @@
    /**
     * PDF文件存储至本地
     *
     * @param tjOrder
     * @param customer
     * @param finalOutPut
@@ -316,6 +319,7 @@
    /**
     * 填充检验表格数据
     *
     * @param document1
     * @param map
     * @throws DocumentException
@@ -348,20 +352,19 @@
    /**
     * 非化验项目表格填充
     *
     * @param document1
     * @param printReport
     * @throws DocumentException
     */
    private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport) throws DocumentException {
        for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
            List<TjPdfVO> value = entry.getValue();
            LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>();
            wqqq.eq(TjProject::getProId, entry.getKey().getProId());
            TjProject one11 = projectService.getOne(wqqq);
            //判断该项目是否需要打印报告
            if (null != one11 && "N".equals(one11.getNeedReport())) {
                continue;
            }
            if (null != one11 && "Y".equals(one11.getNeedReport())) {
                List<TjPdfVO> value = entry.getValue();
            String titleName = null;
            if (null != one11 && "1".equals(one11.getResultType())) {
                titleName = one11.getProName();
@@ -431,7 +434,7 @@
                // 设置标题字体样式
                Font titleFonts = PdfUtils.setFont(9);
                Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
                String[] titles = {"体检项目", "体检结果", "单位", "参考范围"};
                    String[] titles = {"体检项目", "体检结果", "单位"};
                // 获取列表数据
                //设置表头字体样式
                Font headFont = PdfUtils.setFont(9);
@@ -487,6 +490,7 @@
            }
        }
    }
    }
    public HashMap<String, Object> makeHisJianYan(TjOrder tjOrder, TjCustomer customer){
        // TODO 这里先使用查全部测试
@@ -530,7 +534,8 @@
                            // jyjg 大于范围最大值,添加上箭头
                            jyjg = jyjg + "   ↑";
                        }
                    } catch (Exception ignored) {}
                    } catch (Exception ignored) {
                    }
                }
//                LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
//                queryWrapper.eq(SysUser::getUserName,jyys);
@@ -557,6 +562,7 @@
    /**
     * 生成PDF模版以及用户信息部分
     *
     * @param tjOrder
     * @param reportTemplate
     */
@@ -1098,6 +1104,7 @@
    /**
     * 组合非化验项目报告数据
     *
     * @param tjNumber
     * @param printReport
     * @param one
@@ -1107,7 +1114,7 @@
        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
        wqq.ne(TjOrderRemark::getDeptId, "241");
        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257", "251", "271");
        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257", "271");
        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
        for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
@@ -1118,61 +1125,21 @@
            List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId());
            for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
                if (null != tjProject) {
                if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
                    tjOrderDetail.setProject(tjProject);
                }
                if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())) {
                    LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
                    wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
                    List<TjStandard> list2 = tjStandardService.list(wq6);
                    if (list2.size() == 0) {
                        TjStandard s = new TjStandard();
                        s.setCompany(" ");
                        s.setTjStandardLtValue(" ");
                        s.setTjStandardGtValue(" ");
                        tjOrderDetail.setStandard(s);
                    } else if (list2.size() == 1) {
                        tjOrderDetail.setStandard(list2.get(0));
                    } else {
                        Long cusSex = customer.getCusSex();
                        Date cusBrithday = customer.getCusBrithday();
                        int age = DateUtil.ageOfNow(cusBrithday);
                        for (TjStandard tjStandard : list2) {
                            LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
                            if (tjStandard.getTjSex() != null) {
                                wq8.eq(TjStandard::getTjSex, cusSex);
                            }
                            if (tjStandard.getTjType() != null) {
                                wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age));
                            }
                            TjStandard standard = tjStandardService.getOne(wq8);
                            tjOrderDetail.setStandard(standard);
                        }
                    }
                    TjPdfVO tjPdfVO = new TjPdfVO();
                    tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
                    tjPdfVO.setProResult(tjOrderDetail.getProResult());
                    tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
                    if (tjOrderDetail.getStandard() != null) {
                        //单位
                        if (tjOrderDetail.getStandard().getCompany() == null) {
                            tjPdfVO.setCompany(" ");
                    if(null !=tjProject.getProMetering()){
                        tjPdfVO.setCompany(tjProject.getProMetering());
                        } else {
                            tjPdfVO.setCompany(tjOrderDetail.getStandard().getCompany());
                        }
                        // TODO 设置单位
                        //最大值和最小值
                        String tjStandardGtValue = tjOrderDetail.getStandard().getTjStandardGtValue();
                        String tjStandardLtValue = tjOrderDetail.getStandard().getTjStandardLtValue();
                        if (tjStandardGtValue == null) {
                            tjStandardGtValue = " ";
                        }
                        if (tjStandardLtValue == null) {
                            tjStandardLtValue = " ";
                        }
                        tjPdfVO.setStandardValue(tjStandardLtValue + "-" + tjStandardGtValue);
                        tjPdfVO.setCompany("/");
                    }
                    tjPdfVOS.add(tjPdfVO);
                }
                }
            }
            printReport.put(entry.getKey(), tjPdfVOS);
@@ -1222,7 +1189,6 @@
    }
    /**
     *
     * @param document
     * @param titleName
     * @param titles
@@ -1344,6 +1310,7 @@
    /**
     * 创建检查pdf
     *
     * @param xm
     * @param xb
     * @param nl