From e14e4217b3f53a5cad511b4331cd7c0a40a40db2 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 19 十二月 2024 13:52:03 +0800
Subject: [PATCH] zjh202412019

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |  117 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 80 insertions(+), 37 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 77f58aa..d6ddb30 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
@@ -112,10 +112,10 @@
 
     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 List<Map<String, Object>> makePDFInfo(HashMap<String, Object> map, AjaxResult ajaxResult, String key) {
         List<Map<String, Object>> data = null;
@@ -515,8 +515,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 +579,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);
                 }
@@ -856,7 +861,19 @@
         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");
+        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);
         String color = sysConfigService.selectConfigByKey("report_title_color");
@@ -1159,7 +1176,9 @@
                         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 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);
                         }
@@ -1225,7 +1244,9 @@
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                document2.add(paragraph);
 
-                                    paragraph = new Paragraph(str+objectMap.get("bt").toString().trim()+objectMap.get("nr").toString().trim(),defaultFont);
+                                    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);
                                 }
@@ -1343,15 +1364,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(sysConfigService.selectConfigByKey("pdf_report_zongjianysname"), 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);
@@ -1424,9 +1453,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);
@@ -1461,10 +1488,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);
@@ -1889,10 +1924,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);
@@ -1948,10 +1985,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);
@@ -2071,10 +2110,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);
@@ -2131,10 +2172,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);
@@ -2549,7 +2592,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());
@@ -2597,7 +2640,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());

--
Gitblit v1.8.0