Procházet zdrojové kódy

增加关于列表过滤查询

chenendian před 4 měsíci
rodič
revize
1f89f75a36

+ 19 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/controller/cadastre/CadastreManageController.java

@@ -1,13 +1,16 @@
 package com.siwei.apply.controller.cadastre;
 
+import com.siwei.apply.domain.vo.CadastreFileFilterVo;
 import com.siwei.apply.domain.vo.CheckInfoResultVo;
 import com.siwei.apply.domain.vo.CompareResultVo;
+import com.siwei.apply.domain.vo.ProjectFilterVo;
 import com.siwei.apply.service.cadastre.CadastreManageService;
 import com.siwei.common.core.domain.R;
 import com.siwei.common.core.web.controller.BaseController;
 import org.gdal.ogr.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -74,6 +77,22 @@ public class CadastreManageController extends BaseController {
 
 
 
+    /**
+     * 获取列表
+     *
+     * @return
+     */
+    @PostMapping("/list")
+    public R<Map<String, Object>> list(@RequestBody CadastreFileFilterVo cadastreFileFilterVo) {
+        try {
+            Map<String, Object> res = cadastreManageService.list(cadastreFileFilterVo);
+            return R.ok(res);
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
+        }
+    }
+
+
 
 
 

+ 47 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/domain/vo/CadastreFileFilterVo.java

@@ -0,0 +1,47 @@
+package com.siwei.apply.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 地籍文件过滤条件
+ */
+@Data
+public class CadastreFileFilterVo {
+    /**
+     * 文件名称
+     */
+    private String name;
+
+    /**
+     * 文件类型 文件类型(0-全部,1-矢量,2-表格)
+     */
+    private String fileType;
+
+    /**
+     * 上传时间 (可以是日期字符串,如 "2023-01-01")
+     */
+    private String uploadTime;
+
+    /**
+     * 状态
+     */
+    private String readStatus;
+
+    // 分页参数
+    private Integer pageNum = 1; // 当前页码
+    private Integer pageSize = 10; // 每页条数
+
+    // ========== 计算属性(MyBatis 可直接调用 getOffset()) ==========
+    /**
+     * 计算偏移量(无需手动调用,MyBatis 会自动计算)
+     */
+    public Integer getOffset() {
+        if (pageNum == null || pageNum < 1) {
+            return 0;
+        }
+        if (pageSize == null || pageSize < 1) {
+            return 0;
+        }
+        return (pageNum - 1) * pageSize;
+    }
+}

+ 10 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/mapper/CadastreFileMapper.java

@@ -36,6 +36,16 @@ public interface CadastreFileMapper {
      */
     List<CadastreFile> getList(CadastreFile cadastreFile);
 
+    /**
+     * 分页列表查询
+     */
+    List<CadastreFile> getListByFilter(com.siwei.apply.domain.vo.CadastreFileFilterVo filterVo);
+
+    /**
+     * 查询总数(用于分页)
+     */
+    int getCountByFilter(com.siwei.apply.domain.vo.CadastreFileFilterVo filterVo);
+
 
     /**
      * 查询当前表的所有列

+ 7 - 0
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/CadastreManageService.java

@@ -1,9 +1,12 @@
 package com.siwei.apply.service.cadastre;
 
 import com.siwei.apply.domain.CadastreFile;
+import com.siwei.apply.domain.vo.CadastreFileFilterVo;
 import com.siwei.apply.domain.vo.CheckInfoResultVo;
 import com.siwei.apply.domain.vo.CompareResultVo;
 
+import java.util.Map;
+
 
 public interface CadastreManageService {
 
@@ -15,5 +18,9 @@ public interface CadastreManageService {
 
     CheckInfoResultVo checkFileData(String theFileName, String theFilePath, String fileType,String updateType);
 
+    /**
+     * 获取列表
+     */
+    Map<String, Object> list(CadastreFileFilterVo cadastreFileFilterVo);
 
 }

+ 14 - 4
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/CadastreManageServiceImpl.java

@@ -1,10 +1,7 @@
 package com.siwei.apply.service.cadastre.impl;
 
 import com.siwei.apply.domain.CadastreFile;
-import com.siwei.apply.domain.vo.CheckInfoResultVo;
-import com.siwei.apply.domain.vo.CheckInfoVo;
-import com.siwei.apply.domain.vo.CompareGemoVo;
-import com.siwei.apply.domain.vo.CompareResultVo;
+import com.siwei.apply.domain.vo.*;
 import com.siwei.apply.mapper.CadastreFileMapper;
 import com.siwei.apply.service.cadastre.CadastreManageService;
 
@@ -548,4 +545,17 @@ public class CadastreManageServiceImpl implements CadastreManageService {
     }
 
 
+    /**
+     * 获取列表
+     */
+    @Override
+    public Map<String, Object> list(CadastreFileFilterVo cadastreFileFilterVo) {
+        List<CadastreFile> list = cadastreFileMapper.getListByFilter(cadastreFileFilterVo);
+        int count = cadastreFileMapper.getCountByFilter(cadastreFileFilterVo);
+        Map<String, Object> map = new HashMap<>();
+        map.put("rows", list);
+        map.put("total", count);
+        return map;
+    }
+
 }

+ 40 - 0
siwei-modules/siwei-apply/src/main/resources/mapper/cadastre/CadastreFileMapper.xml

@@ -149,4 +149,44 @@
 
 
 
+    <select id="getListByFilter" parameterType="com.siwei.apply.domain.vo.CadastreFileFilterVo" resultMap="cadastreFileMap">
+        SELECT <include refid="Base_Column_List"/>
+        FROM t_cadastre_file
+        <where>
+            <if test="name != null and name != ''">
+                AND name LIKE CONCAT('%', #{name}, '%')
+            </if>
+            <if test="fileType != null and fileType != ''">
+                AND file_type = #{fileType}
+            </if>
+            <if test="uploadTime != null and uploadTime != ''">
+                AND to_char(upload_time, 'YYYY-MM-DD') = #{uploadTime}
+            </if>
+            <if test="readStatus != null and readStatus != ''">
+                AND status = #{readStatus}
+            </if>
+        </where>
+        ORDER BY upload_time DESC
+        LIMIT #{pageSize} OFFSET #{offset}
+    </select>
+
+    <select id="getCountByFilter" parameterType="com.siwei.apply.domain.vo.CadastreFileFilterVo" resultType="int">
+        SELECT COUNT(*)
+        FROM t_cadastre_file
+        <where>
+            <if test="name != null and name != ''">
+                AND name LIKE CONCAT('%', #{name}, '%')
+            </if>
+            <if test="fileType != null and fileType != ''">
+                AND file_type = #{fileType}
+            </if>
+            <if test="uploadTime != null and uploadTime != ''">
+                AND to_char(upload_time, 'YYYY-MM-DD') = #{uploadTime}
+            </if>
+            <if test="status != null and status != ''">
+                AND status = #{status}
+            </if>
+        </where>
+    </select>
+
 </mapper>