From 03367c01da8a825ecbfa8ad392a71bcf3f03f5ed Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 04 七月 2025 15:09:04 +0800 Subject: [PATCH] zjh20250704 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 167 insertions(+), 0 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 95519f5..d4f3bc1 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 @@ -2661,6 +2661,142 @@ } } + private void pacsTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs)throws DocumentException{ + try { + + for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { + + if (entry.getValue() == null || entry.getValue().isEmpty()) continue; + //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� + + TjOrderRemark orderRemark = entry.getKey(); + List<TjPdfVO> value = entry.getValue().stream().distinct().collect(Collectors.toList()); + if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))) { + continue; + } + String titleName = null; + + if (entry.getValue().get(0).getProName().contains(";")) + titleName = entry.getValue().get(0).getProName(); + else titleName = orderRemark.getProName(); + // 璁剧疆鏍囬瀛椾綋鏍峰紡 + Font titleFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); + + if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs().replaceAll("\n","")) + && StrUtil.isBlank(value.get(0).getSj().replaceAll("\n","")))) { + continue; + } + Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE); + titleFont.setStyle(Font.BOLD); + PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName)); + cellTitle.setBorder(Rectangle.NO_BORDER); + Color color = Color.decode("#B4CDCD"); + cellTitle.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue())); // 璁剧疆鑳屾櫙棰滆壊锛堝崄鍏繘鍒� RGB锛� + // 鍒涘缓琛ㄦ牸骞舵坊鍔犲崟鍏冩牸 + PdfPTable tableTitle = new PdfPTable(1); + tableTitle.setWidthPercentage(100); + tableTitle.addCell(cellTitle); + // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓� + document1.add(tableTitle); + + if (!value.isEmpty()) { + if (value.size() > 1) { + Long pid = Long.valueOf(value.get(0).getPid()); + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240}); + document1.add(table); + + } else { + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + + 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().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n",""), 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().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n","")), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + } else { + Long pid = Long.valueOf(value.get(0).getPid()); + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"}; + Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300}); + document1.add(table); + } + + } + } else { + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value, isPacs); + document1.add(table); + } + + + //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull + if (entry.getKey().getRemark() == null) { + entry.getKey().setRemark(""); + } + // if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true) { + String remark = "澶囨敞锛�" + entry.getKey().getRemark(); + if (entry.getKey().getRemark().length() > 50) { + int j = 0; + for (int i = 0; i < remark.length() / 50; i++) { + String substring = remark.substring(j, j + 50); + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + document1.add(pp); + j = j + 50; + } + if (remark.length() % 50 != 0) { + String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + document1.add(pp); + } + } else { + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); + document1.add(pp); + } + } + //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull + zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp); + // if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { + //鍒嗗壊绾� + LineSeparator objectName = new LineSeparator(); + document1.add(objectName); + } + + + } + } catch (NumberFormatException e) { + throw new RuntimeException(e); + } catch (DocumentException e) { + throw new RuntimeException(e); + } + } + /** * 涓昏鍖诲笀琛屾樉绀鸿缃� * @@ -3133,6 +3269,37 @@ } } + + private void newpacsJianChaData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) { + try { + List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.newpacsJianChaData(tjNumber); + for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { + List<TjPdfVO> tjPdfVOS = new ArrayList<>(); + TjPdfVO tjPdfVO = new TjPdfVO(); + tjPdfVO.setProResult(null); + tjPdfVO.setExc(0L); + tjPdfVO.setCompany("/"); + tjPdfVO.setProId(tjOrderRemark.getProsId()); + String yxbx = tjOrderRemark.getRemark(); + String bgNr = tjOrderRemark.getJgbx(); + // 姝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(tjOrderRemark.getDoctorName()); + tjPdfVO.setProName(tjOrderRemark.getProName()); + tjPdfVOS.add(tjPdfVO); + printReport.put(tjOrderRemark, tjPdfVOS); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + /** * 璁剧疆鐢ㄦ埛淇℃伅 * -- Gitblit v1.8.0