zjh
2025-02-17 13f4dc5e2cf27ac9dc1c5e3e21101c9de6a7d3ca
zjh20250217
1个文件已修改
81 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -1126,7 +1126,78 @@
        wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber());
        List<TjOrderYcxm> ycxms = ycxmService.list(wq);
        if (null != ycxms && !ycxms.isEmpty()) {
            for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
            Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
            for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) {
                List<TjOrderYcxm> details = entry.getValue();
                if(null !=details && !details.isEmpty()){
                    details= details.stream()
                            .sorted(Comparator.comparing(TjOrderYcxm::getJcxm))
                            .collect(Collectors.toList());
                    boolean isXmWrite = false;
                    int index = 1;
                    int index1 = 1;
                    for (TjOrderYcxm detail : details) {
                        String xmmc = entry.getKey().toString();
                        if (!isXmWrite) {
                            xmXh++;
                            paragraph = new Paragraph("【" + xmXh + "." + xmmc + "】", defaultFont);
                            paragraph.setAlignment(Element.ALIGN_LEFT);
                            document2.add(paragraph);
                            isXmWrite = true;
                        }
                        String result = detail.getJcjg();
                        if (StrUtil.isNotBlank(result)) {
                            StringBuilder builder = new StringBuilder();
                            if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
                            builder.append("    (").append(index1).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n");
                            index1++;
                            result = builder.toString();
                        }
                        if (StrUtil.isNotBlank(result)) {
                            paragraph = new Paragraph(result, defaultFont);
                            paragraph.setAlignment(Element.ALIGN_LEFT);
                            document2.add(paragraph);
                        } else {
                            paragraph = new Paragraph("建议定期复查", defaultFont);
                            paragraph.setAlignment(Element.ALIGN_LEFT);
                            document2.add(paragraph);
                        }
                        String str = "     ";
                        List<Map<String, Object>> maps = new ArrayList<>();
                        String jynr = detail.getJynr();
                        JSONArray array = JSONUtil.parseArray(jynr);
                        for (Object object : array) {
                            Map<String,Object> objectMap=new HashMap<>();
                            JSONObject jsonObject = (JSONObject) object;
                            String bt = jsonObject.getStr("bt");
                            String nr = jsonObject.getStr("nr");
                            objectMap.put("bt",bt);
                            objectMap.put("nr",nr);
                            if(null !=bt || null !=nr) maps.add(objectMap);
                        }
                        List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList());
                        for (Map<String, Object> objectMap : collect1) {
                            String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
                            if (StrUtil.isBlank(content)) content = "     ";
                            paragraph = new Paragraph(content, defaultFont);
                            paragraph.setAlignment(Element.ALIGN_LEFT);
                            document2.add(paragraph);
                        }
                        index++;
                        paragraph = PdfUtils.setParagraph(defaultFont, "");
                        paragraph.setLeading(0f);
                        paragraph.setSpacingBefore(0f);
                        paragraph.setSpacingAfter(5f);
                        document2.add(paragraph);
                    }
                }
            }
            /*for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
                List<CsProVo> proVos = deptEntry.getValue();
                if (proVos.size() > 1) {
                    proVos = proVos.stream()
@@ -1278,7 +1349,7 @@
                        }
                    }
                }
            }
            }*/
        } else {
            for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
                List<CsProVo> proVos = deptEntry.getValue();
@@ -1539,7 +1610,7 @@
        tableQz.addCell(cell);
        String keyId = DataSourceContextHolder.getDataSourceKey();
        keyId = keyId.replace("ltkjpeis10_","");
        keyId = keyId.replace("typeis10_","");
        File file = new File(value + File.separator + keyId + File.separator + "yinzhang.png");
        cell = new PdfPCell();
@@ -1948,9 +2019,7 @@
     */
    private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException, DocumentException, InterruptedException {
        // 第一步:生成文件并保存
        String key = DataSourceContextHolder.getDataSourceKey();
        key = key.replace("ltkjpeis10_","");
        String outputPath1 = value + File.separator + key + File.separator;
        String outputPath1 = value + File.separator;
        File file = new File(outputPath1 + outputFileName1);
        BufferedOutputStream outputStream = null;
        outputStream = new BufferedOutputStream(new FileOutputStream(file));