fix: 流域注册下拉优化
This commit is contained in:
parent
e1d8809a03
commit
5f7179949a
@ -22,4 +22,9 @@ public interface SdRvcdDicMapper extends BaseMapper<SdRvcdDic> {
|
||||
* 查询所有根流域
|
||||
*/
|
||||
List<SdRvcdDic> selectRootList();
|
||||
|
||||
/**
|
||||
* 注册场景下拉框查询
|
||||
*/
|
||||
List<SdRvcdDic> selectRegDropdown(@Param("rvnm") String rvnm, @Param("rvcd") String rvcd);
|
||||
}
|
||||
|
||||
@ -222,12 +222,7 @@ public class SdRvcdDicServiceImpl extends ServiceImpl<SdRvcdDicMapper, SdRvcdDic
|
||||
|
||||
@Override
|
||||
public List<SdRvcdDic> regDropdown(String rvnm, String rvcd) {
|
||||
return this.lambdaQuery()
|
||||
.like(rvnm != null && !rvnm.isEmpty(), SdRvcdDic::getRvnm, rvnm)
|
||||
.eq(rvcd != null && !rvcd.isEmpty(), SdRvcdDic::getRvcd, rvcd)
|
||||
.eq(SdRvcdDic::getEnabled, 1)
|
||||
.orderByAsc(SdRvcdDic::getBaseid,SdRvcdDic::getOrderIndex)
|
||||
.list();
|
||||
return this.baseMapper.selectRegDropdown(rvnm, rvcd);
|
||||
}
|
||||
|
||||
private void buildTreeRecursive(SdRvcdDic parent, Map<String, List<SdRvcdDic>> childrenMap, Set<String> rootRvcdSet) {
|
||||
@ -241,4 +236,8 @@ public class SdRvcdDicServiceImpl extends ServiceImpl<SdRvcdDicMapper, SdRvcdDic
|
||||
parent.setChildren(new ArrayList<>());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isRootRvcd(SdRvcdDic item) {
|
||||
return item == null || !StringUtils.hasText(item.getPrvcd()) || "0".equals(item.getPrvcd());
|
||||
}
|
||||
}
|
||||
|
||||
@ -53,4 +53,80 @@
|
||||
ORDER BY ORDER_INDEX ASC
|
||||
</select>
|
||||
|
||||
<select id="selectRegDropdown" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
t.RVCD,
|
||||
t.DISPLAY_RVNM AS RVNM,
|
||||
t.PRVCD,
|
||||
t.GRD,
|
||||
t.PATH,
|
||||
t.ORDER_INDEX,
|
||||
t.LGTD,
|
||||
t.LTTD,
|
||||
t.AREA,
|
||||
t.PERIMETER,
|
||||
t.COUNTRY,
|
||||
t.LOGO,
|
||||
t.INTRODUCE,
|
||||
t.INFFILE,
|
||||
t.SHORTNAME,
|
||||
t.SHEPRANGE,
|
||||
t.BASEID,
|
||||
t.ENABLED,
|
||||
t.RECORD_USER,
|
||||
t.RECORD_TIME,
|
||||
t.MODIFY_USER,
|
||||
t.MODIFY_TIME,
|
||||
t.IS_DELETED,
|
||||
t.DELETE_USER,
|
||||
t.DELETE_TIME
|
||||
FROM (
|
||||
SELECT
|
||||
d.RVCD,
|
||||
LTRIM(SYS_CONNECT_BY_PATH(d.RVNM, '-'), '-') AS DISPLAY_RVNM,
|
||||
d.PRVCD,
|
||||
d.GRD,
|
||||
d.PATH,
|
||||
d.ORDER_INDEX,
|
||||
d.LGTD,
|
||||
d.LTTD,
|
||||
d.AREA,
|
||||
d.PERIMETER,
|
||||
d.COUNTRY,
|
||||
d.LOGO,
|
||||
d.INTRODUCE,
|
||||
d.INFFILE,
|
||||
d.SHORTNAME,
|
||||
d.SHEPRANGE,
|
||||
d.BASEID,
|
||||
d.ENABLED,
|
||||
d.RECORD_USER,
|
||||
d.RECORD_TIME,
|
||||
d.MODIFY_USER,
|
||||
d.MODIFY_TIME,
|
||||
d.IS_DELETED,
|
||||
d.DELETE_USER,
|
||||
d.DELETE_TIME,
|
||||
SYS_CONNECT_BY_PATH(LPAD(NVL(d.ORDER_INDEX, 999999999), 10, '0'), '/') AS ORDER_PATH,
|
||||
LEVEL AS TREE_LEVEL
|
||||
FROM (
|
||||
SELECT *
|
||||
FROM SD_RVCD_DIC
|
||||
WHERE NVL(ENABLED, 1) = 1
|
||||
AND NVL(IS_DELETED, 0) = 0
|
||||
) d
|
||||
START WITH d.PRVCD IS NULL OR d.PRVCD = '' OR d.PRVCD = '0'
|
||||
CONNECT BY PRIOR d.RVCD = d.PRVCD
|
||||
ORDER SIBLINGS BY d.ORDER_INDEX ASC, d.RVCD ASC
|
||||
) t
|
||||
WHERE t.TREE_LEVEL > 1
|
||||
<if test="rvcd != null and rvcd != ''">
|
||||
AND t.RVCD = #{rvcd}
|
||||
</if>
|
||||
<if test="rvnm != null and rvnm != ''">
|
||||
AND t.DISPLAY_RVNM LIKE '%' || #{rvnm} || '%'
|
||||
</if>
|
||||
ORDER BY t.ORDER_PATH ASC, t.RVCD ASC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user