From 0348f5a8184bd0a05434562f0021c2bb50628c32 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 09 十二月 2024 13:41:20 +0800 Subject: [PATCH] 2024-12-09 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 84 +++++++++++++++++++++++++++++++++--------- 1 files changed, 66 insertions(+), 18 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 b1777cd..74d97e6 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 @@ -42,6 +42,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -121,7 +122,8 @@ String color = sysConfigService.selectConfigByKey("report_title_color"); // list.get(0).getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex")); - HashMap<String, Object> pdfChangGui = makePDFInfo(tjOrder, customer, tjReportTemplate); + HashMap<String, Object> map = makeHisJianYan(tjOrder, customer); + HashMap<String, Object> pdfChangGui = makePDFInfo(tjOrder, customer, tjReportTemplate,dictHosp,map); if (pdfChangGui == null) return AjaxResult.error(); Document document = (Document) pdfChangGui.get("document"); @@ -163,7 +165,6 @@ return AjaxResult.error(); } // 缁勮妫�楠屾暟鎹� - HashMap<String, Object> map = makeHisJianYan(tjOrder, customer); makeHisJianYanTable(document1, map,dictHosp,color); @@ -818,7 +819,7 @@ * @param tjOrder * @param reportTemplate */ - public HashMap<String, Object> makePDFInfo(TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate) { + public HashMap<String, Object> makePDFInfo(TjOrder tjOrder, TjCustomer tjCustomer, TjReportTemplate reportTemplate,DictHosp dictHosp,HashMap<String, Object> jianYanMap) { String tjNumber = tjOrder.getTjNumber(); String template = reportTemplate.getTemplate(); LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>(); @@ -868,27 +869,66 @@ } //鎷兼帴閲嶅ぇ闃虫�х粨鏋� StringBuffer str = new StringBuffer(); - str.append("銆愰噸澶ч槼鎬ч」鐩�慭n"); - LambdaQueryWrapper<TjBigPositive> bigPositiveLambdaQueryWrapper = new LambdaQueryWrapper<>(); - bigPositiveLambdaQueryWrapper.eq(TjBigPositive::getTjNumber, tjNumber); - List<TjBigPositive> list1 = tjBigPositiveService.list(bigPositiveLambdaQueryWrapper); - if (list1 != null && list1.size() > 0) { - for (int i = 0; i < list1.size(); i++) { - str.append((i + 1) + "銆�" + list1.get(i).getProName() + ";\n"); + if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + str.append("銆愰噸澶ч槼鎬ч」鐩�慭n"); + LambdaQueryWrapper<TjBigPositive> bigPositiveLambdaQueryWrapper = new LambdaQueryWrapper<>(); + bigPositiveLambdaQueryWrapper.eq(TjBigPositive::getTjNumber, tjNumber); + List<TjBigPositive> list1 = tjBigPositiveService.list(bigPositiveLambdaQueryWrapper); + if (list1 != null && list1.size() > 0) { + for (int i = 0; i < list1.size(); i++) { + str.append((i + 1) + "銆�" + list1.get(i).getProName() + ";\n"); + } + } else { + str.append(" 鏃狅紱\n"); } - } else { - str.append(" 鏃狅紱\n"); } //鎷兼帴寮傚父椤圭洰 str.append("銆愬紓甯告儏鍐甸」鐩�慭n"); - if (list.size() > 0) { - for (int i = 0; i < list.size(); i++) { - if (list.get(i).getExceptionDesc() == 1) { - str.append((i + 1) + "銆�" + projectService.getById(list.get(i).getProId()).getProName() + ";\n"); + if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + if (list.get(i).getExceptionDesc() == 1) { + str.append((i + 1) + "銆�" + projectService.getById(list.get(i).getProId()).getProName() + ";\n"); + } + } + } else { + str.append(" 鏃狅紱\n"); + } + }else { + int maxProjectLength = 0; + for (Map.Entry<String, Object> item : jianYanMap.entrySet()) { + HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue(); + ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data"); + for (List<String> i : lists) { + maxProjectLength = Math.max(maxProjectLength, i.get(0).length()); } } - } else { - str.append(" 鏃狅紱\n"); + int projectWidth = maxProjectLength * 2; + int resultWidth = 8; + int flagWidth = 8; + int unitWidth = 8; + int rangeWidth = 15; + str.append(padRight("椤圭洰", projectWidth)) + .append(padRight("缁撴灉", resultWidth)) + .append(padRight("鏍囧織", flagWidth)) + .append(padRight("鍗曚綅", unitWidth)) + .append(padRight("鍙傝�冭寖鍥�", rangeWidth)) + .append("\n"); + for (Map.Entry<String, Object> item : jianYanMap.entrySet()) { + HashMap<String, Object> entryValue = (HashMap<String, Object>) item.getValue(); + ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data"); + for (List<String> i : lists) { + if (i.contains("鈫�") || i.contains("鈫�")) { + int currentProjectWidth = i.get(0).length() + (maxProjectLength - i.get(0).length()) * 2 + 2; + str.append(padRight(i.get(0), currentProjectWidth)); + str.append(padRight(i.get(1), resultWidth)); + str.append(padRight(i.get(2), flagWidth)); + str.append(padRight(i.get(3), unitWidth)); + str.append(padRight(i.get(4), rangeWidth)); + str.append("\n"); + } + } + } } //寮傚父椤圭洰 data.put("yichang", str.toString()); @@ -928,6 +968,14 @@ } } + public static String padRight(String str, int length) { + StringBuilder sb = new StringBuilder(str); + while (sb.length() < length) { + sb.append(" "); + } + return sb.toString(); + } + /** * 缁勫悎闈炲寲楠岄」鐩姤鍛婃暟鎹� * -- Gitblit v1.8.0