diff --git a/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalTool.java b/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalTool.java index 2f204b74..fcad9aaf 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalTool.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/ConfigPhysicalTool.java @@ -58,6 +58,13 @@ public class ConfigPhysicalTool implements Serializable { @TableField(typeHandler = StringListTypeHandler.class) private List<String> callOutQuestion; + + @ApiModelProperty("检查类型排序") + private Integer typePriority; + + @ApiModelProperty("code排序") + private Integer codePriority; + /** * 创建人ID */ diff --git a/virtual-patient-model/src/main/resources/mapper/ConfigPhysicalToolMapper.xml b/virtual-patient-model/src/main/resources/mapper/ConfigPhysicalToolMapper.xml index a4dd7844..b93b1a4e 100644 --- a/virtual-patient-model/src/main/resources/mapper/ConfigPhysicalToolMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/ConfigPhysicalToolMapper.xml @@ -13,6 +13,8 @@ <result property="requireLocation" column="require_location" jdbcType="INTEGER"/> <result column="call_out_question" property="callOutQuestion" jdbcType="ARRAY" typeHandler="com.supervision.handler.StringListTypeHandler"/> + <result property="codePriority" column="code_priority" jdbcType="INTEGER"/> + <result property="typePriority" column="type_priority" jdbcType="INTEGER"/> <result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/> @@ -22,7 +24,7 @@ <sql id="Base_Column_List"> id ,type,code,icon_base64 - tool_name,require_location,create_user_id, - create_time,update_user_id,update_time + tool_name,require_location,type_priority,code_priority, + create_user_id, create_time,update_user_id,update_time </sql> </mapper> diff --git a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/ConfigPhysicalToolResVO.java b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/ConfigPhysicalToolResVO.java index f824e3bc..7d64164a 100644 --- a/virtual-patient-web/src/main/java/com/supervision/pojo/vo/ConfigPhysicalToolResVO.java +++ b/virtual-patient-web/src/main/java/com/supervision/pojo/vo/ConfigPhysicalToolResVO.java @@ -10,5 +10,7 @@ public class ConfigPhysicalToolResVO { private String toolType; + private transient Integer priority; + private List<ConfigPhysicalTool> toolList; } diff --git a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java index 13bd2ee7..fef041cd 100644 --- a/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java +++ b/virtual-patient-web/src/main/java/com/supervision/service/impl/AskPhysicalServiceImpl.java @@ -1,5 +1,6 @@ package com.supervision.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.supervision.exception.BusinessException; import com.supervision.model.*; @@ -13,6 +14,7 @@ import com.supervision.vo.ask.AskPhysicalHistoryResVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Comparator; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -33,14 +35,19 @@ public class AskPhysicalServiceImpl implements AskPhysicalService { @Override public List<ConfigPhysicalToolResVO> queryPhysicalToolList() { + List<ConfigPhysicalTool> list = toolService.lambdaQuery().list(); return list.stream().collect(Collectors.groupingBy(ConfigPhysicalTool::getType)).entrySet().stream().map(e ->{ ConfigPhysicalToolResVO tool = new ConfigPhysicalToolResVO(); tool.setToolType(e.getKey()); + int priority = 999; + if (CollectionUtil.isNotEmpty(e.getValue()) && null != e.getValue().get(0).getTypePriority()) { + priority = e.getValue().get(0).getTypePriority(); + } + tool.setPriority(priority); tool.setToolList(e.getValue()); return tool; - - }).collect(Collectors.toList()); + }).sorted(Comparator.comparingInt(ConfigPhysicalToolResVO::getPriority)).collect(Collectors.toList()); } @Override