web: 查询辅助检查项添加排序功能

dev_2.0.0
xueqingkun 1 year ago
parent 4173d4b9fd
commit 806618e611

@ -80,6 +80,13 @@ public class ConfigAncillaryItem implements Serializable {
@TableField(typeHandler = StringListTypeHandler.class) @TableField(typeHandler = StringListTypeHandler.class)
private List<String> callOutQuestion; private List<String> callOutQuestion;
@ApiModelProperty("检查类型排序")
private Integer typePriority;
@ApiModelProperty("item排序")
private Integer itemPriority;
/** /**
* ID * ID
*/ */

@ -16,10 +16,7 @@ import com.supervision.vo.result.ConfigAncillaryItemVo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashSet; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -62,7 +59,9 @@ public class ConfigAncillaryItemServiceImpl extends ServiceImpl<ConfigAncillaryI
List<ConfigAncillaryItemVo> list = this.queryVoList(ancillaryItemReqVo); List<ConfigAncillaryItemVo> list = this.queryVoList(ancillaryItemReqVo);
return list.stream().collect(Collectors.groupingBy(ConfigAncillaryItem::getType)).entrySet().stream(). 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) { 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.setItemIdPath(CollUtil.newArrayList(item.getId()));
item.setItemList(e.getValue()); item.setItemList(e.getValue());
if (CollUtil.isNotEmpty(item.getItemList())){ if (CollUtil.isNotEmpty(item.getItemList())){
for (ConfigAncillaryItemVo itemVo : item.getItemList()) { Integer typePriority = CollUtil.getFirst(e.getValue()).getTypePriority();
itemVo.setItemIdPath(CollUtil.newArrayList(item.getId(),itemVo.getId())); 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; return item;
} }

@ -20,6 +20,8 @@ public class ConfigAncillaryItemResVO {
@ApiModelProperty("标识 true:已选择 false:未选择") @ApiModelProperty("标识 true:已选择 false:未选择")
private boolean flag; private boolean flag;
private int priority;
private List<ConfigAncillaryItemVo> itemList; private List<ConfigAncillaryItemVo> itemList;
@ApiModelProperty("检查项id路径") @ApiModelProperty("检查项id路径")

@ -14,6 +14,8 @@
<result property="info" column="info" jdbcType="VARCHAR"/> <result property="info" column="info" jdbcType="VARCHAR"/>
<result column="call_out_question" jdbcType="ARRAY" property="callOutQuestion" <result column="call_out_question" jdbcType="ARRAY" property="callOutQuestion"
typeHandler="com.supervision.handler.StringListTypeHandler"/> 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="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/> <result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
@ -23,7 +25,7 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id id
,type,item_class,item_name,location_name, ,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 update_user_id,update_time
</sql> </sql>
</mapper> </mapper>

Loading…
Cancel
Save