From 983d95bdcbb273b4a78efd0058a2a35141be1b51 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 08 四月 2025 18:00:12 +0800
Subject: [PATCH] zjh20250408

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |  151 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 122 insertions(+), 29 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 ea284e3..e1032bd 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
@@ -34,8 +34,10 @@
 import com.ltkj.system.service.ISysUserService;
 import com.ltkj.web.config.pdfutils.PdfUtils;
 import com.ltkj.web.controller.system.SysDeptController;
+import jodd.util.StringUtil;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import net.sf.ehcache.search.aggregator.Count;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -995,29 +997,29 @@
 //        List<Map<String, Object>> jiancha = new ArrayList<>();
 
 
-        paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細");
-        paragraph.setSpacingBefore(3f);
-        paragraph.setSpacingAfter(2f);
-        document2.add(paragraph);
 
         int xmXh = 1;
-
         Map<Long, List<TjOrderDetail>> collect = orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId));
         LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
         wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber());
         List<TjOrderYcxm> ycxms = ycxmService.list(wq);
+        boolean isBr = false;
         if (null != ycxms && !ycxms.isEmpty()) {
+
+            paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細");
+            paragraph.setSpacingBefore(3f);
+            paragraph.setSpacingAfter(2f);
+            document2.add(paragraph);
+            isBr = true;
 
             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();
                 String xmmc = entry.getKey();
-//                    String xmmc = details.get(0).getProName();
                 boolean isXmWrite = false;
                 int index = 1;
                 for (TjOrderYcxm detail : details) {
-//                        if (!entry.getKey().equals(detail.getProId())) continue;
                     if (!isXmWrite) {
                         paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
                         paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -1029,7 +1031,9 @@
                         result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
                         StringBuilder builder = new StringBuilder();
                         if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
-                        builder.append("    (").append(index).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n");
+
+                        builder.append("    (").append(index).append(")").append(detail.getJcxm()).append(": ")
+                                .append(result.replaceAll("\n", "").trim()).append("\n");
                         index++;
 
                         result = builder.toString();
@@ -1047,7 +1051,17 @@
                     xmXh++;
                 }
             }
-        }else {
+        }
+        /* else {
+
+            if (!collect.isEmpty() || !map.isEmpty()){
+                paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細");
+                paragraph.setSpacingBefore(3f);
+                paragraph.setSpacingAfter(2f);
+                document2.add(paragraph);
+                isBr = true;
+            }
+
             for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
                 List<CsProVo> proVos = deptEntry.getValue();
                 if (proVos.size() > 1) {
@@ -1134,21 +1148,26 @@
                     }
                 }
             }
+        } */
+
+
+
+        if(isBr) {
+            paragraph = PdfUtils.setParagraph(defaultFont, "");
+            paragraph.setLeading(0f);
+            paragraph.setSpacingBefore(10f);
+            paragraph.setSpacingAfter(10f);
+            document2.add(paragraph);
         }
 
 
-
-        paragraph = PdfUtils.setParagraph(defaultFont, "");
-        paragraph.setLeading(0f);
-        paragraph.setSpacingBefore(10f);
-        paragraph.setSpacingAfter(10f);
-        document2.add(paragraph);
-        paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�");
-        paragraph.setSpacingBefore(3f);
-        paragraph.setSpacingAfter(2f);
-        document2.add(paragraph);
         xmXh = 0;
         if (null != ycxms && !ycxms.isEmpty()) {
+
+            paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�");
+            paragraph.setSpacingBefore(3f);
+            paragraph.setSpacingAfter(2f);
+            document2.add(paragraph);
 
             Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
 
@@ -1174,7 +1193,8 @@
                         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");
+                            builder.append("    (").append(index1).append(")").append(detail.getJcxm()).append(": ")
+                                    .append(result.replaceAll("\n", "").trim()).append("\n");
                             index1++;
 
                             result = builder.toString();
@@ -1373,7 +1393,16 @@
                     }
                 }
             }*/
-        } else {
+        }
+        /* else {
+
+            if (!collect.isEmpty() || !map.isEmpty()){
+                paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�");
+                paragraph.setSpacingBefore(3f);
+                paragraph.setSpacingAfter(2f);
+                document2.add(paragraph);
+            }
+
             for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
                 List<CsProVo> proVos = deptEntry.getValue();
                 if (proVos.size() > 1) {
@@ -1476,9 +1505,11 @@
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 document2.add(paragraph);
                                 String str = "    ";
-                                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), "",
-                                        i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                .replaceAll("[ 娴嬪畾妫�娴媇", ""), i.get(1));
+                                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""),
+                                        i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                                                .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), i.get(1));
+
                                 if (!maps.isEmpty()) {
                                     for (Map<String, Object> objectMap : maps) {
                                         Object bt = objectMap.get("bt");
@@ -1509,7 +1540,7 @@
                     }
                 }
             }
-        }
+        } */
 
         for (int i = 0; i < 1; i++) {
             paragraph = PdfUtils.setParagraph(defaultFont, "");
@@ -2198,7 +2229,61 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                 }
-                            } else {
+                            }
+                            // 纰�14
+//                            else if (value.get(0).getPid().equals("1870371396991955967")){
+//                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+//                                Paragraph ppp = new Paragraph("闃虫�у弬鑰冨��(Delta Over Baseline(DPM))锛�", remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
+//
+//                                LineSeparator objectName = new LineSeparator();
+//                                objectName.setOffset(-5);
+//                                document1.add(objectName);
+//
+//                                ppp = new Paragraph("DPM鍊硷細         >      149                闃虫��", remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
+//
+//                                ppp = new Paragraph("                猢�      99                 闃存��", remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
+//
+//                                objectName.setOffset(-5);
+//                                document1.add(objectName);
+//
+//
+//                                int result = Integer.parseInt(value.get(0).getProResult());
+//                                String after = "";
+//                                if (result > 149){
+//                                    after = "闃虫��";
+//                                }else {
+//                                    after = "闃存��";
+//                                }
+//                                ppp = new Paragraph("妫�娴嬬粨鏋滐細 DPM=" + result, remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
+//
+//                                ppp = new Paragraph("", remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
+//                                ppp = new Paragraph("", remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
+//                                if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
+//                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+//                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                    paragraph.setLeading(5f);
+//                                    document1.add(ppp);
+//                                }
+//                            }
+                            else {
                                 String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
                                 Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                                 Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2587,10 +2672,18 @@
         List<LtkjHysqd> list = ltkjHysqdService.list(ltkjHysqdLambdaQueryWrapper);
         HashMap<String, Object> data = new HashMap<>();
         for (LtkjHysqd hysqd : list) {
-            LambdaQueryWrapper<LtkjHybgd> ltkjHybgdLambdaQueryWrapper = new LambdaQueryWrapper<>();
-            ltkjHybgdLambdaQueryWrapper.eq(LtkjHybgd::getTmh, hysqd.getTmh());
-            List<LtkjHybgd> hybgds = ltkjHybgdService.list(ltkjHybgdLambdaQueryWrapper);
+//            LambdaQueryWrapper<LtkjHybgd> ltkjHybgdLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//            ltkjHybgdLambdaQueryWrapper.eq(LtkjHybgd::getTmh, hysqd.getTmh());
+//            List<LtkjHybgd> hybgds = ltkjHybgdService.list(ltkjHybgdLambdaQueryWrapper);
+            List<LtkjHybgd> hybgds = ltkjHybgdService.getReportJianYanBaoGaoDanList(hysqd.getTmh());
             if(null !=hybgds && !hybgds.isEmpty()){
+//                hybgds = hybgds.stream().distinct().collect(Collectors.toList());
+                hybgds = new ArrayList<>(hybgds.stream()
+                        .collect(Collectors.toMap(LtkjHybgd::getJcxm, p -> p, (existing, replacement) -> existing))
+                        .values());
+
+
+
 //                hybgds=hybgds.stream().sorted(Comparator.comparing(LtkjHybgd::getJcxm, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
 //                hybgds = hybgds.stream()
 //                        .sorted(Comparator.comparingInt(

--
Gitblit v1.8.0