zhaowenxuan
2025-05-08 8aae8dad9cb60257efc2bba55481541078008798
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -33,6 +33,7 @@
import com.ltkj.system.service.ISysUserService;
import com.ltkj.web.config.pdfutils.PdfUtils;
import com.ltkj.web.controller.system.SysDeptController;
import jodd.util.StringUtil;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -1866,7 +1867,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);
@@ -1931,7 +1932,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);
@@ -2054,7 +2055,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);
@@ -2073,16 +2074,32 @@
                            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, "检查提示:");
                                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);
@@ -2120,7 +2137,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);
@@ -2545,7 +2562,7 @@
//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber);
        for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
            printReport.put(tjOrderRemark, null);
            printReport.put(tjOrderRemark,null);
        }
        for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) {
            List<TjPdfVO> tjPdfVOS = new ArrayList<>();
@@ -2640,8 +2657,16 @@
                        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();
                                // 正则表达式:匹配数字后跟 '.' 或 '、'
                                String regex = "\\d+[\\.,、]";
                                // 使用正则替换,匹配的数字后添加换行符
                                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();
@@ -2651,14 +2676,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);
        }
    }