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