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

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |  151 +++++++++++++++++++++++++++-----------------------
 1 files changed, 81 insertions(+), 70 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 5cf465f..6c3d023 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
@@ -15,6 +15,7 @@
 import com.ltkj.common.core.domain.entity.SysDictData;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.utils.DateUtils;
+import com.ltkj.common.utils.SecurityUtils;
 import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.mapper.DictUserInfoMapper;
@@ -112,6 +113,8 @@
     private TjOrderDetailMapper tjOrderDetailMapper;
     @Autowired
     private SysDeptController sysDeptController;
+    @Autowired
+    private ITjProAdvicerulesService tjProAdvicerulesService;
 
     private Integer pdfPage = 0;
 
@@ -506,7 +509,7 @@
 //
 //                        }
                     String str = "    ";
-                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5),"",i.get(2),tjOrder.getTjNumber());
+                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5),"",i.get(2),tjOrder.getTjNumber(),i.get(5),"");
                         if (!maps.isEmpty()){
                             for (Map<String, Object> objectMap : maps) {
 //                                paragraph = new Paragraph(str+"寤鸿鏍囬",defaultFont);
@@ -586,7 +589,7 @@
                 paragraph.setAlignment(Element.ALIGN_LEFT);
                 document2.add(paragraph);
                 String str = "     ";
-                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"","",tjOrder.getTjNumber());
+                List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"","",tjOrder.getTjNumber(),detail.getProName(),"");
                 for (Map<String, Object> objectMap : maps) {
                     String content1 = str+objectMap.get("bt").toString()+objectMap.get("nr").toString();
                     if (StrUtil.isBlank(content1)) content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
@@ -1024,6 +1027,7 @@
                         if (StrUtil.isNotBlank(result)) {
                             int index = 1;
                             result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "");
+//                            result = result.replaceAll("", "");
                             String[] split = result.split("\n");
                             StringBuilder builder = new StringBuilder();
                             for (String s : split) {
@@ -1083,52 +1087,16 @@
             }
         }
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
         paragraph = PdfUtils.setParagraph(defaultFont, "");
         paragraph.setLeading(0f);
         paragraph.setSpacingBefore(10f);
         paragraph.setSpacingAfter(10f);
         document2.add(paragraph);
-
-
-
-
-
-
         paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�");
         paragraph.setSpacingBefore(3f);
         paragraph.setSpacingAfter(2f);
         document2.add(paragraph);
         xmXh = 0;
-
         for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
             List<CsProVo> proVos = deptEntry.getValue();
             if (proVos.size() > 1) {
@@ -1160,15 +1128,17 @@
 //                    result = "\n      " + result.replaceAll("\n", "\n      ");
                             int index1 = 1;
                             String[] split = result.split("\n");
-                            boolean contains = result.contains("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+//                            boolean contains = result.contains("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+                            boolean contains = result.contains(" ");
                             StringBuilder builder = new StringBuilder();
                             for (String s : split) {
                                 if (StrUtil.isBlank(s.replaceAll("\n","").trim())) continue;
                                 builder.append("    (").append(index1).append(")").append(s).append("\n");
                                 index1++;
                             }
-                            if (!contains) builder.append("    (").append(index1).append(")").append("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
-                            else builder.substring(0,builder.length() - 1);
+//                            if (!contains) builder.append("    (").append(index1).append(")").append("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�");
+//                            if (!contains) builder.append("    (").append(index1).append(")").append(" ");
+//                            else builder.substring(0,builder.length() - 1);
                             result = builder.toString();
                         }
 //                String content = "  (" + index + ") " + detail.getProName() + "锛�" + result;
@@ -1185,10 +1155,29 @@
                             document2.add(paragraph);
                         }
                         String str = "     ";
-                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"","",tjOrder.getTjNumber());
-                        for (Map<String, Object> objectMap : maps) {
+//                        List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(entry.getKey().toString(),"",
+//                                detail.getYcbz(),tjOrder.getTjNumber(),detail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+//                                        .replaceAll("[ 娴嬪畾妫�娴媇",""),detail.getProResult());
+                        List<Map<String, Object>> maps =new ArrayList<>();
+                        if(detail.getDeptId().equals("2")){
+                            String[] split = result.split("銆倈,|锛�");
+                            for (String s : split) {
+                                s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
+//                                Map<String,Object> mapss= tjRulesService.getyichangxiangmujianyiguizeJianCha(s);
+                                Map<String,Object> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(detail.getKs(),s,"0");
+                                if(null !=mapss){
+                                    Object bt = mapss.get("bt");
+                                    Object nr = mapss.get("nr");
+                                    if(null !=bt && null !=nr) maps.add(mapss);
+                                }
+                            }
+                        }
+                        List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList());
+
+                        for (Map<String, Object> objectMap : collect1) {
                             String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
-                            if (StrUtil.isBlank(content)) content = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
+//                            if (StrUtil.isBlank(content)) content = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
+                            if (StrUtil.isBlank(content)) content = "     ";
                             paragraph = new Paragraph(content,defaultFont);
                             paragraph.setAlignment(Element.ALIGN_LEFT);
                             document2.add(paragraph);
@@ -1236,7 +1225,9 @@
 //
 //                        }
                             String str = "    ";
-                            List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5),"",i.get(2),tjOrder.getTjNumber());
+                            List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5),"",
+                                    i.get(2),tjOrder.getTjNumber(),i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                            .replaceAll("[ 娴嬪畾妫�娴媇",""),i.get(1));
                             if (!maps.isEmpty()){
                                 for (Map<String, Object> objectMap : maps) {
 //                                paragraph = new Paragraph(str+"寤鸿鏍囬",defaultFont);
@@ -1254,10 +1245,14 @@
 //                                paragraph = new Paragraph(str+objectMap.get("nr").toString(),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);
+                                    Object bt = objectMap.get("bt");
+                                    Object nr = objectMap.get("nr");
+                                    if(null !=bt && null !=nr){
+                                        String content1 = str +bt .toString() +nr .toString().trim();
+                                        if (StrUtil.isBlank(content)) content1 = "     ";
+                                        paragraph = new Paragraph(content1,defaultFont);
+                                    }
+//                                    if (StrUtil.isBlank(content)) content1 = "     鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�";
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     document2.add(paragraph);
                                 }
@@ -1279,25 +1274,27 @@
                 }
             }
         }
-
-
-
-
-
-
         for (int i = 0; i < 1; i++) {
             paragraph = PdfUtils.setParagraph(defaultFont, "");
             document2.add(paragraph);
         }
-
         paragraph = PdfUtils.setParagraph(defaultTitleFont, "鎬绘鍖荤敓寤鸿锛�");
         document2.add(paragraph);
         if (tjOrder.getCheckAdvice() == null) {
             paragraph = PdfUtils.setParagraph(defaultFont, "鏃�");
             document2.add(paragraph);
         } else {
-            paragraph = PdfUtils.setParagraph(defaultFont, tjOrder.getCheckAdvice());
-            document2.add(paragraph);
+            Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(),defaultFont);
+            //璁剧疆鏂囧瓧灞呬腑
+            paragraphs.setAlignment(Element.ALIGN_LEFT);
+            //琛岄棿璺�
+//            paragraphs.setLeading(5f);
+            //璁剧疆娈佃惤涓婄┖鐧�
+            paragraphs.setSpacingBefore(10f);
+            //璁剧疆娈佃惤涓嬬┖鐧�
+            paragraphs.setSpacingAfter(10f);
+//            paragraph = PdfUtils.setParagraph(defaultFont, tjOrder.getCheckAdvice());
+            document2.add(paragraphs);
         }
 
 
@@ -1382,10 +1379,15 @@
         cell.setHorizontalAlignment(Element.ALIGN_CENTER);
         cell.setPaddingTop(10);
         cell.setPaddingBottom(10);
-        if (zongJianYiShiQianMing == null) {
-            cell.setPhrase(new Phrase(sysConfigService.selectConfigByKey("pdf_report_zongjianysname"), zongJianFont));
+        String zongjianysname = sysConfigService.selectConfigByKey("pdf_report_zongjianysname");
+        if (zongJianYiShiQianMing == null && StrUtil.isNotBlank(zongjianysname)  && !zongjianysname.equals("鏃�")) {
+            cell.setPhrase(new Phrase(zongjianysname, zongJianFont));
             tableQz.addCell(cell);
-        }else {
+        }else if(zongJianYiShiQianMing == null && zongjianysname.equals("鏃�")){
+            String nickName = SecurityUtils.getLoginUser().getUser().getNickName();
+            cell.setPhrase(new Phrase(nickName, zongJianFont));
+            tableQz.addCell(cell);
+        } else {
             byte[] bytes = Base64.getDecoder().decode(zongJianYiShiQianMing.getTemplate());
             Image image = Image.getInstance(bytes);
             image.scaleToFit(100, 100);
@@ -1499,8 +1501,8 @@
             tjtype = "涓汉";
             hashMap.put("tjtype", tjtype);
         }
-        if (StrUtil.isNotBlank(customer.getCompName())){
-            hashMap.put("work", customer.getCompName());
+        if (StrUtil.isNotBlank(tjOrder.getFirmName())){
+            hashMap.put("work", tjOrder.getFirmName());
         }else {
 //            LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>();
 //            wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId());
@@ -1511,6 +1513,11 @@
             } else {
                 hashMap.put("work", tjOrder.getFirmName());
             }
+        }
+        if (StrUtil.isBlank(tjOrder.getFirmDeptName())) {
+            hashMap.put("bumen", "鏃�");
+        } else {
+            hashMap.put("bumen",tjOrder.getFirmDeptName());
         }
         hashMap.put("sex", sex);
         hashMap.put("tjnumber", tjNumber);
@@ -2683,13 +2690,17 @@
                         LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>();
                         wrapper.eq(LtkjExamJcbgd::getTjh,tjNumber);
                         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();
+                        wrapper.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());
+                                tjPdfVO.setShys(jcbgd.getShysxm());
+                                tjPdfVO.setProName(jcbgd.getXmmc());
+                                ids+="|"+jcbgd.getXmdm();
+                            }
                         }
                         tjPdfVOS.add(tjPdfVO);
                     }

--
Gitblit v1.8.0