From 983d95bdcbb273b4a78efd0058a2a35141be1b51 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期二, 08 四月 2025 18:00:12 +0800 Subject: [PATCH] zjh20250408 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 151 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 122 insertions(+), 29 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 ea284e3..e1032bd 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 @@ -34,8 +34,10 @@ 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 net.sf.ehcache.search.aggregator.Count; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -995,29 +997,29 @@ // List<Map<String, Object>> jiancha = new ArrayList<>(); - paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細"); - paragraph.setSpacingBefore(3f); - paragraph.setSpacingAfter(2f); - document2.add(paragraph); int xmXh = 1; - Map<Long, List<TjOrderDetail>> collect = orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId)); LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber()); List<TjOrderYcxm> ycxms = ycxmService.list(wq); + boolean isBr = false; if (null != ycxms && !ycxms.isEmpty()) { + + paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細"); + paragraph.setSpacingBefore(3f); + paragraph.setSpacingAfter(2f); + document2.add(paragraph); + isBr = true; Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) { List<TjOrderYcxm> details = entry.getValue(); String xmmc = entry.getKey(); -// String xmmc = details.get(0).getProName(); boolean isXmWrite = false; int index = 1; for (TjOrderYcxm detail : details) { -// if (!entry.getKey().equals(detail.getProId())) continue; if (!isXmWrite) { paragraph = new Paragraph(xmXh + ". " + xmmc, defaultFont); paragraph.setAlignment(Element.ALIGN_LEFT); @@ -1029,7 +1031,9 @@ result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", ""); 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(); @@ -1047,7 +1051,17 @@ xmXh++; } } - }else { + } + /* else { + + if (!collect.isEmpty() || !map.isEmpty()){ + paragraph = PdfUtils.setParagraph(defaultTitleFont, "妫�鏌ョ患杩帮細"); + paragraph.setSpacingBefore(3f); + paragraph.setSpacingAfter(2f); + document2.add(paragraph); + isBr = true; + } + for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) { List<CsProVo> proVos = deptEntry.getValue(); if (proVos.size() > 1) { @@ -1134,21 +1148,26 @@ } } } + } */ + + + + if(isBr) { + paragraph = PdfUtils.setParagraph(defaultFont, ""); + paragraph.setLeading(0f); + paragraph.setSpacingBefore(10f); + paragraph.setSpacingAfter(10f); + document2.add(paragraph); } - - paragraph = PdfUtils.setParagraph(defaultFont, ""); - paragraph.setLeading(0f); - paragraph.setSpacingBefore(10f); - paragraph.setSpacingAfter(10f); - document2.add(paragraph); - paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�"); - paragraph.setSpacingBefore(3f); - paragraph.setSpacingAfter(2f); - document2.add(paragraph); xmXh = 0; if (null != ycxms && !ycxms.isEmpty()) { + + paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�"); + paragraph.setSpacingBefore(3f); + paragraph.setSpacingAfter(2f); + document2.add(paragraph); Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); @@ -1174,7 +1193,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(); @@ -1373,7 +1393,16 @@ } } }*/ - } else { + } + /* else { + + if (!collect.isEmpty() || !map.isEmpty()){ + paragraph = PdfUtils.setParagraph(defaultTitleFont, "鍖荤敓寤鸿锛�"); + paragraph.setSpacingBefore(3f); + paragraph.setSpacingAfter(2f); + document2.add(paragraph); + } + for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) { List<CsProVo> proVos = deptEntry.getValue(); if (proVos.size() > 1) { @@ -1476,9 +1505,11 @@ paragraph.setAlignment(Element.ALIGN_LEFT); document2.add(paragraph); String str = " "; - List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), "", - i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "") - .replaceAll("[ 娴嬪畾妫�娴媇", ""), i.get(1)); + List<Map<String, Object>> maps = tjRulesService.getyichangxiangmujianyiguize(i.get(5), i.get(0).replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), + i.get(2), tjOrder.getTjNumber(), i.get(0).replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", ""), i.get(1)); + if (!maps.isEmpty()) { for (Map<String, Object> objectMap : maps) { Object bt = objectMap.get("bt"); @@ -1509,7 +1540,7 @@ } } } - } + } */ for (int i = 0; i < 1; i++) { paragraph = PdfUtils.setParagraph(defaultFont, ""); @@ -2198,7 +2229,61 @@ 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); @@ -2587,10 +2672,18 @@ List<LtkjHysqd> list = ltkjHysqdService.list(ltkjHysqdLambdaQueryWrapper); HashMap<String, Object> data = new HashMap<>(); for (LtkjHysqd hysqd : list) { - LambdaQueryWrapper<LtkjHybgd> ltkjHybgdLambdaQueryWrapper = new LambdaQueryWrapper<>(); - ltkjHybgdLambdaQueryWrapper.eq(LtkjHybgd::getTmh, hysqd.getTmh()); - List<LtkjHybgd> hybgds = ltkjHybgdService.list(ltkjHybgdLambdaQueryWrapper); +// LambdaQueryWrapper<LtkjHybgd> ltkjHybgdLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// ltkjHybgdLambdaQueryWrapper.eq(LtkjHybgd::getTmh, hysqd.getTmh()); +// List<LtkjHybgd> hybgds = ltkjHybgdService.list(ltkjHybgdLambdaQueryWrapper); + List<LtkjHybgd> hybgds = ltkjHybgdService.getReportJianYanBaoGaoDanList(hysqd.getTmh()); if(null !=hybgds && !hybgds.isEmpty()){ +// hybgds = hybgds.stream().distinct().collect(Collectors.toList()); + hybgds = new ArrayList<>(hybgds.stream() + .collect(Collectors.toMap(LtkjHybgd::getJcxm, p -> p, (existing, replacement) -> existing)) + .values()); + + + // hybgds=hybgds.stream().sorted(Comparator.comparing(LtkjHybgd::getJcxm, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); // hybgds = hybgds.stream() // .sorted(Comparator.comparingInt( -- Gitblit v1.8.0