From 37e2d3c73caac445d1d8e229747b439e3719c13b Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期二, 03 六月 2025 17:04:13 +0800
Subject: [PATCH] zjh20250603

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |  280 ++++++++++++++++++++++---------------------------------
 1 files changed, 111 insertions(+), 169 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 a3eba6e..c5d09d4 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
@@ -93,8 +93,8 @@
     private LtkjHysqdService ltkjHysqdService;
     @Autowired
     private LtkjGetexamreportinfoService ltkjGetexamreportinfoService;
-    @Value("${path.filePath}")
-    private String value;
+//    @Value("${path.filePath}")
+//    private String value;
     @Value("${path.reportServer}")
     private String urlValue;
     @Autowired
@@ -125,6 +125,8 @@
     private TjOrderYcxmService ycxmService;
     @Resource
     private TjXdtgmdjgService xdtgmdjgService;
+    @Autowired
+    private TjReportSpecialProjectService tjReportSpecialProjectService;
 
     private Integer pdfPage = 0;
 
@@ -873,6 +875,7 @@
         String s2 = sysConfigService.selectConfigByKey("tjreport_font_size_second_page_title");
         String s3 = sysConfigService.selectConfigByKey("tjreport_font_size_result_title");
         String s4 = sysConfigService.selectConfigByKey("tjreport_font_size_zongjian");
+        String value = sysConfigService.selectConfigByKey("path_filePath");
 //        String hospName = sysDeptController.getdangqiandengluyuanqu().get("msg").toString();
         if (StrUtil.isNotBlank(s1) && Integer.parseInt(s1) > 10) DEFAULT_FONT_SIZE = Integer.parseInt(s1);
         else DEFAULT_FONT_SIZE = 10;
@@ -1676,6 +1679,7 @@
      */
     private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException, DocumentException, InterruptedException {
         // 绗竴姝ワ細鐢熸垚鏂囦欢骞朵繚瀛�
+        String value = sysConfigService.selectConfigByKey("path_filePath");
         String outputPath1 = value + File.separator;
         File file = new File(outputPath1 + outputFileName1);
         BufferedOutputStream outputStream = null;
@@ -1788,6 +1792,7 @@
      * @throws DocumentException
      */
     private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs) throws DocumentException {
+        List<TjReportSpecialProject> tjReportSpecialProjects = tjReportSpecialProjectService.list();
         for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
             LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>();
             wqqq.eq(TjProject::getProId, entry.getKey().getProId());
@@ -1835,43 +1840,12 @@
 //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
                     if (!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);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-                                ppp = new Paragraph("DOB鍊硷細         鈮�      4.0                HP-闃虫��", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-                                ppp = new Paragraph("                <      4.0                  姝e父", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-
-                                ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-                                ppp = new Paragraph("", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-                                ppp = new Paragraph("", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-                                if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-                                }
+                            Long pid = Long.valueOf(value.get(0).getPid());
+                            Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
+                                    .filter(item -> item.getProId().equals(pid))
+                                    .findFirst();
+                            if (match.isPresent()) {
+                                reportSpecialProject(document1, entry, paragraph, value,match.get());
                             } else {
                                 String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
                                 Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -1900,43 +1874,12 @@
 //                                paragraph.setLeading(5f);
 //                                document1.add(ppp);
                             } else {
-                                if (value.get(0).getPid().equals("1862852701533012001")) {
-                                    remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                    Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-                                    ppp = new Paragraph("DOB鍊硷細         鈮�      4.0                HP-闃虫��", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-                                    ppp = new Paragraph("                <      4.0                  姝e父", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-
-                                    ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-                                    ppp = new Paragraph("", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-                                    ppp = new Paragraph("", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-                                    if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
-                                        paragraph.setAlignment(Element.ALIGN_LEFT);
-                                        paragraph.setLeading(5f);
-                                        document1.add(ppp);
-                                    }
+                                Long pid = Long.valueOf(value.get(0).getPid());
+                                Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
+                                        .filter(item -> item.getProId().equals(pid))
+                                        .findFirst();
+                                if (match.isPresent()) {
+                                    reportSpecialProject(document1, entry, paragraph, value,match.get());
                                 } else {
                                     String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
                                     Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2023,43 +1966,12 @@
 //                    if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){
                     if (!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);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-                                ppp = new Paragraph("DOB鍊硷細         鈮�      4.0                HP-闃虫��", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-                                ppp = new Paragraph("                <      4.0                  姝e父", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-
-                                ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-
-                                ppp = new Paragraph("", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-                                ppp = new Paragraph("", remarkFonts);
-                                paragraph.setAlignment(Element.ALIGN_LEFT);
-                                paragraph.setLeading(5f);
-                                document1.add(ppp);
-                                if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-                                }
+                            Long pid = Long.valueOf(value.get(0).getPid());
+                            Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
+                                    .filter(item -> item.getProId().equals(pid))
+                                    .findFirst();
+                            if (match.isPresent()) {
+                                reportSpecialProject(document1, entry, paragraph, value,match.get());
                             } else {
                                 String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"};
                                 Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2074,26 +1986,36 @@
                             if (isPacs) {
                                 Paragraph pp;
                                 Paragraph ppp;
-                                String key = sysConfigService.selectConfigByKey("makepdfuseorderdetailproresult");
-                                if (StrUtil.isNotBlank(key) && !key.equals("Y")){
-                                    if (StrUtil.isNotBlank(value.get(0).getSj())) {
-                                        pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
-                                        document1.add(pp);
-                                        ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
-                                        paragraph.setAlignment(Element.ALIGN_LEFT);
-                                        paragraph.setLeading(5f);
-                                        document1.add(ppp);
-                                    }
-                                }else {
-                                    if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) {
-                                        pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
-                                        document1.add(pp);
-                                        ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts);
-                                        paragraph.setAlignment(Element.ALIGN_LEFT);
-                                        paragraph.setLeading(5f);
-                                        document1.add(ppp);
-                                    }
+//                                String key = sysConfigService.selectConfigByKey("makepdfuseorderdetailproresult");
+//                                if (StrUtil.isNotBlank(key) && !key.equals("Y")){
+//                                    if (StrUtil.isNotBlank(value.get(0).getSj())) {
+//                                        pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+//                                        document1.add(pp);
+//                                        ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
+//                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                        paragraph.setLeading(5f);
+//                                        document1.add(ppp);
+//                                    }
+//                                }else {
+//                                    if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) {
+//                                        pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+//                                        document1.add(pp);
+//                                        ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts);
+//                                        paragraph.setAlignment(Element.ALIGN_LEFT);
+//                                        paragraph.setLeading(5f);
+//                                        document1.add(ppp);
+//                                    }
+//                                }
+
+                                if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) {
+                                    pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
+                                    document1.add(pp);
+                                    ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts);
+                                    paragraph.setAlignment(Element.ALIGN_LEFT);
+                                    paragraph.setLeading(5f);
+                                    document1.add(ppp);
                                 }
+
                                 pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細");
                                 document1.add(pp);
                                 ppp = new Paragraph((value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()), remarkFonts);
@@ -2105,43 +2027,12 @@
 //                                paragraph.setLeading(5f);
 //                                document1.add(ppp);
                             } else {
-                                if (value.get(0).getPid().equals("1862852701533012001")) {
-                                    remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
-                                    Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-                                    ppp = new Paragraph("DOB鍊硷細         鈮�      4.0                HP-闃虫��", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-                                    ppp = new Paragraph("                <      4.0                  姝e父", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-
-                                    ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-
-                                    ppp = new Paragraph("", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-                                    ppp = new Paragraph("", remarkFonts);
-                                    paragraph.setAlignment(Element.ALIGN_LEFT);
-                                    paragraph.setLeading(5f);
-                                    document1.add(ppp);
-                                    if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
-                                        paragraph.setAlignment(Element.ALIGN_LEFT);
-                                        paragraph.setLeading(5f);
-                                        document1.add(ppp);
-                                    }
+                                Long pid = Long.valueOf(value.get(0).getPid());
+                                Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream()
+                                        .filter(item -> item.getProId().equals(pid))
+                                        .findFirst();
+                                if (match.isPresent()) {
+                                    reportSpecialProject(document1, entry, paragraph, value,match.get());
                                 } else {
                                     String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"};
                                     Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2203,6 +2094,57 @@
     }
 
     /**
+     * 鐩墠鍐欐 鍙湁纰�13銆�14 妯℃澘閮芥槸涓�鏍风殑鍙笉杩囧弬鑰冨�间笉鍚�
+     * 鍑屼簯锛歿"dy":"4.0","xy":"4.0","title":"闃虫�у弬鑰冨�硷細","dystr":"DOB鍊硷細         鈮�      ${dy}                HP-闃虫��","xystr":"                <      ${xy}                  姝e父","en":"DOB"}
+     * 娉惧窛鍘垮尰闄細{"dy":"100","xy":"100","title":"鍙傝�冨��(DPM)锛�","dystr":"DPM鍊硷細         鈮�      ${dy}                闃虫��","xystr":"                <      ${xy}                  闃存��","en":"DPM"}
+     * @param document1
+     * @param entry
+     * @param paragraph
+     * @param value
+     * @param tjReportSpecialProject
+     * @throws DocumentException
+     */
+    private static void reportSpecialProject(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry, Paragraph paragraph, List<TjPdfVO> value,TjReportSpecialProject tjReportSpecialProject) throws DocumentException {
+        JSONObject entries = JSONUtil.parseObj(tjReportSpecialProject.getParams());
+        Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
+        Paragraph ppp = new Paragraph(entries.getStr("title"), remarkFonts);
+        paragraph.setAlignment(Element.ALIGN_LEFT);
+        paragraph.setLeading(5f);
+        document1.add(ppp);
+
+        ppp = new Paragraph(entries.getStr("dystr").replace("${dy}",entries.getStr("dy")), remarkFonts);
+        paragraph.setAlignment(Element.ALIGN_LEFT);
+        paragraph.setLeading(5f);
+        document1.add(ppp);
+
+        ppp = new Paragraph(entries.getStr("xystr").replace("${xy}",entries.getStr("xy")), remarkFonts);
+        paragraph.setAlignment(Element.ALIGN_LEFT);
+        paragraph.setLeading(5f);
+        document1.add(ppp);
+
+
+        ppp = new Paragraph("妫�娴嬬粨鏋滐細 "+entries.getStr("en")+"=" + value.get(0).getProResult(), remarkFonts);
+        paragraph.setAlignment(Element.ALIGN_LEFT);
+        paragraph.setLeading(5f);
+        document1.add(ppp);
+
+        ppp = new Paragraph("", remarkFonts);
+        paragraph.setAlignment(Element.ALIGN_LEFT);
+        paragraph.setLeading(5f);
+        document1.add(ppp);
+        ppp = new Paragraph("", remarkFonts);
+        paragraph.setAlignment(Element.ALIGN_LEFT);
+        paragraph.setLeading(5f);
+        document1.add(ppp);
+        if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
+            ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
+            paragraph.setAlignment(Element.ALIGN_LEFT);
+            paragraph.setLeading(5f);
+            document1.add(ppp);
+        }
+    }
+
+    /**
      * 涓昏鍖诲笀琛屾樉绀鸿缃�
      *
      * @param document1

--
Gitblit v1.8.0