From 148a7f11b0ead8539cae824f02dda19a703f4d0b Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期六, 07 十二月 2024 16:54:02 +0800 Subject: [PATCH] zjh20241207 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 94 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 83 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 c9518ba..e1955ac 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 @@ -14,6 +14,7 @@ import com.ltkj.hosp.domain.*; import com.ltkj.hosp.mapper.DictUserInfoMapper; import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; import com.ltkj.hosp.sqlDomain.LtkjHybgd; import com.ltkj.hosp.sqlDomain.LtkjHysqd; import com.ltkj.system.service.ISysConfigService; @@ -24,11 +25,13 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.io.*; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; import java.util.List; @@ -74,6 +77,10 @@ private DictUserInfoMapper dictUserInfoMapper; @Autowired private ISysConfigService sysConfigService; + @Resource + private LtkjExamJcbgdService jcbgdService; + @Resource + private LtkjExamJcsqdService jcsqdService; private List<Map<String, Object>> makePDFInfo(HashMap<String, Object> map, AjaxResult ajaxResult, String key) { List<Map<String, Object>> data = null; @@ -127,7 +134,10 @@ // 缁勮妫�楠屾暟鎹� HashMap<String, Object> map = makeHisJianYan(tjOrder, customer); makeHisJianYanTable(document1, map); + + List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder); +// List<ByteArrayOutputStream> jianchas = makeCcgcHisJianChaTable(tjOrder); document1.close(); pdfWriter.close(); PdfReader reader = null; @@ -203,7 +213,7 @@ elements.setSpacingAfter(10f); elements.setAlignment(Element.ALIGN_RIGHT); Phrase phrase = new Phrase(); - Font doctorFonts = PdfUtils.setFont(9); + Font doctorFonts = PdfUtils.setFont(11); for (LtkjGetexamreportinfo getexamreportinfo : list) { String xm = getexamreportinfo.getHzxm(); String xb = getexamreportinfo.getHzxb().equals("2") ? "濂�" : "鐢�"; @@ -273,6 +283,67 @@ return jianchas; } + + /** + * 鐢熸垚妫�鏌ヨ〃鏍煎瓨鍌ㄨ繃绋嬫椂鐢� + * + * @param tjOrder + * @return + */ + private List<ByteArrayOutputStream> makeCcgcHisJianChaTable(TjOrder tjOrder) throws Exception { + + TjCustomer customer = tjCustomerService.getById(tjOrder.getUserId()); + + List<LtkjExamJcbgd> list=jcbgdService.getJianJcBaoGaoDanByTjh(tjOrder.getCardId()); + + List<ByteArrayOutputStream> jianchas = new ArrayList<>(); + Paragraph elements = new Paragraph(); + elements.setLeading(5f); + elements.setSpacingBefore(10f); + elements.setSpacingAfter(10f); + elements.setAlignment(Element.ALIGN_RIGHT); + + for (LtkjExamJcbgd getexamreportinfo : list) { + String xm = customer.getCusName(); + String xb = customer.getCusSex()==2 ? "濂�" : "鐢�"; + String nl = customer.getAge(); + String jcks = "浣撴涓績"; + String sjks = ""; + String jcsb = ""; + String jch = getexamreportinfo.getTmh(); + String jcxm = getexamreportinfo.getXmmc(); + String ms = getexamreportinfo.getYxbx(); + String ts = getexamreportinfo.getYxzd(); + String bgysqm = getexamreportinfo.getShysxm(); + String shysqm = getexamreportinfo.getShysdm(); + String sqrxm = "鐜嬪仴钀�"; + String zyh = ""; + String ch = ""; + String jcysqm = getexamreportinfo.getShysdm(); + StringBuilder builder; + String footer; + builder = new StringBuilder(); + if (null != sqrxm && StrUtil.isNotBlank(sqrxm)){ + builder.append("鐢宠浜猴細").append(sqrxm); + } + if (null != jcysqm && StrUtil.isNotBlank(jcysqm)){ + builder.append(" 妫�鏌ュ尰甯堬細").append(jcysqm); + } + if (null != shysqm && StrUtil.isNotBlank(shysqm)){ + builder.append(" 瀹℃牳鍖诲笀锛�").append(shysqm); + } + if (null != bgysqm && StrUtil.isNotBlank(bgysqm)){ + builder.append(" 鎶ュ憡鍖诲笀锛�").append(bgysqm); + } + footer = builder.toString().trim(); + ByteArrayOutputStream outputStream = makeJcPDFByteArrayStream(xm, xb, nl, jcks, zyh, ch, sjks, jcsb, jch, jcxm, ms, ts, null, footer,elements); + if (outputStream == null) + throw new Exception(); + jianchas.add(outputStream); + } + return jianchas; + } + /** * 鍖诲笀淇℃伅琛� * @param phrase @@ -310,7 +381,7 @@ private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException { // 鏂囦欢閰嶇疆 // String outputPath1 = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/"; - String outputPath1 = value + "\\"; + String outputPath1 = value + File.separator; File file = new File(outputPath1 + outputFileName1); BufferedOutputStream outputStream = null; outputStream = new BufferedOutputStream(new FileOutputStream(file)); @@ -338,7 +409,7 @@ ArrayList<List<String>> lists = (ArrayList<List<String>>) entryValue.get("data"); addJianYanTable(document1, titleName, titles, titlesWidth, lists); if (!jyys.isEmpty()) { - Font doctorFonts = PdfUtils.setFont(9); + Font doctorFonts = PdfUtils.setFont(11); String doctors = ""; Paragraph elements = new Paragraph(); elements.setLeading(5f); @@ -564,7 +635,6 @@ LambdaQueryWrapper<LtkjHysqd> ltkjHysqdLambdaQueryWrapper = new LambdaQueryWrapper<>(); ltkjHysqdLambdaQueryWrapper.eq(LtkjHysqd::getTjh, tjOrder.getCardId()); List<LtkjHysqd> list = ltkjHysqdService.list(ltkjHysqdLambdaQueryWrapper); -// List<LtkjHysqd> list = ltkjHysqdService.list(); HashMap<String, Object> data = new HashMap<>(); for (LtkjHysqd hysqd : list) { LambdaQueryWrapper<LtkjHybgd> ltkjHybgdLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -714,6 +784,7 @@ } //寮傚父椤圭洰 data.put("yichang", str.toString()); + data.put("zjrq",new SimpleDateFormat("yyyy-MM-dd").format(tjOrder.getCheckTime())); // 閬嶅巻data 缁檖df琛ㄥ崟琛ㄦ牸璧嬪�� for (String key : data.keySet()) { acroFields.setField(key, data.get(key).toString()); @@ -757,12 +828,13 @@ * @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); - wqq.ne(TjOrderRemark::getDeptId, "241"); - wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257"); - wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId()); - List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); +// LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>(); +// wqq.eq(TjOrderRemark::getTjNumber, tjNumber); +// wqq.ne(TjOrderRemark::getDeptId, "241"); +// wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257"); +// wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId()); +// List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq); + List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber); for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { printReport.put(tjOrderRemark, null); } @@ -994,7 +1066,7 @@ table1.setSpacingAfter(10f); Font titleFont = PdfUtils.setFont(12); - PdfPCell mergedCell = new PdfPCell(new Phrase("娉� 宸� 鍘� 浜� 姘� 鍖� 闄�", titleFont)); + PdfPCell mergedCell = new PdfPCell(new Phrase("闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌", titleFont)); mergedCell.setBorder(Rectangle.NO_BORDER); mergedCell.setColspan(10); mergedCell.setHorizontalAlignment(Element.ALIGN_CENTER); -- Gitblit v1.8.0