From 201e9ae76d2c8d6219ceabbf4e1ebb36fc2e7a06 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 11 七月 2024 18:18:23 +0800 Subject: [PATCH] zjh 2024/07/11-1 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 82 +++++++++++++++++++++++++++++++++++----- 1 files changed, 71 insertions(+), 11 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 18c1a70..da10175 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 @@ -69,6 +69,8 @@ private LtkjHybgdService ltkjHybgdService; @Autowired private LtkjHysqdService ltkjHysqdService; + @Autowired + private LtkjGetexamreportinfoService ltkjGetexamreportinfoService; @Value("${path.filePath}") private String value; @Value("${path.reportServer}") @@ -195,7 +197,7 @@ // 缁勮妫�楠屾暟鎹� HashMap<String, Object> map = makeHisJianYan(tjOrder, customer); makeHisJianYanTable(document1, map); - + List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder); document1.close(); pdfWriter.close(); PdfReader reader = null; @@ -205,6 +207,15 @@ for (int i = 1; i <= numberOfPages1; i++) { PdfImportedPage page = copy.getImportedPage(reader, i); copy.addPage(page); + } + for (ByteArrayOutputStream jiancha : jianchas) { + reader = new PdfReader(jiancha.toByteArray()); + numberOfPages1 = reader.getNumberOfPages(); + for (int i = 1; i <= numberOfPages1; i++) { + PdfImportedPage page = copy.getImportedPage(reader, i); + copy.addPage(page); + } + jiancha.close(); } reader.close(); byteArrayOutputStream1.close(); @@ -221,7 +232,7 @@ String tjNumber = tjOrder.getTjNumber(); tjReport.setTjNumber(String.valueOf(tjNumber)); tjReport.setPath(urlValue + outputFileName1); - // TODO 鏂囦欢閰嶇疆 + // 鏂囦欢閰嶇疆 // String outputPath1 = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/"; String outputPath1 = value+"\\"; String pdfBinary = getPDFBinary(outputPath1 + outputFileName1); @@ -240,13 +251,53 @@ } /** + * 鐢熸垚妫�鏌ヨ〃鏍� + * @param tjOrder + * @return + */ + private List<ByteArrayOutputStream> makeHisJianChaTable(TjOrder tjOrder) { + LambdaQueryWrapper<LtkjGetexamreportinfo> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(LtkjGetexamreportinfo::getRequestParamsHisRegistrationId, tjOrder.getCardId()); + lambdaQueryWrapper.groupBy(LtkjGetexamreportinfo::getJcbgid); + List<LtkjGetexamreportinfo> list = ltkjGetexamreportinfoService.list(lambdaQueryWrapper); +// List<LtkjGetexamreportinfo> list = ltkjGetexamreportinfoService.list(); + List<ByteArrayOutputStream> jianchas = new ArrayList<>(); + for (LtkjGetexamreportinfo getexamreportinfo : list) { + String xm = getexamreportinfo.getHzxm(); + String xb = getexamreportinfo.getHzxb().equals("2") ? "濂�" : "鐢�"; + String nl = getexamreportinfo.getHznl(); + if (StrUtil.isNotBlank(nl) && nl.contains(".")) { + String[] split = nl.split("\\."); + nl = split[0]; + } + String jcks = getexamreportinfo.getJcksmc(); + String sqks = getexamreportinfo.getSqksmc(); + String sjks = getexamreportinfo.getZdjgmc(); + String jcsb = getexamreportinfo.getSbbm(); + String jch = getexamreportinfo.getJch(); + String jcxm = getexamreportinfo.getJcxmmc(); + String ms = getexamreportinfo.getYxbx(); + String ts = getexamreportinfo.getYxzd(); + String bgysqm = getexamreportinfo.getBgysqm(); + String shysqm = getexamreportinfo.getShysqm(); + String sqrxm = getexamreportinfo.getSqrxm(); + String zyh = ""; + String ch = ""; + String footer = "鐢宠浜猴細"+sqrxm + " 瀹℃牳鍖诲笀锛�"+shysqm+" 鍖诲笀绛惧悕锛�"+bgysqm; + ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null,footer); + jianchas.add(outputStream); + } + return jianchas; + } + + /** * PDF鏂囦欢瀛樺偍鑷虫湰鍦� * @param tjOrder * @param customer * @param finalOutPut */ private void savePDFFile(String outputFileName1,TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) { - // TODO 鏂囦欢閰嶇疆 + // 鏂囦欢閰嶇疆 // String outputPath1 = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/"; String outputPath1 = value+"\\"; File file = new File(outputPath1 + outputFileName1); @@ -462,7 +513,9 @@ // 鑼冨洿鍊� String fwz = hybgd.getFwz(); // 妫�楠屽尰甯� - String jyys = hybgd.getJyys(); +// String jyys = hybgd.getJyys(); + //瀹℃牳鍖荤敓 + String shysmc = hybgd.getShysmc(); if (jyjg != null && StrUtil.isNotBlank(jyjg) && fwz != null && StrUtil.isNotBlank(fwz)){ try { String[] fwzs = fwz.split("-"); @@ -479,11 +532,12 @@ } } catch (Exception ignored) {} } - LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysUser::getUserName,jyys); - List<SysUser> sysUsers = userService.list(queryWrapper); - if (!sysUsers.isEmpty()) - hashSet.add(sysUsers.get(0).getNickName()); +// LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.eq(SysUser::getUserName,jyys); +// List<SysUser> sysUsers = userService.list(queryWrapper); +// if (!sysUsers.isEmpty()) +// hashSet.add(sysUsers.get(0).getNickName()); + if(null !=shysmc) hashSet.add(shysmc); ArrayList<String> strings = new ArrayList<>(); strings.add(jcxm); strings.add(jyjg); @@ -1008,7 +1062,7 @@ copy.close(); reader.close(); String outputFileName1 = userId + tjNumber + tjCustomer.getCusName() + "_鎶ュ憡.pdf"; - // TODO 鏂囦欢閰嶇疆 + // 鏂囦欢閰嶇疆 // String outputPath1 = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/"; String outputPath1 = value+"\\"; File file = new File(outputPath1 + outputFileName1); @@ -1042,7 +1096,13 @@ return true; } - // 缁勫悎闈炲寲楠岄」鐩姤鍛婃暟鎹� + /** + * 缁勫悎闈炲寲楠岄」鐩姤鍛婃暟鎹� + * @param tjNumber + * @param printReport + * @param one + * @param customer + */ private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport,TjOrder one,TjCustomer customer) { LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>(); wqq.eq(TjOrderRemark::getTjNumber, tjNumber); -- Gitblit v1.8.0