From b7398498c803b88de13d6f905023911312b3fc45 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期三, 11 十二月 2024 22:47:45 +0800 Subject: [PATCH] 2024-12-11 --- ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 348 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 305 insertions(+), 43 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 183ec38..ad4efb3 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 @@ -18,6 +18,9 @@ import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.mapper.DictUserInfoMapper; +import com.ltkj.hosp.mapper.TjOrderDetailMapper; +import com.ltkj.hosp.mapper.TjOrderRemarkMapper; +import com.ltkj.hosp.mapper.TjRulesMapper; import com.ltkj.hosp.service.*; import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; import com.ltkj.hosp.sqlDomain.LtkjHybgd; @@ -98,6 +101,14 @@ private IDictHospService dictHospService; @Autowired private ISysDictDataService sysDictDataService; + @Autowired + private ITjRulesService tjRulesService; + @Autowired + private TjRulesMapper tjRulesMapper; + @Autowired + private TjOrderRemarkMapper tjOrderRemarkMapper; + @Autowired + private TjOrderDetailMapper tjOrderDetailMapper; private Integer pdfPage = 0; @@ -168,7 +179,7 @@ Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); try { - notHuaYanTable(document1, printReport,dictHosp,color); + notHuaYanTable(document1, printReport,dictHosp,color,false); } catch (DocumentException e) { log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); log.error(String.valueOf(e)); @@ -181,7 +192,7 @@ printReport = new HashMap<>(); pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer); try { - notHuaYanTable(document1, printReport,dictHosp,color); + notHuaYanTable(document1, printReport,dictHosp,color,true); } catch (DocumentException e) { log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父"); log.error(String.valueOf(e)); @@ -192,7 +203,7 @@ Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); try { - notHuaYanTable(document1, printReport,dictHosp,color); + notHuaYanTable(document1, printReport,dictHosp,color,true); } catch (DocumentException e) { log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); log.error(String.valueOf(e)); @@ -371,16 +382,98 @@ document2.add(paragraph); isXmWrite = true; } - String content = " ("+index + ") " + i.get(0) + "锛�" + i.get(1) + " " + i.get(3) + " " + i.get(4); + String content = " ("+index + ") " + i.get(0) + "锛�" + i.get(1) + " " + i.get(3) + " " + i.get(4) + " " + i.get(2); paragraph = new Paragraph(content,defaultFont); paragraph.setAlignment(Element.ALIGN_LEFT); document2.add(paragraph); + // 绗叚浣嶆槸lis椤圭洰id +// LambdaQueryWrapper<TjProject> wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(TjProject::getLisXmbm,i.get(5)); +// TjProject project = projectService.getOne(wrapper); +// if (project != null) { +// LambdaQueryWrapper<TjRules> queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.eq(TjRules::getProId,project.getProId()); +// List<TjRules> rules = tjRulesService.list(queryWrapper); +// if (!rules.isEmpty()){ +// +// } + String str = " "; + List<Map<String, Object>> maps = tjRulesMapper.getyichangxiangmujianyiguize(i.get(5),null,i.get(2)); + if (!maps.isEmpty()){ + for (Map<String, Object> objectMap : maps) { +// paragraph = new Paragraph(str+"寤鸿鏍囬",defaultFont); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// document2.add(paragraph); +// +// paragraph = new Paragraph(str+objectMap.get("bt").toString(),defaultFont); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// document2.add(paragraph); +// +// paragraph = new Paragraph(str+"寤鸿鍐呭",defaultFont); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// document2.add(paragraph); +// +// paragraph = new Paragraph(str+objectMap.get("nr").toString(),defaultFont); +// paragraph.setAlignment(Element.ALIGN_LEFT); +// document2.add(paragraph); + + paragraph = new Paragraph(str+objectMap.get("bt").toString()+"锛�"+objectMap.get("nr").toString(),defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + } + } +// } index++; } } paragraph = PdfUtils.setParagraph(defaultFont, ""); document2.add(paragraph); } + + +// List<TjOrderRemark> remarks = tjOrderRemarkMapper.getzongjianyishengchakanyichangxiangmu3( tjOrder.getTjNumber()); + List<TjOrderDetail> orderDetails = tjOrderDetailMapper.getzongjianyishengchakanyichangxiangmu4( tjOrder.getTjNumber()); +// List<Map<String, Object>> jiancha = new ArrayList<>(); + + for (Map.Entry<Long, List<TjOrderDetail>> entry : orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId)).entrySet()) { + List<TjOrderDetail> details = entry.getValue(); + String xmmc = details.get(0).getProName(); + boolean isXmWrite = false; + int index = 1; + for (TjOrderDetail detail : details) { + if (!isXmWrite) { + paragraph = new Paragraph(xmmc,defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + isXmWrite = true; + } + String result = detail.getProResult(); + if (StrUtil.isNotBlank(result)){ + result = result.replaceAll("\n鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�",""); + result = "\n "+result.replaceAll("\n","\n "); + } + String content = " ("+index + ") " + detail.getProName() + "锛�" + result; + paragraph = new Paragraph(content,defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + String str = " "; + List<Map<String, Object>> advices = detail.getAdvices(); + if (advices != null && !advices.isEmpty()){ + for (Map<String, Object> m : advices) { + paragraph = new Paragraph(str+m.get("bt").toString()+"锛�"+m.get("nr").toString(),defaultFont); + paragraph.setAlignment(Element.ALIGN_LEFT); + document2.add(paragraph); + } + } + index++; + } + paragraph = PdfUtils.setParagraph(defaultFont, ""); + document2.add(paragraph); + } + + + + for (int i = 0; i < 2; i++) { paragraph = PdfUtils.setParagraph(defaultFont, ""); @@ -424,7 +517,7 @@ Map<TjOrderRemark, List<TjPdfVO>> printReport = new HashMap<>(); notHuaYanData(tjOrder.getTjNumber(), printReport, tjOrder, customer); try { - notHuaYanTable(document, printReport, dictHosp, color); + notHuaYanTable(document, printReport, dictHosp, color,false); } catch (DocumentException e) { log.error("闈炲寲楠岄」鐩~鍏呰〃鏍煎紓甯�"); log.error(String.valueOf(e)); @@ -436,7 +529,7 @@ printReport = new HashMap<>(); pacsJianChaData(tjOrder.getTjNumber(), printReport, tjOrder, customer); try { - notHuaYanTable(document, printReport, dictHosp, color); + notHuaYanTable(document, printReport, dictHosp, color,true); } catch (DocumentException e) { log.error("pacs椤圭洰濉厖琛ㄦ牸寮傚父"); log.error(String.valueOf(e)); @@ -839,7 +932,7 @@ * @param printReport * @throws DocumentException */ - private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport,DictHosp dictHosp,String colorStr) throws DocumentException { + private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport,DictHosp dictHosp,String colorStr,boolean isPacs) throws DocumentException { for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjProject::getProId, entry.getKey().getProId()); @@ -885,31 +978,114 @@ if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ if (value.size()>1){ - String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; - Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); - Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); - PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); - document1.add(table); + if (value.get(0).getPid().equals("1862852701533012001")){ + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + + ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + }else { + 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); - 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); + + if (isPacs){ + 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 { + if (value.get(0).getPid().equals("1862852701533012001")){ + remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + + ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + }else { + 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.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); + PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,isPacs,new float[]{240, 240,240}); document1.add(table); } //鍒ゆ柇澶囨敞鏄惁涓虹┖ 绌轰笉鑳芥樉绀簄ull @@ -984,31 +1160,116 @@ if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ if (value.size()>1){ - String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; - Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); - Font textFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); - PdfPTable table = PdfUtils.setTable2(headFont, textFont, titles, value,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); - document1.add(table); + if (value.get(0).getPid().equals("1862852701533012001")){ + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + + ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + }else { + 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); - Paragraph 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); - 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); + + if (isPacs){ + Paragraph 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); + 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); + }else { + if (value.get(0).getPid().equals("1862852701533012001")){ + remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph ppp = new Paragraph("闃虫�у弬鑰冨�硷細", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("DOB鍊硷細 鈮� 4.0 HP-闃虫��", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(" < 4.0 姝e父", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + + ppp = new Paragraph("妫�娴嬬粨鏋滐細 DOB="+value.get(0).getProResult(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("", remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + ppp = new Paragraph("缁撹锛�"+entry.getKey().getRemark(), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + }else { + 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,dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌")); + PdfPTable table = PdfUtils.setTable(headFont, textFont, titles, value,isPacs); document1.add(table); } @@ -1418,6 +1679,7 @@ tjPdfVO.setCompany("/"); } tjPdfVO.setProId(String.valueOf(tjOrderDetail.getProject().getProId())); + tjPdfVO.setPid(String.valueOf(tjProject.getProParentId())); LambdaQueryWrapper<LtkjExamJcbgd> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(LtkjExamJcbgd::getTjh,tjNumber); wrapper.eq(LtkjExamJcbgd::getXmdm,String.valueOf(tjOrderDetail.getProject().getProParentId())); -- Gitblit v1.8.0