From aaf5dfe921f7a56f9f1c731aa72c84be1b70fccb Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Thu, 3 Jul 2025 17:25:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E6=B2=BB=E7=96=97?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CaseplatformCaseExcelController.java | 7 ++++ .../domain/vo/CaseplatformCaseVO.java | 3 +- .../domain/vo/EasyExcelCaseDetailVO.java | 5 +-- .../service/CaseplatformCaseService.java | 42 +++++++++++++++++++ .../CaseplatformCaseMapper.xml | 8 ---- 5 files changed, 52 insertions(+), 13 deletions(-) diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseExcelController.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseExcelController.java index 537cad7..9ffad24 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseExcelController.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/controller/CaseplatformCaseExcelController.java @@ -42,6 +42,13 @@ public class CaseplatformCaseExcelController { public void exportEasyExcel(HttpServletResponse response, @Valid CaseplatformCaseQueryForm queryForm) { try { List list = caseplatformCaseService.excelList(queryForm); + + // 处理数据 + for (EasyExcelCaseDetailVO m : list) { + // 治疗类型 + m.setCaseType(caseplatformCaseService.convertCaseTypeToLabel(m.getCaseType())); + } + // 1设置表头样式 WriteCellStyle headStyle = new WriteCellStyle(); // 1.1设置表头数据居中 diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/CaseplatformCaseVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/CaseplatformCaseVO.java index fd296a7..99146e8 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/CaseplatformCaseVO.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/CaseplatformCaseVO.java @@ -34,8 +34,7 @@ public class CaseplatformCaseVO { @ApiModelProperty(value = "入院时间") private LocalDateTime admissionTime; - @ApiModelProperty(value = "病历类型") - @ApiModelPropertyEnum(value = CasetypeEnum.class, desc = "病历类型") + @ApiModelProperty(value = "治疗类型") private String caseType; @ApiModelProperty(value = "专家姓名") diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/EasyExcelCaseDetailVO.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/EasyExcelCaseDetailVO.java index a361138..c7971e7 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/EasyExcelCaseDetailVO.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/domain/vo/EasyExcelCaseDetailVO.java @@ -59,9 +59,8 @@ public class EasyExcelCaseDetailVO { @ExcelProperty("患者ID") private String uid; - @ApiModelPropertyEnum(value = CasetypeEnum.class, desc = "病历类型") - @ExcelProperty(value = "病历类型", converter = CasetypeConverter.class) - private Integer caseType; + @ApiModelProperty(value = "治疗类型") + private String caseType; @ApiModelProperty(value = "创建时间") @ExcelProperty("提交时间") diff --git a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java index 62c1661..ead28f1 100644 --- a/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java +++ b/sa-admin/src/main/java/net/lab1024/sa/admin/module/business/caseplatformcase/service/CaseplatformCaseService.java @@ -1,6 +1,7 @@ package net.lab1024.sa.admin.module.business.caseplatformcase.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.databind.ObjectMapper; import net.lab1024.sa.admin.module.business.area.domain.vo.ProvVO; import net.lab1024.sa.admin.module.business.caseplatformcase.dao.CaseplatformCaseDao; import net.lab1024.sa.admin.module.business.caseplatformcase.domain.entity.CaseplatformCaseEntity; @@ -28,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Objects; import static net.lab1024.sa.common.common.code.UserErrorCode.NO_PERMISSION; @@ -166,4 +168,44 @@ public class CaseplatformCaseService { detail.setDpmsList(dpmsVOS); return ResponseDTO.ok(detail); } + + /** + * 将类似 ["2","1"] 格式的字符串转换为换行分隔的中文含义 + * @param caseTypeJson 数据库存储的字符串,比如 ["2","1"] + * @return 转换后的字符串,比如: + * CA280及联合模式 + * DPMAS及联合模式 + */ + public String convertCaseTypeToLabel(String caseTypeJson) { + if (caseTypeJson == null || caseTypeJson.isEmpty()) { + return ""; + } + + try { + ObjectMapper objectMapper = new ObjectMapper(); + String[] caseTypes = objectMapper.readValue(caseTypeJson, String[].class); + + StringBuilder result = new StringBuilder(); + for (String code : caseTypes) { + if (Objects.equals(code, "1")){ + result.append("DPMAS及联合模式\n"); + }else if (Objects.equals(code, "2")){ + result.append("CA280及联合模式\n"); + }else{ + result.append("未知类型: ").append(code).append("\n"); + } + } + + // 去掉末尾换行 + if (result.length() > 0) { + result.setLength(result.length() - 1); + } + + return result.toString(); + + } catch (Exception e) { + System.err.println("解析 caseTypeJson 出错:" + caseTypeJson); + return "解析失败"; + } + } } diff --git a/sa-admin/src/main/resources/mapper/business/caseplatformcase/CaseplatformCaseMapper.xml b/sa-admin/src/main/resources/mapper/business/caseplatformcase/CaseplatformCaseMapper.xml index a71b7b4..5ad602c 100644 --- a/sa-admin/src/main/resources/mapper/business/caseplatformcase/CaseplatformCaseMapper.xml +++ b/sa-admin/src/main/resources/mapper/business/caseplatformcase/CaseplatformCaseMapper.xml @@ -24,10 +24,6 @@ OR INSTR(t_caseplatform_expert.name,#{queryForm.name}) ) - - - AND t_caseplatform_case.case_type = #{queryForm.caseType} - AND t_caseplatform_case.status = #{queryForm.status} @@ -87,10 +83,6 @@ OR INSTR(t_caseplatform_case.expert_name,#{queryForm.name}) ) - - - AND t_caseplatform_case.case_type = #{queryForm.caseType} - AND t_caseplatform_case.status = #{queryForm.status}