赵文轩
2024-06-18 71a397373c86d32d0c9d053e5b80820b21807328
增加检查报告
1个文件已修改
66 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -69,6 +69,8 @@
    private LtkjHybgdService ltkjHybgdService;
    @Autowired
    private LtkjHysqdService ltkjHysqdService;
    @Autowired
    private LtkjGetexamreportinfoService ltkjGetexamreportinfoService;
    @Value("${path.filePath}")
    private String value;
    @Value("${path.reportServer}")
@@ -195,7 +197,7 @@
        // 组装检验数据
        HashMap<String, Object> map = makeHisJianYan(tjOrder, customer);
        makeHisJianYanTable(document1, map);
        List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder);
        document1.close();
        pdfWriter.close();
        PdfReader reader = null;
@@ -205,6 +207,15 @@
            for (int i = 1; i <= numberOfPages1; i++) {
                PdfImportedPage page = copy.getImportedPage(reader, i);
                copy.addPage(page);
            }
            for (ByteArrayOutputStream jiancha : jianchas) {
                reader = new PdfReader(jiancha.toByteArray());
                numberOfPages1 = reader.getNumberOfPages();
                for (int i = 1; i <= numberOfPages1; i++) {
                    PdfImportedPage page = copy.getImportedPage(reader, i);
                    copy.addPage(page);
                }
                jiancha.close();
            }
            reader.close();
            byteArrayOutputStream1.close();
@@ -221,7 +232,7 @@
        String tjNumber = tjOrder.getTjNumber();
        tjReport.setTjNumber(String.valueOf(tjNumber));
        tjReport.setPath(urlValue + outputFileName1);
        // TODO 文件配置
        // 文件配置
//        String outputPath1 = "/Users/chacca/开发相关/代码/";
        String outputPath1 = value+"\\";
        String pdfBinary = getPDFBinary(outputPath1 + outputFileName1);
@@ -240,13 +251,52 @@
    }
    /**
     * 生成检查表格
     * @param tjOrder
     * @return
     */
    private List<ByteArrayOutputStream> makeHisJianChaTable(TjOrder tjOrder) {
        LambdaQueryWrapper<LtkjGetexamreportinfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();
        lambdaQueryWrapper.eq(LtkjGetexamreportinfo::getHisRegistrationId, tjOrder.getCardId());
        List<LtkjGetexamreportinfo> list = ltkjGetexamreportinfoService.list(lambdaQueryWrapper);
//        List<LtkjGetexamreportinfo> list = ltkjGetexamreportinfoService.list();
        List<ByteArrayOutputStream> jianchas = new ArrayList<>();
        for (LtkjGetexamreportinfo getexamreportinfo : list) {
            String xm = getexamreportinfo.getHzxm();
            String xb = getexamreportinfo.getHzxb().equals("2") ? "女" : "男";
            String nl = getexamreportinfo.getHznl();
            if (StrUtil.isNotBlank(nl) && nl.contains(".")) {
                String[] split = nl.split("\\.");
                nl = split[0];
            }
            String jcks = getexamreportinfo.getJcksmc();
            String sqks = getexamreportinfo.getSqksmc();
            String sjks = getexamreportinfo.getZdjgmc();
            String jcsb = getexamreportinfo.getSbbm();
            String jch = getexamreportinfo.getJch();
            String jcxm = getexamreportinfo.getJcxmmc();
            String ms = getexamreportinfo.getYxbx();
            String ts = getexamreportinfo.getYxzd();
            String bgysqm = getexamreportinfo.getBgysqm();
            String shysqm = getexamreportinfo.getShysqm();
            String sqrxm = getexamreportinfo.getSqrxm();
            String zyh = "";
            String ch = "";
            String footer = "申请人:"+sqrxm + "     审核医师:"+shysqm+"     医师签名:"+bgysqm;
            ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null,footer);
            jianchas.add(outputStream);
        }
        return jianchas;
    }
    /**
     * PDF文件存储至本地
     * @param tjOrder
     * @param customer
     * @param finalOutPut
     */
    private void savePDFFile(String outputFileName1,TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) {
        // TODO 文件配置
        // 文件配置
//        String outputPath1 = "/Users/chacca/开发相关/代码/";
        String outputPath1 = value+"\\";
        File file = new File(outputPath1 + outputFileName1);
@@ -1008,7 +1058,7 @@
            copy.close();
            reader.close();
            String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_报告.pdf";
            // TODO 文件配置
            // 文件配置
//            String outputPath1 = "/Users/chacca/开发相关/代码/";
            String outputPath1 = value+"\\";
            File file = new File(outputPath1 + outputFileName1);
@@ -1042,7 +1092,13 @@
        return true;
    }
    // 组合非化验项目报告数据
    /**
     * 组合非化验项目报告数据
     * @param tjNumber
     * @param printReport
     * @param one
     * @param customer
     */
    private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport,TjOrder one,TjCustomer customer) {
        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);