From b7103b4da9d05a5faa3c2eea81eff376380eb7dc Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期二, 10 十二月 2024 01:00:16 +0800 Subject: [PATCH] pdf调整 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 406 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 333 insertions(+), 73 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 74d97e6..3f2c630 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 @@ -22,6 +22,7 @@ import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; import com.ltkj.hosp.sqlDomain.LtkjHybgd; import com.ltkj.hosp.sqlDomain.LtkjHysqd; +import com.ltkj.hosp.vodomain.CsProVo; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDictDataService; import com.ltkj.system.service.ISysUserService; @@ -44,6 +45,8 @@ import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; + +import static com.ltkj.common.utils.pdfutils.PdfUtils.createTable; /** * 妫�鏌� 妫�楠屾姤鍛妏df鐢熸垚 @@ -154,18 +157,45 @@ } document1.setMargins(70, 70, 40, 40); document1.open(); - // 闈炲寲楠岄」鐩姤鍛� - Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); - notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); - try { - notHuaYanTable(document1, printReport,dictHosp,color); - } catch (DocumentException e) { - log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); - log.error(String.valueOf(e)); - return AjaxResult.error(); + + if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + // 缁勮浣撴妫�鏌ラ」鐩姤鍛� + Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); + notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); + try { + notHuaYanTable(document1, printReport,dictHosp,color); + } catch (DocumentException e) { + log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); + log.error(String.valueOf(e)); + return AjaxResult.error(); + } + // 缁勮妫�楠屾暟鎹� + makeHisJianYanTable(document1, map,dictHosp,color); + + // 缁勮pacs妫�鏌ユ暟鎹� + printReport = new HashMap<>(); + pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer); + try { + notHuaYanTable(document1, printReport,dictHosp,color); + } catch (DocumentException e) { + log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); + log.error(String.valueOf(e)); + return AjaxResult.error(); + } + }else { + // 闈炲寲楠岄」鐩姤鍛� + Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); + notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); + try { + notHuaYanTable(document1, printReport,dictHosp,color); + } catch (DocumentException e) { + log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); + log.error(String.valueOf(e)); + return AjaxResult.error(); + } + // 缁勮妫�楠屾暟鎹� + makeHisJianYanTable(document1, map,dictHosp,color); } - // 缁勮妫�楠屾暟鎹� - makeHisJianYanTable(document1, map,dictHosp,color); List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder); @@ -224,6 +254,107 @@ return AjaxResult.error(); } savePDFFile(outputFileName1, tjOrder, customer, finalOutPut); + return AjaxResult.success(); + } + + public AjaxResult hisPDFNew(TjOrder tjOrder, TjCustomer customer, TjReportTemplate tjReportTemplate) throws Exception { + DictHosp dictHosp = dictHospService.list().get(0); + String color = sysConfigService.selectConfigByKey("report_title_color"); + List<SysDictData> sysUserSex = sysDictDataService.list(new LambdaQueryWrapper<SysDictData>().eq(SysDictData::getDictType, "sys_user_sex")); + + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + Document document = new Document(PageSize.A4); + PdfWriter pdfWriter = null; + int pageSize = 0; + try { + pdfWriter = PdfWriter.getInstance(document, byteArrayOutputStream); + String sex = ""; + if (customer.getCusSex() != null) { + for (SysDictData userSex : sysUserSex) { + if (userSex.getDictValue().equals(String.valueOf(customer.getCusSex()))) { + sex = userSex.getDictLabel(); + } + } + } + if (StrUtil.isBlank(sex)) sex = "鏈煡"; + pdfWriter.setPageEvent(new FooterHeaderPageEvent(dictHosp.getHospName(),customer.getCusName(),tjOrder.getTjNumber(),sex,String.valueOf(DateUtil.ageOfNow(customer.getCusBrithday())))); + pageSize = pdfWriter.getPageNumber(); + } catch (DocumentException e) { + log.error(String.valueOf(e)); + return AjaxResult.error(); + } + + Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); + notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); + try { + notHuaYanTable(document, printReport,dictHosp,color); + } catch (DocumentException e) { + log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); + log.error(String.valueOf(e)); + return AjaxResult.error(); + } + PdfReader reader = null; + + // 妫�楠屾暟鎹� + HashMap<String, Object> map = makeHisJianYan(tjOrder, customer); + makeHisJianYanTable(document, map,dictHosp,color); + List<ByteArrayOutputStream> jianchas = makeHisJianChaTable(tjOrder); + document.close(); + + Document document1 = new Document(PageSize.A4); + ByteArrayOutputStream finalOutPut = new ByteArrayOutputStream(); + PdfCopy copy = new PdfCopy(document1, finalOutPut); + byte[] bytes = byteArrayOutputStream.toByteArray(); + document1.open(); + reader = new PdfReader(bytes); + + int numberOfPages = reader.getNumberOfPages(); + + + + + + try { + reader = new PdfReader(byteArrayOutputStream.toByteArray()); + int numberOfPages1 = reader.getNumberOfPages(); + 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(); + byteArrayOutputStream.close(); + document.close(); + copy.close(); + } catch (IOException e) { + log.error("鎷疯礉pdf寮傚父"); + log.error(String.valueOf(e)); + return AjaxResult.error(); + } + + + + + /* + * 绗簩椤垫鏌ョ姸鎬佷俊鎭� 妫�鏌ョ瀹や笌妫�鏌ラ」鐩� + * <span v-if="scope.row.type == '0'">鏈</span> + * <span v-if="scope.row.type == '1'">宸叉</span> + * <span v-if="scope.row.type == '2'">寮冩</span> + * <span v-if="scope.row.type == '3'">寤舵湡</span> + * */ + List<CsProVo> list = tjOrderRemarkService.cSWebGetProByTjNumAndOrderId(tjOrder.getTjNumber(),false); + + + + return AjaxResult.success(); } @@ -455,8 +586,8 @@ */ private void makeHisJianYanTable(Document document1, HashMap<String, Object> map,DictHosp dictHosp,String colorStr) throws DocumentException { if (!map.isEmpty()) { - String[] titles = new String[]{"浣撴椤圭洰", "浣撴缁撴灉","鏍囧織", "鍗曚綅", "鍙傝�冭寖鍥�"}; - float[] titlesWidth = new float[]{270, 80, 40, 80, 100}; + String[] titles = new String[]{"浣撴椤圭洰", "浣撴缁撴灉","鎻愮ず", "鍗曚綅", "鍙傝�冭寖鍥�"}; + float[] titlesWidth = new float[]{280, 100, 40, 100, 120}; for (Map.Entry<String, Object> entry : map.entrySet()) { String titleName = entry.getKey().trim(); HashMap<String, Object> entryValue = (HashMap<String, Object>) entry.getValue(); @@ -529,8 +660,10 @@ LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjProject::getProId, entry.getKey().getProId()); TjProject one11 = projectService.getOne(wqqq); + if (entry.getValue().isEmpty()) continue; //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� if (null != one11 && "Y".equals(one11.getNeedReport())) { + TjOrderRemark orderRemark = entry.getKey(); List<TjPdfVO> value = entry.getValue(); String titleName = null; if (null != one11 && "1".equals(one11.getResultType())) { @@ -557,43 +690,70 @@ } - String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; - // 鑾峰彇鍒楄〃鏁版嵁 - //璁剧疆琛ㄥご瀛椾綋鏍峰紡 - Font headFont = PdfUtils.setFont(9); - // 璁剧疆姝f枃瀛椾綋鏍峰紡锛�12鍙� - Font textFont = PdfUtils.setFont(9); - //鍒涘缓琛ㄦ牸 灏嗚〃澶村瓧浣撳拰姝f枃瀛椾綋鏀捐繘鍘� - PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value); +// String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; +// Font headFont = PdfUtils.setFont(9); +// Font textFont = PdfUtils.setFont(9); +// PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); +// document1.add(table); - document1.add(table); + if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ + if (value.size()>1){ + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(9); + Font textFont = PdfUtils.setFont(9); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); + document1.add(table); + }else { + Font remarkFonts = PdfUtils.setFont(9); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + document1.add(pp); + Paragraph ppp = new Paragraph(value.get(0).getSj(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + pp = PdfUtils.setParagraph(remarkFonts, "缁撹锛�"); + document1.add(pp); + ppp = new Paragraph(value.get(0).getTs(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + } + }else { + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(9); + Font textFont = PdfUtils.setFont(9); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); + document1.add(table); + } //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull if (entry.getKey().getRemark() == null) { entry.getKey().setRemark(""); } - String remark = "澶囨敞锛�" + entry.getKey().getRemark(); - if (entry.getKey().getRemark().length() > 50) { - int j = 0; - for (int i = 0; i < remark.length() / 50; i++) { - String substring = remark.substring(j, j + 50); + if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + String remark = "澶囨敞锛�" + entry.getKey().getRemark(); + if (entry.getKey().getRemark().length() > 50) { + int j = 0; + for (int i = 0; i < remark.length() / 50; i++) { + String substring = remark.substring(j, j + 50); + Font remarkFonts = PdfUtils.setFont(9); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + document1.add(pp); + j = j + 50; + } + if (remark.length() % 50 != 0) { + String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); + Font remarkFonts = PdfUtils.setFont(9); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + document1.add(pp); + } + } else { Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); - document1.add(pp); - j = j + 50; - } - if (remark.length() % 50 != 0) { - String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); document1.add(pp); } - } else { - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); - document1.add(pp); } //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull - zhuJianYiShi(document1, entry); + zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp); //鍒嗗壊绾� if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { LineSeparator objectName = new LineSeparator(); @@ -626,42 +786,73 @@ document1.add(paragraph); } - String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; - // 鑾峰彇鍒楄〃鏁版嵁 - //璁剧疆琛ㄥご瀛椾綋鏍峰紡 - Font headFont = PdfUtils.setFont(9); - // 璁剧疆姝f枃瀛椾綋鏍峰紡锛�12鍙� - Font textFont = PdfUtils.setFont(9); - //鍒涘缓琛ㄦ牸 灏嗚〃澶村瓧浣撳拰姝f枃瀛椾綋鏀捐繘鍘� - PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value); - document1.add(table); +// String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; +// Font headFont = PdfUtils.setFont(9); +// Font textFont = PdfUtils.setFont(9); +// PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); +// document1.add(table); + + if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ + System.out.println("value = " + value); + if (value.size()>1){ + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(9); + Font textFont = PdfUtils.setFont(9); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); + document1.add(table); + }else { + Font remarkFonts = PdfUtils.setFont(9); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + document1.add(pp); + Paragraph ppp = new Paragraph(value.get(0).getSj(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + pp = PdfUtils.setParagraph(remarkFonts, "缁撹锛�"); + document1.add(pp); + ppp = new Paragraph(value.get(0).getTs(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + } + }else { + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(9); + Font textFont = PdfUtils.setFont(9); + PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); + document1.add(table); + } + + //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull if (entry.getKey().getRemark() == null) { entry.getKey().setRemark(""); } - String remark = "澶囨敞锛�" + entry.getKey().getRemark(); - if (entry.getKey().getRemark().length() > 50) { - int j = 0; - for (int i = 0; i < remark.length() / 50; i++) { - String substring = remark.substring(j, j + 50); + if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + String remark = "澶囨敞锛�" + entry.getKey().getRemark(); + if (entry.getKey().getRemark().length() > 50) { + int j = 0; + for (int i = 0; i < remark.length() / 50; i++) { + String substring = remark.substring(j, j + 50); + Font remarkFonts = PdfUtils.setFont(9); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + document1.add(pp); + j = j + 50; + } + if (remark.length() % 50 != 0) { + String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); + Font remarkFonts = PdfUtils.setFont(9); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + document1.add(pp); + } + } else { Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); - document1.add(pp); - j = j + 50; - } - if (remark.length() % 50 != 0) { - String substring = remark.substring((remark.length() / 50) * 50, remark.length() - 1); - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); document1.add(pp); } - } else { - Font remarkFonts = PdfUtils.setFont(9); - Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); - document1.add(pp); } //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull - zhuJianYiShi(document1, entry); + zhuJianYiShi(document1, entry,orderRemark.getCreateTime(),dictHosp); if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { //鍒嗗壊绾� LineSeparator objectName = new LineSeparator(); @@ -678,11 +869,16 @@ * @param entry * @throws DocumentException */ - private void zhuJianYiShi(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry) throws DocumentException { - if (null != entry.getKey().getDoctorName() && null != userService.getById(entry.getKey().getDoctorName())) { + 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("婢勫悎鐭垮姟灞�涓績鍖婚櫌") ) { //涓绘鍖诲笀 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("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + doctorNameDefault = entry.getValue().get(0).getShys(); + } Font doctorFonts = PdfUtils.setFont(9); if (key.equals("Y")){ String qmImg = dictUserInfoMapper.selectQmImgInnerJoinUserByUserId(String.valueOf(sysUser.getUserId())); @@ -693,7 +889,11 @@ elements.setSpacingAfter(10f); elements.setAlignment(Element.ALIGN_RIGHT); Phrase phrase = new Phrase(); - phrase.add(new Chunk("涓绘鍖诲笀锛�",doctorFonts)); + if (createTime != null) { + phrase.add(new Chunk("妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+" 涓绘鍖诲笀锛�", doctorFonts)); + }else { + phrase.add(new Chunk("涓绘鍖诲笀锛�", doctorFonts)); + } byte[] decode = Base64.getDecoder().decode(qmImg); Image image = null; try { @@ -703,25 +903,29 @@ elements.add(phrase); document1.add(elements); } catch (IOException e) { - String doctorName = "涓绘鍖诲笀锛�" + sysUser.getNickName(); + String doctorName = "涓绘鍖诲笀锛�" + doctorNameDefault; + if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+" 涓绘鍖诲笀锛�" + doctorNameDefault; Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); df.setAlignment(Element.ALIGN_RIGHT); document1.add(df); } }else { - String doctorName = "涓绘鍖诲笀锛�" + sysUser.getNickName(); + String doctorName = "涓绘鍖诲笀锛�" + doctorNameDefault; + if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+" 涓绘鍖诲笀锛�" + doctorNameDefault; Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); df.setAlignment(Element.ALIGN_RIGHT); document1.add(df); } }else { - String doctorName = "涓绘鍖诲笀锛�" + sysUser.getNickName(); + String doctorName = "涓绘鍖诲笀锛�" + doctorNameDefault; + if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+" 涓绘鍖诲笀锛�" + doctorNameDefault; Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); df.setAlignment(Element.ALIGN_RIGHT); document1.add(df); } } else { String doctorName = "涓绘鍖诲笀锛�" + "鏃�"; + if (createTime != null) doctorName = "妫�鏌ユ椂闂达細"+new SimpleDateFormat("yyyy-MM-dd").format(createTime)+" 涓绘鍖诲笀锛�" + "鏃�"; Font doctorFonts = PdfUtils.setFont(9); Paragraph df = PdfUtils.setParagraph(doctorFonts, doctorName); df.setAlignment(Element.ALIGN_RIGHT); @@ -1013,6 +1217,62 @@ } else { tjPdfVO.setCompany("/"); } + tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId())); + LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LtkjExamJcbgd::getTjh,tjNumber); + wrapper.eq(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()); +// } + tjPdfVOS.add(tjPdfVO); + } + } + } + printReport.put(entry.getKey(), tjPdfVOS); + } + } + private void pacsJianChaData(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); + List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.pacsJianChaData(tjNumber); + for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { + printReport.put(tjOrderRemark, null); + } + for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { + List<TjPdfVO> tjPdfVOS = new ArrayList<>(); + List<TjOrderDetail> tjOrderDetails = tjOrderDetailService.getDetailByOrderIdAndParId(one.getOrderId(), entry.getKey().getProId()); + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + TjProject tjProject = projectService.getById(tjOrderDetail.getProId()); + if (null != tjProject && tjProject.getNeedReport().equals("Y")) { + tjOrderDetail.setProject(tjProject); + + if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId())) { + TjPdfVO tjPdfVO = new TjPdfVO(); + tjPdfVO.setProName(tjOrderDetail.getProject().getProName()); + tjPdfVO.setProResult(tjOrderDetail.getProResult()); + tjPdfVO.setExc(tjOrderDetail.getExceptionDesc()); + if (null != tjProject.getProMetering()) { + tjPdfVO.setCompany(tjProject.getProMetering()); + } else { + tjPdfVO.setCompany("/"); + } + tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId())); + LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(LtkjExamJcbgd::getTjh,tjNumber); + wrapper.eq(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()); + } tjPdfVOS.add(tjPdfVO); } } -- Gitblit v1.8.0