From 206a888c39eed2c58f4dab3c5bfcac7f068a0ea9 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 17 二月 2025 18:03:27 +0800 Subject: [PATCH] zjh20250217 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 75 ++++++++++++++++++++++++++++++++++++- 1 files changed, 73 insertions(+), 2 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 f6e9e3b..d0ad287 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 @@ -1125,7 +1125,78 @@ wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber()); List<TjOrderYcxm> ycxms = ycxmService.list(wq); if (null != ycxms && !ycxms.isEmpty()) { - for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) { + + 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(); + if(null !=details && !details.isEmpty()){ + details= details.stream() + .sorted(Comparator.comparing(TjOrderYcxm::getJcxm)) + .collect(Collectors.toList()); + boolean isXmWrite = false; + int index = 1; + int index1 = 1; + for (TjOrderYcxm detail : details) { + String xmmc = entry.getKey().toString(); + if (!isXmWrite) { + xmXh++; + paragraph = new Paragraph("銆�" + xmXh + "." + xmmc + "銆�", defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + isXmWrite = true; + } + String result = detail.getJcjg(); + 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"); + index1++; + + result = builder.toString(); + } + if (StrUtil.isNotBlank(result)) { + paragraph = new Paragraph(result, defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + } else { + paragraph = new Paragraph("寤鸿瀹氭湡澶嶆煡", defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + } + String str = " "; + List<Map<String, Object>> maps = new ArrayList<>(); + + String jynr = detail.getJynr(); + JSONArray array = JSONUtil.parseArray(jynr); + for (Object object : array) { + Map<String,Object> objectMap=new HashMap<>(); + JSONObject jsonObject = (JSONObject) object; + String bt = jsonObject.getStr("bt"); + String nr = jsonObject.getStr("nr"); + objectMap.put("bt",bt); + objectMap.put("nr",nr); + if(null !=bt || null !=nr) maps.add(objectMap); + } + 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); + } + index++; + paragraph = PdfUtils.setParagraph(defaultFont, ""); + paragraph.setLeading(0f); + paragraph.setSpacingBefore(0f); + paragraph.setSpacingAfter(5f); + document2.add(paragraph); + } + } + } + + /*for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) { List<CsProVo> proVos = deptEntry.getValue(); if (proVos.size() > 1) { proVos = proVos.stream() @@ -1277,7 +1348,7 @@ } } } - } + }*/ } else { for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) { List<CsProVo> proVos = deptEntry.getValue(); -- Gitblit v1.8.0