From 7caeae303d4a93d0af2dc2d2f546987dd192be3c Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 21 一月 2025 19:34:34 +0800
Subject: [PATCH] zjh20250121

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxm.java                  |   50 ++
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxmMap.java               |   20 +
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderYcxmMapper.java            |   20 +
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java           |  832 ++++++++++++++++++++++++++-------------------
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |   68 +++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderYcxmServiceImpl.java |   27 +
 ltkj-hosp/src/main/resources/mapper/TjPackageMapper.xml                        |    4 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjOrderYcxmService.java          |   16 
 8 files changed, 688 insertions(+), 349 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 6c3d023..bceefd7 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
@@ -2,6 +2,7 @@
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -115,6 +116,8 @@
     private SysDeptController sysDeptController;
     @Autowired
     private ITjProAdvicerulesService tjProAdvicerulesService;
+    @Autowired
+    private TjOrderYcxmService ycxmService;
 
     private Integer pdfPage = 0;
 
@@ -151,7 +154,7 @@
 //        list.get(0).getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")
         List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex"));
         HashMap<String, Object> map = makeHisJianYan(tjOrder, customer);
-        HashMap<String, Object> pdfChangGui = makePDFInfo(tjOrder, customer, tjReportTemplate,dictHosp,map);
+        HashMap<String, Object> pdfChangGui = makePDFInfo(tjOrder, customer, tjReportTemplate, dictHosp, map);
         if (pdfChangGui == null)
             return AjaxResult.error();
         Document document = (Document) pdfChangGui.get("document");
@@ -164,7 +167,7 @@
         try {
             pdfWriter = PdfWriter.getInstance(document1, byteArrayOutputStream1);
 //            if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-            if (true){
+            if (true) {
                 String sex = "";
                 if (customer.getCusSex() != null) {
                     for (SysDictData userSex : sysUserSex) {
@@ -175,7 +178,7 @@
                 }
                 if (StrUtil.isBlank(sex)) sex = "鏈煡";
 //                pdfWriter.setPageEvent(new FooterHeaderPageEvent("婢勫悎鐭垮姟灞�涓績鍖婚櫌",customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null));
-                pdfWriter.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(),customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null));
+                pdfWriter.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(), customer.getCusName(), tjOrder.getTjNumber(), sex, String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())), null));
                 pageSize = pdfWriter.getPageNumber();
             }
         } catch (DocumentException e) {
@@ -186,43 +189,43 @@
         document1.open();
 
 //        if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-        if (true){
+        if (true) {
             // 缁勮浣撴妫�鏌ラ」鐩姤鍛�
             Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
             notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
             try {
-                notHuaYanTable(document1, printReport,dictHosp,color,false);
+                notHuaYanTable(document1, printReport, dictHosp, color, false);
             } catch (DocumentException e) {
                 log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�");
                 log.error(String.valueOf(e));
                 return AjaxResult.error();
             }
             // 缁勮妫�楠屾暟鎹�
-            makeHisJianYanTable(document1, map,dictHosp,color);
+            makeHisJianYanTable(document1, map, dictHosp, color);
 
             // 缁勮pacs妫�鏌ユ暟鎹�
             printReport = new HashMap<>();
             pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
             try {
-                notHuaYanTable(document1, printReport,dictHosp,color,true);
+                notHuaYanTable(document1, printReport, dictHosp, color, true);
             } catch (DocumentException e) {
                 log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父");
                 log.error(String.valueOf(e));
                 return AjaxResult.error();
             }
-        }else {
+        } else {
             // 闈炲寲楠岄」鐩姤鍛�
             Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
             notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
             try {
-                notHuaYanTable(document1, printReport,dictHosp,color,true);
+                notHuaYanTable(document1, printReport, dictHosp, color, true);
             } catch (DocumentException e) {
                 log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�");
                 log.error(String.valueOf(e));
                 return AjaxResult.error();
             }
             // 缁勮妫�楠屾暟鎹�
-            makeHisJianYanTable(document1, map,dictHosp,color);
+            makeHisJianYanTable(document1, map, dictHosp, color);
         }
         document1.close();
 
@@ -235,8 +238,8 @@
         }
 
 //        if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-        if (!true){
-            List<ByteArrayOutputStream> jianchas =  makeHisJianChaTable(tjOrder);
+        if (!true) {
+            List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder);
 //        List<ByteArrayOutputStream> jianchas = makeCcgcHisJianChaTable(tjOrder);
             try {
                 for (ByteArrayOutputStream jiancha : jianchas) {
@@ -266,7 +269,7 @@
             ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
             PdfStamper pdfStamper = new PdfStamper(pdfReader, outputStream);
 //            if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-            if (!true){
+            if (!true) {
                 PdfContentByte contentByte;
                 BaseFont baseFont = PdfUtils.createBaseFont(null);
                 for (int i = 2; i <= pages; i++) {
@@ -308,13 +311,12 @@
         if (StrUtil.isBlank(sex)) sex = "鏈煡";
 
 
-
         // 鐢熸垚 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();
@@ -334,7 +336,7 @@
         String[] titles = {"绉戝", "浣撴椤圭洰", "妫�鏌ョ姸鎬�", "妫�鏌ユ椂闂�"};
 
         for (String head : titles) {
-            table.addCell(PdfUtils.createCell(head, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER,5f,5f));
+            table.addCell(PdfUtils.createCell(head, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
         }
         Map<String, List<CsProVo>> listMap = list.stream().collect(Collectors.groupingBy(CsProVo::getDeptName));
         for (Map.Entry<String, List<CsProVo>> entry : listMap.entrySet()) {
@@ -349,7 +351,7 @@
             deptCell.setRowspan(proVos.size());
             table.addCell(deptCell);
             proVos.forEach(proVo -> {
-                table.addCell(PdfUtils.createCell(proVo.getProName(), defaultFont,Rectangle.BOX,Element.ALIGN_CENTER,5f,5f));
+                table.addCell(PdfUtils.createCell(proVo.getProName(), defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
                 String tjType = "";
                 switch (proVo.getType()) {
                     case 0:
@@ -365,12 +367,12 @@
                         tjType = "寤舵湡";
                         break;
                 }
-                table.addCell(PdfUtils.createCell(tjType, defaultFont,Rectangle.BOX,Element.ALIGN_CENTER,5f,5f));
+                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));
+                table.addCell(PdfUtils.createCell(tjTime, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
             });
         }
         document2.add(table);
@@ -382,9 +384,8 @@
 
 
         //        List<TjOrderRemark> remarks = tjOrderRemarkMapper.getzongjianyishengchakanyichangxiangmu3( tjOrder.getTjNumber());
-        List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4( tjOrder.getTjNumber());
+        List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4(tjOrder.getTjNumber());
 //        List<Map<String, Object>> jiancha = new ArrayList<>();
-
 
 
         paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細");
@@ -399,7 +400,7 @@
             boolean isXmWrite = false;
             for (TjOrderDetail detail : details) {
                 if (!isXmWrite) {
-                    paragraph = new Paragraph(xmXh+".  "+xmmc, defaultFont);
+                    paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
                     paragraph.setAlignment(Element.ALIGN_LEFT);
                     document2.add(paragraph);
                     isXmWrite = true;
@@ -407,11 +408,11 @@
                 String result = detail.getProResult();
                 if (StrUtil.isNotBlank(result)) {
                     int index = 1;
-                    result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�","");
+                    result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
                     String[] split = result.split("\n");
                     StringBuilder builder = new StringBuilder();
                     for (String s : split) {
-                        if (StrUtil.isBlank(s.replaceAll("\n","").trim())) continue;
+                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                         builder.append("    (").append(index).append(")").append(s).append("\n");
                         index++;
                     }
@@ -438,13 +439,13 @@
             for (List<String> i : lists) {
                 if (i.contains("鈫�") || i.contains("鈫�")) {
                     if (!isXmWrite) {
-                        paragraph = new Paragraph(xmXh+".  "+xmmc,defaultFont);
+                        paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
                         paragraph.setAlignment(Element.ALIGN_LEFT);
                         document2.add(paragraph);
                         isXmWrite = true;
                     }
-                    String content = "    ("+index + ") " + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "      " + i.get(2);
-                    paragraph = new Paragraph(content,defaultFont);
+                    String content = "    (" + index + ") " + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "      " + i.get(2);
+                    paragraph = new Paragraph(content, defaultFont);
                     paragraph.setAlignment(Element.ALIGN_LEFT);
                     document2.add(paragraph);
                     index++;
@@ -458,19 +459,11 @@
         }
 
 
-
-
-
-
         paragraph = PdfUtils.setParagraph(defaultFont, "");
         paragraph.setLeading(0f);
         paragraph.setSpacingBefore(10f);
         paragraph.setSpacingAfter(10f);
         document2.add(paragraph);
-
-
-
-
 
 
         paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�");
@@ -488,13 +481,13 @@
                 if (i.contains("鈫�") || i.contains("鈫�")) {
                     if (!isXmWrite) {
                         xmXh++;
-                        paragraph = new Paragraph("銆�"+xmXh+"."+xmmc+"銆�",defaultFont);
+                        paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont);
                         paragraph.setAlignment(Element.ALIGN_LEFT);
                         document2.add(paragraph);
                         isXmWrite = true;
                     }
-                    String content = "    ("+index + ")" + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "  " + i.get(2);
-                    paragraph = new Paragraph(content,defaultFont);
+                    String content = "    (" + index + ")" + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "  " + i.get(2);
+                    paragraph = new Paragraph(content, defaultFont);
                     paragraph.setAlignment(Element.ALIGN_LEFT);
                     document2.add(paragraph);
                     // 绗叚浣嶆槸lis椤圭洰id
@@ -509,9 +502,9 @@
 //
 //                        }
                     String str = "    ";
-                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5),"",i.get(2),tjOrder.getTjNumber(),i.get(5),"");
-                        if (!maps.isEmpty()){
-                            for (Map<String, Object> objectMap : maps) {
+                    List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), "", i.get(2), tjOrder.getTjNumber(), i.get(5), "");
+                    if (!maps.isEmpty()) {
+                        for (Map<String, Object> objectMap : maps) {
 //                                paragraph = new Paragraph(str+"寤鸿鏍囬",defaultFont);
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                document2.add(paragraph);
@@ -527,18 +520,19 @@
 //                                paragraph = new Paragraph(str+objectMap.get("nr").toString(),defaultFont);
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                document2.add(paragraph);
-                                String content1 = str+objectMap.get("bt").toString().trim()+objectMap.get("nr").toString().trim();
-                                if (StrUtil.isBlank(content1)) content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
+                            String content1 = str + objectMap.get("bt").toString().trim() + objectMap.get("nr").toString().trim();
+                            if (StrUtil.isBlank(content1))
+                                content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
 
-                                paragraph = new Paragraph(content1,defaultFont);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                document2.add(paragraph);
-                            }
-                            paragraph = PdfUtils.setParagraph(defaultFont, "");
-                            paragraph.setSpacingBefore(2f);
-                            paragraph.setSpacingAfter(5f);
+                            paragraph = new Paragraph(content1, defaultFont);
+                            paragraph.setAlignment(Element.ALIGN_LEFT);
                             document2.add(paragraph);
                         }
+                        paragraph = PdfUtils.setParagraph(defaultFont, "");
+                        paragraph.setSpacingBefore(2f);
+                        paragraph.setSpacingAfter(5f);
+                        document2.add(paragraph);
+                    }
 //                    }
                     index++;
                 }
@@ -558,7 +552,7 @@
             for (TjOrderDetail detail : details) {
                 if (!isXmWrite) {
                     xmXh++;
-                    paragraph = new Paragraph("銆�"+xmXh+"."+xmmc+"銆�", defaultFont);
+                    paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont);
                     paragraph.setAlignment(Element.ALIGN_LEFT);
                     document2.add(paragraph);
                     isXmWrite = true;
@@ -573,12 +567,13 @@
                     boolean contains = result.contains("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
                     StringBuilder builder = new StringBuilder();
                     for (String s : split) {
-                        if (StrUtil.isBlank(s.replaceAll("\n","").trim())) continue;
+                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                         builder.append("    (").append(index1).append(")").append(s).append("\n");
                         index1++;
                     }
-                    if (!contains) builder.append("    (").append(index1).append(")").append("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
-                    else builder.substring(0,builder.length() - 1);
+                    if (!contains)
+                        builder.append("    (").append(index1).append(")").append("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+                    else builder.substring(0, builder.length() - 1);
                     result = builder.toString();
                 }
 //                String content = "  (" + index + ") " + detail.getProName() + "锛�" + result;
@@ -589,12 +584,13 @@
                 paragraph.setAlignment(Element.ALIGN_LEFT);
                 document2.add(paragraph);
                 String str = "     ";
-                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"","",tjOrder.getTjNumber(),detail.getProName(),"");
+                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(), "", "", tjOrder.getTjNumber(), detail.getProName(), "");
                 for (Map<String, Object> objectMap : maps) {
-                    String content1 = str+objectMap.get("bt").toString()+objectMap.get("nr").toString();
-                    if (StrUtil.isBlank(content1)) content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
+                    String content1 = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
+                    if (StrUtil.isBlank(content1))
+                        content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
 
-                    paragraph = new Paragraph(content1,defaultFont);
+                    paragraph = new Paragraph(content1, defaultFont);
                     paragraph.setAlignment(Element.ALIGN_LEFT);
                     document2.add(paragraph);
                 }
@@ -606,9 +602,6 @@
                 document2.add(paragraph);
             }
         }
-
-
-
 
 
         for (int i = 0; i < 1; i++) {
@@ -643,7 +636,7 @@
         document2.add(paragraphNone);
 
 
-        PdfPTable tableQz = new PdfPTable(new float[]{100f,100f,50f});
+        PdfPTable tableQz = new PdfPTable(new float[]{100f, 100f, 50f});
         tableQz.setTotalWidth(PageSize.A4.getWidth() - 100);
         tableQz.setLockedWidth(true);
         tableQz.setHorizontalAlignment(Element.ALIGN_LEFT);
@@ -734,14 +727,13 @@
         document2.close();
 
 
-
         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));
@@ -755,7 +747,7 @@
         Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
         notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
         try {
-            notHuaYanTable(document, printReport, dictHosp, color,false);
+            notHuaYanTable(document, printReport, dictHosp, color, false);
         } catch (DocumentException e) {
             log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�");
             log.error(String.valueOf(e));
@@ -767,16 +759,13 @@
         printReport = new HashMap<>();
         pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
         try {
-            notHuaYanTable(document, printReport, dictHosp, color,true);
+            notHuaYanTable(document, printReport, dictHosp, color, true);
         } catch (DocumentException e) {
             log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父");
             log.error(String.valueOf(e));
             return AjaxResult.error();
         }
         document.close();
-
-
-
 
 
         // 棣栭〉琛ㄥ崟
@@ -839,7 +828,6 @@
         byte[] bytes = byteArrayOutputStream4.toByteArray();
 
 
-
         ByteArrayOutputStream finalOutput = new ByteArrayOutputStream();
         Document mergedDocument = new Document(PageSize.A4);
         PdfCopy copy = new PdfCopy(mergedDocument, finalOutput);
@@ -873,7 +861,7 @@
         return AjaxResult.success();
     }
 
-    public AjaxResult hisPDFNew2(TjOrder tjOrder, TjCustomer customer, TjReportTemplate tjReportTemplate,TjReportTemplate zongJianYiShiQianMing) throws Exception {
+    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");
@@ -905,13 +893,12 @@
         if (StrUtil.isBlank(sex)) sex = "鏈煡";
 
 
-
         // 鐢熸垚 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();
@@ -931,9 +918,9 @@
         String[] titles = {"绉戝", "浣撴椤圭洰", "妫�鏌ョ姸鎬�", "妫�鏌ユ椂闂�"};
 
         for (String head : titles) {
-            table.addCell(PdfUtils.createCell(head, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER,5f,5f));
+            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()));
 //        List<CsProVo> sortedList = list.stream()
 //                .sorted(Comparator.comparingLong(CsProVo::getProId))
 //                .collect(Collectors.toList());
@@ -949,11 +936,11 @@
             deptCell.setPhrase(new Phrase(dept, defaultFont));
             deptCell.setPaddingTop(5f);
             deptCell.setPaddingBottom(5f);
-            if (proVos.size()>1)
+            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));
+                table.addCell(PdfUtils.createCell(proVo.getProName(), defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
                 String tjType = "";
                 switch (proVo.getType()) {
                     case 0:
@@ -969,12 +956,12 @@
                         tjType = "寤舵湡";
                         break;
                 }
-                table.addCell(PdfUtils.createCell(tjType, defaultFont,Rectangle.BOX,Element.ALIGN_CENTER,5f,5f));
+                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));
+                table.addCell(PdfUtils.createCell(tjTime, defaultFont, Rectangle.BOX, Element.ALIGN_CENTER, 5f, 5f));
             });
         }
         document2.add(table);
@@ -986,9 +973,8 @@
 
 
         //        List<TjOrderRemark> remarks = tjOrderRemarkMapper.getzongjianyishengchakanyichangxiangmu3( tjOrder.getTjNumber());
-        List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4( tjOrder.getTjNumber());
+        List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4(tjOrder.getTjNumber());
 //        List<Map<String, Object>> jiancha = new ArrayList<>();
-
 
 
         paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細");
@@ -1001,7 +987,7 @@
         Map<Long, List<TjOrderDetail>> collect = orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId));
         for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
             List<CsProVo> proVos = deptEntry.getValue();
-            if (proVos.size()>1){
+            if (proVos.size() > 1) {
                 proVos = proVos.stream()
                         .sorted(Comparator.comparingLong(CsProVo::getProId))
                         .collect(Collectors.toList());
@@ -1076,7 +1062,7 @@
                             index++;
                         }
                     }
-                    if(isXmWrite) {
+                    if (isXmWrite) {
                         paragraph = PdfUtils.setParagraph(defaultFont, "");
                         paragraph.setSpacingBefore(0f);
                         paragraph.setSpacingAfter(5f);
@@ -1097,123 +1083,270 @@
         paragraph.setSpacingAfter(2f);
         document2.add(paragraph);
         xmXh = 0;
-        for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
-            List<CsProVo> proVos = deptEntry.getValue();
-            if (proVos.size() > 1) {
-                proVos = proVos.stream()
-                        .sorted(Comparator.comparingLong(CsProVo::getProId))
-                        .collect(Collectors.toList());
-            }
-            ArrayList<String> jianYanYiDa = new ArrayList<>();
-            for (CsProVo proVo : proVos) {
-                // 妫�鏌�
-                for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
-                    if (!entry.getKey().equals(proVo.getProId())) continue;
-                    List<TjOrderDetail> details = entry.getValue();
-                    String xmmc = details.get(0).getProName();
-                    boolean isXmWrite = false;
-                    int index = 1;
-                    for (TjOrderDetail detail : details) {
-                        if (!isXmWrite) {
-                            xmXh++;
-                            paragraph = new Paragraph("銆�"+xmXh+"."+xmmc+"銆�", defaultFont);
-                            paragraph.setAlignment(Element.ALIGN_LEFT);
-                            document2.add(paragraph);
-                            isXmWrite = true;
-                        }
-                        String result = detail.getProResult();
-                        if (StrUtil.isNotBlank(result)) {
-//                    result = result.replaceAll(" ","").replaceAll("\t","");
-//                    result = result.replaceAll("\n鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
-//                    result = "\n      " + result.replaceAll("\n", "\n      ");
-                            int index1 = 1;
-                            String[] split = result.split("\n");
-//                            boolean contains = result.contains("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
-                            boolean contains = result.contains(" ");
-                            StringBuilder builder = new StringBuilder();
-                            for (String s : split) {
-                                if (StrUtil.isBlank(s.replaceAll("\n","").trim())) continue;
-                                builder.append("    (").append(index1).append(")").append(s).append("\n");
-                                index1++;
-                            }
-//                            if (!contains) builder.append("    (").append(index1).append(")").append("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
-//                            if (!contains) builder.append("    (").append(index1).append(")").append(" ");
-//                            else builder.substring(0,builder.length() - 1);
-                            result = builder.toString();
-                        }
-//                String content = "  (" + index + ") " + detail.getProName() + "锛�" + result;
-//                content = content.replaceAll("[\\n\\r]+$", "");
-//                content = content.replaceAll("\\s+$", "");
-//                paragraph = new Paragraph(content, defaultFont);
-                        if (StrUtil.isNotBlank(result)) {
-                            paragraph = new Paragraph(result, defaultFont);
-                            paragraph.setAlignment(Element.ALIGN_LEFT);
-                            document2.add(paragraph);
-                        }else {
-                            paragraph = new Paragraph("寤鸿瀹氭湡澶嶆煡",defaultFont);
-                            paragraph.setAlignment(Element.ALIGN_LEFT);
-                            document2.add(paragraph);
-                        }
-                        String str = "     ";
-//                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"",
-//                                detail.getYcbz(),tjOrder.getTjNumber(),detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-//                                        .replaceAll("[ 娴嬪畾妫�娴媇",""),detail.getProResult());
-                        List<Map<String, Object>> maps =new ArrayList<>();
-                        if(detail.getDeptId().equals("2")){
-                            String[] split = result.split("銆倈,|锛�");
-                            for (String s : split) {
-                                s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
-//                                Map<String,Object> mapss= tjRulesService.getyichangxiangmujianyiguizeJianCha(s);
-                                Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(detail.getKs(),s,"0");
-                                if(null !=mapss){
-                                    Object bt = mapss.get("bt");
-                                    Object nr = mapss.get("nr");
-                                    if(null !=bt && null !=nr) maps.add(mapss);
-                                }
-                            }
-                        }
-                        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 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
-                            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);
-                    }
+        LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+        wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber());
+        List<TjOrderYcxm> ycxms = ycxmService.list(wq);
+        if (null != ycxms && !ycxms.isEmpty()) {
+            for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
+                List<CsProVo> proVos = deptEntry.getValue();
+                if (proVos.size() > 1) {
+                    proVos = proVos.stream()
+                            .sorted(Comparator.comparingLong(CsProVo::getProId))
+                            .collect(Collectors.toList());
                 }
-                // 妫�楠�
-                for (Map.Entry<String, Object> item : map.entrySet()) {
-                    String xmmc = item.getKey();
-                    HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue();
-                    ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
-                    boolean isXmWrite = false;
-                    int index = 1;
-                    for (List<String> i : lists) {
-                        if (!i.get(6).contains(String.valueOf(proVo.getProId()))) continue;
-                        if (i.contains("鈫�") || i.contains("鈫�")) {
-                            if (jianYanYiDa.contains(i.get(5))) continue;
-                            jianYanYiDa.add(i.get(5));
+                ArrayList<String> jianYanYiDa = new ArrayList<>();
+                for (CsProVo proVo : proVos) {
+                    // 妫�鏌�
+                    for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
+                        if (!entry.getKey().equals(proVo.getProId())) continue;
+                        List<TjOrderDetail> details = entry.getValue();
+                        String xmmc = details.get(0).getProName();
+                        boolean isXmWrite = false;
+                        int index = 1;
+                        for (TjOrderDetail detail : details) {
                             if (!isXmWrite) {
                                 xmXh++;
-                                paragraph = new Paragraph("銆�"+xmXh+"."+xmmc+"銆�",defaultFont);
+                                paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 document2.add(paragraph);
                                 isXmWrite = true;
                             }
-                            String content = "    ("+index + ")" + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "  " + i.get(2);
-                            paragraph = new Paragraph(content,defaultFont);
-                            paragraph.setAlignment(Element.ALIGN_LEFT);
+                            String result = detail.getProResult();
+                            if (StrUtil.isNotBlank(result)) {
+                                int index1 = 1;
+                                String[] split = result.split("\n");
+                                StringBuilder builder = new StringBuilder();
+                                for (String s : split) {
+                                    if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
+                                    builder.append("    (").append(index1).append(")").append(s).append("\n");
+                                    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<>();
+
+                            LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
+                            ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
+                            ycwq.eq(TjOrderYcxm::getJcxm,xmmc);
+                            TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
+                            if(null !=ycxm){
+                                String jynr = ycxm.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);
-                            // 绗叚浣嶆槸lis椤圭洰id
+                        }
+                    }
+                    // 妫�楠�
+                    for (Map.Entry<String, Object> item : map.entrySet()) {
+                        String xmmc = item.getKey();
+                        HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue();
+                        ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
+                        boolean isXmWrite = false;
+                        int index = 1;
+                        for (List<String> i : lists) {
+                            if (!i.get(6).contains(String.valueOf(proVo.getProId()))) continue;
+                            if (i.contains("鈫�") || i.contains("鈫�")) {
+                                if (jianYanYiDa.contains(i.get(5))) continue;
+                                jianYanYiDa.add(i.get(5));
+                                if (!isXmWrite) {
+                                    xmXh++;
+                                    paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont);
+                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                    document2.add(paragraph);
+                                    isXmWrite = true;
+                                }
+                                String content = "    (" + index + ")" + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "  " + i.get(2);
+                                paragraph = new Paragraph(content, defaultFont);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                document2.add(paragraph);
+                                String str = "    ";
+
+                                LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
+                                ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
+                                ycwq.eq(TjOrderYcxm::getJcxm,i.get(0));
+                                TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
+                                if(null !=ycxm){
+                                    String jynr = ycxm.getJynr();
+                                    JSONArray array = JSONUtil.parseArray(jynr);
+                                    for (Object object : array) {
+                                        JSONObject jsonObject = (JSONObject) object;
+                                        String bt = jsonObject.getStr("bt");
+                                        String nr = jsonObject.getStr("nr");
+                                        if(null !=bt || null !=nr) {
+                                            String content1 = str + bt + nr;
+                                            if (StrUtil.isBlank(content)) content1 = "     ";
+                                            paragraph = new Paragraph(content1, defaultFont);
+                                        }
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        document2.add(paragraph);
+                                    }
+                                    paragraph = PdfUtils.setParagraph(defaultFont, "");
+                                    paragraph.setSpacingBefore(2f);
+                                    paragraph.setSpacingAfter(5f);
+                                    document2.add(paragraph);
+                                    index++;
+                                }
+                            }
+                        }
+                        if (isXmWrite) {
+                            paragraph = PdfUtils.setParagraph(defaultFont, "");
+                            paragraph.setSpacingBefore(0f);
+                            paragraph.setSpacingAfter(5f);
+                            document2.add(paragraph);
+                        }
+                    }
+                }
+            }
+        } else {
+            for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
+                List<CsProVo> proVos = deptEntry.getValue();
+                if (proVos.size() > 1) {
+                    proVos = proVos.stream()
+                            .sorted(Comparator.comparingLong(CsProVo::getProId))
+                            .collect(Collectors.toList());
+                }
+                ArrayList<String> jianYanYiDa = new ArrayList<>();
+                for (CsProVo proVo : proVos) {
+                    // 妫�鏌�
+                    for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
+                        if (!entry.getKey().equals(proVo.getProId())) continue;
+                        List<TjOrderDetail> details = entry.getValue();
+                        String xmmc = details.get(0).getProName();
+                        boolean isXmWrite = false;
+                        int index = 1;
+                        for (TjOrderDetail detail : details) {
+                            if (!isXmWrite) {
+                                xmXh++;
+                                paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                document2.add(paragraph);
+                                isXmWrite = true;
+                            }
+                            String result = detail.getProResult();
+                            if (StrUtil.isNotBlank(result)) {
+//                    result = result.replaceAll(" ","").replaceAll("\t","");
+//                    result = result.replaceAll("\n鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
+//                    result = "\n      " + result.replaceAll("\n", "\n      ");
+                                int index1 = 1;
+                                String[] split = result.split("\n");
+//                            boolean contains = result.contains("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+                                boolean contains = result.contains(" ");
+                                StringBuilder builder = new StringBuilder();
+                                for (String s : split) {
+                                    if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
+                                    builder.append("    (").append(index1).append(")").append(s).append("\n");
+                                    index1++;
+                                }
+//                            if (!contains) builder.append("    (").append(index1).append(")").append("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+//                            if (!contains) builder.append("    (").append(index1).append(")").append(" ");
+//                            else builder.substring(0,builder.length() - 1);
+                                result = builder.toString();
+                            }
+//                String content = "  (" + index + ") " + detail.getProName() + "锛�" + result;
+//                content = content.replaceAll("[\\n\\r]+$", "");
+//                content = content.replaceAll("\\s+$", "");
+//                paragraph = new Paragraph(content, defaultFont);
+                            if (StrUtil.isNotBlank(result)) {
+                                paragraph = new Paragraph(result, defaultFont);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                document2.add(paragraph);
+                            } else {
+                                paragraph = new Paragraph("寤鸿瀹氭湡澶嶆煡", defaultFont);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                document2.add(paragraph);
+                            }
+                            String str = "     ";
+//                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"",
+//                                detail.getYcbz(),tjOrder.getTjNumber(),detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+//                                        .replaceAll("[ 娴嬪畾妫�娴媇",""),detail.getProResult());
+                            List<Map<String, Object>> maps = new ArrayList<>();
+                            if (detail.getDeptId().equals("2")) {
+                                String[] split = result.split("銆倈,|锛�");
+                                for (String s : split) {
+                                    s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
+//                                Map<String,Object> mapss= tjRulesService.getyichangxiangmujianyiguizeJianCha(s);
+                                    Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(detail.getKs(), s, "0");
+                                    if (null != mapss) {
+                                        Object bt = mapss.get("bt");
+                                        Object nr = mapss.get("nr");
+                                        if (null != bt && null != nr) maps.add(mapss);
+                                    }
+                                }
+                            }
+                            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 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
+                                if (StrUtil.isBlank(content)) content = "     ";
+                                paragraph = new Paragraph(content, defaultFont);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                document2.add(paragraph);
+                            }
+                            index++;
+                            paragraph = PdfUtils.setParagraph(defaultFont, "");
+                            paragraph.setLeading(0f);
+                            paragraph.setSpacingBefore(0f);
+                            paragraph.setSpacingAfter(5f);
+                            document2.add(paragraph);
+                        }
+                    }
+                    // 妫�楠�
+                    for (Map.Entry<String, Object> item : map.entrySet()) {
+                        String xmmc = item.getKey();
+                        HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue();
+                        ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data");
+                        boolean isXmWrite = false;
+                        int index = 1;
+                        for (List<String> i : lists) {
+                            if (!i.get(6).contains(String.valueOf(proVo.getProId()))) continue;
+                            if (i.contains("鈫�") || i.contains("鈫�")) {
+                                if (jianYanYiDa.contains(i.get(5))) continue;
+                                jianYanYiDa.add(i.get(5));
+                                if (!isXmWrite) {
+                                    xmXh++;
+                                    paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont);
+                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                    document2.add(paragraph);
+                                    isXmWrite = true;
+                                }
+                                String content = "    (" + index + ")" + i.get(0) + "锛�" + i.get(1) + "  " + i.get(3) + "  " + i.get(4) + "  " + i.get(2);
+                                paragraph = new Paragraph(content, defaultFont);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                document2.add(paragraph);
+                                // 绗叚浣嶆槸lis椤圭洰id
 //                    LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>();
 //                    wrapper.eq(TjProject::getLisXmbm,i.get(5));
 //                    TjProject project = projectService.getOne(wrapper);
@@ -1224,12 +1357,12 @@
 //                        if (!rules.isEmpty()){
 //
 //                        }
-                            String str = "    ";
-                            List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5),"",
-                                    i.get(2),tjOrder.getTjNumber(),i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                            .replaceAll("[ 娴嬪畾妫�娴媇",""),i.get(1));
-                            if (!maps.isEmpty()){
-                                for (Map<String, Object> objectMap : maps) {
+                                String str = "    ";
+                                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), "",
+                                        i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                .replaceAll("[ 娴嬪畾妫�娴媇", ""), i.get(1));
+                                if (!maps.isEmpty()) {
+                                    for (Map<String, Object> objectMap : maps) {
 //                                paragraph = new Paragraph(str+"寤鸿鏍囬",defaultFont);
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                document2.add(paragraph);
@@ -1245,35 +1378,37 @@
 //                                paragraph = new Paragraph(str+objectMap.get("nr").toString(),defaultFont);
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                document2.add(paragraph);
-                                    Object bt = objectMap.get("bt");
-                                    Object nr = objectMap.get("nr");
-                                    if(null !=bt && null !=nr){
-                                        String content1 = str +bt .toString() +nr .toString().trim();
-                                        if (StrUtil.isBlank(content)) content1 = "     ";
-                                        paragraph = new Paragraph(content1,defaultFont);
-                                    }
+                                        Object bt = objectMap.get("bt");
+                                        Object nr = objectMap.get("nr");
+                                        if (null != bt && null != nr) {
+                                            String content1 = str + bt.toString() + nr.toString().trim();
+                                            if (StrUtil.isBlank(content)) content1 = "     ";
+                                            paragraph = new Paragraph(content1, defaultFont);
+                                        }
 //                                    if (StrUtil.isBlank(content)) content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        document2.add(paragraph);
+                                    }
+                                    paragraph = PdfUtils.setParagraph(defaultFont, "");
+                                    paragraph.setSpacingBefore(2f);
+                                    paragraph.setSpacingAfter(5f);
                                     document2.add(paragraph);
                                 }
-                                paragraph = PdfUtils.setParagraph(defaultFont, "");
-                                paragraph.setSpacingBefore(2f);
-                                paragraph.setSpacingAfter(5f);
-                                document2.add(paragraph);
-                            }
 //                    }
-                            index++;
+                                index++;
+                            }
                         }
-                    }
-                    if (isXmWrite) {
-                        paragraph = PdfUtils.setParagraph(defaultFont, "");
-                        paragraph.setSpacingBefore(0f);
-                        paragraph.setSpacingAfter(5f);
-                        document2.add(paragraph);
+                        if (isXmWrite) {
+                            paragraph = PdfUtils.setParagraph(defaultFont, "");
+                            paragraph.setSpacingBefore(0f);
+                            paragraph.setSpacingAfter(5f);
+                            document2.add(paragraph);
+                        }
                     }
                 }
             }
         }
+
         for (int i = 0; i < 1; i++) {
             paragraph = PdfUtils.setParagraph(defaultFont, "");
             document2.add(paragraph);
@@ -1284,7 +1419,7 @@
             paragraph = PdfUtils.setParagraph(defaultFont, "鏃�");
             document2.add(paragraph);
         } else {
-            Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(),defaultFont);
+            Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(), defaultFont);
             //璁剧疆鏂囧瓧灞呬腑
             paragraphs.setAlignment(Element.ALIGN_LEFT);
             //琛岄棿璺�
@@ -1314,7 +1449,7 @@
         document2.add(paragraphNone);
 
 
-        PdfPTable tableQz = new PdfPTable(new float[]{100f,100f,50f});
+        PdfPTable tableQz = new PdfPTable(new float[]{100f, 100f, 50f});
         tableQz.setTotalWidth(PageSize.A4.getWidth() - 100);
         tableQz.setLockedWidth(true);
         tableQz.setHorizontalAlignment(Element.ALIGN_LEFT);
@@ -1380,10 +1515,10 @@
         cell.setPaddingTop(10);
         cell.setPaddingBottom(10);
         String zongjianysname = sysConfigService.selectConfigByKey("pdf_report_zongjianysname");
-        if (zongJianYiShiQianMing == null && StrUtil.isNotBlank(zongjianysname)  && !zongjianysname.equals("鏃�")) {
+        if (zongJianYiShiQianMing == null && StrUtil.isNotBlank(zongjianysname) && !zongjianysname.equals("鏃�")) {
             cell.setPhrase(new Phrase(zongjianysname, zongJianFont));
             tableQz.addCell(cell);
-        }else if(zongJianYiShiQianMing == null && zongjianysname.equals("鏃�")){
+        } else if (zongJianYiShiQianMing == null && zongjianysname.equals("鏃�")) {
             String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
             cell.setPhrase(new Phrase(nickName, zongJianFont));
             tableQz.addCell(cell);
@@ -1418,14 +1553,13 @@
         document2.close();
 
 
-
         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.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));
@@ -1439,7 +1573,7 @@
         Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
         notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
         try {
-            notHuaYanTable(document, printReport, dictHosp, color,false);
+            notHuaYanTable(document, printReport, dictHosp, color, false);
         } catch (DocumentException e) {
             log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�");
             log.error(String.valueOf(e));
@@ -1451,16 +1585,13 @@
         printReport = new HashMap<>();
         pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
         try {
-            notHuaYanTable(document, printReport, dictHosp, color,true);
+            notHuaYanTable(document, printReport, dictHosp, color, true);
         } catch (DocumentException e) {
             log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父");
             log.error(String.valueOf(e));
             return AjaxResult.error();
         }
         document.close();
-
-
-
 
 
         // 棣栭〉琛ㄥ崟
@@ -1501,9 +1632,9 @@
             tjtype = "涓汉";
             hashMap.put("tjtype", tjtype);
         }
-        if (StrUtil.isNotBlank(tjOrder.getFirmName())){
+        if (StrUtil.isNotBlank(tjOrder.getFirmName())) {
             hashMap.put("work", tjOrder.getFirmName());
-        }else {
+        } else {
 //            LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>();
 //            wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId());
 //            DictComp dictComp = dictCompService.getOne(wq111);
@@ -1517,7 +1648,7 @@
         if (StrUtil.isBlank(tjOrder.getFirmDeptName())) {
             hashMap.put("bumen", "鏃�");
         } else {
-            hashMap.put("bumen",tjOrder.getFirmDeptName());
+            hashMap.put("bumen", tjOrder.getFirmDeptName());
         }
         hashMap.put("sex", sex);
         hashMap.put("tjnumber", tjNumber);
@@ -1532,7 +1663,6 @@
         reader4.close();
         // 灏嗕慨鏀瑰悗鐨凱DF鍐呭鍐欏叆
         byte[] bytes = byteArrayOutputStream4.toByteArray();
-
 
 
         ByteArrayOutputStream finalOutput = new ByteArrayOutputStream();
@@ -1633,23 +1763,23 @@
 //                    makeYiShiInfoLine(phrase, doctorFonts, bgysqm, bgysbh,"     鎶ュ憡鍖诲笀锛�");
 //                }
 //            }else {
-                builder = new StringBuilder();
-                if (null != sqrxm && StrUtil.isNotBlank(sqrxm)){
-                    builder.append("鐢宠浜猴細").append(sqrxm);
-                }
-                if (null != jcysqm && StrUtil.isNotBlank(jcysqm)){
-                    builder.append("     妫�鏌ュ尰甯堬細").append(jcysqm);
-                }
-                if (null != shysqm && StrUtil.isNotBlank(shysqm)){
-                    builder.append("     瀹℃牳鍖诲笀锛�").append(shysqm);
-                }
-                if (null != bgysqm && StrUtil.isNotBlank(bgysqm)){
-                    builder.append("     鎶ュ憡鍖诲笀锛�").append(bgysqm);
-                }
-                footer = builder.toString().trim();
+            builder = new StringBuilder();
+            if (null != sqrxm && StrUtil.isNotBlank(sqrxm)) {
+                builder.append("鐢宠浜猴細").append(sqrxm);
+            }
+            if (null != jcysqm && StrUtil.isNotBlank(jcysqm)) {
+                builder.append("     妫�鏌ュ尰甯堬細").append(jcysqm);
+            }
+            if (null != shysqm && StrUtil.isNotBlank(shysqm)) {
+                builder.append("     瀹℃牳鍖诲笀锛�").append(shysqm);
+            }
+            if (null != bgysqm && StrUtil.isNotBlank(bgysqm)) {
+                builder.append("     鎶ュ憡鍖诲笀锛�").append(bgysqm);
+            }
+            footer = builder.toString().trim();
 //            }
 //            elements.add(phrase);
-            ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null, footer,elements);
+            ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null, footer, elements);
             if (outputStream == null)
                 throw new Exception();
             jianchas.add(outputStream);
@@ -1668,7 +1798,7 @@
 
         TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId());
 
-       List<LtkjExamJcbgd> list=jcbgdService.getJianJcBaoGaoDanByTjh(tjOrder.getCardId());
+        List<LtkjExamJcbgd> list = jcbgdService.getJianJcBaoGaoDanByTjh(tjOrder.getCardId());
 
         List<ByteArrayOutputStream> jianchas = new ArrayList<>();
         Paragraph elements = new Paragraph();
@@ -1679,7 +1809,7 @@
 
         for (LtkjExamJcbgd getexamreportinfo : list) {
             String xm = customer.getCusName();
-            String xb = customer.getCusSex()==2 ? "濂�" : "鐢�";
+            String xb = customer.getCusSex() == 2 ? "濂�" : "鐢�";
             String nl = customer.getAge();
             String jcks = "浣撴涓績";
             String sjks = "";
@@ -1697,20 +1827,20 @@
             StringBuilder builder;
             String footer;
             builder = new StringBuilder();
-            if (null != sqrxm && StrUtil.isNotBlank(sqrxm)){
+            if (null != sqrxm && StrUtil.isNotBlank(sqrxm)) {
                 builder.append("鐢宠浜猴細").append(sqrxm);
             }
-            if (null != jcysqm && StrUtil.isNotBlank(jcysqm)){
+            if (null != jcysqm && StrUtil.isNotBlank(jcysqm)) {
                 builder.append("     妫�鏌ュ尰甯堬細").append(jcysqm);
             }
-            if (null != shysqm && StrUtil.isNotBlank(shysqm)){
+            if (null != shysqm && StrUtil.isNotBlank(shysqm)) {
                 builder.append("     瀹℃牳鍖诲笀锛�").append(shysqm);
             }
-            if (null != bgysqm && StrUtil.isNotBlank(bgysqm)){
+            if (null != bgysqm && StrUtil.isNotBlank(bgysqm)) {
                 builder.append("     鎶ュ憡鍖诲笀锛�").append(bgysqm);
             }
             footer = builder.toString().trim();
-            ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null, footer,elements);
+            ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null, footer, elements);
             if (outputStream == null)
                 throw new Exception();
             jianchas.add(outputStream);
@@ -1720,13 +1850,14 @@
 
     /**
      * 鍖诲笀淇℃伅琛�
+     *
      * @param phrase
      * @param doctorFonts
      * @param sqrxm
      * @param sqrbh
      * @throws BadElementException
      */
-    private void makeYiShiInfoLine(Phrase phrase, Font doctorFonts, String sqrxm, String sqrbh,String title) throws BadElementException {
+    private void makeYiShiInfoLine(Phrase phrase, Font doctorFonts, String sqrxm, String sqrbh, String title) throws BadElementException {
         String qmImg = dictUserInfoMapper.selectQmImgInnerJoinUserByHisDictCode(sqrbh);
 //        String qmImg = dictUserInfoMapper.selectQmImgInnerJoinUserByUserId(sqrbh);
         if (null != qmImg && StrUtil.isNotBlank(qmImg)) {
@@ -1735,13 +1866,13 @@
             try {
                 image = Image.getInstance(decode);
                 image.scaleToFit(60, 25);
-                phrase.add(new Chunk(title,doctorFonts));
-                phrase.add(new Chunk(image,0,-10,true));
+                phrase.add(new Chunk(title, doctorFonts));
+                phrase.add(new Chunk(image, 0, -10, true));
             } catch (IOException e) {
-                phrase.add(new Chunk(title+sqrxm, doctorFonts));
+                phrase.add(new Chunk(title + sqrxm, doctorFonts));
             }
-        }else {
-            phrase.add(new Chunk(title+sqrxm, doctorFonts));
+        } else {
+            phrase.add(new Chunk(title + sqrxm, doctorFonts));
         }
     }
 
@@ -1786,7 +1917,6 @@
     }
 
 
-
     /**
      * 濉厖妫�楠岃〃鏍兼暟鎹�
      *
@@ -1794,9 +1924,9 @@
      * @param map
      * @throws DocumentException
      */
-    private void makeHisJianYanTable(Document document1, HashMap<String, Object> map,DictHosp dictHosp,String colorStr) throws DocumentException {
+    private void makeHisJianYanTable(Document document1, HashMap<String, Object> map, DictHosp dictHosp, String colorStr) throws DocumentException {
         if (!map.isEmpty()) {
-            String[] titles = new String[]{"浣撴椤圭洰", "浣撴缁撴灉","鎻愮ず", "鍗曚綅", "鍙傝�冭寖鍥�"};
+            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();
@@ -1804,7 +1934,7 @@
                 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);
+                addJianYanTable(document1, titleName, titles, titlesWidth, lists, dictHosp, colorStr);
                 if (!jyys.isEmpty()) {
                     Font doctorFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                     String doctors = "";
@@ -1814,7 +1944,7 @@
                     elements.setSpacingAfter(10f);
                     elements.setAlignment(Element.ALIGN_RIGHT);
                     Phrase phrase = new Phrase();
-                    phrase.add(new Chunk("妫�鏌ユ棩鏈燂細"+shsj+"         瀹℃牳鍖诲笀锛�",doctorFonts));
+                    phrase.add(new Chunk("妫�鏌ユ棩鏈燂細" + shsj + "         瀹℃牳鍖诲笀锛�", doctorFonts));
                     boolean flag = false;
                     for (String s : jyys) {
                         if (s.contains("|")) {
@@ -1827,12 +1957,12 @@
                                 try {
                                     image = Image.getInstance(decode);
                                     image.scaleToFit(60, 25);
-                                    phrase.add(new Chunk(image,0,-10,true));
+                                    phrase.add(new Chunk(image, 0, -10, true));
                                 } catch (IOException e) {
-                                    phrase.add(new Chunk(split[0].trim(),doctorFonts));
+                                    phrase.add(new Chunk(split[0].trim(), doctorFonts));
                                 }
                             } else {
-                                phrase.add(new Chunk(split[0].trim(),doctorFonts));
+                                phrase.add(new Chunk(split[0].trim(), doctorFonts));
                             }
                         } else {
                             doctors += s.trim() + "銆�";
@@ -1840,7 +1970,7 @@
                     }
                     if (!flag) {
                         String substring = doctors.substring(0, doctors.length() - 1).trim();
-                        Paragraph df = PdfUtils.setParagraph(doctorFonts, "妫�鏌ユ棩鏈燂細"+shsj+"         瀹℃牳鍖诲笀锛�" + substring);
+                        Paragraph df = PdfUtils.setParagraph(doctorFonts, "妫�鏌ユ棩鏈燂細" + shsj + "         瀹℃牳鍖诲笀锛�" + substring);
                         df.setAlignment(Element.ALIGN_RIGHT);
                         document1.add(df);
                     } else {
@@ -1866,7 +1996,7 @@
      * @param printReport
      * @throws DocumentException
      */
-    private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport,DictHosp dictHosp,String colorStr,boolean isPacs) throws DocumentException {
+    private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs) throws DocumentException {
         for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
             LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>();
             wqqq.eq(TjProject::getProId, entry.getKey().getProId());
@@ -1876,7 +2006,7 @@
             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()))){
+                if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))) {
                     continue;
                 }
                 String titleName = null;
@@ -1900,7 +2030,7 @@
                         tableTitle.addCell(cellTitle);
                         // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓�
                         document1.add(tableTitle);
-                    }else {
+                    } else {
                         document1.add(paragraph);
                     }
 
@@ -1912,9 +2042,9 @@
 //                    document1.add(table);
 
 //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
-                    if (true && !value.isEmpty()){
-                        if (value.size()>1){
-                            if (value.get(0).getPid().equals("1862852701533012001")){
+                    if (true && !value.isEmpty()) {
+                        if (value.size() > 1) {
+                            if (value.get(0).getPid().equals("1862852701533012001")) {
                                 Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                                 Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -1932,7 +2062,7 @@
                                 document1.add(ppp);
 
 
-                                ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts);
+                                ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
@@ -1951,17 +2081,17 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                 }
-                            }else {
+                            } 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});
+                                PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
                                 document1.add(table);
                             }
-                        }else {
+                        } else {
                             Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
 
-                            if (isPacs){
+                            if (isPacs) {
                                 Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
                                 document1.add(pp);
                                 Paragraph ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
@@ -1974,8 +2104,8 @@
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
-                            }else {
-                                if (value.get(0).getPid().equals("1862852701533012001")){
+                            } else {
+                                if (value.get(0).getPid().equals("1862852701533012001")) {
                                     remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                                     Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -1993,7 +2123,7 @@
                                     document1.add(ppp);
 
 
-                                    ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts);
+                                    ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
@@ -2012,20 +2142,20 @@
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
                                     }
-                                }else {
+                                } 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});
+                                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300});
                                     document1.add(table);
                                 }
                             }
                         }
-                    }else {
+                    } 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});
+                        PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
                         document1.add(table);
                     }
                     //鍒ゆ柇澶囨敞鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
@@ -2033,7 +2163,7 @@
                         entry.getKey().setRemark("");
                     }
 //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-                    if (!true){
+                    if (!true) {
                         String remark = "澶囨敞锛�" + entry.getKey().getRemark();
                         if (entry.getKey().getRemark().length() > 50) {
                             int j = 0;
@@ -2057,7 +2187,7 @@
                         }
                     }
                     //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                    zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp);
+                    zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp);
                     //鍒嗗壊绾�
 //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
                     if (!true) {
@@ -2078,7 +2208,7 @@
 
 //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
                     if (true) {
-                        if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))){
+                        if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))) {
                             continue;
                         }
                         Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE);
@@ -2093,7 +2223,7 @@
                         tableTitle.addCell(cellTitle);
                         // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓�
                         document1.add(tableTitle);
-                    }else {
+                    } else {
                         document1.add(paragraph);
                     }
 
@@ -2104,9 +2234,9 @@
 //                    document1.add(table);
 
 //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
-                    if (true && !value.isEmpty()){
-                        if (value.size()>1){
-                            if (value.get(0).getPid().equals("1862852701533012001")){
+                    if (true && !value.isEmpty()) {
+                        if (value.size() > 1) {
+                            if (value.get(0).getPid().equals("1862852701533012001")) {
                                 Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                                 Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -2124,7 +2254,7 @@
                                 document1.add(ppp);
 
 
-                                ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts);
+                                ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
@@ -2143,18 +2273,18 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                 }
-                            }else {
+                            } 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});
+                                PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240});
                                 document1.add(table);
                             }
 
-                        }else {
+                        } else {
                             Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
 
-                            if (isPacs){
+                            if (isPacs) {
                                 Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
                                 document1.add(pp);
                                 Paragraph ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts);
@@ -2167,8 +2297,8 @@
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
-                            }else {
-                                if (value.get(0).getPid().equals("1862852701533012001")){
+                            } else {
+                                if (value.get(0).getPid().equals("1862852701533012001")) {
                                     remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                                     Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -2186,7 +2316,7 @@
                                     document1.add(ppp);
 
 
-                                    ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts);
+                                    ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
@@ -2205,21 +2335,21 @@
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
                                     }
-                                }else {
+                                } 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});
+                                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300});
                                     document1.add(table);
                                 }
                             }
 
                         }
-                    }else {
+                    } 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);
+                        PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value, isPacs);
                         document1.add(table);
                     }
 
@@ -2229,7 +2359,7 @@
                         entry.getKey().setRemark("");
                     }
 //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-                    if (!true){
+                    if (!true) {
                         String remark = "澶囨敞锛�" + entry.getKey().getRemark();
                         if (entry.getKey().getRemark().length() > 50) {
                             int j = 0;
@@ -2253,7 +2383,7 @@
                         }
                     }
                     //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
-                    zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp);
+                    zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp);
 //                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
                     if (!true) {
                         //鍒嗗壊绾�
@@ -2267,24 +2397,25 @@
 
     /**
      * 涓昏鍖诲笀琛屾樉绀鸿缃�
+     *
      * @param document1
      * @param entry
      * @throws DocumentException
      */
-    private void zhuJianYiShi(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry,Date createTime,DictHosp dictHosp) throws DocumentException {
+    private void zhuJianYiShi(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry, Date createTime, DictHosp dictHosp) throws DocumentException {
 //        if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") ) {
-        if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || true ) {
+        if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || true) {
             //涓绘鍖诲笀
             String key = sysConfigService.selectConfigByKey("is_report_pdf_use_ysqm");
             SysUser sysUser = userService.getById(entry.getKey().getDoctorName());
             String doctorNameDefault = "鏃�";
-            if (sysUser != null)doctorNameDefault = sysUser.getNickName();
+            if (sysUser != null) doctorNameDefault = sysUser.getNickName();
 //            if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-            if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && true){
+            if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && true) {
                 doctorNameDefault = entry.getValue().get(0).getShys();
             }
             Font doctorFonts = PdfUtils.setFont(9);
-            if (key.equals("Y")){
+            if (key.equals("Y")) {
                 String qmImg = dictUserInfoMapper.selectQmImgInnerJoinUserByUserId(String.valueOf(sysUser.getUserId()));
                 if (null != qmImg && StrUtil.isNotBlank(qmImg)) {
                     Paragraph elements = new Paragraph();
@@ -2294,8 +2425,8 @@
                     elements.setAlignment(Element.ALIGN_RIGHT);
                     Phrase phrase = new Phrase();
                     if (createTime != null) {
-                        phrase.add(new Chunk("妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+"             涓绘鍖诲笀锛�", doctorFonts));
-                    }else {
+                        phrase.add(new Chunk("妫�鏌ユ椂闂达細" + new SimpleDateFormat("yyyy-MM-dd").format(createTime) + "             涓绘鍖诲笀锛�", doctorFonts));
+                    } else {
                         phrase.add(new Chunk("涓绘鍖诲笀锛�", doctorFonts));
                     }
                     byte[] decode = Base64.getDecoder().decode(qmImg);
@@ -2303,33 +2434,37 @@
                     try {
                         image = Image.getInstance(decode);
                         image.scaleToFit(60, 25);
-                        phrase.add(new Chunk(image,0,-10,true));
+                        phrase.add(new Chunk(image, 0, -10, true));
                         elements.add(phrase);
                         document1.add(elements);
                     } catch (IOException e) {
                         String doctorName = "涓绘鍖诲笀锛�" + doctorNameDefault;
-                        if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+"             涓绘鍖诲笀锛�" + doctorNameDefault;
+                        if (createTime != null)
+                            doctorName = "妫�鏌ユ椂闂达細" + new SimpleDateFormat("yyyy-MM-dd").format(createTime) + "             涓绘鍖诲笀锛�" + doctorNameDefault;
                         Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
                         df.setAlignment(Element.ALIGN_RIGHT);
                         document1.add(df);
                     }
-                }else {
+                } else {
                     String doctorName = "涓绘鍖诲笀锛�" + doctorNameDefault;
-                    if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+"             涓绘鍖诲笀锛�" + doctorNameDefault;
+                    if (createTime != null)
+                        doctorName = "妫�鏌ユ椂闂达細" + new SimpleDateFormat("yyyy-MM-dd").format(createTime) + "             涓绘鍖诲笀锛�" + doctorNameDefault;
                     Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
                     df.setAlignment(Element.ALIGN_RIGHT);
                     document1.add(df);
                 }
-            }else {
+            } else {
                 String doctorName = "涓绘鍖诲笀锛�" + doctorNameDefault;
-                if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+"             涓绘鍖诲笀锛�" + doctorNameDefault;
+                if (createTime != null)
+                    doctorName = "妫�鏌ユ椂闂达細" + new SimpleDateFormat("yyyy-MM-dd").format(createTime) + "             涓绘鍖诲笀锛�" + doctorNameDefault;
                 Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
                 df.setAlignment(Element.ALIGN_RIGHT);
                 document1.add(df);
             }
         } else {
             String doctorName = "涓绘鍖诲笀锛�" + "鏃�";
-            if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+"             涓绘鍖诲笀锛�" + "鏃�";
+            if (createTime != null)
+                doctorName = "妫�鏌ユ椂闂达細" + new SimpleDateFormat("yyyy-MM-dd").format(createTime) + "             涓绘鍖诲笀锛�" + "鏃�";
             Font doctorFonts = PdfUtils.setFont(9);
             Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName);
             df.setAlignment(Element.ALIGN_RIGHT);
@@ -2413,10 +2548,10 @@
                 HashMap<String, Object> map = new HashMap<>();
                 map.put("data", lists);
                 map.put("jyys", hashSet);
-                if (StrUtil.isNotBlank(shsj)){
+                if (StrUtil.isNotBlank(shsj)) {
                     shsj = shsj.split(" ")[0];
                 }
-                map.put("shsj",shsj);
+                map.put("shsj", shsj);
                 data.put(xmmc, map);
             }
         }
@@ -2429,7 +2564,7 @@
      * @param tjOrder
      * @param reportTemplate
      */
-    public HashMap<String, Object> makePDFInfo(TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,DictHosp dictHosp,HashMap<String, Object> jianYanMap) {
+    public HashMap<String, Object> makePDFInfo(TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate, DictHosp dictHosp, HashMap<String, Object> jianYanMap) {
         String tjNumber = tjOrder.getTjNumber();
         String template = reportTemplate.getTemplate();
         LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>();
@@ -2506,7 +2641,7 @@
                 } else {
                     str.append("    鏃狅紱\n");
                 }
-            }else {
+            } else {
                 int maxProjectLength = 0;
                 for (Map.Entry<String, Object> item : jianYanMap.entrySet()) {
                     HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue();
@@ -2544,7 +2679,7 @@
             }
             //寮傚父椤圭洰
             data.put("yichang", str.toString());
-            data.put("zjrq",new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()));
+            data.put("zjrq", new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()));
             // 閬嶅巻data 缁檖df琛ㄥ崟琛ㄦ牸璧嬪��
             for (String key : data.keySet()) {
                 acroFields.setField(key, data.get(key).toString());
@@ -2572,7 +2707,7 @@
             map.put("document", document);
             map.put("copy", copy);
             map.put("stream", finalOutPut);
-            map.put("form",pdfStamper);
+            map.put("form", pdfStamper);
             return map;
         } catch (IOException | DocumentException e) {
             e.printStackTrace();
@@ -2638,8 +2773,8 @@
                         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()));
+                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
+                        wrapper.eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
 //                        LtkjExamJcbgd jcbgd = jcbgdService.getOne(wrapper);
 //                        if (jcbgd != null){
 //                            tjPdfVO.setTs(jcbgd.getYxbx());
@@ -2653,6 +2788,7 @@
             printReport.put(entry.getKey(), tjPdfVOS);
         }
     }
+
     private void pacsJianChaData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
 //        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
 //        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
@@ -2676,7 +2812,7 @@
 
                     if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())
                             && entry.getKey().getType() == 1
-                    && !ids.contains(String.valueOf(tjOrderDetail.getProject().getProParentId()))) {
+                            && !ids.contains(String.valueOf(tjOrderDetail.getProject().getProParentId()))) {
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
                         tjPdfVO.setProResult(tjOrderDetail.getProResult());
@@ -2688,18 +2824,18 @@
                         }
                         tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
                         LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
-                        wrapper.eq(LtkjExamJcbgd::getTjh,tjNumber);
-                        wrapper.like(LtkjExamJcbgd::getXmdm,String.valueOf(tjOrderDetail.getProject().getProParentId()));
+                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
+                        wrapper.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
                         wrapper.orderByDesc(LtkjExamJcbgd::getZdsj);
                         List<LtkjExamJcbgd> list = jcbgdService.list(wrapper);
-                        if(null !=list && !list.isEmpty()){
+                        if (null != list && !list.isEmpty()) {
                             LtkjExamJcbgd jcbgd = list.get(0);
-                            if (jcbgd != null){
+                            if (jcbgd != null) {
                                 tjPdfVO.setTs(jcbgd.getYxbx());
                                 tjPdfVO.setSj(jcbgd.getBgNr());
                                 tjPdfVO.setShys(jcbgd.getShysxm());
                                 tjPdfVO.setProName(jcbgd.getXmmc());
-                                ids+="|"+jcbgd.getXmdm();
+                                ids += "|" + jcbgd.getXmdm();
                             }
                         }
                         tjPdfVOS.add(tjPdfVO);
@@ -2831,7 +2967,7 @@
         document.add(table);
     }
 
-    private static void addJianYanTable(Document document, String titleName, String[] titles, float[] titlesWidth, ArrayList<List<String>> lists,DictHosp dictHosp,String colorStr) throws DocumentException {
+    private static void addJianYanTable(Document document, String titleName, String[] titles, float[] titlesWidth, ArrayList<List<String>> lists, DictHosp dictHosp, String colorStr) throws DocumentException {
         // 澶ч」鏍囬
         Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE);
 //        if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
@@ -2867,7 +3003,7 @@
 
             // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓�
             document.add(tableTitle);
-        }else {
+        } else {
             document.add(paragraph);
         }
         // 鍒涘缓涓�涓〃鏍煎苟娣诲姞鍒版枃妗�
@@ -2895,8 +3031,8 @@
             boolean isYc = false;
             textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
 //            if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
-            if (true){
-                if (list.contains("鈫�") || list.contains("鈫�")){
+            if (true) {
+                if (list.contains("鈫�") || list.contains("鈫�")) {
                     isYc = true;
                 }
             }
@@ -2909,13 +3045,13 @@
                 nameCell.setHorizontalAlignment(Element.ALIGN_LEFT);
 
                 nameCell.setBorder(Rectangle.NO_BORDER); // 绉婚櫎鍗曞厓鏍艰竟妗�
-                if (isYc){
+                if (isYc) {
                     textFont.setStyle(Font.BOLD);
                     nameCell.setPhrase(new Paragraph(s, textFont));
                     nameCell.setBorder(Rectangle.NO_BORDER);
 //                    Color color = Color.decode("#0033cc");
 //                    nameCell.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue())); // 璁剧疆鑳屾櫙棰滆壊锛堝崄鍏繘鍒� RGB锛�
-                }else {
+                } else {
                     nameCell.setPhrase(new Paragraph(s, textFont));
                 }
                 table.addCell(nameCell);
@@ -2945,7 +3081,7 @@
      * @return bytearrayoutputstream
      */
     public static ByteArrayOutputStream makeJcPDFByteArrayStream(String xm, String xb, String nl, String jcks, String zyh, String ch, String sjks, String jcsb, String jch
-            , String jcxm, String ms, String ts, File[] files, String footer,Paragraph elements) {
+            , String jcxm, String ms, String ts, File[] files, String footer, Paragraph elements) {
         try {
             Document document = new Document(PageSize.A4);
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -3232,7 +3368,7 @@
             this.footerText = footerText;
         }
 
-        public Footer(Paragraph paragraph){
+        public Footer(Paragraph paragraph) {
             this.paragraph = paragraph;
         }
 
@@ -3261,7 +3397,7 @@
         private String age;
         private Integer page;
 
-        public FooterHeaderPageEvent(String name,String tjName,String tjNumber,String sex,String age,Integer page) {
+        public FooterHeaderPageEvent(String name, String tjName, String tjNumber, String sex, String age, Integer page) {
             this.name = name;
             this.tjNumber = tjNumber;
             this.tjName = tjName;
@@ -3339,7 +3475,7 @@
             footerTable.setSpacingBefore(0); // 鍘婚櫎琛ㄦ牸椤堕儴鐨勯棿璺�
             footerTable.setSpacingAfter(0); // 鍘婚櫎琛ㄦ牸搴曢儴鐨勯棿璺�
             footerTable.getDefaultCell().setBorder(Rectangle.NO_BORDER); // 鍘婚櫎鎵�鏈夊崟鍏冩牸鐨勮竟妗�
-            float[] columnWidths = { 2.5f, 2f };  // 绗竴鍒楀崰 1锛岀浜屽垪鍗� 2
+            float[] columnWidths = {2.5f, 2f};  // 绗竴鍒楀崰 1锛岀浜屽垪鍗� 2
             footerTable.setWidths(columnWidths); // 璁剧疆鍒楀姣斾緥
 
             // 绗竴琛岋細鍖婚櫌鍚嶅拰椤电爜
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index 04439d8..1333268 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -56,6 +56,7 @@
 import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
 import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
 import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect;
+import static org.jeecg.modules.jmreport.dyndb.util.b.a;
 
 /**
  * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞�
@@ -124,6 +125,8 @@
     private ITjRulesService rulesService;
     @Autowired
     private ITjProAdvicerulesService tjProAdvicerulesService;
+    @Autowired
+    private TjOrderYcxmService ycxmService;
 
 
     @GetMapping ("/ceshicc")
@@ -1636,7 +1639,53 @@
     @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛")
     public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
         if (StrUtil.isNotBlank(tjNum)) {
+        LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
+        wq.eq(TjOrderYcxm::getTjh,tjNum);
+        List<TjOrderYcxm> list = ycxmService.list(wq);
+        if(null !=list && !list.isEmpty()){
+            Collections.reverse(list);
+            Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
+            List<Map<String, Object>> maps = new ArrayList<>();
+
+            for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) {
+
+                Map<String, Object> parent = new HashMap<>();
+
+                List<TjOrderDetail> dels = new ArrayList<>();
+
+                for (TjOrderYcxm ycxm : entry.getValue()) {
+                    TjOrderDetail detail=new TjOrderDetail();
+                    detail.setProName(ycxm.getJcxm());
+                    detail.setProResult(ycxm.getJcjg());
+                    detail.setStanId(ycxm.getCkfw());
+                    detail.setProAdvice(ycxm.getDw());
+                    List<Map<String,Object>> btnrlist=new ArrayList<>();
+                    String jynr = ycxm.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) btnrlist.add(objectMap);
+                    }
+                    detail.setAdvices(btnrlist);
+                    dels.add(detail);
+                }
+
+                    parent.put("proName",entry.getKey());
+                    parent.put("jyjc",entry.getValue().get(0).getJyjc());
+                    parent.put("sone",dels);
+                    maps.add(parent);
+            }
+            return AjaxResult.success(maps);
+        }else {
             return zongjianyishengchakanyichangxiangmu(tjNum);
+        }
+
+//            return zongjianyishengchakanyichangxiangmu(tjNum);
         }
         return AjaxResult.error();
     }
@@ -1719,5 +1768,24 @@
     }
 
 
+    @PostMapping ("/addOrderYcXmByTjh")
+    @ApiOperation (value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿")
+    public AjaxResult addOrderYcXmJyByTjh(@RequestBody List<TjOrderYcxm> ycxms) {
+        if(null !=ycxms && !ycxms.isEmpty()){
+            String tjh = ycxms.get(0).getTjh();
+            if(StringUtils.isNotBlank(tjh)){
+                ycxmService.delOrderYcXmJyByTjh(tjh);
+
+                for (TjOrderYcxm ycxm : ycxms) {
+                    ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap()));
+                }
+                ycxmService.saveBatch(ycxms);
+                return AjaxResult.success();
+            }
+        }
+        return AjaxResult.error();
+    }
+
+
 
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxm.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxm.java
new file mode 100644
index 0000000..bde21eb
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxm.java
@@ -0,0 +1,50 @@
+package com.ltkj.hosp.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ltkj.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ClassName: TjOrderYcxm <br/>
+ * Description: <br/>
+ * date: 2025/1/21 15:36<br/>
+ *
+ * @author zjh<br />
+ */
+
+@Data
+@ApiModel
+public class TjOrderYcxm extends BaseEntity {
+   private String id;
+
+   @ApiModelProperty(value = "浣撴鍙�")
+   private String tjh;
+   @ApiModelProperty(value = "鐖堕」鐩�")
+   private String parentName ;
+   @ApiModelProperty(value = "妫�娴嬮」鐩�")
+   private String jcxm;
+   @ApiModelProperty(value = "妫�鏌ョ粨鏋�")
+   private String jcjg;
+   @ApiModelProperty(value = "鍙傝�冭寖鍥�")
+   private String ckfw;
+   @ApiModelProperty(value = "鍗曚綅")
+   private String dw;
+   @ApiModelProperty(value = "鏍囬")
+   private String jynr;
+   @ApiModelProperty(value = "妫�楠屾鏌�")
+   private String jyjc;
+
+   @ApiModelProperty(value = "鏁扮粍")
+   @TableField(exist = false)
+   private List<TjOrderYcxmMap> map;
+
+
+   @ApiModelProperty(value = "鏁扮粍1")
+   @TableField(exist = false)
+   private List<Map<String,Object>> yclist;
+}
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxmMap.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxmMap.java
new file mode 100644
index 0000000..f0fec1a
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderYcxmMap.java
@@ -0,0 +1,20 @@
+package com.ltkj.hosp.domain;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * ClassName: TjOrderYcxmMap <br/>
+ * Description: <br/>
+ * date: 2025/1/21 16:44<br/>
+ *
+ * @author zjh<br />
+ */
+
+@Data
+public class TjOrderYcxmMap {
+    @ApiModelProperty(value = "鏍囬")
+    private String bt;
+    @ApiModelProperty(value = "鍐呭")
+    private String nr;
+}
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderYcxmMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderYcxmMapper.java
new file mode 100644
index 0000000..a6952d6
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderYcxmMapper.java
@@ -0,0 +1,20 @@
+package com.ltkj.hosp.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ltkj.hosp.domain.TjOrderYcxm;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * ClassName: TjOrderYcxmMapper <br/>
+ * Description: <br/>
+ * date: 2025/1/21 15:37<br/>
+ *
+ * @author zjh<br />
+ */
+@Mapper
+public interface TjOrderYcxmMapper extends BaseMapper<TjOrderYcxm> {
+
+    @Delete("DELETE FROM tj_order_ycxm WHERE tjh=#{tjh}")
+    void delOrderYcXmJyByTjh(String tjh);
+}
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjOrderYcxmService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjOrderYcxmService.java
new file mode 100644
index 0000000..1ab3e3e
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjOrderYcxmService.java
@@ -0,0 +1,16 @@
+package com.ltkj.hosp.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ltkj.hosp.domain.TjOrderYcxm;
+
+/**
+ * ClassName: TjOrderYcxmService <br/>
+ * Description: <br/>
+ * date: 2025/1/21 15:38<br/>
+ *
+ * @author zjh<br />
+ */
+
+public interface TjOrderYcxmService extends IService<TjOrderYcxm> {
+    void delOrderYcXmJyByTjh(String tjh);
+}
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderYcxmServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderYcxmServiceImpl.java
new file mode 100644
index 0000000..2713bed
--- /dev/null
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderYcxmServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ltkj.hosp.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ltkj.hosp.domain.TjOrderYcxm;
+import com.ltkj.hosp.mapper.TjOrderYcxmMapper;
+import com.ltkj.hosp.service.TjOrderYcxmService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * ClassName: TjOrderYcxmServiceImpl <br/>
+ * Description: <br/>
+ * date: 2025/1/21 15:40<br/>
+ *
+ * @author zjh<br />
+ */
+@Service
+public class TjOrderYcxmServiceImpl extends ServiceImpl<TjOrderYcxmMapper, TjOrderYcxm> implements TjOrderYcxmService {
+   @Resource
+   private TjOrderYcxmMapper mapper;
+
+    @Override
+    public void delOrderYcXmJyByTjh(String tjh) {
+        mapper.delOrderYcXmJyByTjh(tjh);
+    }
+}
diff --git a/ltkj-hosp/src/main/resources/mapper/TjPackageMapper.xml b/ltkj-hosp/src/main/resources/mapper/TjPackageMapper.xml
index ed14c8f..6b78b04 100644
--- a/ltkj-hosp/src/main/resources/mapper/TjPackageMapper.xml
+++ b/ltkj-hosp/src/main/resources/mapper/TjPackageMapper.xml
@@ -54,7 +54,8 @@
                sale_num,
                category_id,
                his_pac_bm,
-               pym,tj_category
+               pym,
+               tj_category
         from tj_package
     </sql>
 
@@ -64,6 +65,7 @@
             <if test="pacName != null  and pacName != ''">and pac_name like concat('%', #{pacName}, '%')</if>
             <if test="pacRemark != null  and pacRemark != ''">and pac_remark like concat('%', #{pacRemark}, '%')</if>
             <if test="categoryId != null  and categoryId != ''">and category_id = #{categoryId}</if>
+            <if test="tjCategory != null  and tjCategory != ''">and tj_category = #{tjCategory}</if>
             and deleted =0
         </where>
     </select>

--
Gitblit v1.8.0