From a5b599d34b1cbe6f4e84708d1165cce6fb9ef896 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 09 六月 2025 18:06:47 +0800 Subject: [PATCH] zjh20250605 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 232 ++++++++++++++++++++------------------------------------- 1 files changed, 82 insertions(+), 150 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 c90a816..c5d09d4 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 @@ -93,8 +93,8 @@ private LtkjHysqdService ltkjHysqdService; @Autowired private LtkjGetexamreportinfoService ltkjGetexamreportinfoService; - @Value("${path.filePath}") - private String value; +// @Value("${path.filePath}") +// private String value; @Value("${path.reportServer}") private String urlValue; @Autowired @@ -125,6 +125,8 @@ private TjOrderYcxmService ycxmService; @Resource private TjXdtgmdjgService xdtgmdjgService; + @Autowired + private TjReportSpecialProjectService tjReportSpecialProjectService; private Integer pdfPage = 0; @@ -873,6 +875,7 @@ String s2 = sysConfigService.selectConfigByKey("tjreport_font_size_second_page_title"); String s3 = sysConfigService.selectConfigByKey("tjreport_font_size_result_title"); String s4 = sysConfigService.selectConfigByKey("tjreport_font_size_zongjian"); + String value = sysConfigService.selectConfigByKey("path_filePath"); // String hospName = sysDeptController.getdangqiandengluyuanqu().get("msg").toString(); if (StrUtil.isNotBlank(s1) && Integer.parseInt(s1) > 10) DEFAULT_FONT_SIZE = Integer.parseInt(s1); else DEFAULT_FONT_SIZE = 10; @@ -1676,6 +1679,7 @@ */ private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException, DocumentException, InterruptedException { // 绗竴姝ワ細鐢熸垚鏂囦欢骞朵繚瀛� + String value = sysConfigService.selectConfigByKey("path_filePath"); String outputPath1 = value + File.separator; File file = new File(outputPath1 + outputFileName1); BufferedOutputStream outputStream = null; @@ -1788,6 +1792,7 @@ * @throws DocumentException */ private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs) throws DocumentException { + List<TjReportSpecialProject> tjReportSpecialProjects = tjReportSpecialProjectService.list(); for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjProject::getProId, entry.getKey().getProId()); @@ -1835,43 +1840,12 @@ // if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ if (!value.isEmpty()) { if (value.size() > 1) { - if (value.get(0).getPid().equals("1862852701533012001")) { - Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); - Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - - ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), 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().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + 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); @@ -1900,43 +1874,12 @@ // paragraph.setLeading(5f); // document1.add(ppp); } else { - if (value.get(0).getPid().equals("1862852701533012001")) { - remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); - Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - - ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), 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().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + 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); @@ -2023,43 +1966,12 @@ // if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ if (!value.isEmpty()) { if (value.size() > 1) { - if (value.get(0).getPid().equals("1862852701533012001")) { - Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); - Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - - ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), 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().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + 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); @@ -2115,43 +2027,12 @@ // paragraph.setLeading(5f); // document1.add(ppp); } else { - if (value.get(0).getPid().equals("1862852701533012001")) { - remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); - Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - - - ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB=" + value.get(0).getProResult(), 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().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + 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); @@ -2213,6 +2094,57 @@ } /** + * 鐩墠鍐欐 鍙湁纰�13銆�14 妯℃澘閮芥槸涓�鏍风殑鍙笉杩囧弬鑰冨�间笉鍚� + * 鍑屼簯锛歿"dy":"4.0","xy":"4.0","title":"闃虫�у弬鑰冨�硷細","dystr":"DOB鍊硷細 鈮� ${dy} HP-闃虫��","xystr":" < ${xy} 姝e父","en":"DOB"} + * 娉惧窛鍘垮尰闄細{"dy":"100","xy":"100","title":"鍙傝�冨��(DPM)锛�","dystr":"DPM鍊硷細 鈮� ${dy} 闃虫��","xystr":" < ${xy} 闃存��","en":"DPM"} + * @param document1 + * @param entry + * @param paragraph + * @param value + * @param tjReportSpecialProject + * @throws DocumentException + */ + private static void reportSpecialProject(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry, Paragraph paragraph, List<TjPdfVO> value,TjReportSpecialProject tjReportSpecialProject) throws DocumentException { + JSONObject entries = JSONUtil.parseObj(tjReportSpecialProject.getParams()); + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph ppp = new Paragraph(entries.getStr("title"), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(entries.getStr("dystr").replace("${dy}",entries.getStr("dy")), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(entries.getStr("xystr").replace("${xy}",entries.getStr("xy")), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + + ppp = new Paragraph("妫�娴嬬粨鏋滐細 "+entries.getStr("en")+"=" + value.get(0).getProResult(), 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().replaceAll("null",""), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + } + } + + /** * 涓昏鍖诲笀琛屾樉绀鸿缃� * * @param document1 -- Gitblit v1.8.0