From aacaa3d2daafbd97ab008908b9f2fe9ed6c1f713 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期三, 30 四月 2025 17:17:42 +0800 Subject: [PATCH] pdf生成增加失败撤回 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 209 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 166 insertions(+), 43 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 e192d46..a4c4373 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 @@ -49,6 +49,9 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.text.Collator; import java.text.SimpleDateFormat; import java.util.*; @@ -122,6 +125,8 @@ private ITjProAdvicerulesService tjProAdvicerulesService; @Autowired private TjOrderYcxmService ycxmService; + @Resource + private TjXdtgmdjgService xdtgmdjgService; private Integer pdfPage = 0; @@ -1032,7 +1037,8 @@ StringBuilder builder = new StringBuilder(); if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; - builder.append(" (").append(index).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n"); + builder.append(" (").append(index).append(")").append(detail.getJcxm()).append(": ") + .append(result.replaceAll("\n", "").trim()).append("\n"); index++; result = builder.toString(); @@ -1192,7 +1198,8 @@ if (StrUtil.isNotBlank(result)) { StringBuilder builder = new StringBuilder(); if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; - builder.append(" (").append(index1).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n"); + builder.append(" (").append(index1).append(")").append(detail.getJcxm()).append(": ") + .append(result.replaceAll("\n", "").trim()).append("\n"); index1++; result = builder.toString(); @@ -1735,6 +1742,46 @@ log.error(String.valueOf(e)); return AjaxResult.error(); } + + LambdaQueryWrapper<TjXdtgmdjg> wqq=new LambdaQueryWrapper<>(); + wqq.eq(TjXdtgmdjg::getTjh,tjOrder.getTjNumber()); + wqq.isNotNull(TjXdtgmdjg::getUrl); + List<TjXdtgmdjg> xdtgmdjgList = xdtgmdjgService.list(wqq); + + int index=1; + for (TjXdtgmdjg xdtgmdjg : xdtgmdjgList) { + document.newPage(); + cell = new PdfPCell(); + PdfPTable tablefj = new PdfPTable(new float[]{100f}); + tablefj.setTotalWidth(PageSize.A4.getWidth() - 100); + tablefj.setLockedWidth(true); + tablefj.setHorizontalAlignment(Element.ALIGN_LEFT); + tablefj.getDefaultCell().setBorder(0); + tablefj.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); + + 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("闄勪欢"+index+": "+ xdtgmdjg.getProName(), zongJianFont)); + Path path = Paths.get(xdtgmdjg.getUrl()); + byte[] bytesfj = null; + try { + bytesfj = Files.readAllBytes(path); + } catch (IOException e) { + throw new RuntimeException(e); + } + Image image = Image.getInstance(bytesfj); + image.scaleToFit(500, 2500); + tablefj.addCell(cell); + cell = new PdfPCell(); + cell.addElement(image); + tablefj.addCell(cell); + document.add(tablefj); + index++; + } + document.close(); @@ -1759,7 +1806,7 @@ AcroFields acroFields = pdfStamper.getAcroFields(); BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); acroFields.addSubstitutionFont(bf); - HashMap<String, Object> data = new HashMap<>(); +// HashMap<String, Object> data = new HashMap<>(); Long cusSex = customer.getCusSex(); String tjtype; if (cusSex == 0) { @@ -1779,10 +1826,6 @@ if (StrUtil.isNotBlank(tjOrder.getFirmName())) { hashMap.put("work", tjOrder.getFirmName()); } else { -// LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>(); -// wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId()); -// DictComp dictComp = dictCompService.getOne(wq111); - if (StrUtil.isBlank(tjOrder.getFirmName())) { hashMap.put("work", "鏃�"); } else { @@ -1826,6 +1869,9 @@ PdfImportedPage page = copy.getImportedPage(reader2, i); copy.addPage(page); } + + + reader2.close(); PdfReader reader1 = new PdfReader(byteArrayOutputStream.toByteArray()); @@ -2222,12 +2268,66 @@ 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); } - } else { + } + // 纰�14 +// else if (value.get(0).getPid().equals("1870371396991955967")){ +// Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); +// Paragraph ppp = new Paragraph("闃虫�у弬鑰冨��(Delta Over Baseline(DPM))锛�", remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); +// +// LineSeparator objectName = new LineSeparator(); +// objectName.setOffset(-5); +// document1.add(objectName); +// +// ppp = new Paragraph("DPM鍊硷細 > 149 闃虫��", remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); +// +// ppp = new Paragraph(" 猢� 99 闃存��", remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); +// +// objectName.setOffset(-5); +// document1.add(objectName); +// +// +// int result = Integer.parseInt(value.get(0).getProResult()); +// String after = ""; +// if (result > 149){ +// after = "闃虫��"; +// }else { +// after = "闃存��"; +// } +// ppp = new Paragraph("妫�娴嬬粨鏋滐細 DPM=" + result, remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); +// +// ppp = new Paragraph("", remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); +// ppp = new Paragraph("", remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); +// if (StrUtil.isNotBlank(entry.getKey().getRemark())) { +// ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); +// } +// } + else { String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2238,18 +2338,22 @@ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); if (isPacs) { - Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + Paragraph pp; + Paragraph ppp; + 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); + } + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+value.get(0).getTs()); document1.add(pp); - Paragraph ppp = new Paragraph(value.get(0).getSj(), 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(), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); +// ppp = new Paragraph(value.get(0).getTs(), remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); } else { if (value.get(0).getPid().equals("1862852701533012001")) { remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2283,7 +2387,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); @@ -2406,7 +2510,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); @@ -2423,18 +2527,40 @@ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); if (isPacs) { - Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + Paragraph pp; + Paragraph 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())); +// document1.add(pp); + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"); document1.add(pp); - Paragraph ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts); + 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); - 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); +// document1.add(ppp); } else { if (value.get(0).getPid().equals("1862852701533012001")) { remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2468,7 +2594,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); @@ -2887,12 +3013,7 @@ * @param customer */ private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) { -// LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>(); -// wqq.eq(TjOrderRemark::getTjNumber, tjNumber); -// wqq.ne(TjOrderRemark::getDeptId, "241"); -// wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257"); -// wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId()); -// List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); + List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber); for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { printReport.put(tjOrderRemark, null); @@ -2920,6 +3041,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())); @@ -2928,12 +3050,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); } -- Gitblit v1.8.0