<?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.data.PublishMapper">
|
<select id="selectMetasByCount" resultType="java.lang.Integer">
|
select count(*) from lf.sys_meta
|
<where>
|
${types}
|
<if test="depcode != null">
|
and depcode like #{depcode}
|
</if>
|
<if test="dircode != null">
|
and dircode like #{dircode}
|
</if>
|
<if test="verid != null">
|
and verid = #{verid}
|
</if>
|
<if test="name != null">
|
and upper(name) like #{name}
|
</if>
|
</where>
|
</select>
|
|
<select id="selectMetasByPage" resultType="com.moon.server.entity.data.MetaEntity">
|
select
|
(select c.url from lf.sys_meta_pub b inner join lf.sys_publish c on b.pubid = c.id where b.metaid = a.id limit 1) "url",
|
(select ST_AsText(c.geom) from lf.sys_meta_pub b inner join lf.sys_publish c on b.pubid = c.id where b.metaid = a.id limit 1) "geom",
|
a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_get_fullname(a.dircode, 2) dirName, fn_ver(a.verid) verName
|
from lf.sys_meta a
|
<where>
|
${types}
|
<if test="depcode != null">
|
and depcode like #{depcode}
|
</if>
|
<if test="dircode != null">
|
and dircode like #{dircode}
|
</if>
|
<if test="verid != null">
|
and verid = #{verid}
|
</if>
|
<if test="name != null">
|
and upper(name) like #{name}
|
</if>
|
</where>
|
order by id desc
|
limit #{limit} offset #{offset}
|
</select>
|
|
<select id="selectCount" resultType="java.lang.Integer">
|
select count(*) from lf.sys_publish a
|
<where>
|
1 = 1
|
<if test="name != null">
|
and upper(a.name) like #{name}
|
</if>
|
<if test="dircode != null">
|
and a.dirid like #{dircode}
|
</if>
|
<if test="type != null">
|
and ${type}
|
</if>
|
</where>
|
</select>
|
|
<select id="selectByPage" resultType="com.moon.server.entity.data.PublishEntity">
|
select ST_AsText(a.geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, b.proxy
|
from lf.sys_publish a left join lf.sys_res b on a.id = b.pubid
|
<where>
|
1 = 1
|
<if test="name != null">
|
and upper(a.name) like #{name}
|
</if>
|
<if test="dircode != null">
|
and a.dirid like #{dircode}
|
</if>
|
<if test="type != null">
|
and ${type}
|
</if>
|
</where>
|
order by a.update_time desc, a.create_time desc
|
limit #{limit} offset #{offset}
|
</select>
|
|
<select id="selectAll" resultType="com.moon.server.entity.data.PublishEntity">
|
select * from lf.sys_publish order by id desc;
|
</select>
|
|
<select id="selectById" resultType="com.moon.server.entity.data.PublishEntity">
|
select ST_AsText(a.geom) "geom", a.*, fn_get_fullname(a.depid, 1) depName, fn_get_fullname(a.dirid, 2) dirName, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, b.proxy
|
from lf.sys_publish a left join lf.sys_res b on a.id = b.pubid
|
where a.id = #{id}
|
</select>
|
|
<select id="selectByIds" resultType="com.moon.server.entity.data.PublishEntity">
|
select * from lf.sys_publish where id in (${ids}) order by id desc;
|
</select>
|
|
<select id="selectMetasByPubid" resultType="com.moon.server.entity.data.MetaEntity">
|
select a.*
|
from lf.sys_meta a
|
inner join lf.sys_meta_pub b
|
on a.id = b.metaid
|
where b.pubid = #{pubid};
|
</select>
|
|
<select id="selectCodesForDir" resultType="java.lang.String">
|
select code
|
from lf.sys_dir
|
<where>
|
<choose>
|
<when test="isDom > 0">
|
name in ('DOM', '数字正射影像图')
|
</when>
|
<otherwise>
|
name in ('DEM', '数字高程模型')
|
</otherwise>
|
</choose>
|
<if test="dircode != null">
|
and code like #{dircode}
|
</if>
|
</where>
|
order by code;
|
</select>
|
|
<insert id="insert" parameterType="com.moon.server.entity.data.PublishEntity">
|
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
|
select currval('lf.sys_publish_id_seq'::regclass) as id
|
</selectKey>
|
|
insert into lf.sys_publish
|
(layerid,serviceid,eventid,name,url,path,type,status,dirid,depid,enhance_type,min,max,epsg,ct_type,ct_json,json,create_user,create_time,geom,bak)
|
values
|
(#{layerid},#{serviceid},#{eventid},#{name},#{url},#{path},#{type},#{status},#{dirid},#{depid},#{enhanceType},#{min},#{max},#{epsg},#{ctType},#{ctJson},#{json},#{createUser},now(),${geom},#{bak})
|
</insert>
|
|
<insert id="insertPubDown">
|
insert into lf.sys_pub_down (pubid, downid, create_user) values (#{pubid}, #{downid}, #{createUser})
|
</insert>
|
|
<insert id="insertMetaPub" parameterType="com.moon.server.entity.data.MetaPubEntity">
|
insert into lf.sys_meta_pub(metaid, pubid, create_user, create_time)
|
values
|
(#{metaid}, #{pubid}, #{createUser}, now());
|
</insert>
|
|
<insert id="inserts">
|
insert into lf.sys_publish
|
(layerid,serviceid,eventid,name,url,path,type,status,dirid,depid,enhance_type,min,max,epsg,ct_type,ct_json,json,create_user,create_time,geom,bak)
|
values
|
<foreach collection="list" item="item" index="index" separator=",">
|
(#{item.layerid},#{item.serviceid},#{item.eventid},#{item.name},#{item.url},#{item.path},#{item.type},#{item.status},#{item.dirid},#{item.depid},#{item.enhanceType},#{item.min},#{item.max},#{item.epsg},#{item.ctType},#{item.ctJson},#{item.json},#{item.createUser},now(),${item.geom},#{item.bak})
|
</foreach>
|
</insert>
|
|
<delete id="delete">
|
delete from lf.sys_role_layer where layerid in (select a.id from lf.sys_layer a inner join lf.sys_res b on a.resid = b.id where b.pubid = #{id});
|
delete from lf.sys_role_res where resid in (select id from lf.sys_res where pubid = #{id});
|
delete from lf.sys_layer where resid in (select id from lf.sys_res where pubid = #{id});
|
delete from lf.sys_res where pubid = #{id};
|
delete from lf.sys_meta_pub where pubid = #{id};
|
delete from lf.sys_publish where id = #{id};
|
</delete>
|
|
<delete id="deletes">
|
delete from lf.sys_role_layer where layerid in (select a.id from lf.sys_layer a inner join lf.sys_res b on a.resid = b.id where b.pubid in (${ids}));
|
delete from lf.sys_role_res where resid in (select id from lf.sys_res where pubid in (${ids}));
|
delete from lf.sys_layer where resid in (select id from lf.sys_res where pubid in (${ids}));
|
delete from lf.sys_res where pubid in (${ids});
|
delete from lf.sys_meta_pub where pubid in (${ids});
|
delete from lf.sys_publish where id in (${ids});
|
</delete>
|
|
<update id="update">
|
update lf.sys_publish
|
set layerid=#{layerid},serviceid=#{serviceid},eventid=#{eventid},name=#{name},url=#{url},path=#{path},type=#{type},status=#{status},dirid=#{dirid},depid=#{depid},enhance_type=#{enhanceType},min=#{min},max=#{max},epsg=#{epsg},ct_type=#{ctType},ct_json=#{ctJson},json=#{json},update_user=#{updateUser},update_time=now(),geom=${geom},bak=#{bak}
|
where id=#{id}
|
</update>
|
|
<update id="updates">
|
<foreach collection="list" item="item" index="index" separator=";">
|
update lf.sys_publish
|
set layerid=#{item.layerid},serviceid=#{item.serviceid},eventid=#{item.eventid},name=#{item.name},url=#{item.url},path=#{item.path},type=#{item.type},status=#{item.status},dirid=#{item.dirid},depid=#{item.depid},enhance_type=#{item.enhanceType},min=#{item.min},max=#{item.max},epsg=#{item.epsg},ct_type=#{item.ctType},ct_json=#{item.ctJson},json=#{item.json},update_user=#{item.updateUser},update_time=now(),geom=${item.geom},bak=#{item.bak}
|
where id = #{item.id}
|
</foreach>
|
</update>
|
</mapper>
|