From 806618e611387c1b1bbfcc62542da3c9641c737f Mon Sep 17 00:00:00 2001 From: xueqingkun <xueqingkun@126.com> Date: Fri, 22 Dec 2023 17:12:05 +0800 Subject: [PATCH] =?UTF-8?q?web:=20=E6=9F=A5=E8=AF=A2=E8=BE=85=E5=8A=A9?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E9=A1=B9=E6=B7=BB=E5=8A=A0=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/ConfigAncillaryItem.java | 7 ++++++ .../impl/ConfigAncillaryItemServiceImpl.java | 23 ++++++++++++------- .../vo/ask/ConfigAncillaryItemResVO.java | 2 ++ .../mapper/ConfigAncillaryItemMapper.xml | 4 +++- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/virtual-patient-model/src/main/java/com/supervision/model/ConfigAncillaryItem.java b/virtual-patient-model/src/main/java/com/supervision/model/ConfigAncillaryItem.java index 730c9041..4f3089c9 100644 --- a/virtual-patient-model/src/main/java/com/supervision/model/ConfigAncillaryItem.java +++ b/virtual-patient-model/src/main/java/com/supervision/model/ConfigAncillaryItem.java @@ -80,6 +80,13 @@ public class ConfigAncillaryItem implements Serializable { @TableField(typeHandler = StringListTypeHandler.class) private List<String> callOutQuestion; + @ApiModelProperty("检查类型排序") + private Integer typePriority; + + @ApiModelProperty("item排序") + private Integer itemPriority; + + /** * 创建人ID */ diff --git a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigAncillaryItemServiceImpl.java b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigAncillaryItemServiceImpl.java index fceadbe4..3ad3f609 100644 --- a/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigAncillaryItemServiceImpl.java +++ b/virtual-patient-model/src/main/java/com/supervision/service/impl/ConfigAncillaryItemServiceImpl.java @@ -16,10 +16,7 @@ import com.supervision.vo.result.ConfigAncillaryItemVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -62,7 +59,9 @@ public class ConfigAncillaryItemServiceImpl extends ServiceImpl<ConfigAncillaryI List<ConfigAncillaryItemVo> list = this.queryVoList(ancillaryItemReqVo); return list.stream().collect(Collectors.groupingBy(ConfigAncillaryItem::getType)).entrySet().stream(). - map(ConfigAncillaryItemServiceImpl::getConfigAncillaryItemResVO).collect(Collectors.toList()); + map(ConfigAncillaryItemServiceImpl::getConfigAncillaryItemResVO) + .sorted(Comparator.comparingInt(ConfigAncillaryItemResVO::getPriority)) + .collect(Collectors.toList()); } private static ConfigAncillaryItemResVO getConfigAncillaryItemResVO(Map.Entry<String, List<ConfigAncillaryItemVo>> e) { @@ -72,9 +71,17 @@ public class ConfigAncillaryItemServiceImpl extends ServiceImpl<ConfigAncillaryI item.setItemIdPath(CollUtil.newArrayList(item.getId())); item.setItemList(e.getValue()); if (CollUtil.isNotEmpty(item.getItemList())){ - for (ConfigAncillaryItemVo itemVo : item.getItemList()) { - itemVo.setItemIdPath(CollUtil.newArrayList(item.getId(),itemVo.getId())); - } + Integer typePriority = CollUtil.getFirst(e.getValue()).getTypePriority(); + item.setPriority(null == typePriority ? 9999 : typePriority); + // 对itemList进行排序 + List<ConfigAncillaryItemVo> itemVoListSorted = item.getItemList().stream().peek(itemVo -> { + if (null == itemVo.getItemPriority()) { + itemVo.setItemPriority(9999); + } + itemVo.setItemIdPath(CollUtil.newArrayList(item.getId(),itemVo.getId())); + }) + .sorted(Comparator.comparingInt(ConfigAncillaryItem::getItemPriority)).collect(Collectors.toList()); + item.setItemList(itemVoListSorted); } return item; } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigAncillaryItemResVO.java b/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigAncillaryItemResVO.java index 3dee8c80..2c6f7e34 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigAncillaryItemResVO.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/ask/ConfigAncillaryItemResVO.java @@ -20,6 +20,8 @@ public class ConfigAncillaryItemResVO { @ApiModelProperty("标识 true:已选择 false:未选择") private boolean flag; + private int priority; + private List<ConfigAncillaryItemVo> itemList; @ApiModelProperty("检查项id路径") diff --git a/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml b/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml index 6ed491c4..5c109270 100644 --- a/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/ConfigAncillaryItemMapper.xml @@ -14,6 +14,8 @@ <result property="info" column="info" jdbcType="VARCHAR"/> <result column="call_out_question" jdbcType="ARRAY" property="callOutQuestion" typeHandler="com.supervision.handler.StringListTypeHandler"/> + <result property="typePriority" column="type_priority" jdbcType="VARCHAR"/> + <result property="itemPriority" column="item_priority" jdbcType="VARCHAR"/> <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"/> @@ -23,7 +25,7 @@ <sql id="Base_Column_List"> id ,type,item_class,item_name,location_name, - info,create_user_id,create_time, + info,call_out_question,type_priority,item_priority,create_user_id,create_time, update_user_id,update_time </sql> </mapper>