From f0cfaecd79e18beff3a33a9152f855ca757282ba Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期三, 05 三月 2025 18:09:15 +0800
Subject: [PATCH] 2025-03-05

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |   72 ++++++++++++++++++++++++++---------
 1 files changed, 53 insertions(+), 19 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..dede3db 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,6 +1031,7 @@
                         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");
                         index++;
 
@@ -1048,6 +1051,15 @@
                 }
             }
         }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) {
@@ -1138,17 +1150,22 @@
 
 
 
-        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);
+        if(isBr) {
+            paragraph = PdfUtils.setParagraph(defaultFont, "");
+            paragraph.setLeading(0f);
+            paragraph.setSpacingBefore(10f);
+            paragraph.setSpacingAfter(10f);
+            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));
 
@@ -1374,6 +1391,14 @@
                 }
             }*/
         } 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 +1501,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");
@@ -2591,6 +2618,13 @@
             ltkjHybgdLambdaQueryWrapper.eq(LtkjHybgd::getTmh, hysqd.getTmh());
             List<LtkjHybgd> hybgds = ltkjHybgdService.list(ltkjHybgdLambdaQueryWrapper);
             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