From b73fedc4026231b31cbc99f9fdad54c8e73a1a34 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 04 七月 2025 17:39:24 +0800 Subject: [PATCH] 2025-0704 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 366 +++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 303 insertions(+), 63 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 e1032bd..d4f3bc1 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 @@ -49,6 +49,9 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.text.Collator; import java.text.SimpleDateFormat; import java.util.*; @@ -92,8 +95,8 @@ private LtkjHysqdService ltkjHysqdService; @Autowired private LtkjGetexamreportinfoService ltkjGetexamreportinfoService; - @Value("${path.filePath}") - private String value; +// @Value("${path.filePath}") +// private String value; @Value("${path.reportServer}") private String urlValue; @Autowired @@ -122,6 +125,8 @@ private ITjProAdvicerulesService tjProAdvicerulesService; @Autowired private TjOrderYcxmService ycxmService; + @Resource + private TjXdtgmdjgService xdtgmdjgService; private Integer pdfPage = 0; @@ -870,6 +875,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 value = sysConfigService.selectConfigByKey("path_filePath"); // 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; @@ -1737,6 +1743,46 @@ log.error(String.valueOf(e)); return AjaxResult.error(); } + + LambdaQueryWrapper<TjXdtgmdjg> wqq=new LambdaQueryWrapper<>(); + wqq.eq(TjXdtgmdjg::getTjh,tjOrder.getTjNumber()); + wqq.isNotNull(TjXdtgmdjg::getUrl); + List<TjXdtgmdjg> xdtgmdjgList = xdtgmdjgService.list(wqq); + + int index=1; + for (TjXdtgmdjg xdtgmdjg : xdtgmdjgList) { + document.newPage(); + cell = new PdfPCell(); + PdfPTable tablefj = new PdfPTable(new float[]{100f}); + tablefj.setTotalWidth(PageSize.A4.getWidth() - 100); + tablefj.setLockedWidth(true); + tablefj.setHorizontalAlignment(Element.ALIGN_LEFT); + tablefj.getDefaultCell().setBorder(0); + tablefj.getDefaultCell().setHorizontalAlignment(Element.ALIGN_RIGHT); + + cell.setBorder(Rectangle.NO_BORDER); + cell.setVerticalAlignment(Element.ALIGN_MIDDLE); + cell.setHorizontalAlignment(Element.ALIGN_CENTER); + cell.setPaddingTop(10); + cell.setPaddingBottom(10); + cell.setPhrase(new Phrase("闄勪欢"+index+": "+ xdtgmdjg.getProName(), zongJianFont)); + Path path = Paths.get(xdtgmdjg.getUrl()); + byte[] bytesfj = null; + try { + bytesfj = Files.readAllBytes(path); + } catch (IOException e) { + throw new RuntimeException(e); + } + Image image = Image.getInstance(bytesfj); + image.scaleToFit(500, 2500); + tablefj.addCell(cell); + cell = new PdfPCell(); + cell.addElement(image); + tablefj.addCell(cell); + document.add(tablefj); + index++; + } + document.close(); @@ -1761,7 +1807,7 @@ AcroFields acroFields = pdfStamper.getAcroFields(); BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); acroFields.addSubstitutionFont(bf); - HashMap<String, Object> data = new HashMap<>(); +// HashMap<String, Object> data = new HashMap<>(); Long cusSex = customer.getCusSex(); String tjtype; if (cusSex == 0) { @@ -1781,10 +1827,6 @@ if (StrUtil.isNotBlank(tjOrder.getFirmName())) { hashMap.put("work", tjOrder.getFirmName()); } else { -// LambdaQueryWrapper<DictComp> wq111 = new LambdaQueryWrapper<>(); -// wq111.eq(DictComp::getDrugManufacturerId, tjOrder.getFirmId()); -// DictComp dictComp = dictCompService.getOne(wq111); - if (StrUtil.isBlank(tjOrder.getFirmName())) { hashMap.put("work", "鏃�"); } else { @@ -1828,6 +1870,9 @@ PdfImportedPage page = copy.getImportedPage(reader2, i); copy.addPage(page); } + + + reader2.close(); PdfReader reader1 = new PdfReader(byteArrayOutputStream.toByteArray()); @@ -2031,6 +2076,7 @@ */ private void savePDFFile(String outputFileName1, TjOrder tjOrder, TjCustomer customer, ByteArrayOutputStream finalOutPut) throws IOException, DocumentException, InterruptedException { // 绗竴姝ワ細鐢熸垚鏂囦欢骞朵繚瀛� + String value = sysConfigService.selectConfigByKey("path_filePath"); String key = DataSourceContextHolder.getDataSourceKey(); key = key.replace("ltkjpeis10_",""); String outputPath1 = value + File.separator + key + File.separator; @@ -2149,7 +2195,7 @@ LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjProject::getProId, entry.getKey().getProId()); TjProject one11 = projectService.getOne(wqqq); - if (entry.getValue() == null || entry.getValue().isEmpty()) continue; + if (entry.getValue() == null || entry.getValue().isEmpty() || entry.getValue().equals("null")) continue; //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� if (null != one11 && "Y".equals(one11.getNeedReport())) { TjOrderRemark orderRemark = entry.getKey(); @@ -2224,7 +2270,7 @@ paragraph.setLeading(5f); document1.add(ppp); if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts); + ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); paragraph.setAlignment(Element.ALIGN_LEFT); paragraph.setLeading(5f); document1.add(ppp); @@ -2294,18 +2340,22 @@ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); if (isPacs) { - Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + Paragraph pp; + Paragraph ppp; + if (StrUtil.isNotBlank(value.get(0).getSj())) { + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + document1.add(pp); + ppp = new Paragraph(value.get(0).getSj(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + } + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+value.get(0).getTs()); 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); +// ppp = new Paragraph(value.get(0).getTs(), remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); } else { if (value.get(0).getPid().equals("1862852701533012001")) { remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2339,7 +2389,7 @@ paragraph.setLeading(5f); document1.add(ppp); if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts); + ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); paragraph.setAlignment(Element.ALIGN_LEFT); paragraph.setLeading(5f); document1.add(ppp); @@ -2462,7 +2512,7 @@ paragraph.setLeading(5f); document1.add(ppp); if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts); + ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); paragraph.setAlignment(Element.ALIGN_LEFT); paragraph.setLeading(5f); document1.add(ppp); @@ -2479,18 +2529,40 @@ Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); if (isPacs) { - Paragraph pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + Paragraph pp; + Paragraph ppp; + String key = sysConfigService.selectConfigByKey("makepdfuseorderdetailproresult"); + if (StrUtil.isNotBlank(key) && !key.equals("Y")){ + if (StrUtil.isNotBlank(value.get(0).getSj())) { + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + document1.add(pp); + ppp = new Paragraph(value.get(0).getSj(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + } + }else{ + if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) { + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + document1.add(pp); + ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + } + } +// pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+ (value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult())); +// document1.add(pp); + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"); document1.add(pp); - Paragraph ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts); + ppp = new Paragraph((value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()), 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() != null ? value.get(0).getTs() : value.get(0).getProResult(), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); +// ppp = new Paragraph(value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult(), remarkFonts); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// paragraph.setLeading(5f); +// document1.add(ppp); } else { if (value.get(0).getPid().equals("1862852701533012001")) { remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2524,7 +2596,7 @@ paragraph.setLeading(5f); document1.add(ppp); if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark(), remarkFonts); + ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); paragraph.setAlignment(Element.ALIGN_LEFT); paragraph.setLeading(5f); document1.add(ppp); @@ -2586,6 +2658,142 @@ } } } + } + } + + private void pacsTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs)throws DocumentException{ + try { + + for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { + + if (entry.getValue() == null || entry.getValue().isEmpty()) continue; + //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� + + TjOrderRemark orderRemark = entry.getKey(); + List<TjPdfVO> value = entry.getValue().stream().distinct().collect(Collectors.toList()); + if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs()) && StrUtil.isBlank(value.get(0).getSj()))) { + continue; + } + String titleName = null; + + if (entry.getValue().get(0).getProName().contains(";")) + titleName = entry.getValue().get(0).getProName(); + else titleName = orderRemark.getProName(); + // 璁剧疆鏍囬瀛椾綋鏍峰紡 + Font titleFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph paragraph = PdfUtils.setParagraph(titleFonts, titleName); + + if (StrUtil.isBlank(value.get(0).getProResult()) && (StrUtil.isBlank(value.get(0).getTs().replaceAll("\n","")) + && StrUtil.isBlank(value.get(0).getSj().replaceAll("\n","")))) { + continue; + } + Font titleFont = PdfUtils.setFont(DEFAULT_TITLE_FONT_SIZE); + titleFont.setStyle(Font.BOLD); + PdfPCell cellTitle = new PdfPCell(PdfUtils.setParagraph(titleFont, titleName)); + cellTitle.setBorder(Rectangle.NO_BORDER); + Color color = Color.decode("#B4CDCD"); + cellTitle.setBackgroundColor(new BaseColor(color.getRed(), color.getGreen(), color.getBlue())); // 璁剧疆鑳屾櫙棰滆壊锛堝崄鍏繘鍒� RGB锛� + // 鍒涘缓琛ㄦ牸骞舵坊鍔犲崟鍏冩牸 + PdfPTable tableTitle = new PdfPTable(1); + tableTitle.setWidthPercentage(100); + tableTitle.addCell(cellTitle); + // 灏嗚〃鏍兼坊鍔犲埌鏂囨。涓� + document1.add(tableTitle); + + if (!value.isEmpty()) { + if (value.size() > 1) { + Long pid = Long.valueOf(value.get(0).getPid()); + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, isPacs, new float[]{240, 240, 240}); + document1.add(table); + + } else { + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + + if (isPacs) { + Paragraph pp; + Paragraph ppp; + + if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) { + pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細"); + document1.add(pp); + ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n",""), 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() != null ? value.get(0).getTs().replaceAll("\n","") : value.get(0).getProResult().replaceAll("\n","")), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + } else { + Long pid = Long.valueOf(value.get(0).getPid()); + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"}; + Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value, false, new float[]{240, 300}); + document1.add(table); + } + + } + } else { + String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; + Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); + PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value, isPacs); + document1.add(table); + } + + + //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull + if (entry.getKey().getRemark() == null) { + entry.getKey().setRemark(""); + } + // if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")){ + if (!true) { + 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(DEFAULT_FONT_SIZE); + 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(DEFAULT_FONT_SIZE); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, substring); + document1.add(pp); + } + } else { + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph pp = PdfUtils.setParagraph(remarkFonts, remark); + document1.add(pp); + } + } + //鍒ゆ柇涓绘鍖诲笀鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull + zhuJianYiShi(document1, entry, orderRemark.getCreateTime(), dictHosp); + // if (!dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")) { + if (!true) { + //鍒嗗壊绾� + LineSeparator objectName = new LineSeparator(); + document1.add(objectName); + } + + + } + } catch (NumberFormatException e) { + throw new RuntimeException(e); + } catch (DocumentException e) { + throw new RuntimeException(e); } } @@ -2943,12 +3151,7 @@ * @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); + List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber); for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { printReport.put(tjOrderRemark, null); @@ -2967,7 +3170,14 @@ if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId()) && entry.getKey().getType() == 1) { TjPdfVO tjPdfVO = new TjPdfVO(); tjPdfVO.setProName(tjOrderDetail.getProject().getProName()); - tjPdfVO.setProResult(tjOrderDetail.getProResult()); + if(tjProject.getProDelivery()==1){ + if(StringUtil.isNotBlank(tjOrderDetail.getConclusion())){ + tjPdfVO.setProResult(tjOrderDetail.getProResult()+" "+tjOrderDetail.getConclusion()); + } + }else { + tjPdfVO.setProResult(tjOrderDetail.getProResult()); + } + tjPdfVO.setExc(tjOrderDetail.getExceptionDesc()); if (null != tjProject.getProMetering()) { tjPdfVO.setCompany(tjProject.getProMetering()); @@ -2976,6 +3186,7 @@ } tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId())); tjPdfVO.setPid(String.valueOf(tjProject.getProParentId())); + tjPdfVO.setXh(tjProject.getXh()); // LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber); // wrapper.eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId())); @@ -2984,24 +3195,20 @@ } } if(!tjPdfVOS.isEmpty()){ - tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); - tjPdfVOS = tjPdfVOS.stream() - .sorted(Comparator.comparingInt( - tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� - )) - .collect(Collectors.toList()); +// tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); +// tjPdfVOS = tjPdfVOS.stream() +// .sorted(Comparator.comparingInt( +// tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� +// )) +// .collect(Collectors.toList()); + tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getXh)).collect(Collectors.toList()); } 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); @@ -3019,6 +3226,7 @@ if (tjOrderDetail.getProject().getProParentId().equals(entry.getKey().getProId()) && entry.getKey().getType() == 1 && !ids.contains(String.valueOf(tjOrderDetail.getProject().getProParentId()))) { + TjProject tjProjectq = projectService.getById(tjOrderDetail.getProject().getProParentId()); TjPdfVO tjPdfVO = new TjPdfVO(); tjPdfVO.setProName(tjOrderDetail.getProject().getProName()); tjPdfVO.setProResult(tjOrderDetail.getProResult()); @@ -3030,15 +3238,24 @@ } tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId())); LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(LtkjExamJcbgd::getTjh, tjNumber); - wrapper.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId())); - wrapper.orderByDesc(LtkjExamJcbgd::getZdsj); + wrapper.eq(LtkjExamJcbgd::getTjh, one.getCardId()) + .and(w -> w.like(LtkjExamJcbgd::getXmdm, String.valueOf(tjOrderDetail.getProject().getProParentId())) + .or() + .eq(LtkjExamJcbgd::getXmdm, String.valueOf(tjProjectq.getHisXmbm()))).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()); + String yxbx = jcbgd.getYxbx(); + String bgNr = jcbgd.getBgNr(); + // 姝e垯琛ㄨ揪寮忥細鍖归厤鏁板瓧鍚庤窡 '.' 鎴� '銆�' + String regex = "\\d+[\\.,銆乚"; + // 浣跨敤姝e垯鏇挎崲锛屽尮閰嶇殑鏁板瓧鍚庢坊鍔犳崲琛岀 + if(StringUtil.isNotBlank(yxbx)) yxbx = yxbx.replaceAll(regex, "\n$0"); + if(StringUtil.isBlank(bgNr)) bgNr = ""; + if(StringUtil.isBlank(yxbx)) yxbx = ""; + tjPdfVO.setTs(yxbx); + tjPdfVO.setSj(bgNr); tjPdfVO.setShys(jcbgd.getShysxm()); tjPdfVO.setProName(jcbgd.getXmmc()); ids += "|" + jcbgd.getXmdm(); @@ -3048,18 +3265,41 @@ } } } -// if(!tjPdfVOS.isEmpty()){ -// tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); -// tjPdfVOS = tjPdfVOS.stream() -// .sorted(Comparator.comparingInt( -// tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� -// )) -// .collect(Collectors.toList()); -// } printReport.put(entry.getKey(), tjPdfVOS); } } + + private void newpacsJianChaData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) { + try { + List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.newpacsJianChaData(tjNumber); + for (TjOrderRemark tjOrderRemark : tjOrderRemarks) { + List<TjPdfVO> tjPdfVOS = new ArrayList<>(); + TjPdfVO tjPdfVO = new TjPdfVO(); + tjPdfVO.setProResult(null); + tjPdfVO.setExc(0L); + tjPdfVO.setCompany("/"); + tjPdfVO.setProId(tjOrderRemark.getProsId()); + String yxbx = tjOrderRemark.getRemark(); + String bgNr = tjOrderRemark.getJgbx(); + // 姝e垯琛ㄨ揪寮忥細鍖归厤鏁板瓧鍚庤窡 '.' 鎴� '銆�' + String regex = "\\d+[\\.,銆乚"; + // 浣跨敤姝e垯鏇挎崲锛屽尮閰嶇殑鏁板瓧鍚庢坊鍔犳崲琛岀 + if(StringUtil.isNotBlank(yxbx)) yxbx = yxbx.replaceAll(regex, "\n$0"); + if(StringUtil.isBlank(bgNr)) bgNr = ""; + if(StringUtil.isBlank(yxbx)) yxbx = ""; + tjPdfVO.setTs(yxbx); + tjPdfVO.setSj(bgNr); + tjPdfVO.setShys(tjOrderRemark.getDoctorName()); + tjPdfVO.setProName(tjOrderRemark.getProName()); + tjPdfVOS.add(tjPdfVO); + printReport.put(tjOrderRemark, tjPdfVOS); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + /** * 璁剧疆鐢ㄦ埛淇℃伅 * -- Gitblit v1.8.0