From ce4202406542566234c53c9ed85bd1a03ed47a55 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 06 二月 2025 15:37:52 +0800
Subject: [PATCH] zjh20250206

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |   71 ++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 22 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 a3fbce1..f6e9e3b 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
@@ -1001,6 +1001,13 @@
 
         int xmXh = 1;
 
+//        orderDetails=orderDetails.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+//        orderDetails = orderDetails.stream()
+//                .sorted(Comparator.comparingInt(
+//                        tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+//                ))
+//                .collect(Collectors.toList());
+
         Map<Long, List<TjOrderDetail>> collect = orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId));
         for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
             List<CsProVo> proVos = deptEntry.getValue();
@@ -1017,9 +1024,19 @@
                 for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
                     if (!entry.getKey().equals(proVo.getProId())) continue;
                     List<TjOrderDetail> details = entry.getValue();
-                    String xmmc = details.get(0).getProName();
+                    String xmmc = proVo.getProName();
+//                    String xmmc = details.get(0).getProName();
                     boolean isXmWrite = false;
+
+//                    details=details.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+//                    details = details.stream()
+//                            .sorted(Comparator.comparingInt(
+//                                    tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+//                            ))
+//                            .collect(Collectors.toList());
+                    int index = 1;
                     for (TjOrderDetail detail : details) {
+//                        if (!entry.getKey().equals(detail.getProId())) continue;
                         if (!isXmWrite) {
                             paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
                             paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -1028,16 +1045,20 @@
                         }
                         String result = detail.getProResult();
                         if (StrUtil.isNotBlank(result)) {
-                            int index = 1;
                             result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
 //                            result = result.replaceAll("", "");
-                            String[] split = result.split("\n");
+//                            String[] split = result.split("\n");
+//                            StringBuilder builder = new StringBuilder();
+//                            for (String s : split) {
+//                                if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
+//                                builder.append("    (").append(index).append(")").append(s).append("\n");
+//                                index++;
+//                            }
                             StringBuilder builder = new StringBuilder();
-                            for (String s : split) {
-                                if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
-                                builder.append("    (").append(index).append(")").append(s).append("\n");
+                                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();
                         }
                         paragraph = new Paragraph(result, defaultFont);
@@ -1125,7 +1146,8 @@
                             int index = 1;
                             int index1 = 1;
                             for (TjOrderDetail detail : details) {
-                                String xmmc = detail.getProName();
+                                String xmmc = proVo.getProName();
+//                                String xmmc = detail.getProName();
                                 if (!isXmWrite) {
                                     xmXh++;
                                     paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont);
@@ -1135,13 +1157,18 @@
                                 }
                                 String result = detail.getProResult();
                                 if (StrUtil.isNotBlank(result)) {
-                                    String[] split = result.split("\n");
                                     StringBuilder builder = new StringBuilder();
-                                    for (String s : split) {
-                                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
-                                        builder.append("    (").append(index1).append(")").append(s).append("\n");
+//                                    String[] split = result.split("\n");
+//                                    for (String s : split) {
+//                                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
+//                                        builder.append("    (").append(index1).append(")").append(s).append("\n");
+//                                        index1++;
+//                                    }
+
+                                        if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
+                                        builder.append("    (").append(index1).append(")").append(detail.getProName()).append(": ").append(result).append("\n");
                                         index1++;
-                                    }
+
                                     result = builder.toString();
                                 }
                                 if (StrUtil.isNotBlank(result)) {
@@ -1158,7 +1185,7 @@
 
                                 LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
                                 ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
-                                ycwq.eq(TjOrderYcxm::getJcxm,xmmc);
+                                ycwq.eq(TjOrderYcxm::getJcxm,detail.getProName());
                                 TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
                                 if(null !=ycxm){
                                     String jynr = ycxm.getJynr();
@@ -2805,14 +2832,14 @@
                     }
                 }
             }
-//            if(!tjPdfVOS.isEmpty()){
-//                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
-//                tjPdfVOS = tjPdfVOS.stream()
-//                        .sorted(Comparator.comparingInt(
-//                                tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
-//                        ))
-//                        .collect(Collectors.toList());
-//            }
+            if(!tjPdfVOS.isEmpty()){
+                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+                tjPdfVOS = tjPdfVOS.stream()
+                        .sorted(Comparator.comparingInt(
+                                tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+                        ))
+                        .collect(Collectors.toList());
+            }
             printReport.put(entry.getKey(), tjPdfVOS);
         }
     }

--
Gitblit v1.8.0