From 6c7c71ad85ab1e5fb4a3eae9e31799b2f35006fb Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期三, 14 五月 2025 14:12:54 +0800 Subject: [PATCH] 将写死的碳13项目抽到表里配置 --- ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReportSpecialProjectMapper.java | 18 +++ ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 226 +++++++++++++------------------------ ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjReportSpecialProject.java | 40 ++++++ ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjReportSpecialProjectService.java | 13 ++ ltkj-hosp/src/main/resources/mapper/TjReportSpecialProjectMapper.xml | 18 +++ ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportSpecialProjectServiceImpl.java | 22 +++ 6 files changed, 189 insertions(+), 148 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 c90a816..2b89aaf 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 @@ -125,6 +125,8 @@ private TjOrderYcxmService ycxmService; @Resource private TjXdtgmdjgService xdtgmdjgService; + @Autowired + private TjReportSpecialProjectService tjReportSpecialProjectService; private Integer pdfPage = 0; @@ -1788,6 +1790,7 @@ * @throws DocumentException */ private void notHuaYanTable(Document document1, Map<TjOrderRemark, List<TjPdfVO>> printReport, DictHosp dictHosp, String colorStr, boolean isPacs) throws DocumentException { + List<TjReportSpecialProject> tjReportSpecialProjects = tjReportSpecialProjectService.list(); for (Map.Entry<TjOrderRemark, List<TjPdfVO>> entry : printReport.entrySet()) { LambdaQueryWrapper<TjProject> wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjProject::getProId, entry.getKey().getProId()); @@ -1835,43 +1838,12 @@ // if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ if (!value.isEmpty()) { if (value.size() > 1) { - 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); - if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + Long pid = Long.valueOf(value.get(0).getPid()); + Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream() + .filter(item -> item.getProId().equals(pid)) + .findFirst(); + if (match.isPresent()) { + reportSpecialProject(document1, entry, paragraph, value,match.get()); } else { String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -1900,43 +1872,12 @@ // 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); - if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + Long pid = Long.valueOf(value.get(0).getPid()); + Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream() + .filter(item -> item.getProId().equals(pid)) + .findFirst(); + if (match.isPresent()) { + reportSpecialProject(document1, entry, paragraph, value,match.get()); } else { String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"}; Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2023,43 +1964,12 @@ // if (dictHosp.getHospName().equals("婢勫悎鐭垮姟灞�涓績鍖婚櫌") && !value.isEmpty()){ if (!value.isEmpty()) { if (value.size() > 1) { - 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); - if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + Long pid = Long.valueOf(value.get(0).getPid()); + Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream() + .filter(item -> item.getProId().equals(pid)) + .findFirst(); + if (match.isPresent()) { + reportSpecialProject(document1, entry, paragraph, value,match.get()); } else { String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉", "鍗曚綅"}; Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2115,43 +2025,12 @@ // 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); - if (StrUtil.isNotBlank(entry.getKey().getRemark())) { - ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); - paragraph.setAlignment(Element.ALIGN_LEFT); - paragraph.setLeading(5f); - document1.add(ppp); - } + Long pid = Long.valueOf(value.get(0).getPid()); + Optional<TjReportSpecialProject> match = tjReportSpecialProjects.stream() + .filter(item -> item.getProId().equals(pid)) + .findFirst(); + if (match.isPresent()) { + reportSpecialProject(document1, entry, paragraph, value,match.get()); } else { String[] titles = {"浣撴椤圭洰", "浣撴缁撴灉"}; Font headFont = PdfUtils.setFont(DEFAULT_FONT_SIZE); @@ -2213,6 +2092,57 @@ } /** + * 鐩墠鍐欐 鍙湁纰�13銆�14 妯℃澘閮芥槸涓�鏍风殑鍙笉杩囧弬鑰冨�间笉鍚� + * 鍑屼簯锛歿"dy":"4.0","xy":"4.0","title":"闃虫�у弬鑰冨�硷細","dystr":"DOB鍊硷細 鈮� ${dy} HP-闃虫��","xystr":" < ${xy} 姝e父","en":"DOB"} + * 娉惧窛鍘垮尰闄細{"dy":"100","xy":"100","title":"鍙傝�冨��(DPM)锛�","dystr":"DPM鍊硷細 鈮� ${dy} 闃虫��","xystr":" < ${xy} 闃存��","en":"DPM"} + * @param document1 + * @param entry + * @param paragraph + * @param value + * @param tjReportSpecialProject + * @throws DocumentException + */ + private static void reportSpecialProject(Document document1, Map.Entry<TjOrderRemark, List<TjPdfVO>> entry, Paragraph paragraph, List<TjPdfVO> value,TjReportSpecialProject tjReportSpecialProject) throws DocumentException { + JSONObject entries = JSONUtil.parseObj(tjReportSpecialProject.getParams()); + Font remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE); + Paragraph ppp = new Paragraph(entries.getStr("title"), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(entries.getStr("dystr").replace("${dy}",entries.getStr("dy")), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + ppp = new Paragraph(entries.getStr("xystr").replace("${xy}",entries.getStr("xy")), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + + + ppp = new Paragraph("妫�娴嬬粨鏋滐細 "+entries.getStr("en")+"=" + 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); + if (StrUtil.isNotBlank(entry.getKey().getRemark())) { + ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts); + paragraph.setAlignment(Element.ALIGN_LEFT); + paragraph.setLeading(5f); + document1.add(ppp); + } + } + + /** * 涓昏鍖诲笀琛屾樉绀鸿缃� * * @param document1 diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjReportSpecialProject.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjReportSpecialProject.java new file mode 100644 index 0000000..4c8c22f --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjReportSpecialProject.java @@ -0,0 +1,40 @@ +package com.ltkj.hosp.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; + +/** + * 鎶ュ憡鐗规畩椤圭洰 + * @TableName tj_report_special_project + */ +@TableName(value ="tj_report_special_project") +@Data +public class TjReportSpecialProject implements Serializable { + /** + * + */ + @TableId + private Long id; + + /** + * + */ + private Long proId; + + /** + * 妯℃澘鍒ゆ柇缂栧彿 鏍规嵁缂栧彿璧颁笉鍚岀殑鐢熸垚妯℃澘绫诲瀷 + */ + private Integer templateKey; + + /** + * 闇�瑕侀澶栦紶閫掔殑鍙傛暟 + */ + private String params; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReportSpecialProjectMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReportSpecialProjectMapper.java new file mode 100644 index 0000000..ee6a872 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjReportSpecialProjectMapper.java @@ -0,0 +1,18 @@ +package com.ltkj.hosp.mapper; + +import com.ltkj.hosp.domain.TjReportSpecialProject; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author w +* @description 閽堝琛ㄣ�恡j_report_special_project(鎶ュ憡鐗规畩椤圭洰)銆戠殑鏁版嵁搴撴搷浣淢apper +* @createDate 2025-05-14 11:21:22 +* @Entity com.ltkj.hosp.domain.TjReportSpecialProject +*/ +public interface TjReportSpecialProjectMapper extends BaseMapper<TjReportSpecialProject> { + +} + + + + diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjReportSpecialProjectService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjReportSpecialProjectService.java new file mode 100644 index 0000000..8341fc0 --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjReportSpecialProjectService.java @@ -0,0 +1,13 @@ +package com.ltkj.hosp.service; + +import com.ltkj.hosp.domain.TjReportSpecialProject; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author w +* @description 閽堝琛ㄣ�恡j_report_special_project(鎶ュ憡鐗规畩椤圭洰)銆戠殑鏁版嵁搴撴搷浣淪ervice +* @createDate 2025-05-14 11:21:22 +*/ +public interface TjReportSpecialProjectService extends IService<TjReportSpecialProject> { + +} diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportSpecialProjectServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportSpecialProjectServiceImpl.java new file mode 100644 index 0000000..0eab9ec --- /dev/null +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjReportSpecialProjectServiceImpl.java @@ -0,0 +1,22 @@ +package com.ltkj.hosp.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ltkj.hosp.domain.TjReportSpecialProject; +import com.ltkj.hosp.service.TjReportSpecialProjectService; +import com.ltkj.hosp.mapper.TjReportSpecialProjectMapper; +import org.springframework.stereotype.Service; + +/** +* @author w +* @description 閽堝琛ㄣ�恡j_report_special_project(鎶ュ憡鐗规畩椤圭洰)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇 +* @createDate 2025-05-14 11:21:22 +*/ +@Service +public class TjReportSpecialProjectServiceImpl extends ServiceImpl<TjReportSpecialProjectMapper, TjReportSpecialProject> + implements TjReportSpecialProjectService{ + +} + + + + diff --git a/ltkj-hosp/src/main/resources/mapper/TjReportSpecialProjectMapper.xml b/ltkj-hosp/src/main/resources/mapper/TjReportSpecialProjectMapper.xml new file mode 100644 index 0000000..4c67c0b --- /dev/null +++ b/ltkj-hosp/src/main/resources/mapper/TjReportSpecialProjectMapper.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.ltkj.hosp.mapper.TjReportSpecialProjectMapper"> + + <resultMap id="BaseResultMap" type="com.ltkj.hosp.domain.TjReportSpecialProject"> + <id property="id" column="id" jdbcType="BIGINT"/> + <result property="proId" column="pro_id" jdbcType="BIGINT"/> + <result property="templateKey" column="template_key" jdbcType="TINYINT"/> + <result property="params" column="params" jdbcType="VARCHAR"/> + </resultMap> + + <sql id="Base_Column_List"> + id,pro_id,template_key, + params + </sql> +</mapper> -- Gitblit v1.8.0