From eac48696e8df9a0a6eace257adcea4ee203d6fe0 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 02 一月 2025 16:53:58 +0800
Subject: [PATCH] zjh20250102

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |  421 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 264 insertions(+), 157 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 2023cc8..5cf465f 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
@@ -30,6 +30,7 @@
 import com.ltkj.system.service.ISysDictDataService;
 import com.ltkj.system.service.ISysUserService;
 import com.ltkj.web.config.pdfutils.PdfUtils;
+import com.ltkj.web.controller.system.SysDeptController;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -109,13 +110,16 @@
     private TjOrderRemarkMapper tjOrderRemarkMapper;
     @Autowired
     private TjOrderDetailMapper tjOrderDetailMapper;
+    @Autowired
+    private SysDeptController sysDeptController;
 
     private Integer pdfPage = 0;
 
-    private static final int DEFAULT_FONT_SIZE = 10;
-    private static final int DEFAULT_LITTLE_TITLE_FONT_SIZE = 11;
-    private static final int DEFAULT_TITLE_FONT_SIZE = 12;
-    private static final int DEFAULT_ZONGJIAN_FONT_SIZE = 15;
+    private static int DEFAULT_FONT_SIZE = 10;
+    private static int DEFAULT_LITTLE_TITLE_FONT_SIZE = 11;
+    private static int DEFAULT_TITLE_FONT_SIZE = 12;
+    private static int DEFAULT_ZONGJIAN_FONT_SIZE = 15;
+    private static String HOSP_NAME;
 
     private List<Map<String, Object>> makePDFInfo(HashMap<String, Object> map, AjaxResult ajaxResult, String key) {
         List<Map<String, Object>> data = null;
@@ -156,7 +160,8 @@
         int pageSize = 0;
         try {
             pdfWriter = PdfWriter.getInstance(document1, byteArrayOutputStream1);
-            if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//            if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+            if (true){
                 String sex = "";
                 if (customer.getCusSex() != null) {
                     for (SysDictData userSex : sysUserSex) {
@@ -166,7 +171,8 @@
                     }
                 }
                 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("婢勫悎鐭垮姟灞�涓績鍖婚櫌",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) {
@@ -176,7 +182,8 @@
         document1.setMargins(70, 70, 40, 40);
         document1.open();
 
-        if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//        if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+        if (true){
             // 缁勮浣撴妫�鏌ラ」鐩姤鍛�
             Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>();
             notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer);
@@ -224,7 +231,8 @@
             copy.addPage(page);
         }
 
-        if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//        if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+        if (!true){
             List<ByteArrayOutputStream> jianchas =  makeHisJianChaTable(tjOrder);
 //        List<ByteArrayOutputStream> jianchas = makeCcgcHisJianChaTable(tjOrder);
             try {
@@ -254,7 +262,8 @@
             int pages = pdfReader.getNumberOfPages();
             ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
             PdfStamper pdfStamper = new PdfStamper(pdfReader, outputStream);
-            if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//            if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+            if (!true){
                 PdfContentByte contentByte;
                 BaseFont baseFont = PdfUtils.createBaseFont(null);
                 for (int i = 2; i <= pages; i++) {
@@ -515,8 +524,10 @@
 //                                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紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
 
-                                paragraph = new Paragraph(str+objectMap.get("bt").toString().trim()+objectMap.get("nr").toString().trim(),defaultFont);
+                                paragraph = new Paragraph(content1,defaultFont);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 document2.add(paragraph);
                             }
@@ -577,7 +588,10 @@
                 String str = "     ";
                 List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"","",tjOrder.getTjNumber());
                 for (Map<String, Object> objectMap : maps) {
-                    paragraph = new Paragraph(str+objectMap.get("bt").toString()+objectMap.get("nr").toString(),defaultFont);
+                    String content1 = str+objectMap.get("bt").toString()+objectMap.get("nr").toString();
+                    if (StrUtil.isBlank(content1)) content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
+
+                    paragraph = new Paragraph(content1,defaultFont);
                     paragraph.setAlignment(Element.ALIGN_LEFT);
                     document2.add(paragraph);
                 }
@@ -691,7 +705,7 @@
         cell.setPaddingTop(10);
         cell.setPaddingBottom(10);
 //        cell.setPhrase(new Phrase("浣曞皬濠�", zongJianFont));
-        cell.setPhrase(new Phrase(tjOrder.getCheckDoctor(), zongJianFont));
+        cell.setPhrase(new Phrase(sysConfigService.selectConfigByKey("pdf_report_zongjianysname"), zongJianFont));
         tableQz.addCell(cell);
 
         cell = new PdfPCell();
@@ -856,9 +870,23 @@
         return AjaxResult.success();
     }
 
-    public AjaxResult hisPDFNew2(TjOrder tjOrder, TjCustomer customer, TjReportTemplate tjReportTemplate) 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");
+        String s4 = sysConfigService.selectConfigByKey("tjreport_font_size_zongjian");
+//        String hospName = sysDeptController.getdangqiandengluyuanqu().get("msg").toString();
+        if (StrUtil.isNotBlank(s1) && Integer.parseInt(s1) > 10) DEFAULT_FONT_SIZE = Integer.parseInt(s1);
+        else DEFAULT_FONT_SIZE = 10;
+        if (StrUtil.isNotBlank(s2) && Integer.parseInt(s2) > 10) DEFAULT_LITTLE_TITLE_FONT_SIZE = Integer.parseInt(s2);
+        else DEFAULT_LITTLE_TITLE_FONT_SIZE = 10;
+        if (StrUtil.isNotBlank(s3) && Integer.parseInt(s3) > 10) DEFAULT_TITLE_FONT_SIZE = Integer.parseInt(s3);
+        else DEFAULT_TITLE_FONT_SIZE = 10;
+        if (StrUtil.isNotBlank(s4) && Integer.parseInt(s4) > 10) DEFAULT_ZONGJIAN_FONT_SIZE = Integer.parseInt(s4);
+        else DEFAULT_ZONGJIAN_FONT_SIZE = 10;
         pdfPage = 0;
         DictHosp dictHosp = dictHospService.list().get(0);
+        HOSP_NAME = dictHosp.getHospName();
         String color = sysConfigService.selectConfigByKey("report_title_color");
         List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex"));
         // 妫�楠屾暟鎹�
@@ -1009,12 +1037,14 @@
                         paragraph.setAlignment(Element.ALIGN_LEFT);
                         document2.add(paragraph);
                     }
-                    paragraph = PdfUtils.setParagraph(defaultFont, "");
-                    paragraph.setLeading(0f);
-                    paragraph.setSpacingBefore(0f);
-                    paragraph.setSpacingAfter(5f);
-                    document2.add(paragraph);
-                    xmXh++;
+                    if (isXmWrite) {
+                        paragraph = PdfUtils.setParagraph(defaultFont, "");
+                        paragraph.setLeading(0f);
+                        paragraph.setSpacingBefore(0f);
+                        paragraph.setSpacingAfter(5f);
+                        document2.add(paragraph);
+                        xmXh++;
+                    }
                 }
 
                 // 妫�楠�
@@ -1042,11 +1072,13 @@
                             index++;
                         }
                     }
-                    paragraph = PdfUtils.setParagraph(defaultFont, "");
-                    paragraph.setSpacingBefore(0f);
-                    paragraph.setSpacingAfter(5f);
-                    document2.add(paragraph);
-                    xmXh++;
+                    if(isXmWrite) {
+                        paragraph = PdfUtils.setParagraph(defaultFont, "");
+                        paragraph.setSpacingBefore(0f);
+                        paragraph.setSpacingAfter(5f);
+                        document2.add(paragraph);
+                        xmXh++;
+                    }
                 }
             }
         }
@@ -1096,26 +1128,103 @@
         paragraph.setSpacingAfter(2f);
         document2.add(paragraph);
         xmXh = 0;
-        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.contains("鈫�") || i.contains("鈫�")) {
-                    if (!isXmWrite) {
-                        xmXh++;
-                        paragraph = new Paragraph("銆�"+xmXh+"."+xmmc+"銆�",defaultFont);
-                        paragraph.setAlignment(Element.ALIGN_LEFT);
+
+        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紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+                            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紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+                            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(),"","",tjOrder.getTjNumber());
+                        for (Map<String, Object> objectMap : maps) {
+                            String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
+                            if (StrUtil.isBlank(content)) content = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
+                            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);
-                        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
+                }
+                // 妫�楠�
+                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);
@@ -1126,10 +1235,10 @@
 //                        if (!rules.isEmpty()){
 //
 //                        }
-                    String str = "    ";
-                    List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5),"",i.get(2),tjOrder.getTjNumber());
-                    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());
+                            if (!maps.isEmpty()){
+                                for (Map<String, Object> objectMap : maps) {
 //                                paragraph = new Paragraph(str+"寤鸿鏍囬",defaultFont);
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                document2.add(paragraph);
@@ -1146,79 +1255,31 @@
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                document2.add(paragraph);
 
-                            paragraph = new Paragraph(str+objectMap.get("bt").toString().trim()+objectMap.get("nr").toString().trim(),defaultFont);
-                            paragraph.setAlignment(Element.ALIGN_LEFT);
-                            document2.add(paragraph);
+                                    String content1 = str + objectMap.get("bt").toString() + objectMap.get("nr").toString().trim();
+                                    if (StrUtil.isBlank(content)) 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);
+                                document2.add(paragraph);
+                            }
+//                    }
+                            index++;
                         }
+                    }
+                    if (isXmWrite) {
                         paragraph = PdfUtils.setParagraph(defaultFont, "");
-                        paragraph.setSpacingBefore(2f);
+                        paragraph.setSpacingBefore(0f);
                         paragraph.setSpacingAfter(5f);
                         document2.add(paragraph);
                     }
-//                    }
-                    index++;
                 }
             }
-            paragraph = PdfUtils.setParagraph(defaultFont, "");
-            paragraph.setSpacingBefore(0f);
-            paragraph.setSpacingAfter(5f);
-            document2.add(paragraph);
         }
 
-
-        for (Map.Entry<Long, List<TjOrderDetail>> entry : orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId)).entrySet()) {
-            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紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
-                    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紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
-                    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);
-                paragraph = new Paragraph(result, defaultFont);
-                paragraph.setAlignment(Element.ALIGN_LEFT);
-                document2.add(paragraph);
-                String str = "     ";
-                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"","",tjOrder.getTjNumber());
-                for (Map<String, Object> objectMap : maps) {
-                    paragraph = new Paragraph(str+objectMap.get("bt").toString()+objectMap.get("nr").toString(),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);
-            }
-        }
 
 
 
@@ -1314,15 +1375,23 @@
         cell.setPhrase(new Phrase("鎬绘鍖诲笀:", zongJianTitleFont));
         tableQz.addCell(cell);
 
+
         cell = new PdfPCell();
         cell.setBorder(Rectangle.NO_BORDER);
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setPaddingTop(10);
         cell.setPaddingBottom(10);
-//        cell.setPhrase(new Phrase("浣曞皬濠�", zongJianFont));
-        cell.setPhrase(new Phrase(tjOrder.getCheckDoctor(), zongJianFont));
-        tableQz.addCell(cell);
+        if (zongJianYiShiQianMing == null) {
+            cell.setPhrase(new Phrase(sysConfigService.selectConfigByKey("pdf_report_zongjianysname"), zongJianFont));
+            tableQz.addCell(cell);
+        }else {
+            byte[] bytes = Base64.getDecoder().decode(zongJianYiShiQianMing.getTemplate());
+            Image image = Image.getInstance(bytes);
+            image.scaleToFit(100, 100);
+            cell.addElement(image);
+            tableQz.addCell(cell);
+        }
 
         cell = new PdfPCell();
         cell.setBorder(Rectangle.NO_BORDER);
@@ -1395,9 +1464,7 @@
         // 棣栭〉琛ㄥ崟
         String tjNumber = tjOrder.getTjNumber();
         String template = tjReportTemplate.getTemplate();
-        LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>();
-        wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId());
-        DictComp dictComp = dictCompService.getOne(wq111);
+
         LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
         wq2.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
         wq2.isNotNull(TjOrderDetail::getFlowingWaterId);
@@ -1432,10 +1499,18 @@
             tjtype = "涓汉";
             hashMap.put("tjtype", tjtype);
         }
-        if (dictComp == null) {
-            hashMap.put("work", "鏃�");
-        } else {
-            hashMap.put("work", dictComp.getCnName());
+        if (StrUtil.isNotBlank(customer.getCompName())){
+            hashMap.put("work", customer.getCompName());
+        }else {
+//            LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>();
+//            wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId());
+//            DictComp dictComp = dictCompService.getOne(wq111);
+
+            if (StrUtil.isBlank(tjOrder.getFirmName())) {
+                hashMap.put("work", "鏃�");
+            } else {
+                hashMap.put("work", tjOrder.getFirmName());
+            }
         }
         hashMap.put("sex", sex);
         hashMap.put("tjnumber", tjNumber);
@@ -1767,7 +1842,8 @@
                     }
                 }
                 //鍒嗗壊绾�
-                if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//                if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                if (!true) {
                     LineSeparator objectName = new LineSeparator();
                     objectName.setOffset(-5);
                     document1.add(objectName);
@@ -1803,7 +1879,8 @@
                     Font titleFonts = PdfUtils.setFont(9);
                     Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
 
-                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                    if (true) {
                         Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE);
                         titleFont.setStyle(Font.BOLD);
                         PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName));
@@ -1827,7 +1904,8 @@
 //                    PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌"));
 //                    document1.add(table);
 
-                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
+//                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
+                    if (true && !value.isEmpty()){
                         if (value.size()>1){
                             if (value.get(0).getPid().equals("1862852701533012001")){
                                 Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -1860,10 +1938,12 @@
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
-                                ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
+                                if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
+                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                    paragraph.setLeading(5f);
+                                    document1.add(ppp);
+                                }
                             }else {
                                 String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
                                 Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -1919,10 +1999,12 @@
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
-                                    ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
+                                    if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
+                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        paragraph.setLeading(5f);
+                                        document1.add(ppp);
+                                    }
                                 }else {
                                     String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
                                     Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -1943,7 +2025,8 @@
                     if (entry.getKey().getRemark() == null) {
                         entry.getKey().setRemark("");
                     }
-                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+                    if (!true){
                         String remark = "澶囨敞锛�" + entry.getKey().getRemark();
                         if (entry.getKey().getRemark().length() > 50) {
                             int j = 0;
@@ -1969,13 +2052,16 @@
                     //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
                     zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp);
                     //鍒嗗壊绾�
-                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                    if (!true) {
                         LineSeparator objectName = new LineSeparator();
                         document1.add(objectName);
                     }
                 } else {
                     if (null != one11) {
-                        titleName = one11.getProName();
+                        if (entry.getValue().get(0).getProName().contains(";"))
+                            titleName = entry.getValue().get(0).getProName();
+                        else titleName = one11.getProName();
                     } else {
                         titleName = entry.getKey().getProName();
                     }
@@ -1983,7 +2069,8 @@
                     Font titleFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
                     Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName);
 
-                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//                    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()))){
                             continue;
                         }
@@ -2009,7 +2096,8 @@
 //                    PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌"));
 //                    document1.add(table);
 
-                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
+//                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
+                    if (true && !value.isEmpty()){
                         if (value.size()>1){
                             if (value.get(0).getPid().equals("1862852701533012001")){
                                 Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2042,10 +2130,12 @@
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
-                                ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
+                                if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
+                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                    paragraph.setLeading(5f);
+                                    document1.add(ppp);
+                                }
                             }else {
                                 String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
                                 Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2102,10 +2192,12 @@
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
-                                    ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
+                                    if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
+                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+                                        paragraph.setLeading(5f);
+                                        document1.add(ppp);
+                                    }
                                 }else {
                                     String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
                                     Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2129,7 +2221,8 @@
                     if (entry.getKey().getRemark() == null) {
                         entry.getKey().setRemark("");
                     }
-                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+                    if (!true){
                         String remark = "澶囨敞锛�" + entry.getKey().getRemark();
                         if (entry.getKey().getRemark().length() > 50) {
                             int j = 0;
@@ -2154,7 +2247,8 @@
                     }
                     //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖  绌轰笉鑳芥樉绀簄ull
                     zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp);
-                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//                    if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+                    if (!true) {
                         //鍒嗗壊绾�
                         LineSeparator objectName = new LineSeparator();
                         document1.add(objectName);
@@ -2171,13 +2265,15 @@
      * @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())) || dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") ) {
+        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 (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//            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){
                 doctorNameDefault = entry.getValue().get(0).getShys();
             }
             Font doctorFonts = PdfUtils.setFont(9);
@@ -2376,7 +2472,8 @@
             }
             //鎷兼帴閲嶅ぇ闃虫�х粨鏋�
             StringBuffer str = new StringBuffer();
-            if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//            if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+            if (!true) {
                 str.append("銆愰噸澶ч槼鎬ч」鐩�慭n");
                 LambdaQueryWrapper<TjBigPositive> bigPositiveLambdaQueryWrapper = new LambdaQueryWrapper<>();
                 bigPositiveLambdaQueryWrapper.eq(TjBigPositive::getTjNumber, tjNumber);
@@ -2391,7 +2488,8 @@
             }
             //鎷兼帴寮傚父椤圭洰
             str.append("銆愬紓甯告儏鍐甸」鐩�慭n");
-            if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//            if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+            if (!true) {
                 if (list.size() > 0) {
                     for (int i = 0; i < list.size(); i++) {
                         if (list.get(i).getExceptionDesc() == 1) {
@@ -2520,7 +2618,7 @@
                 if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
                     tjOrderDetail.setProject(tjProject);
 
-                    if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())) {
+                    if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId()) && entry.getKey().getType() == 1) {
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
                         tjPdfVO.setProResult(tjOrderDetail.getProResult());
@@ -2559,6 +2657,7 @@
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark, null);
         }
+        String ids = "";
         for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
             List<TjPdfVO> tjPdfVOS = new ArrayList<>();
             List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId());
@@ -2568,7 +2667,9 @@
                 if (null != tjProject && tjProject.getNeedReport().equals("Y")) {
                     tjOrderDetail.setProject(tjProject);
 
-                    if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())) {
+                    if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())
+                            && entry.getKey().getType() == 1
+                    && !ids.contains(String.valueOf(tjOrderDetail.getProject().getProParentId()))) {
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
                         tjPdfVO.setProResult(tjOrderDetail.getProResult());
@@ -2581,12 +2682,14 @@
                         tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
                         LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
                         wrapper.eq(LtkjExamJcbgd::getTjh,tjNumber);
-                        wrapper.eq(LtkjExamJcbgd::getXmdm,String.valueOf(tjOrderDetail.getProject().getProParentId()));
+                        wrapper.like(LtkjExamJcbgd::getXmdm,String.valueOf(tjOrderDetail.getProject().getProParentId()));
                         LtkjExamJcbgd jcbgd = jcbgdService.getOne(wrapper);
                         if (jcbgd != null){
                             tjPdfVO.setTs(jcbgd.getYxbx());
                             tjPdfVO.setSj(jcbgd.getBgNr());
                             tjPdfVO.setShys(jcbgd.getShysxm());
+                            tjPdfVO.setProName(jcbgd.getXmmc());
+                            ids+="|"+jcbgd.getXmdm();
                         }
                         tjPdfVOS.add(tjPdfVO);
                     }
@@ -2720,7 +2823,8 @@
     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("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//        if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+        if (true) {
             titleFont.setSize(DEFAULT_TITLE_FONT_SIZE);
             titleFont.setStyle(Font.BOLD);
         }
@@ -2732,7 +2836,8 @@
         paragraph.setSpacingBefore(10f);
         // 璁剧疆娈佃惤涓嬬┖鐧�
         paragraph.setSpacingAfter(10f);
-        if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+//        if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) {
+        if (true) {
             // 琛岄棿璺�
             paragraph.setLeading(7f);
             // 璁剧疆娈佃惤涓婄┖鐧�
@@ -2778,7 +2883,8 @@
         for (List<String> list : lists) {
             boolean isYc = false;
             textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-            if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+//            if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){
+            if (true){
                 if (list.contains("鈫�") || list.contains("鈫�")){
                     isYc = true;
                 }
@@ -2848,7 +2954,8 @@
             table1.setSpacingAfter(10f);
 
             Font titleFont = PdfUtils.setFont(12);
-            PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont));
+//            PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont));
+            PdfPCell mergedCell = new PdfPCell(new Phrase(HOSP_NAME, titleFont));
             mergedCell.setBorder(Rectangle.NO_BORDER);
             mergedCell.setColspan(10);
             mergedCell.setHorizontalAlignment(Element.ALIGN_CENTER);

--
Gitblit v1.8.0