<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.moon.server.mapper.all.BaseQueryMapper">
|
<select id="selectUserFuzzy" resultType="com.moon.server.entity.ctrl.IdNameEntity">
|
select id,uname "name" from lf.sys_user
|
<where>
|
<if test="name != null">
|
upper(uname) like #{name}
|
</if>
|
</where>
|
order by uname limit 10
|
</select>
|
|
<select id="selectDepFuzzy" resultType="com.moon.server.entity.ctrl.IdNameEntity">
|
select id,name from lf.sys_dep
|
<where>
|
<if test="name != null">
|
upper(name) like #{name}
|
</if>
|
</where>
|
order by order_num limit 10
|
</select>
|
|
<select id="selectTabsForCount" resultType="java.lang.Integer">
|
select count(*) from lf.sys_dict
|
<where>
|
field = #{field} and status = 0
|
<if test="tab != null">
|
and upper(tab) like #{tab} or upper(tab_desc) like #{tab}
|
</if>
|
<if test="typesFilter != null">
|
and (${typesFilter})
|
</if>
|
</where>
|
</select>
|
|
<select id="selectTabsByPage" resultType="com.moon.server.entity.ctrl.TabEntity">
|
select ns, tab, tab_desc, fn_get_entity(tab) entity, tableType, bak, fn_tab_count(a.ns, a.tab, #{filters}) "rows"
|
from lf.sys_dict a
|
<where>
|
field = #{field} and status = 0
|
<if test="tab != null">
|
and (upper(tab) like #{tab} or upper(tab_desc) like #{tab})
|
</if>
|
<if test="typesFilter != null">
|
and (${typesFilter})
|
</if>
|
</where>
|
order by id
|
limit #{limit} offset #{offset};
|
</select>
|
|
<select id="selectFields" resultType="com.moon.server.entity.data.DictEntity">
|
select * from lf.sys_dict where ns = #{ns} and tab = #{tab} order by order_num
|
</select>
|
|
<select id="selectDomains" resultType="com.moon.server.entity.data.DomainEntity">
|
select a.* from lf.sys_domain a inner join lf.sys_dict b on a.dom_name = b.domain_na
|
where b.ns = #{ns} and b.tab = #{tab} and b.domain_na is not null
|
</select>
|
|
<select id="selectRoute" resultType="java.lang.String">
|
select ST_astext(ST_Union(geom)) as route from pgr_fromAtoB('lrdl'::text, #{x1}, #{y1}, #{x2}, #{y2});
|
</select>
|
|
<select id="selectLocation" resultType="com.moon.server.entity.ctrl.KeyValueEntity">
|
select '国' "key", cname "value" from bs.th_globe_country where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom)
|
union all
|
select '省' "key", cname "value" from bs.th_province_area where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom)
|
union all
|
select '市' "key", cname "value" from bs.th_district_area where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom)
|
union all
|
select '县' "key", cname "value" from bs.th_county_area where ST_Intersects(ST_PointFromText(#{wkt}, 4490), geom);
|
</select>
|
|
<select id="selectDirTypes" resultType="com.moon.server.entity.ctrl.KeyValueEntity">
|
select (select string_agg(code, ',') from lf.sys_dir where name = a.name) "key", name "value"
|
from lf.sys_dir a
|
<where>
|
name in ('基础测绘', '基础地灾', '基础勘察', '合规数据', '管理数据', '测绘(ESV)', '勘察(EGE)', '地灾(EGD)', '洞库(EGD)')
|
<if test="name != null">
|
and upper(name) like #{name}
|
</if>
|
</where>
|
group by name
|
order by key
|
</select>
|
|
<select id="selectAnnexByTab" resultType="com.moon.server.entity.sys.AttachEntity">
|
select a.* from lf.sys_attach a
|
<where>
|
tab = #{tab}
|
<if test="gids != null">
|
and tab_guid in (select eventid from ${tab} where gid in (${gids}))
|
</if>
|
</where>
|
order by a.id
|
</select>
|
</mapper>
|