zjh
2025-01-20 73a816fd2b1e29c25d615c85ce34b12b55c16ccf
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -113,6 +113,8 @@
    private TjOrderDetailMapper tjOrderDetailMapper;
    @Autowired
    private SysDeptController sysDeptController;
    @Autowired
    private ITjProAdvicerulesService tjProAdvicerulesService;
    private Integer pdfPage = 0;
@@ -507,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);
@@ -587,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 = "     本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查";
@@ -1025,6 +1027,7 @@
                        if (StrUtil.isNotBlank(result)) {
                            int index = 1;
                            result = result.replaceAll("本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查", "");
//                            result = result.replaceAll("", "");
                            String[] split = result.split("\n");
                            StringBuilder builder = new StringBuilder();
                            for (String s : split) {
@@ -1084,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) {
@@ -1161,7 +1128,8 @@
//                    result = "\n      " + result.replaceAll("\n", "\n      ");
                            int index1 = 1;
                            String[] split = result.split("\n");
                            boolean contains = result.contains("本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查");
//                            boolean contains = result.contains("本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查");
                            boolean contains = result.contains(" ");
                            StringBuilder builder = new StringBuilder();
                            for (String s : split) {
                                if (StrUtil.isBlank(s.replaceAll("\n","").trim())) continue;
@@ -1169,6 +1137,7 @@
                                index1++;
                            }
                            if (!contains) builder.append("    (").append(index1).append(")").append("本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查");
//                            if (!contains) builder.append("    (").append(index1).append(")").append(" ");
                            else builder.substring(0,builder.length() - 1);
                            result = builder.toString();
                        }
@@ -1186,10 +1155,27 @@
                            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());
                        if(detail.getDeptId().equals("2")){
                            String[] split = result.split("。");
                            for (String s : split) {
//                                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 = "     本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查";
//                            if (StrUtil.isBlank(content)) content = "     本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查";
                            if (StrUtil.isBlank(content)) content = "     ";
                            paragraph = new Paragraph(content,defaultFont);
                            paragraph.setAlignment(Element.ALIGN_LEFT);
                            document2.add(paragraph);
@@ -1237,7 +1223,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);
@@ -1255,10 +1243,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 = "     本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查";
                                    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 = "     本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查";
                                    paragraph.setAlignment(Element.ALIGN_LEFT);
                                    document2.add(paragraph);
                                }