From 0ebcb0aae7ebe897bfbf81a239d3c702f041c533 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期二, 18 二月 2025 08:50:47 +0800 Subject: [PATCH] zjh20250218 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 206 ++++++++++++++++++++++++++++----------------------- 1 files changed, 114 insertions(+), 92 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 d0ad287..dd2f9cb 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 @@ -998,114 +998,136 @@ paragraph.setSpacingBefore(3f); paragraph.setSpacingAfter(2f); document2.add(paragraph); - int xmXh = 1; - -// orderDetails=orderDetails.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); -// orderDetails = orderDetails.stream() -// .sorted(Comparator.comparingInt( -// tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� -// )) -// .collect(Collectors.toList()); - Map<Long, List<TjOrderDetail>> collect = orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId)); - for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) { - List<CsProVo> proVos = deptEntry.getValue(); - if (proVos.size() > 1) { - proVos = proVos.stream() - .sorted(Comparator.comparingLong(CsProVo::getProId)) - .collect(Collectors.toList()); - } - // 宸茬粡閬嶅巻杩囩殑 - ArrayList<String> jianYanYiDa = new ArrayList<>(); - for (CsProVo proVo : proVos) { + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber()); + List<TjOrderYcxm> ycxms = ycxmService.list(wq); + if (null != ycxms && !ycxms.isEmpty()) { - // 妫�鏌� - for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) { - if (!entry.getKey().equals(proVo.getProId())) continue; - List<TjOrderDetail> details = entry.getValue(); - String xmmc = proVo.getProName(); + 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; - -// details=details.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); -// details = details.stream() -// .sorted(Comparator.comparingInt( -// tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� -// )) -// .collect(Collectors.toList()); - int index = 1; - for (TjOrderDetail detail : details) { + 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); - document2.add(paragraph); - isXmWrite = true; - } - String result = detail.getProResult(); - if (StrUtil.isNotBlank(result)) { - result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", ""); -// result = result.replaceAll("", ""); -// String[] split = result.split("\n"); -// StringBuilder builder = new StringBuilder(); -// for (String s : split) { -// if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue; -// builder.append(" (").append(index).append(")").append(s).append("\n"); -// index++; -// } - StringBuilder builder = new StringBuilder(); - if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; - builder.append(" (").append(index).append(")").append(detail.getProName()).append(": ").append(result).append("\n"); - index++; - - result = builder.toString(); - } - paragraph = new Paragraph(result, defaultFont); + if (!isXmWrite) { + paragraph = new Paragraph(xmXh + ". " + xmmc, defaultFont); paragraph.setAlignment(Element.ALIGN_LEFT); document2.add(paragraph); + isXmWrite = true; } - if (isXmWrite) { - paragraph = PdfUtils.setParagraph(defaultFont, ""); - paragraph.setLeading(0f); - paragraph.setSpacingBefore(0f); - paragraph.setSpacingAfter(5f); - document2.add(paragraph); - xmXh++; - } - } + String result = detail.getJcjg(); + if (StrUtil.isNotBlank(result)) { + 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"); + index++; - // 妫�楠� - for (Map.Entry<String, Object> item : map.entrySet()) { - String xmmc = item.getKey(); - HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue(); - ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data"); - boolean isXmWrite = false; - int index = 1; - for (List<String> i : lists) { - if (!i.get(6).contains(String.valueOf(proVo.getProId()))) continue; - if (i.contains("鈫�") || i.contains("鈫�")) { - if (jianYanYiDa.contains(i.get(5))) continue; - jianYanYiDa.add(i.get(5)); + result = builder.toString(); + } + paragraph = new Paragraph(result, defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + } + if (isXmWrite) { + paragraph = PdfUtils.setParagraph(defaultFont, ""); + paragraph.setLeading(0f); + paragraph.setSpacingBefore(0f); + paragraph.setSpacingAfter(5f); + document2.add(paragraph); + xmXh++; + } + } + }else { + for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) { + List<CsProVo> proVos = deptEntry.getValue(); + if (proVos.size() > 1) { + proVos = proVos.stream() + .sorted(Comparator.comparingLong(CsProVo::getProId)) + .collect(Collectors.toList()); + } + // 宸茬粡閬嶅巻杩囩殑 + ArrayList<String> jianYanYiDa = new ArrayList<>(); + for (CsProVo proVo : proVos) { + + // 妫�鏌� + for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) { + if (!entry.getKey().equals(proVo.getProId())) continue; + List<TjOrderDetail> details = entry.getValue(); + String xmmc = proVo.getProName(); +// String xmmc = details.get(0).getProName(); + boolean isXmWrite = false; + int index = 1; + for (TjOrderDetail detail : details) { +// if (!entry.getKey().equals(detail.getProId())) continue; if (!isXmWrite) { paragraph = new Paragraph(xmXh + ". " + xmmc, defaultFont); paragraph.setAlignment(Element.ALIGN_LEFT); document2.add(paragraph); isXmWrite = true; } - String content = " (" + index + ") " + i.get(0) + "锛�" + i.get(1) + " " + i.get(3) + " " + i.get(4) + " " + i.get(2); - paragraph = new Paragraph(content, defaultFont); + String result = detail.getProResult(); + if (StrUtil.isNotBlank(result)) { + result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", ""); + StringBuilder builder = new StringBuilder(); + if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; + builder.append(" (").append(index).append(")").append(detail.getProName()).append(": ").append(result).append("\n"); + index++; + + result = builder.toString(); + } + paragraph = new Paragraph(result, defaultFont); paragraph.setAlignment(Element.ALIGN_LEFT); document2.add(paragraph); - index++; + } + if (isXmWrite) { + paragraph = PdfUtils.setParagraph(defaultFont, ""); + paragraph.setLeading(0f); + paragraph.setSpacingBefore(0f); + paragraph.setSpacingAfter(5f); + document2.add(paragraph); + xmXh++; } } - if (isXmWrite) { - paragraph = PdfUtils.setParagraph(defaultFont, ""); - paragraph.setSpacingBefore(0f); - paragraph.setSpacingAfter(5f); - document2.add(paragraph); - xmXh++; + + // 妫�楠� + for (Map.Entry<String, Object> item : map.entrySet()) { + String xmmc = item.getKey(); + HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue(); + ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data"); + boolean isXmWrite = false; + int index = 1; + for (List<String> i : lists) { + if (!i.get(6).contains(String.valueOf(proVo.getProId()))) continue; + if (i.contains("鈫�") || i.contains("鈫�")) { + if (jianYanYiDa.contains(i.get(5))) continue; + jianYanYiDa.add(i.get(5)); + if (!isXmWrite) { + paragraph = new Paragraph(xmXh + ". " + xmmc, defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + isXmWrite = true; + } + String content = " (" + index + ") " + i.get(0) + "锛�" + i.get(1) + " " + i.get(3) + " " + i.get(4) + " " + i.get(2); + paragraph = new Paragraph(content, defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + index++; + } + } + if (isXmWrite) { + paragraph = PdfUtils.setParagraph(defaultFont, ""); + paragraph.setSpacingBefore(0f); + paragraph.setSpacingAfter(5f); + document2.add(paragraph); + xmXh++; + } } } } @@ -1121,9 +1143,9 @@ paragraph.setSpacingAfter(2f); document2.add(paragraph); xmXh = 0; - LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber()); - List<TjOrderYcxm> ycxms = ycxmService.list(wq); +// LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjOrderYcxm::getTjh, tjOrder.getTjNumber()); +// List<TjOrderYcxm> ycxms = ycxmService.list(wq); if (null != ycxms && !ycxms.isEmpty()) { Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); -- Gitblit v1.8.0