package com.supervision.vo.manage; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.MD5; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.util.ArrayList; import java.util.List; @Data public class DiseasePhysicalStrResVo { /** * 主键 */ @TableId private String id; /** * 病历ID */ @Schema(description = "疾病id") private String diseaseId; /** * 工具ID */ @Schema(description = "工具ID") private String toolId; @Schema(description = "工具父级id") private String toolParentId; /** * 检查部位ID */ @Schema(description = "检查部位ID") private String locationId; @Schema(description = "身体部位名称") private String locationName; @Schema(description = "工具名称") private String toolName; @Schema(description = "工具类型") private String toolType; @Schema(description = "初步诊断依据(0否1是)") private String primarilyDiagnosisCriteriaFlag; @Schema(description = "是否是证实诊断依据(0否1是)") private String basisConfirmFlag; @Schema(description = "是否是鉴别依据(0否1是)") private String basisIdentificationFlag; @Schema(description = "全面检查 0正常 1 不正常") private String fullCheckFlag; @Schema(description = "诊断依据") private String diagnosticCriteria; @Schema(description = "是否诊断判读 0否1是") private Integer diagnosisAssessmentFlag; @Schema(description = "部位诊断结果 0正常 1 不正常") private Integer locationDiagnosisFlag; /** * "原本是为了标识诊断结果是否正常的", * 现在有了result,normalResult就不用区分结果是否正确了 */ @Deprecated @Schema(description = "是否预期诊断结果 0正常 1 不正常") private Integer expectedDiagnosisResult; @Schema(description = "是否必查 (0否1是)") private Integer requireCheckFlag; /** * 结果(异常结果) */ @Schema(description = "结果") private String result; @Schema(description = "正常结果") private String normalResult; /** * 表征 */ @Schema(description = "表征 默认诊断结果") private String trait; @Schema(description = "工具id路径") private List toolIdPath; @Schema(description = "身体部位id路径") private List locationIdPath; public void aggregationDiagnosticCriteria() { if (StrUtil.isBlank(this.primarilyDiagnosisCriteriaFlag) && StrUtil.isBlank(this.basisConfirmFlag) && StrUtil.isBlank(this.basisIdentificationFlag) && StrUtil.isBlank(this.fullCheckFlag)) { this.diagnosticCriteria = "——"; } if (this.primarilyDiagnosisCriteriaFlag != null) { this.diagnosticCriteria = getPrimarilyDiagnosisCriteriaFlag(); } if (this.basisConfirmFlag != null) { this.diagnosticCriteria = this.diagnosticCriteria + "-" + getBasisConfirmFlag(); } if (this.basisIdentificationFlag != null) { this.diagnosticCriteria = this.diagnosticCriteria + "-" + getBasisIdentificationFlag(); } if (this.fullCheckFlag != null) { this.diagnosticCriteria = this.diagnosticCriteria + "-" + getFullCheckFlag(); } } public void initToolIdPath() { if (null == toolIdPath) { toolIdPath = new ArrayList<>(); } toolIdPath.add(new MD5().digestHex16(toolType)); toolIdPath.add(getToolId()); } public void initLocationIdPath() { if (null == locationIdPath) { locationIdPath = new ArrayList<>(); } if (StrUtil.isNotEmpty(getToolParentId())) { locationIdPath.add(getToolParentId()); } if (StrUtil.isNotEmpty(getLocationId())) { locationIdPath.add(getLocationId()); } } public void populateOther() { this.aggregationDiagnosticCriteria(); this.initToolIdPath(); this.initLocationIdPath(); } }