From a1808ba0ff1ccc2efacb69c1033054dbaab8687f Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 10 七月 2025 17:57:16 +0800 Subject: [PATCH] 2025-07-10 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 599 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 464 insertions(+), 135 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 a7c993f..5bc1fde 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 @@ -1003,6 +1003,37 @@ List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4(tjOrder.getTjNumber()); // List<Map<String, Object>> jiancha = new ArrayList<>(); + Font zongJianFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE); + Font zongJianTitleFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE); + zongJianTitleFont.setStyle(Font.BOLD); + PdfPCell cell; + + + String zjjyandqmgzIstop = sysConfigService.selectConfigByKey("pdf_zjjyandqmgz_istop"); + boolean zjjyandqmgzIstopFlag = false; + if (StrUtil.isNotBlank(zjjyandqmgzIstop) && zjjyandqmgzIstop.equalsIgnoreCase("y")){ + zjjyandqmgzIstopFlag = true; + paragraph = PdfUtils.setParagraph(defaultTitleFont, "鎬绘鍖荤敓寤鸿锛�"); + document2.add(paragraph); + if (tjOrder.getCheckAdvice() == null) { + paragraph = PdfUtils.setParagraph(defaultFont, "鏃�"); + document2.add(paragraph); + } else { + 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); + } + makeZjjyAndQmgzTab(tjOrder, zongJianYiShiQianMing, zongJianFont, zongJianTitleFont, value, document2, defaultFont); + } + int xmXh = 1; @@ -1135,10 +1166,15 @@ 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 = " "; - paragraph = new Paragraph(content, defaultFont); - paragraph.setAlignment(Element.ALIGN_LEFT); - document2.add(paragraph); +// if (StrUtil.isBlank(content)) content = " "; +// paragraph = new Paragraph(content, defaultFont); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// document2.add(paragraph); + if (StrUtil.isNotBlank(content) && StrUtil.isNotBlank(content.trim())){ + paragraph = new Paragraph(content, defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + } } index++; paragraph = PdfUtils.setParagraph(defaultFont, ""); @@ -1157,24 +1193,27 @@ paragraph = PdfUtils.setParagraph(defaultFont, ""); document2.add(paragraph); } - paragraph = PdfUtils.setParagraph(defaultTitleFont, "鎬绘鍖荤敓寤鸿锛�"); - document2.add(paragraph); - if (tjOrder.getCheckAdvice() == null) { - paragraph = PdfUtils.setParagraph(defaultFont, "鏃�"); + if (!zjjyandqmgzIstopFlag){ + paragraph = PdfUtils.setParagraph(defaultTitleFont, "鎬绘鍖荤敓寤鸿锛�"); document2.add(paragraph); - } else { - Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(), defaultFont); - //璁剧疆鏂囧瓧灞呬腑 - paragraphs.setAlignment(Element.ALIGN_LEFT); - //琛岄棿璺� + if (tjOrder.getCheckAdvice() == null) { + paragraph = PdfUtils.setParagraph(defaultFont, "鏃�"); + document2.add(paragraph); + } else { + Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(), defaultFont); + //璁剧疆鏂囧瓧灞呬腑 + paragraphs.setAlignment(Element.ALIGN_LEFT); + //琛岄棿璺� // paragraphs.setLeading(5f); - //璁剧疆娈佃惤涓婄┖鐧� - paragraphs.setSpacingBefore(10f); - //璁剧疆娈佃惤涓嬬┖鐧� - paragraphs.setSpacingAfter(10f); + //璁剧疆娈佃惤涓婄┖鐧� + paragraphs.setSpacingBefore(10f); + //璁剧疆娈佃惤涓嬬┖鐧� + paragraphs.setSpacingAfter(10f); // paragraph = PdfUtils.setParagraph(defaultFont, tjOrder.getCheckAdvice()); - document2.add(paragraphs); + document2.add(paragraphs); + } } + Paragraph paragraphNone = new Paragraph("", defaultFont); @@ -1193,118 +1232,16 @@ document2.add(paragraphNone); - PdfPTable tableQz = new PdfPTable(new float[]{100f, 100f, 50f}); - tableQz.setTotalWidth(PageSize.A4.getWidth() - 100); - tableQz.setLockedWidth(true); - tableQz.setHorizontalAlignment(Element.ALIGN_LEFT); - tableQz.getDefaultCell().setBorder(0); - tableQz.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); - Font zongJianFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE); - Font zongJianTitleFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE); - zongJianTitleFont.setStyle(Font.BOLD); - - for (int i = 0; i < 3; i++) { - PdfPCell cell = new PdfPCell(); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_RIGHT); - cell.setPhrase(new Phrase("", defaultFont)); - cell.setBorder(Rectangle.NO_BORDER); - tableQz.addCell(cell); + if (!zjjyandqmgzIstopFlag){ + makeZjjyAndQmgzTab(tjOrder, zongJianYiShiQianMing, zongJianFont, zongJianTitleFont, value, document2, defaultFont); } - - - PdfPCell cell = new PdfPCell(); - cell.setBorder(Rectangle.NO_BORDER); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_RIGHT); - cell.setPhrase(new Phrase("", defaultFont)); - cell.setRowspan(3); - tableQz.addCell(cell); - - cell = new PdfPCell(); - cell.setBorder(Rectangle.NO_BORDER); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_RIGHT); - cell.setPaddingTop(10); - cell.setPaddingBottom(10); - cell.setPhrase(new Phrase("浣撴鍗曚綅鐩栫珷:", zongJianTitleFont)); - - tableQz.addCell(cell); - - File file = new File(value + File.separator + "yinzhang.png"); - cell = new PdfPCell(); - cell.setBorder(Rectangle.NO_BORDER); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_RIGHT); - cell.setPaddingTop(10); - cell.setPaddingBottom(10); - if (!file.exists()) { - cell.setPhrase(new Phrase("", zongJianFont)); - }else { - FileInputStream fileInputStream = new FileInputStream(file); - byte[] fileBytes = new byte[(int) file.length()]; - fileInputStream.read(fileBytes); - fileInputStream.close(); - Image image = Image.getInstance(Base64.getDecoder().decode(Base64.getEncoder().encodeToString(fileBytes))); - image.scaleToFit(90, 90); - cell.addElement(image); - } - tableQz.addCell(cell); - - cell = new PdfPCell(); - cell.setBorder(Rectangle.NO_BORDER); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_RIGHT); - cell.setPaddingTop(10); - cell.setPaddingBottom(10); - cell.setPhrase(new Phrase("鎬绘鍖诲笀:", zongJianTitleFont)); - tableQz.addCell(cell); - - - cell = new PdfPCell(); - cell.setBorder(Rectangle.NO_BORDER); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_CENTER); - cell.setPaddingTop(10); - cell.setPaddingBottom(10); - 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 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); - cell.addElement(image); - tableQz.addCell(cell); - } - - cell = new PdfPCell(); - cell.setBorder(Rectangle.NO_BORDER); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_RIGHT); - cell.setPaddingTop(10); - cell.setPaddingBottom(10); - cell.setPhrase(new Phrase("鎬绘鏃ユ湡:", zongJianTitleFont)); - tableQz.addCell(cell); - - cell = new PdfPCell(); - cell.setBorder(Rectangle.NO_BORDER); - cell.setVerticalAlignment(Element.ALIGN_MIDDLE); - cell.setHorizontalAlignment(Element.ALIGN_CENTER); - cell.setPaddingTop(10); - cell.setPaddingBottom(10); - cell.setPhrase(new Phrase(new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()), zongJianFont)); - tableQz.addCell(cell); - - document2.add(tableQz); - document2.close(); + + + zongJianFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE); + zongJianTitleFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE); + zongJianTitleFont.setStyle(Font.BOLD); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); @@ -1337,9 +1274,11 @@ makeHisJianYanTable(document, map, dictHosp, color); printReport = new HashMap<>(); - pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer); +// pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer); + newpacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer); try { - notHuaYanTable(document, printReport, dictHosp, color, true); +// notHuaYanTable(document, printReport, dictHosp, color, true); + pacsTable(document, printReport, dictHosp, color, true); } catch (DocumentException e) { log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父"); log.error(String.valueOf(e)); @@ -1500,6 +1439,210 @@ } catch (Exception e) { log.error(String.valueOf(e)); throw new Exception(e); + } + } + + private void makeZjjyAndQmgzTab(TjOrder tjOrder, TjReportTemplate zongJianYiShiQianMing, Font zongJianFont, Font zongJianTitleFont, String value, Document document2, Font defaultFont) throws IOException, DocumentException { + PdfPCell cell; + String pdfQzgzpailie = sysConfigService.selectConfigByKey("pdf_qzgzpailie"); + if (StrUtil.isNotBlank(pdfQzgzpailie) && pdfQzgzpailie.equalsIgnoreCase("h")){ + zongJianFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE - 2); + zongJianTitleFont = PdfUtils.setFont(DEFAULT_ZONGJIAN_FONT_SIZE - 2); + zongJianTitleFont.setStyle(Font.BOLD); + PdfPTable tableQz = new PdfPTable(new float[]{90f, 90f, 60f, 60f, 60f, 60f}); + tableQz.setTotalWidth(PageSize.A4.getWidth() - 100); + tableQz.setLockedWidth(true); + tableQz.setHorizontalAlignment(Element.ALIGN_LEFT); + tableQz.getDefaultCell().setBorder(1); + tableQz.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); + + cell = new PdfPCell(new Phrase("浣撴鍗曚綅鐩栫珷:", zongJianTitleFont)); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPadding(10); + tableQz.addCell(cell); + + File file = new File(value + File.separator + "yinzhang.png"); + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_CENTER); + cell.setPadding(10); + if (!file.exists()) { + cell.setPhrase(new Phrase("", zongJianFont)); + } else { + FileInputStream fileInputStream = new FileInputStream(file); + byte[] fileBytes = new byte[(int) file.length()]; + fileInputStream.read(fileBytes); + fileInputStream.close(); + Image image = Image.getInstance(Base64.getDecoder().decode(Base64.getEncoder().encodeToString(fileBytes))); + image.scaleToFit(60, 60); + cell.addElement(image); + } + tableQz.addCell(cell); + + cell = new PdfPCell(new Phrase("鎬绘鍖诲笀:", zongJianTitleFont)); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPadding(10); + tableQz.addCell(cell); + + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_CENTER); + cell.setPadding(10); + + String zongjianysname = sysConfigService.selectConfigByKey("pdf_report_zongjianysname"); + if (zongJianYiShiQianMing == null && StrUtil.isNotBlank(zongjianysname) && !zongjianysname.equals("鏃�")) { + cell.setPhrase(new Phrase(zongjianysname, zongJianFont)); + } else if (zongJianYiShiQianMing == null && zongjianysname.equals("鏃�")) { + String nickName = SecurityUtils.getLoginUser().getUser().getNickName(); + cell.setPhrase(new Phrase(nickName, zongJianFont)); + } else { + byte[] bytes = Base64.getDecoder().decode(zongJianYiShiQianMing.getTemplate()); + Image image = Image.getInstance(bytes); + image.scaleToFit(60, 60); +// cell.addElement(image); + +// cell.setPaddingTop(5); +// cell.setPaddingBottom(15); + String pdfSfsgqz = sysConfigService.selectConfigByKey("pdf_sfsgqz"); + if (StrUtil.isNotBlank(pdfSfsgqz) && pdfSfsgqz.equalsIgnoreCase("Y")) { + cell.setVerticalAlignment(Element.ALIGN_TOP); + } + cell.setImage(image); + } + tableQz.addCell(cell); + + cell = new PdfPCell(new Phrase("鎬绘鏃ユ湡:", zongJianTitleFont)); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPadding(10); + tableQz.addCell(cell); + + cell = new PdfPCell(new Phrase(new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()), zongJianFont)); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_CENTER); + cell.setPadding(10); + tableQz.addCell(cell); + document2.add(tableQz); + } else { + PdfPTable tableQz = new PdfPTable(new float[]{90f, 90f, 70f}); + tableQz.setTotalWidth(PageSize.A4.getWidth() - 100); + tableQz.setLockedWidth(true); + tableQz.setHorizontalAlignment(Element.ALIGN_LEFT); +// tableQz.getDefaultCell().setBorder(1); + tableQz.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); + + for (int i = 0; i < 3; i++) { + cell = new PdfPCell(); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPhrase(new Phrase("", defaultFont)); + cell.setBorder(Rectangle.NO_BORDER); + tableQz.addCell(cell); + } + + + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPhrase(new Phrase("", defaultFont)); + cell.setRowspan(3); + tableQz.addCell(cell); + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPaddingTop(10); + cell.setPaddingBottom(10); +// cell.setPaddingRight(50); + cell.setPhrase(new Phrase("浣撴鍗曚綅鐩栫珷:", zongJianTitleFont)); + + tableQz.addCell(cell); + + File file = new File(value + File.separator + "yinzhang.png"); + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_LEFT); + cell.setPaddingTop(10); + cell.setPaddingBottom(10); +// cell.setPaddingRight(50); + if (!file.exists()) { + cell.setPhrase(new Phrase("", zongJianFont)); + }else { + FileInputStream fileInputStream = new FileInputStream(file); + byte[] fileBytes = new byte[(int) file.length()]; + fileInputStream.read(fileBytes); + fileInputStream.close(); + Image image = Image.getInstance(Base64.getDecoder().decode(Base64.getEncoder().encodeToString(fileBytes))); + image.scaleToFit(90, 90); + cell.addElement(image); + } + tableQz.addCell(cell); + + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPaddingTop(10); + cell.setPaddingBottom(10); +// cell.setPaddingRight(50); + cell.setPhrase(new Phrase("鎬绘鍖诲笀:", zongJianTitleFont)); + tableQz.addCell(cell); + + + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_LEFT); + cell.setPaddingTop(10); + cell.setPaddingBottom(10); +// cell.setPaddingRight(50); + 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 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); + cell.addElement(image); + tableQz.addCell(cell); + } + + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_RIGHT); + cell.setPaddingTop(10); + cell.setPaddingBottom(10); +// cell.setPaddingRight(50); + cell.setPhrase(new Phrase("鎬绘鏃ユ湡:", zongJianTitleFont)); + tableQz.addCell(cell); + + cell = new PdfPCell(); + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_LEFT); + cell.setPaddingTop(10); + cell.setPaddingBottom(10); +// cell.setPaddingRight(50); + cell.setPhrase(new Phrase(new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime()), zongJianFont)); + tableQz.addCell(cell); + + document2.add(tableQz); } } @@ -2118,6 +2261,158 @@ } } + + private void pacsTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs)throws DocumentException{ + try { + List<TjReportSpecialProject> tjReportSpecialProjects = tjReportSpecialProjectService.list(); + 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()); + Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream() + .filter(item -> item.getProId().equals(pid)) + .findFirst(); + if (match.isPresent()) { + reportSpecialProject(document1, entry, paragraph, value,match.get()); + } else { + 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()); + Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream() + .filter(item -> item.getProId().equals(pid)) + .findFirst(); + if (match.isPresent()) { + reportSpecialProject(document1, entry, paragraph, value,match.get()); + } else { + 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); + } + } + + /** * 鐩墠鍐欐 鍙湁纰�13銆�14 妯℃澘閮芥槸涓�鏍风殑鍙笉杩囧弬鑰冨�间笉鍚� * 鍑屼簯锛歿"dy":"4.0","xy":"4.0","title":"闃虫�у弬鑰冨�硷細","dystr":"DOB鍊硷細 鈮� ${dy} HP-闃虫��","xystr":" < ${xy} 姝e父","en":"DOB"} @@ -2559,6 +2854,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())); @@ -2567,12 +2863,13 @@ } } 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); } @@ -2660,6 +2957,38 @@ } } + + 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