From 13f4dc5e2cf27ac9dc1c5e3e21101c9de6a7d3ca Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 17 二月 2025 16:03:05 +0800
Subject: [PATCH] zjh20250217

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |   87 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 78 insertions(+), 9 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
index f3bddbf..77513bf 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -1056,9 +1056,9 @@
 //                                index++;
 //                            }
                             StringBuilder builder = new StringBuilder();
-                                if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
-                                builder.append("    (").append(index).append(")").append(detail.getProName()).append(": ").append(result).append("\n");
-                                index++;
+                            if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
+                            builder.append("    (").append(index).append(")").append(detail.getProName()).append(": ").append(result).append("\n");
+                            index++;
 
                             result = builder.toString();
                         }
@@ -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));

--
Gitblit v1.8.0