From f913d44fbf160caafde4de10a8406d7908dfecd6 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期一, 04 十二月 2023 09:19:24 +0800
Subject: [PATCH] 修改查询GDB文件接口

---
 src/main/resources/mapper/data/MetaMapper.xml |  109 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 74 insertions(+), 35 deletions(-)

diff --git a/src/main/resources/mapper/data/MetaMapper.xml b/src/main/resources/mapper/data/MetaMapper.xml
index 37c3e97..a2b1667 100644
--- a/src/main/resources/mapper/data/MetaMapper.xml
+++ b/src/main/resources/mapper/data/MetaMapper.xml
@@ -1,10 +1,10 @@
 <?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.lf.server.mapper.data.MetaMapper">
+<mapper namespace="com.moon.server.mapper.data.MetaMapper">
     <select id="selectCount" resultType="java.lang.Integer">
         select count(*) from lf.sys_meta
         <where>
-            1 = 1
+            ismeta between 0 and 1
             <if test="depcode != null">
                 and depcode like #{depcode}
             </if>
@@ -17,14 +17,29 @@
             <if test="name != null">
                 and upper(name) like #{name}
             </if>
+            <if test="sensorType != null">
+                and sensortype = #{sensorType}
+            </if>
+            <if test="mataType != null">
+                and mata_type = #{mataType}
+            </if>
+            <if test="startDate != null">
+                and acq_time >= #{startDate}
+            </if>
+            <if test="endDate != null">
+                and acq_time &lt;= #{endDate}
+            </if>
+            <if test="wkt != null">
+                and ${wkt}
+            </if>
         </where>
     </select>
 
-    <select id="selectByPage" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
+    <select id="selectByPage" resultType="com.moon.server.entity.data.MetaEntity">
+        select st_astext(geom) "geom", a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a
         <where>
-            1 = 1
+            ismeta between 0 and 1
             <if test="depcode != null">
 				and depcode like #{depcode}
 			</if>
@@ -37,9 +52,30 @@
             <if test="name != null">
                 and upper(name) like #{name}
             </if>
+            <if test="sensorType != null">
+                and sensortype = #{sensorType}
+            </if>
+            <if test="mataType != null">
+                and mata_type = #{mataType}
+            </if>
+            <if test="startDate != null">
+                and acq_time >= #{startDate}
+            </if>
+            <if test="endDate != null">
+                and acq_time &lt;= #{endDate}
+            </if>
+            <if test="wkt != null">
+                and ${wkt}
+            </if>
         </where>
         order by id desc
         limit #{limit} offset #{offset}
+    </select>
+
+    <select id="selectGdbByGuid" resultType="com.moon.server.entity.data.MetaEntity">
+        select a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
+        from lf.sys_meta a
+        where type = 'gdb' and guid = #{guid};
     </select>
 
     <select id="selectMetasForCount" resultType="java.lang.Integer">
@@ -58,8 +94,8 @@
         </where>
     </select>
 
-    <select id="selectMetasForPage" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName,
+    <select id="selectMetasForPage" resultType="com.moon.server.entity.data.MetaEntity">
+        select a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName,
             (select coalesce(sum(dcount), 0) from lf.sys_download b inner join lf.sys_meta_down c on b.id = c.downid where c.metaid = a.id) "downCount",
             (select fn_uname(download_user) from lf.sys_download b inner join lf.sys_meta_down c on b.id = c.downid where c.metaid = a.id order by download_time desc limit 1) "lastUser",
             (select max(download_time) from lf.sys_download b inner join lf.sys_meta_down c on b.id = c.downid where c.metaid = a.id) "lastTime"
@@ -93,8 +129,8 @@
         </where>
     </select>
 
-    <select id="selectByPageForUpload" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
+    <select id="selectByPageForUpload" resultType="com.moon.server.entity.data.MetaEntity">
+        select st_astext(geom) "geom", a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a
         <where>
             create_user = #{createUser}
@@ -119,8 +155,8 @@
         </where>
     </select>
 
-    <select id="selectPageByPid" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
+    <select id="selectPageByPid" resultType="com.moon.server.entity.data.MetaEntity">
+        select a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a
         <where>
             metaid = #{metaid}
@@ -132,13 +168,20 @@
         limit #{limit} offset #{offset}
     </select>
 
-    <select id="selectById" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
+    <select id="selectById" resultType="com.moon.server.entity.data.MetaEntity">
+        select a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a where id = #{id}
     </select>
 
-    <select id="selectByGuid" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
+    <select id="selectByIds" resultType="com.moon.server.entity.data.MetaEntity">
+        select *
+        from lf.sys_meta
+        where id in (${ids})
+        order by id desc;
+    </select>
+
+    <select id="selectByGuid" resultType="com.moon.server.entity.data.MetaEntity">
+        select st_astext(geom) "geom", a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a
         where guid = #{guid}
         <if test="dircode != null">
@@ -150,23 +193,21 @@
         limit 1
     </select>
 
-    <select id="selectByIdsForTab" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.* from lf.sys_meta a
+    <select id="selectByIdsForTab" resultType="com.moon.server.entity.data.MetaEntity">
+        select a.*
+        from lf.sys_meta a
         where id in (${ids}) and a.tab is not null and a.rows > 0
         order by a.tab;
     </select>
 
-    <select id="selectMetaFiles" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*,fn_uname(a.create_user) uname,fn_get_fullname(a.depcode, 1) depName,fn_ver(a.verid) verName,fn_get_fullname(a.dircode, 2) dirName
+    <select id="selectMetaFiles" resultType="com.moon.server.entity.data.MetaEntity">
+        select a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a
-        where id in
-        <foreach item="id" collection="ids" index="index" open="(" separator="," close=")">
-            #{id}
-        </foreach>
+        where id in (#{ids}) or guid in (select guid from lf.sys_meta where type = 'gdb' and id in (#{ids}))
         order by a.id desc
     </select>
 
-    <select id="selectXlsAnnex" resultType="com.lf.server.entity.data.MetaEntity">
+    <select id="selectXlsAnnex" resultType="com.moon.server.entity.data.MetaEntity">
         select * from lf.sys_meta
         where type in ('xls', 'xlsx') and eventid is not null and tab is not null and rows > 0 and id in
         <foreach item="id" collection="ids" index="index" open="(" separator="," close=")">
@@ -177,8 +218,8 @@
         </if>
     </select>
 
-    <select id="selectMetasByDirCode" resultType="com.lf.server.entity.data.MetaEntity">
-        select a.*, fn_uname(a.create_user) uname, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
+    <select id="selectMetasByDirCode" resultType="com.moon.server.entity.data.MetaEntity">
+        select a.*, fn_uname(a.create_user) createName, fn_uname(a.update_user) updateName, fn_get_fullname(a.depcode, 1) depName, fn_ver(a.verid) verName, fn_get_fullname(a.dircode, 2) dirName
         from lf.sys_meta a
         where dircode like #{dircode} and
             (type = 'tif' or type = 'tiff' or lower(name) in ('骞抽潰鍥剧储寮曟枃浠�.xlsx', '绌胯法瓒婂湴褰㈠浘.dwg', '涓嚎鎴愭灉琛�.xlsx', '绂绘暎鐐�.xlsx', '鎺у埗鐐�.xlsx', '鍦伴潰绾�.xlsx'))
@@ -193,23 +234,23 @@
          order by depcode;
     </select>
 
-    <insert id="insert" parameterType="com.lf.server.entity.data.MetaEntity">
+    <insert id="insert" parameterType="com.moon.server.entity.data.MetaEntity">
         <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
             select currval('lf.sys_meta_id_seq'::regclass) as id
         </selectKey>
 
         insert into lf.sys_meta
-        (eventid,metaid,ismeta,dircode,depcode,verid,name,type,guid,path,sizes,tab,layer,rows,create_user,create_time,bak,geom)
+        (eventid,metaid,verid,name,type,guid,path,sizes,tab,rows,create_user,create_time,bak,geom,layer,depcode,dircode,ismeta,sensortype,acq_time,resolution,gridsize,coor_sys,epsg,h_datum,mata_type,bands,band_type,ct,min,max)
         values
-        (#{eventid},#{metaid},#{ismeta},#{dircode},#{depcode},#{verid},#{name},#{type},#{guid},#{path},#{sizes},#{tab},#{layer},#{rows},#{createUser},#{createTime},#{bak},#{geom})
+        (#{eventid},#{metaid},#{verid},#{name},#{type},#{guid},#{path},#{sizes},#{tab},#{rows},#{createUser},now(),#{bak},${geom},#{layer},#{depcode},#{dircode},#{ismeta},#{sensortype},#{acqTime},#{resolution},#{gridsize},#{coorSys},#{epsg},#{hDatum},#{mataType},#{bands},#{bandType},#{ct},#{min},#{max})
     </insert>
 
     <insert id="inserts">
         insert into lf.sys_meta
-        (eventid,metaid,ismeta,dircode,depcode,verid,name,type,guid,path,sizes,tab,layer,rows,create_user,create_time,bak,geom)
+        (eventid,metaid,verid,name,type,guid,path,sizes,tab,rows,create_user,create_time,bak,geom,layer,depcode,dircode,ismeta,sensortype,acq_time,resolution,gridsize,coor_sys,epsg,h_datum,mata_type,bands,band_type,ct,min,max)
         values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.eventid},#{item.metaid},#{item.ismeta},#{item.dircode},#{item.depcode},#{item.verid},#{item.name},#{item.type},#{item.guid},#{item.path},#{item.sizes},#{item.tab},#{item.layer},#{item.rows},#{item.createUser},#{item.createTime},#{item.bak},#{item.geom})
+            (#{item.eventid},#{item.metaid},#{item.verid},#{item.name},#{item.type},#{item.guid},#{item.path},#{item.sizes},#{item.tab},#{item.rows},#{item.createUser},now(),#{item.bak},${item.geom},#{item.layer},#{item.depcode},#{item.dircode},#{item.ismeta},#{item.sensortype},#{item.acqTime},#{item.resolution},#{item.gridsize},#{item.coorSys},#{item.epsg},#{item.hDatum},#{item.mataType},#{item.bands},#{item.bandType},#{item.ct},#{item.min},#{item.max})
         </foreach>
     </insert>
 
@@ -229,16 +270,14 @@
 
     <update id="update">
         update lf.sys_meta
-        set eventid=#{eventid},metaid=#{metaid},ismeta=#{ismeta},dircode=#{dircode},depcode=#{depcode},verid=#{verid},name=#{name},type=#{type},guid=#{guid},path=#{path},sizes=#{sizes},tab=#{tab},layer=#{layer},rows=#{rows},update_user=#{updateUser},update_time=now(),bak=#{bak},geom=#{geom}
+        set eventid=#{eventid},metaid=#{metaid},verid=#{verid},name=#{name},type=#{type},guid=#{guid},path=#{path},sizes=#{sizes},tab=#{tab},rows=#{rows},update_user=#{updateUser},update_time=now(),bak=#{bak},geom=${geom},layer=#{layer},depcode=#{depcode},dircode=#{dircode},ismeta=#{ismeta},sensortype=#{sensortype},acq_time=#{acqTime},resolution=#{resolution},gridsize=#{gridsize},coor_sys=#{coorSys},epsg=#{epsg},h_datum=#{hDatum},mata_type=#{mataType},bands=#{bands},band_type=#{bandType},ct=#{ct},min=#{min},max=#{max}
         where id=#{id}
     </update>
 
     <update id="updates">
         <foreach collection="list" item="item" index="index" separator=";">
             update lf.sys_meta
-            <set>
-                eventid=#{item.eventid},metaid=#{item.metaid},ismeta=#{item.ismeta},dircode=#{item.dircode},depcode=#{item.depcode},verid=#{item.verid},name=#{item.name},type=#{item.type},guid=#{item.guid},path=#{item.path},sizes=#{item.sizes},tab=#{item.tab},layer=#{item.layer},rows=#{item.rows},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},geom=#{item.geom}
-            </set>
+            set eventid=#{item.eventid},metaid=#{item.metaid},verid=#{item.verid},name=#{item.name},type=#{item.type},guid=#{item.guid},path=#{item.path},sizes=#{item.sizes},tab=#{item.tab},rows=#{item.rows},update_user=#{item.updateUser},update_time=now(),bak=#{item.bak},geom=${item.geom},layer=#{item.layer},depcode=#{item.depcode},dircode=#{item.dircode},ismeta=#{item.ismeta},sensortype=#{item.sensortype},acq_time=#{item.acqTime},resolution=#{item.resolution},gridsize=#{item.gridsize},coor_sys=#{item.coorSys},epsg=#{item.epsg},h_datum=#{item.hDatum},mata_type=#{item.mataType},bands=#{item.bands},band_type=#{item.bandType},ct=#{item.ct},min=#{item.min},max=#{item.max}
             where id = #{item.id}
         </foreach>
     </update>

--
Gitblit v1.9.3