From 2a9583fd376451ca77a0400af7f3a02d1b80e7f5 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 24 六月 2025 18:04:34 +0800
Subject: [PATCH] 2025-06-24

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |  115 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 68 insertions(+), 47 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 3084389..95519f5 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
@@ -95,8 +95,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
@@ -875,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;
@@ -2075,6 +2076,7 @@
      */
     private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException, DocumentException, InterruptedException {
         // 绗竴姝ワ細鐢熸垚鏂囦欢骞朵繚瀛�
+        String value = sysConfigService.selectConfigByKey("path_filePath");
         String key = DataSourceContextHolder.getDataSourceKey();
         key = key.replace("ltkjpeis10_","");
         String outputPath1 = value + File.separator + key + File.separator;
@@ -2193,7 +2195,7 @@
             LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>();
             wqqq.eq(TjProject::getProId, entry.getKey().getProId());
             TjProject one11 = projectService.getOne(wqqq);
-            if (entry.getValue() == null || entry.getValue().isEmpty()) continue;
+            if (entry.getValue() == null || entry.getValue().isEmpty() || entry.getValue().equals("null")) continue;
             //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛�
             if (null != one11 && "Y".equals(one11.getNeedReport())) {
                 TjOrderRemark orderRemark = entry.getKey();
@@ -2268,7 +2270,7 @@
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
                                 if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
@@ -2387,7 +2389,7 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                     if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
@@ -2510,7 +2512,7 @@
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
                                 if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                    ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
@@ -2529,16 +2531,34 @@
                             if (isPacs) {
                                 Paragraph pp;
                                 Paragraph 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);
+                                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);
+                                    }
                                 }
-                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+ (value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()));
+//                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+ (value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()));
+//                                document1.add(pp);
+                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細");
                                 document1.add(pp);
+                                ppp = new Paragraph((value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()), remarkFonts);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                paragraph.setLeading(5f);
+                                document1.add(ppp);
 //                                ppp = new Paragraph(value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult(), remarkFonts);
 //                                paragraph.setAlignment(Element.ALIGN_LEFT);
 //                                paragraph.setLeading(5f);
@@ -2576,7 +2596,7 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                     if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts);
+                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
@@ -2995,12 +3015,7 @@
      * @param customer
      */
     private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
-//        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
-//        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
-//        wqq.ne(TjOrderRemark::getDeptId, "241");
-//        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257");
-//        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
-//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
+
         List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber);
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark, null);
@@ -3019,7 +3034,14 @@
                     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());
+                        if(tjProject.getProDelivery()==1){
+                            if(StringUtil.isNotBlank(tjOrderDetail.getConclusion())){
+                                tjPdfVO.setProResult(tjOrderDetail.getProResult()+"     "+tjOrderDetail.getConclusion());
+                            }
+                        }else {
+                            tjPdfVO.setProResult(tjOrderDetail.getProResult());
+                        }
+
                         tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
                         if (null != tjProject.getProMetering()) {
                             tjPdfVO.setCompany(tjProject.getProMetering());
@@ -3028,6 +3050,7 @@
                         }
                         tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId()));
                         tjPdfVO.setPid(String.valueOf(tjProject.getProParentId()));
+                        tjPdfVO.setXh(tjProject.getXh());
 //                        LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
 //                        wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber);
 //                        wrapper.eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()));
@@ -3036,24 +3059,20 @@
                 }
             }
             if(!tjPdfVOS.isEmpty()){
-                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
-                tjPdfVOS = tjPdfVOS.stream()
-                        .sorted(Comparator.comparingInt(
-                                tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
-                        ))
-                        .collect(Collectors.toList());
+//                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+//                tjPdfVOS = tjPdfVOS.stream()
+//                        .sorted(Comparator.comparingInt(
+//                                tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+//                        ))
+//                        .collect(Collectors.toList());
+                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getXh)).collect(Collectors.toList());
             }
             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);
-//        wqq.ne(TjOrderRemark::getDeptId, "241");
-//        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257");
-//        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
-//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
+
         List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.pacsJianChaData(tjNumber);
         for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
             printReport.put(tjOrderRemark, null);
@@ -3071,6 +3090,7 @@
                     if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())
                             && entry.getKey().getType() == 1
                             && !ids.contains(String.valueOf(tjOrderDetail.getProject().getProParentId()))) {
+                        TjProject tjProjectq = projectService.getById(tjOrderDetail.getProject().getProParentId());
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
                         tjPdfVO.setProResult(tjOrderDetail.getProResult());
@@ -3082,15 +3102,24 @@
                         }
                         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.orderByDesc(LtkjExamJcbgd::getZdsj);
+                        wrapper.eq(LtkjExamJcbgd::getTjh, one.getCardId())
+                                .and(w -> w.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId()))
+                                        .or()
+                                        .eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjProjectq.getHisXmbm()))).orderByDesc(LtkjExamJcbgd::getZdsj);
                         List<LtkjExamJcbgd> list = jcbgdService.list(wrapper);
                         if (null != list && !list.isEmpty()) {
                             LtkjExamJcbgd jcbgd = list.get(0);
                             if (jcbgd != null) {
-                                tjPdfVO.setTs(jcbgd.getYxbx());
-                                tjPdfVO.setSj(jcbgd.getBgNr());
+                                String yxbx = jcbgd.getYxbx();
+                                String bgNr = jcbgd.getBgNr();
+                                // 姝e垯琛ㄨ揪寮忥細鍖归厤鏁板瓧鍚庤窡 '.' 鎴� '銆�'
+                                String regex = "\\d+[\\.,銆乚";
+                                // 浣跨敤姝e垯鏇挎崲锛屽尮閰嶇殑鏁板瓧鍚庢坊鍔犳崲琛岀
+                                if(StringUtil.isNotBlank(yxbx)) yxbx = yxbx.replaceAll(regex, "\n$0");
+                                if(StringUtil.isBlank(bgNr)) bgNr = "";
+                                if(StringUtil.isBlank(yxbx)) yxbx = "";
+                                tjPdfVO.setTs(yxbx);
+                                tjPdfVO.setSj(bgNr);
                                 tjPdfVO.setShys(jcbgd.getShysxm());
                                 tjPdfVO.setProName(jcbgd.getXmmc());
                                 ids += "|" + jcbgd.getXmdm();
@@ -3100,14 +3129,6 @@
                     }
                 }
             }
-//            if(!tjPdfVOS.isEmpty()){
-//                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
-//                tjPdfVOS = tjPdfVOS.stream()
-//                        .sorted(Comparator.comparingInt(
-//                                tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
-//                        ))
-//                        .collect(Collectors.toList());
-//            }
             printReport.put(entry.getKey(), tjPdfVOS);
         }
     }

--
Gitblit v1.8.0