From 2a9583fd376451ca77a0400af7f3a02d1b80e7f5 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 24 六月 2025 18:04:34 +0800
Subject: [PATCH] 2025-06-24

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |  661 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 441 insertions(+), 220 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 5377e42..95519f5 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;
@@ -47,6 +49,9 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.math.BigDecimal;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
 import java.text.Collator;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -90,8 +95,8 @@
     private LtkjHysqdService ltkjHysqdService;
     @Autowired
     private LtkjGetexamreportinfoService ltkjGetexamreportinfoService;
-    @Value("${path.filePath}")
-    private String value;
+//    @Value("${path.filePath}")
+//    private String value;
     @Value("${path.reportServer}")
     private String urlValue;
     @Autowired
@@ -120,6 +125,8 @@
     private ITjProAdvicerulesService tjProAdvicerulesService;
     @Autowired
     private TjOrderYcxmService ycxmService;
+    @Resource
+    private TjXdtgmdjgService xdtgmdjgService;
 
     private Integer pdfPage = 0;
 
@@ -868,6 +875,7 @@
         String s2 = sysConfigService.selectConfigByKey("tjreport_font_size_second_page_title");
         String s3 = sysConfigService.selectConfigByKey("tjreport_font_size_result_title");
         String s4 = sysConfigService.selectConfigByKey("tjreport_font_size_zongjian");
+        String value = sysConfigService.selectConfigByKey("path_filePath");
 //        String hospName = sysDeptController.getdangqiandengluyuanqu().get("msg").toString();
         if (StrUtil.isNotBlank(s1) && Integer.parseInt(s1) > 10) DEFAULT_FONT_SIZE = Integer.parseInt(s1);
         else DEFAULT_FONT_SIZE = 10;
@@ -995,138 +1003,250 @@
 //        List<Map<String, Object>> jiancha = new ArrayList<>();
 
 
-        paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細");
-        paragraph.setSpacingBefore(3f);
-        paragraph.setSpacingAfter(2f);
-        document2.add(paragraph);
 
         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();
-            if (proVos.size() > 1) {
-                proVos = proVos.stream()
-                        .sorted(Comparator.comparingLong(CsProVo::getProId))
-                        .collect(Collectors.toList());
-            }
-            // 宸茬粡閬嶅巻杩囩殑
-            ArrayList<String> jianYanYiDa = new ArrayList<>();
-            for (CsProVo proVo : proVos) {
+        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()) {
 
-                // 妫�鏌�
-                for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
-                    if (!entry.getKey().equals(proVo.getProId())) continue;
-                    List<TjOrderDetail> details = entry.getValue();
-                    String xmmc = proVo.getProName();
-//                    String xmmc = details.get(0).getProName();
-                    boolean isXmWrite = false;
+            paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細");
+            paragraph.setSpacingBefore(3f);
+            paragraph.setSpacingAfter(2f);
+            document2.add(paragraph);
+            isBr = true;
 
-//                    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);
-                            document2.add(paragraph);
-                            isXmWrite = true;
-                        }
-                        String result = detail.getProResult();
-                        if (StrUtil.isNotBlank(result)) {
-                            result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
-//                            result = result.replaceAll("", "");
-//                            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();
-                                if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
-                                builder.append("    (").append(index).append(")").append(detail.getProName()).append(": ").append(result).append("\n");
-                                index++;
+            Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
 
-                            result = builder.toString();
-                        }
-                        paragraph = new Paragraph(result, defaultFont);
+            for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) {
+                List<TjOrderYcxm> details = entry.getValue();
+                String xmmc = entry.getKey();
+                boolean isXmWrite = false;
+                int index = 1;
+                for (TjOrderYcxm detail : details) {
+                    if (!isXmWrite) {
+                        paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
                         paragraph.setAlignment(Element.ALIGN_LEFT);
                         document2.add(paragraph);
+                        isXmWrite = true;
                     }
-                    if (isXmWrite) {
-                        paragraph = PdfUtils.setParagraph(defaultFont, "");
-                        paragraph.setLeading(0f);
-                        paragraph.setSpacingBefore(0f);
-                        paragraph.setSpacingAfter(5f);
-                        document2.add(paragraph);
-                        xmXh++;
-                    }
-                }
+                    String result = detail.getJcjg();
+                    if (StrUtil.isNotBlank(result)) {
+                        result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
+                        StringBuilder builder = new StringBuilder();
+                        if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
 
-                // 妫�楠�
-                for (Map.Entry<String, Object> item : map.entrySet()) {
-                    String xmmc = item.getKey();
-                    HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue();
-                    ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
-                    boolean isXmWrite = false;
-                    int index = 1;
-                    for (List<String> i : lists) {
-                        if (!i.get(6).contains(String.valueOf(proVo.getProId()))) continue;
-                        if (i.contains("鈫�") || i.contains("鈫�")) {
-                            if (jianYanYiDa.contains(i.get(5))) continue;
-                            jianYanYiDa.add(i.get(5));
+                        builder.append("    (").append(index).append(")").append(detail.getJcxm()).append(": ")
+                                .append(result.replaceAll("\n", "").trim()).append("\n");
+                        index++;
+
+                        result = builder.toString();
+                    }
+                    paragraph = new Paragraph(result, defaultFont);
+                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                    document2.add(paragraph);
+                }
+                if (isXmWrite) {
+                    paragraph = PdfUtils.setParagraph(defaultFont, "");
+                    paragraph.setLeading(0f);
+                    paragraph.setSpacingBefore(0f);
+                    paragraph.setSpacingAfter(5f);
+                    document2.add(paragraph);
+                    xmXh++;
+                }
+            }
+        }
+        /* 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) {
+                    proVos = proVos.stream()
+                            .sorted(Comparator.comparingLong(CsProVo::getProId))
+                            .collect(Collectors.toList());
+                }
+                // 宸茬粡閬嶅巻杩囩殑
+                ArrayList<String> jianYanYiDa = new ArrayList<>();
+                for (CsProVo proVo : proVos) {
+
+                    // 妫�鏌�
+                    for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
+                        if (!entry.getKey().equals(proVo.getProId())) continue;
+                        List<TjOrderDetail> details = entry.getValue();
+                        String xmmc = proVo.getProName();
+//                    String xmmc = details.get(0).getProName();
+                        boolean isXmWrite = false;
+                        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);
                                 document2.add(paragraph);
                                 isXmWrite = true;
                             }
-                            String content = "    (" + index + ") " + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "      " + i.get(2);
-                            paragraph = new Paragraph(content, defaultFont);
+                            String result = detail.getProResult();
+                            if (StrUtil.isNotBlank(result)) {
+                                result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
+                                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++;
+
+                                result = builder.toString();
+                            }
+                            paragraph = new Paragraph(result, defaultFont);
                             paragraph.setAlignment(Element.ALIGN_LEFT);
                             document2.add(paragraph);
-                            index++;
+                        }
+                        if (isXmWrite) {
+                            paragraph = PdfUtils.setParagraph(defaultFont, "");
+                            paragraph.setLeading(0f);
+                            paragraph.setSpacingBefore(0f);
+                            paragraph.setSpacingAfter(5f);
+                            document2.add(paragraph);
+                            xmXh++;
                         }
                     }
-                    if (isXmWrite) {
-                        paragraph = PdfUtils.setParagraph(defaultFont, "");
-                        paragraph.setSpacingBefore(0f);
-                        paragraph.setSpacingAfter(5f);
-                        document2.add(paragraph);
-                        xmXh++;
+
+                    // 妫�楠�
+                    for (Map.Entry<String, Object> item : map.entrySet()) {
+                        String xmmc = item.getKey();
+                        HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue();
+                        ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
+                        boolean isXmWrite = false;
+                        int index = 1;
+                        for (List<String> i : lists) {
+                            if (!i.get(6).contains(String.valueOf(proVo.getProId()))) continue;
+                            if (i.contains("鈫�") || i.contains("鈫�")) {
+                                if (jianYanYiDa.contains(i.get(5))) continue;
+                                jianYanYiDa.add(i.get(5));
+                                if (!isXmWrite) {
+                                    paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
+                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                    document2.add(paragraph);
+                                    isXmWrite = true;
+                                }
+                                String content = "    (" + index + ") " + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "      " + i.get(2);
+                                paragraph = new Paragraph(content, defaultFont);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                document2.add(paragraph);
+                                index++;
+                            }
+                        }
+                        if (isXmWrite) {
+                            paragraph = PdfUtils.setParagraph(defaultFont, "");
+                            paragraph.setSpacingBefore(0f);
+                            paragraph.setSpacingAfter(5f);
+                            document2.add(paragraph);
+                            xmXh++;
+                        }
                     }
                 }
             }
+        } */
+
+
+
+        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;
-        LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
-        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()) {
+
+            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));
+
+            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.replaceAll("\n", "").trim()).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,8 +1398,17 @@
                         }
                     }
                 }
+            }*/
+        }
+        /* else {
+
+            if (!collect.isEmpty() || !map.isEmpty()){
+                paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�");
+                paragraph.setSpacingBefore(3f);
+                paragraph.setSpacingAfter(2f);
+                document2.add(paragraph);
             }
-        } else {
+
             for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
                 List<CsProVo> proVos = deptEntry.getValue();
                 if (proVos.size() > 1) {
@@ -1306,9 +1435,6 @@
                             }
                             String result = detail.getProResult();
                             if (StrUtil.isNotBlank(result)) {
-//                    result = result.replaceAll(" ","").replaceAll("\t","");
-//                    result = result.replaceAll("\n鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
-//                    result = "\n      " + result.replaceAll("\n", "\n      ");
                                 int index1 = 1;
                                 String[] split = result.split("\n");
 //                            boolean contains = result.contains("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
@@ -1319,15 +1445,8 @@
                                     builder.append("    (").append(index1).append(")").append(s).append("\n");
                                     index1++;
                                 }
-//                            if (!contains) builder.append("    (").append(index1).append(")").append("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
-//                            if (!contains) builder.append("    (").append(index1).append(")").append(" ");
-//                            else builder.substring(0,builder.length() - 1);
                                 result = builder.toString();
                             }
-//                String content = "  (" + index + ") " + detail.getProName() + "锛�" + result;
-//                content = content.replaceAll("[\\n\\r]+$", "");
-//                content = content.replaceAll("\\s+$", "");
-//                paragraph = new Paragraph(content, defaultFont);
                             if (StrUtil.isNotBlank(result)) {
                                 paragraph = new Paragraph(result, defaultFont);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -1338,15 +1457,11 @@
                                 document2.add(paragraph);
                             }
                             String str = "     ";
-//                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"",
-//                                detail.getYcbz(),tjOrder.getTjNumber(),detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-//                                        .replaceAll("[ 娴嬪畾妫�娴媇",""),detail.getProResult());
                             List<Map<String, Object>> maps = new ArrayList<>();
                             if (detail.getDeptId().equals("2")) {
                                 String[] split = result.split("銆倈,|锛�");
                                 for (String s : split) {
                                     s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
-//                                Map<String,Object> mapss= tjRulesService.getyichangxiangmujianyiguizeJianCha(s);
                                     Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(detail.getKs(), s, "0");
                                     if (null != mapss) {
                                         Object bt = mapss.get("bt");
@@ -1359,7 +1474,6 @@
 
                             for (Map<String, Object> objectMap : collect1) {
                                 String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
-//                            if (StrUtil.isBlank(content)) content = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
                                 if (StrUtil.isBlank(content)) content = "     ";
                                 paragraph = new Paragraph(content, defaultFont);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -1396,38 +1510,14 @@
                                 paragraph = new Paragraph(content, defaultFont);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 document2.add(paragraph);
-                                // 绗叚浣嶆槸lis椤圭洰id
-//                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
-//                    wrapper.eq(TjProject::getLisXmbm,i.get(5));
-//                    TjProject project = projectService.getOne(wrapper);
-//                    if (project != null) {
-//                        LambdaQueryWrapper<TjRules> queryWrapper = new LambdaQueryWrapper<>();
-//                        queryWrapper.eq(TjRules::getProId,project.getProId());
-//                        List<TjRules> rules = tjRulesService.list(queryWrapper);
-//                        if (!rules.isEmpty()){
-//
-//                        }
                                 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) {
-//                                paragraph = new Paragraph(str+"寤鸿鏍囬",defaultFont);
-//                                paragraph.setAlignment(Element.ALIGN_LEFT);
-//                                document2.add(paragraph);
-//
-//                                paragraph = new Paragraph(str+objectMap.get("bt").toString(),defaultFont);
-//                                paragraph.setAlignment(Element.ALIGN_LEFT);
-//                                document2.add(paragraph);
-//
-//                                paragraph = new Paragraph(str+"寤鸿鍐呭",defaultFont);
-//                                paragraph.setAlignment(Element.ALIGN_LEFT);
-//                                document2.add(paragraph);
-//
-//                                paragraph = new Paragraph(str+objectMap.get("nr").toString(),defaultFont);
-//                                paragraph.setAlignment(Element.ALIGN_LEFT);
-//                                document2.add(paragraph);
                                         Object bt = objectMap.get("bt");
                                         Object nr = objectMap.get("nr");
                                         if (null != bt && null != nr) {
@@ -1435,7 +1525,6 @@
                                             if (StrUtil.isBlank(content)) content1 = "     ";
                                             paragraph = new Paragraph(content1, defaultFont);
                                         }
-//                                    if (StrUtil.isBlank(content)) content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         document2.add(paragraph);
                                     }
@@ -1457,7 +1546,7 @@
                     }
                 }
             }
-        }
+        } */
 
         for (int i = 0; i < 1; i++) {
             paragraph = PdfUtils.setParagraph(defaultFont, "");
@@ -1538,7 +1627,10 @@
 
         tableQz.addCell(cell);
 
-        File file = new File(value + File.separator + "yinzhang.png");
+        String keyId = DataSourceContextHolder.getDataSourceKey();
+        keyId = keyId.replace("ltkjpeis10_","");
+
+        File file = new File(value + File.separator + keyId + File.separator + "yinzhang.png");
         cell = new PdfPCell();
         cell.setBorder(Rectangle.NO_BORDER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
@@ -1651,6 +1743,46 @@
             log.error(String.valueOf(e));
             return AjaxResult.error();
         }
+
+        LambdaQueryWrapper<TjXdtgmdjg> wqq=new LambdaQueryWrapper<>();
+        wqq.eq(TjXdtgmdjg::getTjh,tjOrder.getTjNumber());
+        wqq.isNotNull(TjXdtgmdjg::getUrl);
+        List<TjXdtgmdjg> xdtgmdjgList = xdtgmdjgService.list(wqq);
+
+        int index=1;
+        for (TjXdtgmdjg xdtgmdjg : xdtgmdjgList) {
+            document.newPage();
+            cell = new PdfPCell();
+            PdfPTable tablefj = new PdfPTable(new float[]{100f});
+            tablefj.setTotalWidth(PageSize.A4.getWidth() - 100);
+            tablefj.setLockedWidth(true);
+            tablefj.setHorizontalAlignment(Element.ALIGN_LEFT);
+            tablefj.getDefaultCell().setBorder(0);
+            tablefj.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
+
+            cell.setBorder(Rectangle.NO_BORDER);
+            cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+            cell.setHorizontalAlignment(Element.ALIGN_CENTER);
+            cell.setPaddingTop(10);
+            cell.setPaddingBottom(10);
+            cell.setPhrase(new Phrase("闄勪欢"+index+": "+ xdtgmdjg.getProName(), zongJianFont));
+            Path path = Paths.get(xdtgmdjg.getUrl());
+            byte[] bytesfj = null;
+            try {
+                bytesfj = Files.readAllBytes(path);
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            }
+            Image image = Image.getInstance(bytesfj);
+            image.scaleToFit(500, 2500);
+            tablefj.addCell(cell);
+            cell = new PdfPCell();
+            cell.addElement(image);
+            tablefj.addCell(cell);
+            document.add(tablefj);
+            index++;
+        }
+
         document.close();
 
 
@@ -1675,7 +1807,7 @@
         AcroFields acroFields = pdfStamper.getAcroFields();
         BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
         acroFields.addSubstitutionFont(bf);
-        HashMap<String, Object> data = new HashMap<>();
+//        HashMap<String, Object> data = new HashMap<>();
         Long cusSex = customer.getCusSex();
         String tjtype;
         if (cusSex == 0) {
@@ -1695,10 +1827,6 @@
         if (StrUtil.isNotBlank(tjOrder.getFirmName())) {
             hashMap.put("work", tjOrder.getFirmName());
         } else {
-//            LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>();
-//            wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId());
-//            DictComp dictComp = dictCompService.getOne(wq111);
-
             if (StrUtil.isBlank(tjOrder.getFirmName())) {
                 hashMap.put("work", "鏃�");
             } else {
@@ -1742,6 +1870,9 @@
             PdfImportedPage page = copy.getImportedPage(reader2, i);
             copy.addPage(page);
         }
+
+
+
         reader2.close();
 
         PdfReader reader1 = new PdfReader(byteArrayOutputStream.toByteArray());
@@ -1945,6 +2076,7 @@
      */
     private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException, DocumentException, InterruptedException {
         // 绗竴姝ワ細鐢熸垚鏂囦欢骞朵繚瀛�
+        String value = sysConfigService.selectConfigByKey("path_filePath");
         String key = DataSourceContextHolder.getDataSourceKey();
         key = key.replace("ltkjpeis10_","");
         String outputPath1 = value + File.separator + key + File.separator;
@@ -2063,7 +2195,7 @@
             LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>();
             wqqq.eq(TjProject::getProId, entry.getKey().getProId());
             TjProject one11 = projectService.getOne(wqqq);
-            if (entry.getValue() == null || entry.getValue().isEmpty()) continue;
+            if (entry.getValue() == null || entry.getValue().isEmpty() || entry.getValue().equals("null")) continue;
             //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
             if (null != one11 && "Y".equals(one11.getNeedReport())) {
                 TjOrderRemark orderRemark = entry.getKey();
@@ -2138,12 +2270,66 @@
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
                                 if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     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);
@@ -2154,18 +2340,22 @@
                             Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
 
                             if (isPacs) {
-                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+                                Paragraph pp;
+                                Paragraph ppp;
+                                if (StrUtil.isNotBlank(value.get(0).getSj())) {
+                                    pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+                                    document1.add(pp);
+                                    ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
+                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                    paragraph.setLeading(5f);
+                                    document1.add(ppp);
+                                }
+                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+value.get(0).getTs());
                                 document1.add(pp);
-                                Paragraph ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-                                pp = PdfUtils.setParagraph(remarkFonts, "缁撹锛�");
-                                document1.add(pp);
-                                ppp = new Paragraph(value.get(0).getTs(), remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
+//                                ppp = new Paragraph(value.get(0).getTs(), remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
                             } else {
                                 if (value.get(0).getPid().equals("1862852701533012001")) {
                                     remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2199,7 +2389,7 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                     if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
@@ -2322,7 +2512,7 @@
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
                                 if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
@@ -2339,18 +2529,40 @@
                             Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
 
                             if (isPacs) {
-                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+                                Paragraph pp;
+                                Paragraph ppp;
+                                String key = sysConfigService.selectConfigByKey("makepdfuseorderdetailproresult");
+                                if (StrUtil.isNotBlank(key) && !key.equals("Y")){
+                                    if (StrUtil.isNotBlank(value.get(0).getSj())) {
+                                        pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+                                        document1.add(pp);
+                                        ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        paragraph.setLeading(5f);
+                                        document1.add(ppp);
+                                    }
+                                }else{
+                                    if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) {
+                                        pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+                                        document1.add(pp);
+                                        ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts);
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        paragraph.setLeading(5f);
+                                        document1.add(ppp);
+                                    }
+                                }
+//                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+ (value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()));
+//                                document1.add(pp);
+                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細");
                                 document1.add(pp);
-                                Paragraph ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts);
+                                ppp = new Paragraph((value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()), remarkFonts);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
-                                pp = PdfUtils.setParagraph(remarkFonts, "缁撹锛�");
-                                document1.add(pp);
-                                ppp = new Paragraph(value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult(), remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
+//                                ppp = new Paragraph(value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult(), remarkFonts);
+//                                paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                paragraph.setLeading(5f);
+//                                document1.add(ppp);
                             } else {
                                 if (value.get(0).getPid().equals("1862852701533012001")) {
                                     remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2384,7 +2596,7 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                     if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
@@ -2532,10 +2744,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(
@@ -2795,12 +3015,7 @@
      * @param customer
      */
     private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
-//        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
-//        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
-//        wqq.ne(TjOrderRemark::getDeptId, "241");
-//        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257");
-//        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
-//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
+
         List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber);
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark, null);
@@ -2819,7 +3034,14 @@
                     if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId()) && entry.getKey().getType() == 1) {
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
-                        tjPdfVO.setProResult(tjOrderDetail.getProResult());
+                        if(tjProject.getProDelivery()==1){
+                            if(StringUtil.isNotBlank(tjOrderDetail.getConclusion())){
+                                tjPdfVO.setProResult(tjOrderDetail.getProResult()+"     "+tjOrderDetail.getConclusion());
+                            }
+                        }else {
+                            tjPdfVO.setProResult(tjOrderDetail.getProResult());
+                        }
+
                         tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
                         if (null != tjProject.getProMetering()) {
                             tjPdfVO.setCompany(tjProject.getProMetering());
@@ -2828,6 +3050,7 @@
                         }
                         tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
                         tjPdfVO.setPid(String.valueOf(tjProject.getProParentId()));
+                        tjPdfVO.setXh(tjProject.getXh());
 //                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
 //                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
 //                        wrapper.eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
@@ -2836,24 +3059,20 @@
                 }
             }
             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());
+//                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());
+                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getXh)).collect(Collectors.toList());
             }
             printReport.put(entry.getKey(), tjPdfVOS);
         }
     }
 
     private void pacsJianChaData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
-//        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
-//        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
-//        wqq.ne(TjOrderRemark::getDeptId, "241");
-//        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257");
-//        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
-//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
+
         List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.pacsJianChaData(tjNumber);
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark, null);
@@ -2871,6 +3090,7 @@
                     if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())
                             && entry.getKey().getType() == 1
                             && !ids.contains(String.valueOf(tjOrderDetail.getProject().getProParentId()))) {
+                        TjProject tjProjectq = projectService.getById(tjOrderDetail.getProject().getProParentId());
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
                         tjPdfVO.setProResult(tjOrderDetail.getProResult());
@@ -2882,15 +3102,24 @@
                         }
                         tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
                         LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
-                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
-                        wrapper.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
-                        wrapper.orderByDesc(LtkjExamJcbgd::getZdsj);
+                        wrapper.eq(LtkjExamJcbgd::getTjh, one.getCardId())
+                                .and(w -> w.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()))
+                                        .or()
+                                        .eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjProjectq.getHisXmbm()))).orderByDesc(LtkjExamJcbgd::getZdsj);
                         List<LtkjExamJcbgd> list = jcbgdService.list(wrapper);
                         if (null != list && !list.isEmpty()) {
                             LtkjExamJcbgd jcbgd = list.get(0);
                             if (jcbgd != null) {
-                                tjPdfVO.setTs(jcbgd.getYxbx());
-                                tjPdfVO.setSj(jcbgd.getBgNr());
+                                String yxbx = jcbgd.getYxbx();
+                                String bgNr = jcbgd.getBgNr();
+                                // 姝e垯琛ㄨ揪寮忥細鍖归厤鏁板瓧鍚庤窡 '.' 鎴� '銆�'
+                                String regex = "\\d+[\\.,銆乚";
+                                // 浣跨敤姝e垯鏇挎崲锛屽尮閰嶇殑鏁板瓧鍚庢坊鍔犳崲琛岀
+                                if(StringUtil.isNotBlank(yxbx)) yxbx = yxbx.replaceAll(regex, "\n$0");
+                                if(StringUtil.isBlank(bgNr)) bgNr = "";
+                                if(StringUtil.isBlank(yxbx)) yxbx = "";
+                                tjPdfVO.setTs(yxbx);
+                                tjPdfVO.setSj(bgNr);
                                 tjPdfVO.setShys(jcbgd.getShysxm());
                                 tjPdfVO.setProName(jcbgd.getXmmc());
                                 ids += "|" + jcbgd.getXmdm();
@@ -2900,14 +3129,6 @@
                     }
                 }
             }
-//            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