From 5f1d1c462bbf49bc6a22b9e17b49733bcc1e0bc6 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 20 六月 2025 19:01:13 +0800
Subject: [PATCH] zjh20250620

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 2078 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 1,054 insertions(+), 1,024 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 0d233c5..fd78485 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
@@ -871,631 +871,636 @@
     }*/
 
     public AjaxResult hisPDFNew2(TjOrder tjOrder, TjCustomer customer, TjReportTemplate tjReportTemplate, TjReportTemplate zongJianYiShiQianMing) throws Exception {
-        String s1 = sysConfigService.selectConfigByKey("tjreport_font_size_second_page_info");
-        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");
+       try {
+           String s1 = sysConfigService.selectConfigByKey("tjreport_font_size_second_page_info");
+           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;
-        if (StrUtil.isNotBlank(s2) && Integer.parseInt(s2) > 10) DEFAULT_LITTLE_TITLE_FONT_SIZE = Integer.parseInt(s2);
-        else DEFAULT_LITTLE_TITLE_FONT_SIZE = 10;
-        if (StrUtil.isNotBlank(s3) && Integer.parseInt(s3) > 10) DEFAULT_TITLE_FONT_SIZE = Integer.parseInt(s3);
-        else DEFAULT_TITLE_FONT_SIZE = 10;
-        if (StrUtil.isNotBlank(s4) && Integer.parseInt(s4) > 10) DEFAULT_ZONGJIAN_FONT_SIZE = Integer.parseInt(s4);
-        else DEFAULT_ZONGJIAN_FONT_SIZE = 10;
-        pdfPage = 0;
-        DictHosp dictHosp = dictHospService.list().get(0);
-        HOSP_NAME = dictHosp.getHospName();
-        String color = sysConfigService.selectConfigByKey("report_title_color");
-        List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex"));
-        // 妫�楠屾暟鎹�
-        HashMap<String, Object> map = makeHisJianYan(tjOrder, customer);
-        String sex = "";
-        if (customer.getCusSex() != null) {
-            for (SysDictData userSex : sysUserSex) {
-                if (userSex.getDictValue().equals(String.valueOf(customer.getCusSex()))) {
-                    sex = userSex.getDictLabel();
-                }
-            }
-        }
-        if (StrUtil.isBlank(sex)) sex = "鏈煡";
+           if (StrUtil.isNotBlank(s1) && Integer.parseInt(s1) > 10) DEFAULT_FONT_SIZE = Integer.parseInt(s1);
+           else DEFAULT_FONT_SIZE = 10;
+           if (StrUtil.isNotBlank(s2) && Integer.parseInt(s2) > 10) DEFAULT_LITTLE_TITLE_FONT_SIZE = Integer.parseInt(s2);
+           else DEFAULT_LITTLE_TITLE_FONT_SIZE = 10;
+           if (StrUtil.isNotBlank(s3) && Integer.parseInt(s3) > 10) DEFAULT_TITLE_FONT_SIZE = Integer.parseInt(s3);
+           else DEFAULT_TITLE_FONT_SIZE = 10;
+           if (StrUtil.isNotBlank(s4) && Integer.parseInt(s4) > 10) DEFAULT_ZONGJIAN_FONT_SIZE = Integer.parseInt(s4);
+           else DEFAULT_ZONGJIAN_FONT_SIZE = 10;
+           pdfPage = 0;
+           DictHosp dictHosp = dictHospService.list().get(0);
+           HOSP_NAME = dictHosp.getHospName();
+           String color = sysConfigService.selectConfigByKey("report_title_color");
+           List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex"));
+           // 妫�楠屾暟鎹�
+           HashMap<String, Object> map = makeHisJianYan(tjOrder, customer);
+           String sex = "";
+           if (customer.getCusSex() != null) {
+               for (SysDictData userSex : sysUserSex) {
+                   if (userSex.getDictValue().equals(String.valueOf(customer.getCusSex()))) {
+                       sex = userSex.getDictLabel();
+                   }
+               }
+           }
+           if (StrUtil.isBlank(sex)) sex = "鏈煡";
 
 
-        // 鐢熸垚 document2 骞跺皢鍏跺唴瀹逛繚瀛樺埌 byteArrayOutputStream2 涓�
-        ByteArrayOutputStream byteArrayOutputStream2 = new ByteArrayOutputStream();
-        Document document2 = new Document(PageSize.A4);
-        PdfWriter writer2 = PdfWriter.getInstance(document2, byteArrayOutputStream2);
+           // 鐢熸垚 document2 骞跺皢鍏跺唴瀹逛繚瀛樺埌 byteArrayOutputStream2 涓�
+           ByteArrayOutputStream byteArrayOutputStream2 = new ByteArrayOutputStream();
+           Document document2 = new Document(PageSize.A4);
+           PdfWriter writer2 = PdfWriter.getInstance(document2, byteArrayOutputStream2);
 
-        writer2.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(), customer.getCusName(), tjOrder.getTjNumber(), sex, String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())), 0));
+           writer2.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(), customer.getCusName(), tjOrder.getTjNumber(), sex, String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())), 0));
 
-        document2.setMargins(50, 70, 40, 50);
-        document2.open();
+           document2.setMargins(50, 70, 40, 50);
+           document2.open();
 
-        List<CsProVo> list = tjOrderRemarkService.cSWebGetProByTjNumAndOrderId(tjOrder.getTjNumber(), false);
+           List<CsProVo> list = tjOrderRemarkService.cSWebGetProByTjNumAndOrderId(tjOrder.getTjNumber(), false);
 
-        Font defaultFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-        Font defaultTitleFont = PdfUtils.setFont(DEFAULT_LITTLE_TITLE_FONT_SIZE);
-        defaultTitleFont.setStyle(Font.BOLD);
-        Paragraph paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ瀹や笌妫�鏌ラ」鐩�");
-        document2.add(paragraph);
+           Font defaultFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+           Font defaultTitleFont = PdfUtils.setFont(DEFAULT_LITTLE_TITLE_FONT_SIZE);
+           defaultTitleFont.setStyle(Font.BOLD);
+           Paragraph paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ瀹や笌妫�鏌ラ」鐩�");
+           document2.add(paragraph);
 
-        PdfPTable table = new PdfPTable(new float[]{80, 100, 80, 80});
-        table.setTotalWidth(PageSize.A4.getWidth() - 100);
-        table.setLockedWidth(true);
-        table.setHorizontalAlignment(Element.ALIGN_LEFT);
-        String[] titles = {"绉戝", "浣撴椤圭洰", "妫�鏌ョ姸鎬�", "妫�鏌ユ椂闂�"};
+           PdfPTable table = new PdfPTable(new float[]{80, 100, 80, 80});
+           table.setTotalWidth(PageSize.A4.getWidth() - 100);
+           table.setLockedWidth(true);
+           table.setHorizontalAlignment(Element.ALIGN_LEFT);
+           String[] titles = {"绉戝", "浣撴椤圭洰", "妫�鏌ョ姸鎬�", "妫�鏌ユ椂闂�"};
 
-        for (String head : titles) {
-            table.addCell(PdfUtils.createCell(head, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
-        }
+           for (String head : titles) {
+               table.addCell(PdfUtils.createCell(head, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
+           }
 //        Map<String, List<CsProVo>> listMap = list.stream()
 //                .collect(Collectors.groupingBy(i -> i.getDeptId() + "_" + i.getDeptName()));
-        Map<String, List<CsProVo>> listMap = list.stream()
-                .collect(Collectors.groupingBy(
-                        i -> i.getDeptId() + "_" + i.getDeptName(),
-                        TreeMap::new, // 鎸夐敭鎺掑簭
-                        Collectors.mapping(
-                                i -> i,
-                                Collectors.collectingAndThen(
-                                        Collectors.toList(),
-                                        l -> l.stream()
-                                                .sorted(Comparator.comparing(CsProVo::getDeptId)) // 瀵� List 鎺掑簭
-                                                .collect(Collectors.toList())
-                                )
-                        )
-                ));
+           Map<String, List<CsProVo>> listMap = list.stream()
+                   .collect(Collectors.groupingBy(
+                           i -> i.getDeptId() + "_" + i.getDeptName(),
+                           TreeMap::new, // 鎸夐敭鎺掑簭
+                           Collectors.mapping(
+                                   i -> i,
+                                   Collectors.collectingAndThen(
+                                           Collectors.toList(),
+                                           l -> l.stream()
+                                                   .sorted(Comparator.comparing(CsProVo::getDeptId)) // 瀵� List 鎺掑簭
+                                                   .collect(Collectors.toList())
+                                   )
+                           )
+                   ));
 
 //        List<CsProVo> sortedList = list.stream()
 //                .sorted(Comparator.comparingLong(CsProVo::getProId))
 //                .collect(Collectors.toList());
-        for (Map.Entry<String, List<CsProVo>> entry : listMap.entrySet()) {
-            String dept = entry.getKey().split("_")[1];
-            List<CsProVo> proVos = entry.getValue();
-            proVos = proVos.stream()
-                    .sorted(Comparator.comparingLong(CsProVo::getProId))
-                    .collect(Collectors.toList());
-            PdfPCell deptCell = new PdfPCell();
-            deptCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-            deptCell.setHorizontalAlignment(Element.ALIGN_CENTER);
-            deptCell.setPhrase(new Phrase(dept, defaultFont));
-            deptCell.setPaddingTop(5f);
-            deptCell.setPaddingBottom(5f);
-            if (proVos.size() > 1)
-                deptCell.setRowspan(proVos.size());
-            table.addCell(deptCell);
-            proVos.forEach(proVo -> {
-                table.addCell(PdfUtils.createCell(proVo.getProName(), defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
-                String tjType = "";
-                switch (proVo.getType()) {
-                    case 0:
-                        tjType = "鏈";
-                        break;
-                    case 1:
-                        tjType = "宸叉";
-                        break;
-                    case 2:
-                        tjType = "寮冩";
-                        break;
-                    case 3:
-                        tjType = "寤舵湡";
-                        break;
-                }
-                table.addCell(PdfUtils.createCell(tjType, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
-                String tjTime = "";
-                if (proVo.getQdcreateTime() != null) {
-                    tjTime = new SimpleDateFormat("yyyy-MM-dd").format(proVo.getQdcreateTime());
-                }
-                table.addCell(PdfUtils.createCell(tjTime, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
-            });
-        }
-        document2.add(table);
+           for (Map.Entry<String, List<CsProVo>> entry : listMap.entrySet()) {
+               String dept = entry.getKey().split("_")[1];
+               List<CsProVo> proVos = entry.getValue();
+               proVos = proVos.stream()
+                       .sorted(Comparator.comparingLong(CsProVo::getProId))
+                       .collect(Collectors.toList());
+               PdfPCell deptCell = new PdfPCell();
+               deptCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+               deptCell.setHorizontalAlignment(Element.ALIGN_CENTER);
+               deptCell.setPhrase(new Phrase(dept, defaultFont));
+               deptCell.setPaddingTop(5f);
+               deptCell.setPaddingBottom(5f);
+               if (proVos.size() > 1)
+                   deptCell.setRowspan(proVos.size());
+               table.addCell(deptCell);
+               proVos.forEach(proVo -> {
+                   table.addCell(PdfUtils.createCell(proVo.getProName(), defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
+                   String tjType = "";
+                   switch (proVo.getType()) {
+                       case 0:
+                           tjType = "鏈";
+                           break;
+                       case 1:
+                           tjType = "宸叉";
+                           break;
+                       case 2:
+                           tjType = "寮冩";
+                           break;
+                       case 3:
+                           tjType = "寤舵湡";
+                           break;
+                   }
+                   table.addCell(PdfUtils.createCell(tjType, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
+                   String tjTime = "";
+                   if (proVo.getQdcreateTime() != null) {
+                       tjTime = new SimpleDateFormat("yyyy-MM-dd").format(proVo.getQdcreateTime());
+                   }
+                   table.addCell(PdfUtils.createCell(tjTime, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
+               });
+           }
+           document2.add(table);
 
-        for (int i = 0; i < 2; i++) {
-            paragraph = PdfUtils.setParagraph(defaultFont, "");
-            document2.add(paragraph);
-        }
+           for (int i = 0; i < 2; i++) {
+               paragraph = PdfUtils.setParagraph(defaultFont, "");
+               document2.add(paragraph);
+           }
 
 
-        //        List<TjOrderRemark> remarks = tjOrderRemarkMapper.getzongjianyishengchakanyichangxiangmu3( tjOrder.getTjNumber());
-        List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4(tjOrder.getTjNumber());
+           //        List<TjOrderRemark> remarks = tjOrderRemarkMapper.getzongjianyishengchakanyichangxiangmu3( tjOrder.getTjNumber());
+           List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4(tjOrder.getTjNumber());
 //        List<Map<String, Object>> jiancha = new ArrayList<>();
 
 
 
-        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()) {
+           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;
+               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));
+               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();
+               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) {
+                   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);
-                        document2.add(paragraph);
-                        isXmWrite = true;
-                    }
-                    String result = detail.getJcjg();
-                    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.getJcxm()).append(": ").append(result).append("\n");
-                        index++;
+                       if (!isXmWrite) {
+                           paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
+                           paragraph.setAlignment(Element.ALIGN_LEFT);
+                           document2.add(paragraph);
+                           isXmWrite = true;
+                       }
+                       String result = detail.getJcjg();
+                       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.getJcxm()).append(": ").append(result).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++;
-                }
-            }
-        }
+                           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++;
+                   }
+               }
+           }
 
-        if(isBr) {
-            paragraph = PdfUtils.setParagraph(defaultFont, "");
-            paragraph.setLeading(0f);
-            paragraph.setSpacingBefore(10f);
-            paragraph.setSpacingAfter(10f);
-            document2.add(paragraph);
-        }
+           if(isBr) {
+               paragraph = PdfUtils.setParagraph(defaultFont, "");
+               paragraph.setLeading(0f);
+               paragraph.setSpacingBefore(10f);
+               paragraph.setSpacingAfter(10f);
+               document2.add(paragraph);
+           }
 
 
-        xmXh = 0;
+           xmXh = 0;
 //        LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
 //        wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber());
 //        List<TjOrderYcxm> ycxms = ycxmService.list(wq);
-        if (null != ycxms && !ycxms.isEmpty()) {
+           if (null != ycxms && !ycxms.isEmpty()) {
 
-            paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�");
-            paragraph.setSpacingBefore(3f);
-            paragraph.setSpacingAfter(2f);
-            document2.add(paragraph);
+               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));
+               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++;
+               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<>();
+                               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);
-                    }
-                }
-            }
+                           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 (int i = 0; i < 1; i++) {
-            paragraph = PdfUtils.setParagraph(defaultFont, "");
-            document2.add(paragraph);
-        }
-        paragraph = PdfUtils.setParagraph(defaultTitleFont, "鎬绘鍖荤敓寤鸿锛�");
-        document2.add(paragraph);
-        if (tjOrder.getCheckAdvice() == null) {
-            paragraph = PdfUtils.setParagraph(defaultFont, "鏃�");
-            document2.add(paragraph);
-        } else {
-            Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(), defaultFont);
-            //璁剧疆鏂囧瓧灞呬腑
-            paragraphs.setAlignment(Element.ALIGN_LEFT);
-            //琛岄棿璺�
+           for (int i = 0; i < 1; i++) {
+               paragraph = PdfUtils.setParagraph(defaultFont, "");
+               document2.add(paragraph);
+           }
+           paragraph = PdfUtils.setParagraph(defaultTitleFont, "鎬绘鍖荤敓寤鸿锛�");
+           document2.add(paragraph);
+           if (tjOrder.getCheckAdvice() == null) {
+               paragraph = PdfUtils.setParagraph(defaultFont, "鏃�");
+               document2.add(paragraph);
+           } else {
+               Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(), defaultFont);
+               //璁剧疆鏂囧瓧灞呬腑
+               paragraphs.setAlignment(Element.ALIGN_LEFT);
+               //琛岄棿璺�
 //            paragraphs.setLeading(5f);
-            //璁剧疆娈佃惤涓婄┖鐧�
-            paragraphs.setSpacingBefore(10f);
-            //璁剧疆娈佃惤涓嬬┖鐧�
-            paragraphs.setSpacingAfter(10f);
+               //璁剧疆娈佃惤涓婄┖鐧�
+               paragraphs.setSpacingBefore(10f);
+               //璁剧疆娈佃惤涓嬬┖鐧�
+               paragraphs.setSpacingAfter(10f);
 //            paragraph = PdfUtils.setParagraph(defaultFont, tjOrder.getCheckAdvice());
-            document2.add(paragraphs);
-        }
+               document2.add(paragraphs);
+           }
 
 
-        Paragraph paragraphNone = new Paragraph("", defaultFont);
-        paragraphNone.setAlignment(Element.ALIGN_LEFT);
-        //琛岄棿璺�
-        paragraphNone.setLeading(5f);
-        paragraphNone.setSpacingBefore(10f);
-        paragraphNone.setSpacingAfter(10f);
-        document2.add(paragraphNone);
-        paragraphNone = new Paragraph("", defaultFont);
-        paragraphNone.setAlignment(Element.ALIGN_LEFT);
-        //琛岄棿璺�
-        paragraphNone.setLeading(5f);
-        paragraphNone.setSpacingBefore(10f);
-        paragraphNone.setSpacingAfter(10f);
-        document2.add(paragraphNone);
+           Paragraph paragraphNone = new Paragraph("", defaultFont);
+           paragraphNone.setAlignment(Element.ALIGN_LEFT);
+           //琛岄棿璺�
+           paragraphNone.setLeading(5f);
+           paragraphNone.setSpacingBefore(10f);
+           paragraphNone.setSpacingAfter(10f);
+           document2.add(paragraphNone);
+           paragraphNone = new Paragraph("", defaultFont);
+           paragraphNone.setAlignment(Element.ALIGN_LEFT);
+           //琛岄棿璺�
+           paragraphNone.setLeading(5f);
+           paragraphNone.setSpacingBefore(10f);
+           paragraphNone.setSpacingAfter(10f);
+           document2.add(paragraphNone);
 
 
-        PdfPTable tableQz = new PdfPTable(new float[]{100f, 100f, 50f});
-        tableQz.setTotalWidth(PageSize.A4.getWidth() - 100);
-        tableQz.setLockedWidth(true);
-        tableQz.setHorizontalAlignment(Element.ALIGN_LEFT);
-        tableQz.getDefaultCell().setBorder(0);
-        tableQz.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
+           PdfPTable tableQz = new PdfPTable(new float[]{100f, 100f, 50f});
+           tableQz.setTotalWidth(PageSize.A4.getWidth() - 100);
+           tableQz.setLockedWidth(true);
+           tableQz.setHorizontalAlignment(Element.ALIGN_LEFT);
+           tableQz.getDefaultCell().setBorder(0);
+           tableQz.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT);
 
-        Font zongJianFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE);
-        Font zongJianTitleFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE);
-        zongJianTitleFont.setStyle(Font.BOLD);
+           Font zongJianFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE);
+           Font zongJianTitleFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE);
+           zongJianTitleFont.setStyle(Font.BOLD);
 
-        for (int i = 0; i < 3; i++) {
-            PdfPCell cell = new PdfPCell();
-            cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-            cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
-            cell.setPhrase(new Phrase("", defaultFont));
-            cell.setBorder(Rectangle.NO_BORDER);
-            tableQz.addCell(cell);
-        }
+           for (int i = 0; i < 3; i++) {
+               PdfPCell cell = new PdfPCell();
+               cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+               cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
+               cell.setPhrase(new Phrase("", defaultFont));
+               cell.setBorder(Rectangle.NO_BORDER);
+               tableQz.addCell(cell);
+           }
 
 
-        PdfPCell cell = new PdfPCell();
-        cell.setBorder(Rectangle.NO_BORDER);
-        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
-        cell.setPhrase(new Phrase("", defaultFont));
-        cell.setRowspan(3);
-        tableQz.addCell(cell);
+           PdfPCell cell = new PdfPCell();
+           cell.setBorder(Rectangle.NO_BORDER);
+           cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+           cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
+           cell.setPhrase(new Phrase("", defaultFont));
+           cell.setRowspan(3);
+           tableQz.addCell(cell);
 
-        cell = new PdfPCell();
-        cell.setBorder(Rectangle.NO_BORDER);
-        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
-        cell.setPaddingTop(10);
-        cell.setPaddingBottom(10);
-        cell.setPhrase(new Phrase("浣撴鍗曚綅鐩栫珷:", zongJianTitleFont));
+           cell = new PdfPCell();
+           cell.setBorder(Rectangle.NO_BORDER);
+           cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+           cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
+           cell.setPaddingTop(10);
+           cell.setPaddingBottom(10);
+           cell.setPhrase(new Phrase("浣撴鍗曚綅鐩栫珷:", zongJianTitleFont));
 
-        tableQz.addCell(cell);
+           tableQz.addCell(cell);
 
-        File file = new File(value + File.separator + "yinzhang.png");
-        cell = new PdfPCell();
-        cell.setBorder(Rectangle.NO_BORDER);
-        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
-        cell.setPaddingTop(10);
-        cell.setPaddingBottom(10);
-        if (!file.exists()) {
-            cell.setPhrase(new Phrase("", zongJianFont));
-        }else {
-            FileInputStream fileInputStream = new FileInputStream(file);
-            byte[] fileBytes = new byte[(int) file.length()];
-            fileInputStream.read(fileBytes);
-            fileInputStream.close();
-            Image image = Image.getInstance(Base64.getDecoder().decode(Base64.getEncoder().encodeToString(fileBytes)));
-            image.scaleToFit(90, 90);
-            cell.addElement(image);
-        }
-        tableQz.addCell(cell);
+           File file = new File(value + File.separator + "yinzhang.png");
+           cell = new PdfPCell();
+           cell.setBorder(Rectangle.NO_BORDER);
+           cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+           cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
+           cell.setPaddingTop(10);
+           cell.setPaddingBottom(10);
+           if (!file.exists()) {
+               cell.setPhrase(new Phrase("", zongJianFont));
+           }else {
+               FileInputStream fileInputStream = new FileInputStream(file);
+               byte[] fileBytes = new byte[(int) file.length()];
+               fileInputStream.read(fileBytes);
+               fileInputStream.close();
+               Image image = Image.getInstance(Base64.getDecoder().decode(Base64.getEncoder().encodeToString(fileBytes)));
+               image.scaleToFit(90, 90);
+               cell.addElement(image);
+           }
+           tableQz.addCell(cell);
 
-        cell = new PdfPCell();
-        cell.setBorder(Rectangle.NO_BORDER);
-        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
-        cell.setPaddingTop(10);
-        cell.setPaddingBottom(10);
-        cell.setPhrase(new Phrase("鎬绘鍖诲笀:", zongJianTitleFont));
-        tableQz.addCell(cell);
+           cell = new PdfPCell();
+           cell.setBorder(Rectangle.NO_BORDER);
+           cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+           cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
+           cell.setPaddingTop(10);
+           cell.setPaddingBottom(10);
+           cell.setPhrase(new Phrase("鎬绘鍖诲笀:", zongJianTitleFont));
+           tableQz.addCell(cell);
 
 
-        cell = new PdfPCell();
-        cell.setBorder(Rectangle.NO_BORDER);
-        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-        cell.setHorizontalAlignment(Element.ALIGN_CENTER);
-        cell.setPaddingTop(10);
-        cell.setPaddingBottom(10);
-        String zongjianysname = sysConfigService.selectConfigByKey("pdf_report_zongjianysname");
-        if (zongJianYiShiQianMing == null && StrUtil.isNotBlank(zongjianysname) && !zongjianysname.equals("鏃�")) {
-            cell.setPhrase(new Phrase(zongjianysname, zongJianFont));
-            tableQz.addCell(cell);
-        } else if (zongJianYiShiQianMing == null && zongjianysname.equals("鏃�")) {
-            String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
-            cell.setPhrase(new Phrase(nickName, zongJianFont));
-            tableQz.addCell(cell);
-        } else {
-            byte[] bytes = Base64.getDecoder().decode(zongJianYiShiQianMing.getTemplate());
-            Image image = Image.getInstance(bytes);
-            image.scaleToFit(100, 100);
-            cell.addElement(image);
-            tableQz.addCell(cell);
-        }
+           cell = new PdfPCell();
+           cell.setBorder(Rectangle.NO_BORDER);
+           cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+           cell.setHorizontalAlignment(Element.ALIGN_CENTER);
+           cell.setPaddingTop(10);
+           cell.setPaddingBottom(10);
+           String zongjianysname = sysConfigService.selectConfigByKey("pdf_report_zongjianysname");
+           if (zongJianYiShiQianMing == null && StrUtil.isNotBlank(zongjianysname) && !zongjianysname.equals("鏃�")) {
+               cell.setPhrase(new Phrase(zongjianysname, zongJianFont));
+               tableQz.addCell(cell);
+           } else if (zongJianYiShiQianMing == null && zongjianysname.equals("鏃�")) {
+               String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
+               cell.setPhrase(new Phrase(nickName, zongJianFont));
+               tableQz.addCell(cell);
+           } else {
+               byte[] bytes = Base64.getDecoder().decode(zongJianYiShiQianMing.getTemplate());
+               Image image = Image.getInstance(bytes);
+               image.scaleToFit(100, 100);
+               cell.addElement(image);
+               tableQz.addCell(cell);
+           }
 
-        cell = new PdfPCell();
-        cell.setBorder(Rectangle.NO_BORDER);
-        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
-        cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
-        cell.setPaddingTop(10);
-        cell.setPaddingBottom(10);
-        cell.setPhrase(new Phrase("鎬绘鏃ユ湡:", zongJianTitleFont));
-        tableQz.addCell(cell);
+           cell = new PdfPCell();
+           cell.setBorder(Rectangle.NO_BORDER);
+           cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+           cell.setHorizontalAlignment(Element.ALIGN_RIGHT);
+           cell.setPaddingTop(10);
+           cell.setPaddingBottom(10);
+           cell.setPhrase(new Phrase("鎬绘鏃ユ湡:", zongJianTitleFont));
+           tableQz.addCell(cell);
 
-        cell = new PdfPCell();
-        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(new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()), zongJianFont));
-        tableQz.addCell(cell);
+           cell = new PdfPCell();
+           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(new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()), zongJianFont));
+           tableQz.addCell(cell);
 
-        document2.add(tableQz);
+           document2.add(tableQz);
 
-        document2.close();
+           document2.close();
 
 
-        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-        Document document = new Document(PageSize.A4);
-        PdfWriter pdfWriter = null;
+           ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+           Document document = new Document(PageSize.A4);
+           PdfWriter pdfWriter = null;
 //        int pageSize = 0;
 //        try {
-        pdfWriter = PdfWriter.getInstance(document, byteArrayOutputStream);
-        pdfWriter.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(), customer.getCusName(), tjOrder.getTjNumber(), sex, String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())), null));
+           pdfWriter = PdfWriter.getInstance(document, byteArrayOutputStream);
+           pdfWriter.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(), customer.getCusName(), tjOrder.getTjNumber(), sex, String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())), null));
 //            pageSize = pdfWriter.getPageNumber();
 //        } catch (DocumentException e) {
 //            log.error(String.valueOf(e));
 //            return AjaxResult.error();
 //        }
-        // 鍚庨潰椤电爜鏁伴噺
-        int dataPageNumer = pdfWriter.getPageNumber();
-        document.setMargins(70, 70, 40, 40);
-        document.open();
+           // 鍚庨潰椤电爜鏁伴噺
+           int dataPageNumer = pdfWriter.getPageNumber();
+           document.setMargins(70, 70, 40, 40);
+           document.open();
 
-        Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
-        notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
-        try {
-            notHuaYanTable(document, printReport, dictHosp, color, false);
-        } catch (DocumentException e) {
-            log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�");
-            log.error(String.valueOf(e));
-            return AjaxResult.error();
-        }
-        PdfReader reader = null;
-        makeHisJianYanTable(document, map, dictHosp, color);
+           Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
+           notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
+           try {
+               notHuaYanTable(document, printReport, dictHosp, color, false);
+           } catch (DocumentException e) {
+               log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�");
+               log.error(String.valueOf(e));
+               return AjaxResult.error();
+           }
+           PdfReader reader = null;
+           makeHisJianYanTable(document, map, dictHosp, color);
 
-        printReport = new HashMap<>();
-        pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
-        try {
-            notHuaYanTable(document, printReport, dictHosp, color, true);
-        } catch (DocumentException e) {
-            log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父");
-            log.error(String.valueOf(e));
-            return AjaxResult.error();
-        }
+           printReport = new HashMap<>();
+           pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
+           try {
+               notHuaYanTable(document, printReport, dictHosp, color, true);
+           } catch (DocumentException e) {
+               log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父");
+               log.error(String.valueOf(e));
+               return AjaxResult.error();
+           }
 
 
-        String isPdfFujianPro = sysConfigService.selectConfigByKey("is_pdf_fujian_pro");
-        List<TjXdtgmdjg> xdtgmdjgList;
-        if (StrUtil.isNotBlank(isPdfFujianPro) && isPdfFujianPro.equalsIgnoreCase("Y")){
-            xdtgmdjgList = xdtgmdjgService.xdtGlAttProByTjNum(tjOrder.getTjNumber());
-        }else {
-            LambdaQueryWrapper<TjXdtgmdjg> wqq=new LambdaQueryWrapper<>();
-            wqq.eq(TjXdtgmdjg::getTjh,tjOrder.getTjNumber());
-            wqq.isNotNull(TjXdtgmdjg::getUrl);
-            xdtgmdjgList = xdtgmdjgService.list(wqq);
-        }
+           String isPdfFujianPro = sysConfigService.selectConfigByKey("is_pdf_fujian_pro");
+           List<TjXdtgmdjg> xdtgmdjgList;
+           if (StrUtil.isNotBlank(isPdfFujianPro) && isPdfFujianPro.equalsIgnoreCase("Y")){
+               xdtgmdjgList = xdtgmdjgService.xdtGlAttProByTjNum(tjOrder.getTjNumber());
+           }else {
+               LambdaQueryWrapper<TjXdtgmdjg> wqq=new LambdaQueryWrapper<>();
+               wqq.eq(TjXdtgmdjg::getTjh,tjOrder.getTjNumber());
+               wqq.isNotNull(TjXdtgmdjg::getUrl);
+               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);
+           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++;
-        }
+               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();
+           document.close();
 
 
-        // 棣栭〉琛ㄥ崟
-        String tjNumber = tjOrder.getTjNumber();
-        String template = tjReportTemplate.getTemplate();
+           // 棣栭〉琛ㄥ崟
+           String tjNumber = tjOrder.getTjNumber();
+           String template = tjReportTemplate.getTemplate();
 
-        LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
-        wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
-        wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
-        List<TjOrderDetail> detailList = tjOrderDetailService.list(wq2);
-        for (TjOrderDetail tjOrderDetail : detailList) {
-            TjProject tjProject = projectService.selectTjProjectByProId(tjOrderDetail.getProId());
-            tjOrderDetail.setProject(tjProject);
-        }
-        ByteArrayOutputStream byteArrayOutputStream4 = new ByteArrayOutputStream();
-        PdfReader reader4 = null;
-        PdfStamper pdfStamper = null;
+           LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
+           wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
+           wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
+           List<TjOrderDetail> detailList = tjOrderDetailService.list(wq2);
+           for (TjOrderDetail tjOrderDetail : detailList) {
+               TjProject tjProject = projectService.selectTjProjectByProId(tjOrderDetail.getProId());
+               tjOrderDetail.setProject(tjProject);
+           }
+           ByteArrayOutputStream byteArrayOutputStream4 = new ByteArrayOutputStream();
+           PdfReader reader4 = null;
+           PdfStamper pdfStamper = null;
 
-        reader4 = new PdfReader(new ByteArrayInputStream(Base64.getDecoder().decode(template)));
-        pdfStamper = new PdfStamper(reader4, byteArrayOutputStream4);
-        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<>();
-        Long cusSex = customer.getCusSex();
-        String tjtype;
-        if (cusSex == 0) {
-            sex = "鐢�";
-        } else {
-            sex = "濂�";
-        }
-        HashMap<String, String> hashMap = new HashMap<>();
-        hashMap.put("name", customer.getCusName());
-        if ("1".equals(tjOrder.getTjType())) {
-            tjtype = "鍥㈤槦";
-            hashMap.put("tjtype", tjtype);
-        } else {
-            tjtype = "涓汉";
-            hashMap.put("tjtype", tjtype);
-        }
-        if (StrUtil.isNotBlank(tjOrder.getFirmName())) {
-            hashMap.put("work", tjOrder.getFirmName());
-        } else {
+           reader4 = new PdfReader(new ByteArrayInputStream(Base64.getDecoder().decode(template)));
+           pdfStamper = new PdfStamper(reader4, byteArrayOutputStream4);
+           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<>();
+           Long cusSex = customer.getCusSex();
+           String tjtype;
+           if (cusSex == 0) {
+               sex = "鐢�";
+           } else {
+               sex = "濂�";
+           }
+           HashMap<String, String> hashMap = new HashMap<>();
+           hashMap.put("name", customer.getCusName());
+           if ("1".equals(tjOrder.getTjType())) {
+               tjtype = "鍥㈤槦";
+               hashMap.put("tjtype", tjtype);
+           } else {
+               tjtype = "涓汉";
+               hashMap.put("tjtype", tjtype);
+           }
+           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 {
-                hashMap.put("work", tjOrder.getFirmName());
-            }
-        }
-        if (StrUtil.isBlank(tjOrder.getFirmDeptName())) {
-            hashMap.put("bumen", "鏃�");
-        } else {
-            hashMap.put("bumen", tjOrder.getFirmDeptName());
-        }
-        hashMap.put("sex", sex);
-        hashMap.put("tjnumber", tjNumber);
-        hashMap.put("tjdate", DateUtils.parseDateToStr("yyyy/MM/dd", tjOrder.getCreateTime()));
-        hashMap.put("phone", customer.getCusPhone());
-        for (String key : hashMap.keySet()) {
-            acroFields.setFieldProperty(key, "textsize", DEFAULT_FONT_SIZE, null);
-            acroFields.setField(key, hashMap.get(key));
-        }
-        pdfStamper.setFormFlattening(true);
-        pdfStamper.close();
-        reader4.close();
-        // 灏嗕慨鏀瑰悗鐨凱DF鍐呭鍐欏叆
-        byte[] bytes = byteArrayOutputStream4.toByteArray();
+               if (StrUtil.isBlank(tjOrder.getFirmName())) {
+                   hashMap.put("work", "鏃�");
+               } else {
+                   hashMap.put("work", tjOrder.getFirmName());
+               }
+           }
+           if (StrUtil.isBlank(tjOrder.getFirmDeptName())) {
+               hashMap.put("bumen", "鏃�");
+           } else {
+               hashMap.put("bumen", tjOrder.getFirmDeptName());
+           }
+           hashMap.put("sex", sex);
+           hashMap.put("tjnumber", tjNumber);
+           hashMap.put("tjdate", DateUtils.parseDateToStr("yyyy/MM/dd", tjOrder.getCreateTime()));
+           hashMap.put("phone", customer.getCusPhone());
+           for (String key : hashMap.keySet()) {
+               acroFields.setFieldProperty(key, "textsize", DEFAULT_FONT_SIZE, null);
+               acroFields.setField(key, hashMap.get(key));
+           }
+           pdfStamper.setFormFlattening(true);
+           pdfStamper.close();
+           reader4.close();
+           // 灏嗕慨鏀瑰悗鐨凱DF鍐呭鍐欏叆
+           byte[] bytes = byteArrayOutputStream4.toByteArray();
 
 
-        ByteArrayOutputStream finalOutput = new ByteArrayOutputStream();
-        Document mergedDocument = new Document(PageSize.A4);
-        PdfCopy copy = new PdfCopy(mergedDocument, finalOutput);
-        mergedDocument.open();
+           ByteArrayOutputStream finalOutput = new ByteArrayOutputStream();
+           Document mergedDocument = new Document(PageSize.A4);
+           PdfCopy copy = new PdfCopy(mergedDocument, finalOutput);
+           mergedDocument.open();
 
-        reader4 = new PdfReader(new ByteArrayInputStream(bytes));
-        int numberOfPages = reader4.getNumberOfPages();
-        for (int i = 1; i <= numberOfPages; i++) {
-            copy.addPage(copy.getImportedPage(reader4, i));
+           reader4 = new PdfReader(new ByteArrayInputStream(bytes));
+           int numberOfPages = reader4.getNumberOfPages();
+           for (int i = 1; i <= numberOfPages; i++) {
+               copy.addPage(copy.getImportedPage(reader4, i));
+           }
+
+           PdfReader reader2 = new PdfReader(byteArrayOutputStream2.toByteArray());
+           int numberOfPages2 = reader2.getNumberOfPages();
+           for (int i = 1; i <= numberOfPages2; i++) {
+               PdfImportedPage page = copy.getImportedPage(reader2, i);
+               copy.addPage(page);
+           }
+           reader2.close();
+
+           PdfReader reader1 = new PdfReader(byteArrayOutputStream.toByteArray());
+           int numberOfPages1 = reader1.getNumberOfPages();
+           for (int i = 1; i <= numberOfPages1; i++) {
+               PdfImportedPage page = copy.getImportedPage(reader1, i);
+               copy.addPage(page);
+           }
+           reader1.close();
+           mergedDocument.close();
+
+           String outputFileName1 = customer.getCusId() + tjOrder.getTjNumber() + customer.getCusName() + "_鎶ュ憡.pdf";
+           savePDFFile(outputFileName1, tjOrder, customer, finalOutput);
+           return AjaxResult.success();
+        } catch (Exception e) {
+            log.error(String.valueOf(e));
+            throw new Exception(e);
         }
-
-        PdfReader reader2 = new PdfReader(byteArrayOutputStream2.toByteArray());
-        int numberOfPages2 = reader2.getNumberOfPages();
-        for (int i = 1; i <= numberOfPages2; i++) {
-            PdfImportedPage page = copy.getImportedPage(reader2, i);
-            copy.addPage(page);
-        }
-        reader2.close();
-
-        PdfReader reader1 = new PdfReader(byteArrayOutputStream.toByteArray());
-        int numberOfPages1 = reader1.getNumberOfPages();
-        for (int i = 1; i <= numberOfPages1; i++) {
-            PdfImportedPage page = copy.getImportedPage(reader1, i);
-            copy.addPage(page);
-        }
-        reader1.close();
-        mergedDocument.close();
-
-        String outputFileName1 = customer.getCusId() + tjOrder.getTjNumber() + customer.getCusName() + "_鎶ュ憡.pdf";
-        savePDFFile(outputFileName1, tjOrder, customer, finalOutput);
-        return AjaxResult.success();
     }
 
     /**
@@ -1726,67 +1731,71 @@
      * @throws DocumentException
      */
     private void makeHisJianYanTable(Document document1, HashMap<String, Object> map, DictHosp dictHosp, String colorStr) throws DocumentException {
-        if (!map.isEmpty()) {
-            String[] titles = new String[]{"浣撴椤圭洰", "浣撴缁撴灉", "鎻愮ず", "鍗曚綅", "鍙傝�冭寖鍥�"};
-            float[] titlesWidth = new float[]{280, 100, 40, 100, 120};
-            for (Map.Entry<String, Object> entry : map.entrySet()) {
-                String titleName = entry.getKey().trim();
-                HashMap<String, Object> entryValue = (HashMap<String, Object>) entry.getValue();
-                HashSet<String> jyys = (HashSet<String>) entryValue.get("jyys");
-                ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
-                String shsj = entryValue.get("shsj").toString();
-                addJianYanTable(document1, titleName, titles, titlesWidth, lists, dictHosp, colorStr);
-                if (!jyys.isEmpty()) {
-                    Font doctorFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                    String doctors = "";
-                    Paragraph elements = new Paragraph();
-                    elements.setLeading(5f);
-                    elements.setSpacingBefore(10f);
-                    elements.setSpacingAfter(10f);
-                    elements.setAlignment(Element.ALIGN_RIGHT);
-                    Phrase phrase = new Phrase();
-                    phrase.add(new Chunk("妫�鏌ユ棩鏈燂細" + shsj + "         瀹℃牳鍖诲笀锛�", doctorFonts));
-                    boolean flag = false;
-                    for (String s : jyys) {
-                        if (s.contains("|")) {
-                            flag = true;
-                            String[] split = s.split("\\|");
-                            String qmImg = dictUserInfoMapper.selectQmImgInnerJoinUserByHisDictCode(split[1]);
-                            if (null != qmImg && StrUtil.isNotBlank(qmImg)) {
-                                byte[] decode = Base64.getDecoder().decode(qmImg);
-                                Image image = null;
-                                try {
-                                    image = Image.getInstance(decode);
-                                    image.scaleToFit(60, 25);
-                                    phrase.add(new Chunk(image, 0, -10, true));
-                                } catch (IOException e) {
+        try {
+            if (!map.isEmpty()) {
+                String[] titles = new String[]{"浣撴椤圭洰", "浣撴缁撴灉", "鎻愮ず", "鍗曚綅", "鍙傝�冭寖鍥�"};
+                float[] titlesWidth = new float[]{280, 100, 40, 100, 120};
+                for (Map.Entry<String, Object> entry : map.entrySet()) {
+                    String titleName = entry.getKey().trim();
+                    HashMap<String, Object> entryValue = (HashMap<String, Object>) entry.getValue();
+                    HashSet<String> jyys = (HashSet<String>) entryValue.get("jyys");
+                    ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
+                    String shsj = entryValue.get("shsj").toString();
+                    addJianYanTable(document1, titleName, titles, titlesWidth, lists, dictHosp, colorStr);
+                    if (!jyys.isEmpty()) {
+                        Font doctorFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                        String doctors = "";
+                        Paragraph elements = new Paragraph();
+                        elements.setLeading(5f);
+                        elements.setSpacingBefore(10f);
+                        elements.setSpacingAfter(10f);
+                        elements.setAlignment(Element.ALIGN_RIGHT);
+                        Phrase phrase = new Phrase();
+                        phrase.add(new Chunk("妫�鏌ユ棩鏈燂細" + shsj + "         瀹℃牳鍖诲笀锛�", doctorFonts));
+                        boolean flag = false;
+                        for (String s : jyys) {
+                            if (s.contains("|")) {
+                                flag = true;
+                                String[] split = s.split("\\|");
+                                String qmImg = dictUserInfoMapper.selectQmImgInnerJoinUserByHisDictCode(split[1]);
+                                if (null != qmImg && StrUtil.isNotBlank(qmImg)) {
+                                    byte[] decode = Base64.getDecoder().decode(qmImg);
+                                    Image image = null;
+                                    try {
+                                        image = Image.getInstance(decode);
+                                        image.scaleToFit(60, 25);
+                                        phrase.add(new Chunk(image, 0, -10, true));
+                                    } catch (IOException e) {
+                                        phrase.add(new Chunk(split[0].trim(), doctorFonts));
+                                    }
+                                } else {
                                     phrase.add(new Chunk(split[0].trim(), doctorFonts));
                                 }
                             } else {
-                                phrase.add(new Chunk(split[0].trim(), doctorFonts));
+                                doctors += s.trim() + "銆�";
                             }
+                        }
+                        if (!flag) {
+                            String substring = doctors.substring(0, doctors.length() - 1).trim();
+                            Paragraph df = PdfUtils.setParagraph(doctorFonts, "妫�鏌ユ棩鏈燂細" + shsj + "         瀹℃牳鍖诲笀锛�" + substring);
+                            df.setAlignment(Element.ALIGN_RIGHT);
+                            document1.add(df);
                         } else {
-                            doctors += s.trim() + "銆�";
+                            elements.add(phrase);
+                            document1.add(elements);
                         }
                     }
-                    if (!flag) {
-                        String substring = doctors.substring(0, doctors.length() - 1).trim();
-                        Paragraph df = PdfUtils.setParagraph(doctorFonts, "妫�鏌ユ棩鏈燂細" + shsj + "         瀹℃牳鍖诲笀锛�" + substring);
-                        df.setAlignment(Element.ALIGN_RIGHT);
-                        document1.add(df);
-                    } else {
-                        elements.add(phrase);
-                        document1.add(elements);
+                    //鍒嗗壊绾�
+    //                if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                    if (!true) {
+                        LineSeparator objectName = new LineSeparator();
+                        objectName.setOffset(-5);
+                        document1.add(objectName);
                     }
                 }
-                //鍒嗗壊绾�
-//                if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
-                if (!true) {
-                    LineSeparator objectName = new LineSeparator();
-                    objectName.setOffset(-5);
-                    document1.add(objectName);
-                }
             }
+        } catch (DocumentException e) {
+            throw new RuntimeException(e);
         }
     }
 
@@ -1798,33 +1807,168 @@
      * @throws DocumentException
      */
     private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs) throws DocumentException {
-        List<TjReportSpecialProject> tjReportSpecialProjects = tjReportSpecialProjectService.list();
-        for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
-            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 (null != one11 && "Y".equals(one11.getNeedReport())) {
-                TjOrderRemark orderRemark = entry.getKey();
-                List<TjPdfVO> value = entry.getValue();
-                if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))) {
-                    continue;
-                }
-                String titleName = null;
-                if ("1".equals(one11.getResultType())) {
-                    titleName = one11.getProName();
-                    // 璁剧疆鏍囬瀛椾綋鏍峰紡
-                    Font titleFonts = PdfUtils.setFont(9);
-                    Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
+        try {
+            List<TjReportSpecialProject> tjReportSpecialProjects = tjReportSpecialProjectService.list();
+            for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
+                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 (null != one11 && "Y".equals(one11.getNeedReport())) {
+                    TjOrderRemark orderRemark = entry.getKey();
+                    List<TjPdfVO> value = entry.getValue();
+                    if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))) {
+                        continue;
+                    }
+                    String titleName = null;
+                    if ("1".equals(one11.getResultType())) {
+                        titleName = one11.getProName();
+                        // 璁剧疆鏍囬瀛椾綋鏍峰紡
+                        Font titleFonts = PdfUtils.setFont(9);
+                        Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
 
-//                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
-                    if (true) {
+    //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                        if (true) {
+                            Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE);
+                            titleFont.setStyle(Font.BOLD);
+                            PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName));
+                            cellTitle.setBorder(Rectangle.NO_BORDER);
+                            Color color = Color.decode(colorStr);
+                            cellTitle.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue())); // 璁剧疆鑳屾櫙棰滆壊锛堝崄鍏繘鍒� RGB锛�
+                            // 鍒涘缓琛ㄦ牸骞舵坊鍔犲崟鍏冩牸
+                            PdfPTable tableTitle = new PdfPTable(1);
+                            tableTitle.setWidthPercentage(100);
+                            tableTitle.addCell(cellTitle);
+                            // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓�
+                            document1.add(tableTitle);
+                        } else {
+                            document1.add(paragraph);
+                        }
+
+
+    //                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
+    //                    Font headFont = PdfUtils.setFont(9);
+    //                    Font textFont = PdfUtils.setFont(9);
+    //                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌"));
+    //                    document1.add(table);
+
+    //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
+                        if (!value.isEmpty()) {
+                            if (value.size() > 1) {
+                                Long pid = Long.valueOf(value.get(0).getPid());
+                                Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
+                                        .filter(item -> item.getProId().equals(pid))
+                                        .findFirst();
+                                if (match.isPresent()) {
+                                    reportSpecialProject(document1, entry, paragraph, value,match.get());
+                                } else {
+                                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
+                                    Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                    Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
+                                    document1.add(table);
+                                }
+                            } else {
+                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+
+                                if (isPacs) {
+                                    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().replaceAll("\n",""), remarkFonts);
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        paragraph.setLeading(5f);
+                                        document1.add(ppp);
+                                    }
+                                    if (StrUtil.isNotBlank(value.get(0).getTs())) {
+                                        pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+value.get(0).getTs().replaceAll("\n",""));
+                                        document1.add(pp);
+                                    }
+
+    //                                ppp = new Paragraph(value.get(0).getTs(), remarkFonts);
+    //                                paragraph.setAlignment(Element.ALIGN_LEFT);
+    //                                paragraph.setLeading(5f);
+    //                                document1.add(ppp);
+                                } else {
+                                    Long pid = Long.valueOf(value.get(0).getPid());
+                                    Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
+                                            .filter(item -> item.getProId().equals(pid))
+                                            .findFirst();
+                                    if (match.isPresent()) {
+                                        reportSpecialProject(document1, entry, paragraph, value,match.get());
+                                    } else {
+                                        String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
+                                        Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                        Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                        PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300});
+                                        document1.add(table);
+                                    }
+                                }
+                            }
+                        } else {
+                            String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
+                            Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                            Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                            PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
+                            document1.add(table);
+                        }
+                        //鍒ゆ柇澶囨敞鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
+                        if (entry.getKey().getRemark() == null) {
+                            entry.getKey().setRemark("");
+                        }
+    //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+                        if (false) {
+                            String remark = "澶囨敞锛�" + entry.getKey().getRemark();
+                            if (entry.getKey().getRemark().length() > 50) {
+                                int j = 0;
+                                for (int i = 0; i < remark.length() / 50; i++) {
+                                    String substring = remark.substring(j, j + 50);
+                                    Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                    Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
+                                    document1.add(pp);
+                                    j = j + 50;
+                                }
+                                if (remark.length() % 50 != 0) {
+                                    String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1);
+                                    Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                    Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
+                                    document1.add(pp);
+                                }
+                            } else {
+                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark);
+                                document1.add(pp);
+                            }
+                        }
+                        //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
+                        zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp);
+                        //鍒嗗壊绾�
+    //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                        if (false) {
+                            LineSeparator objectName = new LineSeparator();
+                            document1.add(objectName);
+                        }
+                    } else {
+                        if (entry.getValue().get(0).getProName().contains(";"))
+                            titleName = entry.getValue().get(0).getProName();
+                        else titleName = one11.getProName();
+                        // 璁剧疆鏍囬瀛椾綋鏍峰紡
+                        Font titleFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                        Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
+
+    //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                        if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs().replaceAll("\n",""))
+                                && StrUtil.isBlank(value.get(0).getSj().replaceAll("\n","")))) {
+                            continue;
+                        }
                         Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE);
                         titleFont.setStyle(Font.BOLD);
                         PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName));
                         cellTitle.setBorder(Rectangle.NO_BORDER);
-                        Color color = Color.decode(colorStr);
+                        Color color = Color.decode("#B4CDCD");
                         cellTitle.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue())); // 璁剧疆鑳屾櫙棰滆壊锛堝崄鍏繘鍒� RGB锛�
                         // 鍒涘缓琛ㄦ牸骞舵坊鍔犲崟鍏冩牸
                         PdfPTable tableTitle = new PdfPTable(1);
@@ -1832,54 +1976,16 @@
                         tableTitle.addCell(cellTitle);
                         // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓�
                         document1.add(tableTitle);
-                    } else {
-                        document1.add(paragraph);
-                    }
 
+    //                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
+    //                    Font headFont = PdfUtils.setFont(9);
+    //                    Font textFont = PdfUtils.setFont(9);
+    //                    PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌"));
+    //                    document1.add(table);
 
-//                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
-//                    Font headFont = PdfUtils.setFont(9);
-//                    Font textFont = PdfUtils.setFont(9);
-//                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌"));
-//                    document1.add(table);
-
-//                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
-                    if (!value.isEmpty()) {
-                        if (value.size() > 1) {
-                            Long pid = Long.valueOf(value.get(0).getPid());
-                            Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
-                                    .filter(item -> item.getProId().equals(pid))
-                                    .findFirst();
-                            if (match.isPresent()) {
-                                reportSpecialProject(document1, entry, paragraph, value,match.get());
-                            } else {
-                                String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
-                                Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
-                                document1.add(table);
-                            }
-                        } else {
-                            Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-
-                            if (isPacs) {
-                                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().replaceAll("\n",""), remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-                                }
-                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+value.get(0).getTs().replaceAll("\n",""));
-                                document1.add(pp);
-//                                ppp = new Paragraph(value.get(0).getTs(), remarkFonts);
-//                                paragraph.setAlignment(Element.ALIGN_LEFT);
-//                                paragraph.setLeading(5f);
-//                                document1.add(ppp);
-                            } else {
+    //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
+                        if (!value.isEmpty()) {
+                            if (value.size() > 1) {
                                 Long pid = Long.valueOf(value.get(0).getPid());
                                 Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
                                         .filter(item -> item.getProId().equals(pid))
@@ -1887,216 +1993,128 @@
                                 if (match.isPresent()) {
                                     reportSpecialProject(document1, entry, paragraph, value,match.get());
                                 } else {
-                                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
+                                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
                                     Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                                     Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300});
+                                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
                                     document1.add(table);
                                 }
-                            }
-                        }
-                    } else {
-                        String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
-                        Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                        Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                        PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
-                        document1.add(table);
-                    }
-                    //鍒ゆ柇澶囨敞鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                    if (entry.getKey().getRemark() == null) {
-                        entry.getKey().setRemark("");
-                    }
-//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-                    if (false) {
-                        String remark = "澶囨敞锛�" + entry.getKey().getRemark();
-                        if (entry.getKey().getRemark().length() > 50) {
-                            int j = 0;
-                            for (int i = 0; i < remark.length() / 50; i++) {
-                                String substring = remark.substring(j, j + 50);
-                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
-                                document1.add(pp);
-                                j = j + 50;
-                            }
-                            if (remark.length() % 50 != 0) {
-                                String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1);
-                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
-                                document1.add(pp);
-                            }
-                        } else {
-                            Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                            Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark);
-                            document1.add(pp);
-                        }
-                    }
-                    //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                    zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp);
-                    //鍒嗗壊绾�
-//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
-                    if (false) {
-                        LineSeparator objectName = new LineSeparator();
-                        document1.add(objectName);
-                    }
-                } else {
-                    if (entry.getValue().get(0).getProName().contains(";"))
-                        titleName = entry.getValue().get(0).getProName();
-                    else titleName = one11.getProName();
-                    // 璁剧疆鏍囬瀛椾綋鏍峰紡
-                    Font titleFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                    Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
 
-//                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
-                    if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs().replaceAll("\n",""))
-                            && StrUtil.isBlank(value.get(0).getSj().replaceAll("\n","")))) {
-                        continue;
-                    }
-                    Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE);
-                    titleFont.setStyle(Font.BOLD);
-                    PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName));
-                    cellTitle.setBorder(Rectangle.NO_BORDER);
-                    Color color = Color.decode("#B4CDCD");
-                    cellTitle.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue())); // 璁剧疆鑳屾櫙棰滆壊锛堝崄鍏繘鍒� RGB锛�
-                    // 鍒涘缓琛ㄦ牸骞舵坊鍔犲崟鍏冩牸
-                    PdfPTable tableTitle = new PdfPTable(1);
-                    tableTitle.setWidthPercentage(100);
-                    tableTitle.addCell(cellTitle);
-                    // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓�
-                    document1.add(tableTitle);
-
-//                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
-//                    Font headFont = PdfUtils.setFont(9);
-//                    Font textFont = PdfUtils.setFont(9);
-//                    PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌"));
-//                    document1.add(table);
-
-//                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
-                    if (!value.isEmpty()) {
-                        if (value.size() > 1) {
-                            Long pid = Long.valueOf(value.get(0).getPid());
-                            Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
-                                    .filter(item -> item.getProId().equals(pid))
-                                    .findFirst();
-                            if (match.isPresent()) {
-                                reportSpecialProject(document1, entry, paragraph, value,match.get());
                             } else {
-                                String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
-                                Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
-                                document1.add(table);
-                            }
+                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
 
-                        } else {
-                            Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                if (isPacs) {
+                                    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);
+    //                                    }
+    //                                }
 
-                            if (isPacs) {
-                                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);
-//                                    }
-//                                }
+                                    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().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n",""), remarkFonts);
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        paragraph.setLeading(5f);
+                                        document1.add(ppp);
+                                    }
 
-                                if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) {
-                                    pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+                                    pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細");
                                     document1.add(pp);
-                                    ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n",""), remarkFonts);
+                                    ppp = new Paragraph((value.get(0).getTs() != null ? value.get(0).getTs().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n","")), 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().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n","")), 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 {
-                                Long pid = Long.valueOf(value.get(0).getPid());
-                                Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
-                                        .filter(item -> item.getProId().equals(pid))
-                                        .findFirst();
-                                if (match.isPresent()) {
-                                    reportSpecialProject(document1, entry, paragraph, value,match.get());
+    //                                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 {
-                                    String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
-                                    Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                    Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300});
-                                    document1.add(table);
+                                    Long pid = Long.valueOf(value.get(0).getPid());
+                                    Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
+                                            .filter(item -> item.getProId().equals(pid))
+                                            .findFirst();
+                                    if (match.isPresent()) {
+                                        reportSpecialProject(document1, entry, paragraph, value,match.get());
+                                    } else {
+                                        String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
+                                        Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                        Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                        PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300});
+                                        document1.add(table);
+                                    }
                                 }
-                            }
 
-                        }
-                    } else {
-                        String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
-                        Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                        Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                        PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value, isPacs);
-                        document1.add(table);
-                    }
-
-
-                    //鍒ゆ柇澶囨敞鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                    if (entry.getKey().getRemark() == null) {
-                        entry.getKey().setRemark("");
-                    }
-//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-                    if (!true) {
-                        String remark = "澶囨敞锛�" + entry.getKey().getRemark();
-                        if (entry.getKey().getRemark().length() > 50) {
-                            int j = 0;
-                            for (int i = 0; i < remark.length() / 50; i++) {
-                                String substring = remark.substring(j, j + 50);
-                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
-                                document1.add(pp);
-                                j = j + 50;
-                            }
-                            if (remark.length() % 50 != 0) {
-                                String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1);
-                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
-                                document1.add(pp);
                             }
                         } else {
-                            Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                            Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark);
-                            document1.add(pp);
+                            String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
+                            Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                            Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                            PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value, isPacs);
+                            document1.add(table);
                         }
-                    }
-                    //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                    zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp);
-//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
-                    if (!true) {
-                        //鍒嗗壊绾�
-                        LineSeparator objectName = new LineSeparator();
-                        document1.add(objectName);
+
+
+                        //鍒ゆ柇澶囨敞鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
+                        if (entry.getKey().getRemark() == null) {
+                            entry.getKey().setRemark("");
+                        }
+    //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+                        if (!true) {
+                            String remark = "澶囨敞锛�" + entry.getKey().getRemark();
+                            if (entry.getKey().getRemark().length() > 50) {
+                                int j = 0;
+                                for (int i = 0; i < remark.length() / 50; i++) {
+                                    String substring = remark.substring(j, j + 50);
+                                    Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                    Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
+                                    document1.add(pp);
+                                    j = j + 50;
+                                }
+                                if (remark.length() % 50 != 0) {
+                                    String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1);
+                                    Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                    Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring);
+                                    document1.add(pp);
+                                }
+                            } else {
+                                Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+                                Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark);
+                                document1.add(pp);
+                            }
+                        }
+                        //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
+                        zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp);
+    //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                        if (!true) {
+                            //鍒嗗壊绾�
+                            LineSeparator objectName = new LineSeparator();
+                            document1.add(objectName);
+                        }
                     }
                 }
             }
+        } catch (NumberFormatException e) {
+            throw new RuntimeException(e);
+        } catch (DocumentException e) {
+            throw new RuntimeException(e);
         }
     }
 
@@ -2229,104 +2247,108 @@
     }
 
     public HashMap<String, Object> makeHisJianYan(TjOrder tjOrder, TjCustomer customer) {
-        LambdaQueryWrapper<LtkjHysqd> ltkjHysqdLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        ltkjHysqdLambdaQueryWrapper.eq(LtkjHysqd::getTjh, tjOrder.getCardId());
-        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);
-            List<LtkjHybgd> hybgds = ltkjHybgdService.getReportJianYanBaoGaoDanList(hysqd.getTmh());
-            if(null !=hybgds && !hybgds.isEmpty()){
+        try {
+            LambdaQueryWrapper<LtkjHysqd> ltkjHysqdLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            ltkjHysqdLambdaQueryWrapper.eq(LtkjHysqd::getTjh, tjOrder.getCardId());
+            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);
+                List<LtkjHybgd> hybgds = ltkjHybgdService.getReportJianYanBaoGaoDanList(hysqd.getTmh());
+                if(null !=hybgds && !hybgds.isEmpty()){
 
-                hybgds = new ArrayList<>(hybgds.stream()
-                        .collect(Collectors.toMap(LtkjHybgd::getJcxm, p -> p, (existing, replacement) -> existing))
-                        .values());
+                    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(
-//                                a -> a.getJcxm().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
-//                        ))
-//                        .collect(Collectors.toList());
+    //                hybgds=hybgds.stream().sorted(Comparator.comparing(LtkjHybgd::getJcxm, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+    //                hybgds = hybgds.stream()
+    //                        .sorted(Comparator.comparingInt(
+    //                                a -> a.getJcxm().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+    //                        ))
+    //                        .collect(Collectors.toList());
 
-                // 澶х被椤圭洰鍚嶇О
-                String xmmc = hysqd.getXmmc();
-                ArrayList<List<String>> lists = new ArrayList<>();
-                HashSet<String> hashSet = new HashSet<>();
-                String shsj = "";
-                for (LtkjHybgd hybgd : hybgds) {
-                    shsj = hybgd.getShsj();
-                    // 妫�鏌ラ」鐩�
-                    String jcxm = hybgd.getJcxm() != null ? hybgd.getJcxm().trim() : null;
-                    // 妫�楠岀粨鏋�
-                    String jyjg = hybgd.getJyjg() != null ? hybgd.getJyjg().trim() : null;
-                    // 缁撴灉鍗曚綅
-                    String jgdw = hybgd.getJgdw() != null ? hybgd.getJgdw().trim() : null;
-                    // 鑼冨洿鍊�
-                    String fwz = hybgd.getFwz() != null ? hybgd.getFwz().trim() : null;
-                    // 妫�楠屽尰甯�
-//                String jyys = hybgd.getJyys();
-                    //瀹℃牳鍖荤敓
-                    String shysmc = hybgd.getShysmc() != null ? hybgd.getShysmc().trim() : null;
-                    // 瀹℃牳鍖诲笀缂栫爜
-                    String shys = hybgd.getShys() != null ? hybgd.getShys().trim() : null;
-                    String ycbz = "";
+                    // 澶х被椤圭洰鍚嶇О
+                    String xmmc = hysqd.getXmmc();
+                    ArrayList<List<String>> lists = new ArrayList<>();
+                    HashSet<String> hashSet = new HashSet<>();
+                    String shsj = "";
+                    for (LtkjHybgd hybgd : hybgds) {
+                        shsj = hybgd.getShsj();
+                        // 妫�鏌ラ」鐩�
+                        String jcxm = hybgd.getJcxm() != null ? hybgd.getJcxm().trim() : null;
+                        // 妫�楠岀粨鏋�
+                        String jyjg = hybgd.getJyjg() != null ? hybgd.getJyjg().trim() : null;
+                        // 缁撴灉鍗曚綅
+                        String jgdw = hybgd.getJgdw() != null ? hybgd.getJgdw().trim() : null;
+                        // 鑼冨洿鍊�
+                        String fwz = hybgd.getFwz() != null ? hybgd.getFwz().trim() : null;
+                        // 妫�楠屽尰甯�
+    //                String jyys = hybgd.getJyys();
+                        //瀹℃牳鍖荤敓
+                        String shysmc = hybgd.getShysmc() != null ? hybgd.getShysmc().trim() : null;
+                        // 瀹℃牳鍖诲笀缂栫爜
+                        String shys = hybgd.getShys() != null ? hybgd.getShys().trim() : null;
+                        String ycbz = "";
 
-                    if (jyjg != null && StrUtil.isNotBlank(jyjg) && fwz != null && StrUtil.isNotBlank(fwz)) {
-                        try {
-                            String[] fwzs = fwz.split("-");
-                            BigDecimal min = new BigDecimal(fwzs[0]);
-                            BigDecimal max = new BigDecimal(fwzs[1]);
-                            BigDecimal jyjgval = new BigDecimal(jyjg);
-                            // 姣旇緝妫�楠岀粨鏋滃拰鑼冨洿鍊�
-                            if (jyjgval.compareTo(min) < 0) {
-                                // jyjg 灏忎簬鑼冨洿鏈�灏忓�硷紝娣诲姞涓嬬澶�
-//                            jyjg = jyjg + "   鈫�";
-                                ycbz = "鈫�";
-                            } else if (jyjgval.compareTo(max) > 0) {
-                                // jyjg 澶т簬鑼冨洿鏈�澶у�硷紝娣诲姞涓婄澶�
-//                            jyjg = jyjg + "   鈫�";
-                                ycbz = "鈫�";
+                        if (jyjg != null && StrUtil.isNotBlank(jyjg) && fwz != null && StrUtil.isNotBlank(fwz)) {
+                            try {
+                                String[] fwzs = fwz.split("-");
+                                BigDecimal min = new BigDecimal(fwzs[0]);
+                                BigDecimal max = new BigDecimal(fwzs[1]);
+                                BigDecimal jyjgval = new BigDecimal(jyjg);
+                                // 姣旇緝妫�楠岀粨鏋滃拰鑼冨洿鍊�
+                                if (jyjgval.compareTo(min) < 0) {
+                                    // jyjg 灏忎簬鑼冨洿鏈�灏忓�硷紝娣诲姞涓嬬澶�
+    //                            jyjg = jyjg + "   鈫�";
+                                    ycbz = "鈫�";
+                                } else if (jyjgval.compareTo(max) > 0) {
+                                    // jyjg 澶т簬鑼冨洿鏈�澶у�硷紝娣诲姞涓婄澶�
+    //                            jyjg = jyjg + "   鈫�";
+                                    ycbz = "鈫�";
+                                }
+                            } catch (Exception ignored) {
                             }
-                        } catch (Exception ignored) {
                         }
+    //                LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+    //                queryWrapper.eq(SysUser::getUserName,jyys);
+    //                List<SysUser> sysUsers = userService.list(queryWrapper);
+    //                if (!sysUsers.isEmpty())
+    //                    hashSet.add(sysUsers.get(0).getNickName());
+                        String key = sysConfigService.selectConfigByKey("is_report_pdf_use_ysqm");
+                        if (null != shys && null != shysmc && key.equals("Y")) {
+                            hashSet.add(shysmc + "|" + shys);
+                        } else {
+                            if (null != shysmc) hashSet.add(shysmc);
+                        }
+                        ArrayList<String> strings = new ArrayList<>();
+                        strings.add(jcxm);
+                        strings.add(jyjg);
+                        strings.add(ycbz);
+                        strings.add(jgdw);
+                        strings.add(fwz);
+                        strings.add(hybgd.getJcxmid());
+                        strings.add(hysqd.getXmid());
+                        lists.add(strings);
                     }
-//                LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-//                queryWrapper.eq(SysUser::getUserName,jyys);
-//                List<SysUser> sysUsers = userService.list(queryWrapper);
-//                if (!sysUsers.isEmpty())
-//                    hashSet.add(sysUsers.get(0).getNickName());
-                    String key = sysConfigService.selectConfigByKey("is_report_pdf_use_ysqm");
-                    if (null != shys && null != shysmc && key.equals("Y")) {
-                        hashSet.add(shysmc + "|" + shys);
-                    } else {
-                        if (null != shysmc) hashSet.add(shysmc);
+                    if (!lists.isEmpty()) {
+                        HashMap<String, Object> map = new HashMap<>();
+                        map.put("data", lists);
+                        map.put("jyys", hashSet);
+                        if (StrUtil.isNotBlank(shsj)) {
+                            shsj = shsj.split(" ")[0];
+                        }
+                        map.put("shsj", shsj);
+                        data.put(xmmc, map);
                     }
-                    ArrayList<String> strings = new ArrayList<>();
-                    strings.add(jcxm);
-                    strings.add(jyjg);
-                    strings.add(ycbz);
-                    strings.add(jgdw);
-                    strings.add(fwz);
-                    strings.add(hybgd.getJcxmid());
-                    strings.add(hysqd.getXmid());
-                    lists.add(strings);
-                }
-                if (!lists.isEmpty()) {
-                    HashMap<String, Object> map = new HashMap<>();
-                    map.put("data", lists);
-                    map.put("jyys", hashSet);
-                    if (StrUtil.isNotBlank(shsj)) {
-                        shsj = shsj.split(" ")[0];
-                    }
-                    map.put("shsj", shsj);
-                    data.put(xmmc, map);
                 }
             }
+            return data;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
-        return data;
     }
 
     /**
@@ -2503,55 +2525,59 @@
      * @param customer
      */
     private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
+        try {
 //        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);
-        }
-        for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
-            List<TjPdfVO> tjPdfVOS = new ArrayList<>();
-            List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId());
-            tjOrderDetails = tjOrderDetails.stream().filter(i -> StrUtil.isNotBlank(i.getProResult())).collect(Collectors.toList());
-            tjOrderDetails = new ArrayList<>(tjOrderDetails.stream()
-                    .collect(Collectors.toMap(TjOrderDetail::getProId, i -> i, (existing, replacement) -> existing)).values());
-            for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                TjProject tjProject = projectService.getById(String.valueOf(tjOrderDetail.getProId()));
-                if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
-                    tjOrderDetail.setProject(tjProject);
+            List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber);
+            for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
+                printReport.put(tjOrderRemark,null);
+            }
+            for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
+                List<TjPdfVO> tjPdfVOS = new ArrayList<>();
+                List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId());
+                tjOrderDetails = tjOrderDetails.stream().filter(i -> StrUtil.isNotBlank(i.getProResult())).collect(Collectors.toList());
+                tjOrderDetails = new ArrayList<>(tjOrderDetails.stream()
+                        .collect(Collectors.toMap(TjOrderDetail::getProId, i -> i, (existing, replacement) -> existing)).values());
+                for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                    TjProject tjProject = projectService.getById(String.valueOf(tjOrderDetail.getProId()));
+                    if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
+                        tjOrderDetail.setProject(tjProject);
 
-                    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());
-                        tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
-                        if (null != tjProject.getProMetering()) {
-                            tjPdfVO.setCompany(tjProject.getProMetering());
-                        } else {
-                            tjPdfVO.setCompany("/");
+                        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());
+                            tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
+                            if (null != tjProject.getProMetering()) {
+                                tjPdfVO.setCompany(tjProject.getProMetering());
+                            } else {
+                                tjPdfVO.setCompany("/");
+                            }
+                            tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
+                            tjPdfVO.setPid(String.valueOf(tjProject.getProParentId()));
+    //                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
+    //                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
+    //                        wrapper.eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
+                            tjPdfVOS.add(tjPdfVO);
                         }
-                        tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
-                        tjPdfVO.setPid(String.valueOf(tjProject.getProParentId()));
-//                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
-//                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
-//                        wrapper.eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
-                        tjPdfVOS.add(tjPdfVO);
                     }
                 }
+                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);
             }
-            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);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
     }
 
@@ -2562,70 +2588,74 @@
 //        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);
-        }
-        String ids = "";
-        for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
-            List<TjPdfVO> tjPdfVOS = new ArrayList<>();
-            List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId());
-            tjOrderDetails = new ArrayList<>(tjOrderDetails.stream().collect(Collectors.toMap(TjOrderDetail::getProId, i -> i, (existing, replacement) -> existing)).values());
-            for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
-                if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
-                    tjOrderDetail.setProject(tjProject);
+        try {
+            List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.pacsJianChaData(tjNumber);
+            for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
+                printReport.put(tjOrderRemark, null);
+            }
+            String ids = "";
+            for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
+                List<TjPdfVO> tjPdfVOS = new ArrayList<>();
+                List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId());
+                tjOrderDetails = new ArrayList<>(tjOrderDetails.stream().collect(Collectors.toMap(TjOrderDetail::getProId, i -> i, (existing, replacement) -> existing)).values());
+                for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                    TjProject tjProject = projectService.getById(tjOrderDetail.getProId());
+                    if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
+                        tjOrderDetail.setProject(tjProject);
 
-                    if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())
-                            && entry.getKey().getType() == 1
-                            && !ids.contains(String.valueOf(tjOrderDetail.getProject().getProParentId()))) {
+                        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());
-                        tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
-                        if (null != tjProject.getProMetering()) {
-                            tjPdfVO.setCompany(tjProject.getProMetering());
-                        } else {
-                            tjPdfVO.setCompany("/");
-                        }
-                        tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
-//                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
-//                        wrapper.eq(LtkjExamJcbgd::getTjh, one.getCardId());
-//                        wrapper.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()))
-//                                .or().eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjProjectq.getHisXmbm()));
-//                        wrapper.orderByDesc(LtkjExamJcbgd::getZdsj);
-                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
-                        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) {
-                                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();
+                            TjProject tjProjectq = projectService.getById(tjOrderDetail.getProject().getProParentId());
+                            TjPdfVO tjPdfVO = new TjPdfVO();
+                            tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
+                            tjPdfVO.setProResult(tjOrderDetail.getProResult());
+                            tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
+                            if (null != tjProject.getProMetering()) {
+                                tjPdfVO.setCompany(tjProject.getProMetering());
+                            } else {
+                                tjPdfVO.setCompany("/");
                             }
+                            tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
+    //                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
+    //                        wrapper.eq(LtkjExamJcbgd::getTjh, one.getCardId());
+    //                        wrapper.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()))
+    //                                .or().eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjProjectq.getHisXmbm()));
+    //                        wrapper.orderByDesc(LtkjExamJcbgd::getZdsj);
+                            LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
+                            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) {
+                                    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();
+                                }
+                            }
+                            tjPdfVOS.add(tjPdfVO);
                         }
-                        tjPdfVOS.add(tjPdfVO);
                     }
                 }
+                printReport.put(entry.getKey(), tjPdfVOS);
             }
-            printReport.put(entry.getKey(), tjPdfVOS);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
     }
 

--
Gitblit v1.8.0