From df55bbefb4b39dbfd259daf4a37c8b25e8c6e8ce Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期六, 11 一月 2025 10:45:16 +0800 Subject: [PATCH] zjh20250111 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 124 +++++++++++++++++++++++++++++------------ 1 files changed, 88 insertions(+), 36 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 4897b53..7a42826 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 @@ -15,6 +15,7 @@ import com.ltkj.common.core.domain.entity.SysDictData; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.utils.DateUtils; +import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.mapper.DictUserInfoMapper; @@ -30,6 +31,7 @@ import com.ltkj.system.service.ISysDictDataService; import com.ltkj.system.service.ISysUserService; import com.ltkj.web.config.pdfutils.PdfUtils; +import com.ltkj.web.controller.system.SysDeptController; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -109,6 +111,8 @@ private TjOrderRemarkMapper tjOrderRemarkMapper; @Autowired private TjOrderDetailMapper tjOrderDetailMapper; + @Autowired + private SysDeptController sysDeptController; private Integer pdfPage = 0; @@ -116,6 +120,7 @@ private static int DEFAULT_LITTLE_TITLE_FONT_SIZE = 11; private static int DEFAULT_TITLE_FONT_SIZE = 12; private static int DEFAULT_ZONGJIAN_FONT_SIZE = 15; + private static String HOSP_NAME; private List<Map<String, Object>> makePDFInfo(HashMap<String, Object> map, AjaxResult ajaxResult, String key) { List<Map<String, Object>> data = null; @@ -156,7 +161,8 @@ int pageSize = 0; try { pdfWriter = PdfWriter.getInstance(document1, byteArrayOutputStream1); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (true){ String sex = ""; if (customer.getCusSex() != null) { for (SysDictData userSex : sysUserSex) { @@ -166,7 +172,8 @@ } } if (StrUtil.isBlank(sex)) sex = "鏈煡"; - pdfWriter.setPageEvent(new FooterHeaderPageEvent("婢勫悎鐭垮姟灞�涓績鍖婚櫌",customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null)); +// pdfWriter.setPageEvent(new FooterHeaderPageEvent("婢勫悎鐭垮姟灞�涓績鍖婚櫌",customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null)); + pdfWriter.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(),customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())),null)); pageSize = pdfWriter.getPageNumber(); } } catch (DocumentException e) { @@ -176,7 +183,8 @@ document1.setMargins(70, 70, 40, 40); document1.open(); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (true){ // 缁勮浣撴妫�鏌ラ」鐩姤鍛� Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); @@ -224,7 +232,8 @@ copy.addPage(page); } - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder); // List<ByteArrayOutputStream> jianchas = makeCcgcHisJianChaTable(tjOrder); try { @@ -254,7 +263,8 @@ int pages = pdfReader.getNumberOfPages(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); PdfStamper pdfStamper = new PdfStamper(pdfReader, outputStream); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ PdfContentByte contentByte; BaseFont baseFont = PdfUtils.createBaseFont(null); for (int i = 2; i <= pages; i++) { @@ -866,6 +876,7 @@ String s2 = sysConfigService.selectConfigByKey("tjreport_font_size_second_page_title"); String s3 = sysConfigService.selectConfigByKey("tjreport_font_size_result_title"); String s4 = sysConfigService.selectConfigByKey("tjreport_font_size_zongjian"); +// String hospName = sysDeptController.getdangqiandengluyuanqu().get("msg").toString(); if (StrUtil.isNotBlank(s1) && Integer.parseInt(s1) > 10) DEFAULT_FONT_SIZE = Integer.parseInt(s1); else DEFAULT_FONT_SIZE = 10; if (StrUtil.isNotBlank(s2) && Integer.parseInt(s2) > 10) DEFAULT_LITTLE_TITLE_FONT_SIZE = Integer.parseInt(s2); @@ -876,6 +887,7 @@ else DEFAULT_ZONGJIAN_FONT_SIZE = 10; pdfPage = 0; DictHosp dictHosp = dictHospService.list().get(0); + HOSP_NAME = dictHosp.getHospName(); String color = sysConfigService.selectConfigByKey("report_title_color"); List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex")); // 妫�楠屾暟鎹� @@ -1285,8 +1297,17 @@ paragraph = PdfUtils.setParagraph(defaultFont, "鏃�"); document2.add(paragraph); } else { - paragraph = PdfUtils.setParagraph(defaultFont, tjOrder.getCheckAdvice()); - document2.add(paragraph); + Paragraph paragraphs = new Paragraph(tjOrder.getCheckAdvice(),defaultFont); + //璁剧疆鏂囧瓧灞呬腑 + paragraphs.setAlignment(Element.ALIGN_LEFT); + //琛岄棿璺� +// paragraphs.setLeading(5f); + //璁剧疆娈佃惤涓婄┖鐧� + paragraphs.setSpacingBefore(10f); + //璁剧疆娈佃惤涓嬬┖鐧� + paragraphs.setSpacingAfter(10f); +// paragraph = PdfUtils.setParagraph(defaultFont, tjOrder.getCheckAdvice()); + document2.add(paragraphs); } @@ -1371,10 +1392,15 @@ cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setPaddingTop(10); cell.setPaddingBottom(10); - if (zongJianYiShiQianMing == null) { - cell.setPhrase(new Phrase(sysConfigService.selectConfigByKey("pdf_report_zongjianysname"), zongJianFont)); + String zongjianysname = sysConfigService.selectConfigByKey("pdf_report_zongjianysname"); + if (zongJianYiShiQianMing == null && StrUtil.isNotBlank(zongjianysname) && !zongjianysname.equals("鏃�")) { + cell.setPhrase(new Phrase(zongjianysname, zongJianFont)); tableQz.addCell(cell); - }else { + }else if(zongJianYiShiQianMing == null && zongjianysname.equals("鏃�")){ + String nickName = SecurityUtils.getLoginUser().getUser().getNickName(); + cell.setPhrase(new Phrase(nickName, zongJianFont)); + tableQz.addCell(cell); + } else { byte[] bytes = Base64.getDecoder().decode(zongJianYiShiQianMing.getTemplate()); Image image = Image.getInstance(bytes); image.scaleToFit(100, 100); @@ -1488,8 +1514,8 @@ tjtype = "涓汉"; hashMap.put("tjtype", tjtype); } - if (StrUtil.isNotBlank(customer.getCompName())){ - hashMap.put("work", customer.getCompName()); + if (StrUtil.isNotBlank(tjOrder.getFirmName())){ + hashMap.put("work", tjOrder.getFirmName()); }else { // LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>(); // wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId()); @@ -1500,6 +1526,11 @@ } else { hashMap.put("work", tjOrder.getFirmName()); } + } + if (StrUtil.isBlank(tjOrder.getFirmDeptName())) { + hashMap.put("bumen", "鏃�"); + } else { + hashMap.put("bumen",tjOrder.getFirmDeptName()); } hashMap.put("sex", sex); hashMap.put("tjnumber", tjNumber); @@ -1831,7 +1862,8 @@ } } //鍒嗗壊绾� - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { LineSeparator objectName = new LineSeparator(); objectName.setOffset(-5); document1.add(objectName); @@ -1867,7 +1899,8 @@ Font titleFonts = PdfUtils.setFont(9); Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE); titleFont.setStyle(Font.BOLD); PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName)); @@ -1891,7 +1924,8 @@ // PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); // document1.add(table); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ + if (true && !value.isEmpty()){ if (value.size()>1){ if (value.get(0).getPid().equals("1862852701533012001")){ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2011,7 +2045,8 @@ if (entry.getKey().getRemark() == null) { entry.getKey().setRemark(""); } - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ String remark = "澶囨敞锛�" + entry.getKey().getRemark(); if (entry.getKey().getRemark().length() > 50) { int j = 0; @@ -2037,7 +2072,8 @@ //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp); //鍒嗗壊绾� - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { LineSeparator objectName = new LineSeparator(); document1.add(objectName); } @@ -2053,7 +2089,8 @@ Font titleFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))){ continue; } @@ -2079,7 +2116,8 @@ // PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); // document1.add(table); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ + if (true && !value.isEmpty()){ if (value.size()>1){ if (value.get(0).getPid().equals("1862852701533012001")){ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2203,7 +2241,8 @@ if (entry.getKey().getRemark() == null) { entry.getKey().setRemark(""); } - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true){ String remark = "澶囨敞锛�" + entry.getKey().getRemark(); if (entry.getKey().getRemark().length() > 50) { int j = 0; @@ -2228,7 +2267,8 @@ } //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { //鍒嗗壊绾� LineSeparator objectName = new LineSeparator(); document1.add(objectName); @@ -2245,13 +2285,15 @@ * @throws DocumentException */ private void zhuJianYiShi(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry,Date createTime,DictHosp dictHosp) throws DocumentException { - if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") ) { +// if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") ) { + if ((null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) || true ) { //涓绘鍖诲笀 String key = sysConfigService.selectConfigByKey("is_report_pdf_use_ysqm"); SysUser sysUser = userService.getById(entry.getKey().getDoctorName()); String doctorNameDefault = "鏃�"; if (sysUser != null)doctorNameDefault = sysUser.getNickName(); - if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!entry.getValue().isEmpty() && StrUtil.isNotBlank(entry.getValue().get(0).getShys()) && true){ doctorNameDefault = entry.getValue().get(0).getShys(); } Font doctorFonts = PdfUtils.setFont(9); @@ -2450,7 +2492,8 @@ } //鎷兼帴閲嶅ぇ闃虫�х粨鏋� StringBuffer str = new StringBuffer(); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { str.append("銆愰噸澶ч槼鎬ч」鐩�慭n"); LambdaQueryWrapper<TjBigPositive> bigPositiveLambdaQueryWrapper = new LambdaQueryWrapper<>(); bigPositiveLambdaQueryWrapper.eq(TjBigPositive::getTjNumber, tjNumber); @@ -2465,7 +2508,8 @@ } //鎷兼帴寮傚父椤圭洰 str.append("銆愬紓甯告儏鍐甸」鐩�慭n"); - if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { if (list.size() > 0) { for (int i = 0; i < list.size(); i++) { if (list.get(i).getExceptionDesc() == 1) { @@ -2659,13 +2703,17 @@ LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(LtkjExamJcbgd::getTjh,tjNumber); wrapper.like(LtkjExamJcbgd::getXmdm,String.valueOf(tjOrderDetail.getProject().getProParentId())); - LtkjExamJcbgd jcbgd = jcbgdService.getOne(wrapper); - if (jcbgd != null){ - tjPdfVO.setTs(jcbgd.getYxbx()); - tjPdfVO.setSj(jcbgd.getBgNr()); - tjPdfVO.setShys(jcbgd.getShysxm()); - tjPdfVO.setProName(jcbgd.getXmmc()); - ids+="|"+jcbgd.getXmdm(); + wrapper.orderByDesc(LtkjExamJcbgd::getZdsj); + List<LtkjExamJcbgd> list = jcbgdService.list(wrapper); + if(null !=list && !list.isEmpty()){ + LtkjExamJcbgd jcbgd = list.get(0); + if (jcbgd != null){ + tjPdfVO.setTs(jcbgd.getYxbx()); + tjPdfVO.setSj(jcbgd.getBgNr()); + tjPdfVO.setShys(jcbgd.getShysxm()); + tjPdfVO.setProName(jcbgd.getXmmc()); + ids+="|"+jcbgd.getXmdm(); + } } tjPdfVOS.add(tjPdfVO); } @@ -2799,7 +2847,8 @@ private static void addJianYanTable(Document document, String titleName, String[] titles, float[] titlesWidth, ArrayList<List<String>> lists,DictHosp dictHosp,String colorStr) throws DocumentException { // 澶ч」鏍囬 Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { titleFont.setSize(DEFAULT_TITLE_FONT_SIZE); titleFont.setStyle(Font.BOLD); } @@ -2811,7 +2860,8 @@ paragraph.setSpacingBefore(10f); // 璁剧疆娈佃惤涓嬬┖鐧� paragraph.setSpacingAfter(10f); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (true) { // 琛岄棿璺� paragraph.setLeading(7f); // 璁剧疆娈佃惤涓婄┖鐧� @@ -2857,7 +2907,8 @@ for (List<String> list : lists) { boolean isYc = false; textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); - if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ +// if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (true){ if (list.contains("鈫�") || list.contains("鈫�")){ isYc = true; } @@ -2927,7 +2978,8 @@ table1.setSpacingAfter(10f); Font titleFont = PdfUtils.setFont(12); - PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont)); +// PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont)); + PdfPCell mergedCell = new PdfPCell(new Phrase(HOSP_NAME, titleFont)); mergedCell.setBorder(Rectangle.NO_BORDER); mergedCell.setColspan(10); mergedCell.setHorizontalAlignment(Element.ALIGN_CENTER); -- Gitblit v1.8.0