Browse Source

chore: commit remaining backend changes

ywf 7 hours ago
parent
commit
63c87b4479
15 changed files with 194 additions and 10 deletions
  1. 8 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/qytdzz/AfterTdzzController.java
  2. 7 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/qytdzz/AfterTdzzMapper.java
  3. 11 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/qytdzz/AfterTdzzServiceImpl.java
  4. 7 0
      onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/qytdzz/IAfterTdzzService.java
  5. 12 4
      onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/qytdzz/AfterTdzzMapper.xml
  6. 2 2
      onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/qytdzz/TQytdzzZzxmMapper.xml
  7. 11 0
      onemap-modules/onemap-model/src/main/java/com/onemap/sanya/controller/business/ZtZdProjectListController.java
  8. 20 3
      onemap-modules/onemap-model/src/main/java/com/onemap/sanya/controller/spatial/ZDAnalyseController.java
  9. 13 0
      onemap-modules/onemap-model/src/main/java/com/onemap/sanya/domain/business/ZtZdProjectSummary.java
  10. 9 0
      onemap-modules/onemap-model/src/main/java/com/onemap/sanya/mapper/ZtZdProjectListMapper.java
  11. 9 0
      onemap-modules/onemap-model/src/main/java/com/onemap/sanya/service/IZtZdProjectListService.java
  12. 13 0
      onemap-modules/onemap-model/src/main/java/com/onemap/sanya/service/impl/ZtZdProjectListServiceImpl.java
  13. 11 1
      onemap-modules/onemap-model/src/main/resources/mapper/sanya/ZtZdProjectListMapper.xml
  14. 59 0
      sql/jc_urban_expansion.sql
  15. 2 0
      sql/optimize_zd_project_list_indexes.sql

+ 8 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/controller/qytdzz/AfterTdzzController.java

@@ -56,6 +56,14 @@ public class AfterTdzzController extends BaseController {
         return getDataTable(list);
         return getDataTable(list);
     }
     }
 
 
+    /**
+     * 查询土地整治项目类型列表
+     */
+    @GetMapping("/types")
+    public AjaxResult types() {
+        return success(afterTdzzService.selectProjectTypes());
+    }
+
     /**
     /**
      * 导出土地整治项目信息列表
      * 导出土地整治项目信息列表
      */
      */

+ 7 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/qytdzz/AfterTdzzMapper.java

@@ -29,6 +29,13 @@ public interface AfterTdzzMapper
      */
      */
     public List<AfterTdzz> selectAfterTdzzList(AfterTdzz afterTdzz);
     public List<AfterTdzz> selectAfterTdzzList(AfterTdzz afterTdzz);
 
 
+    /**
+     * 查询土地整治项目类型列表
+     *
+     * @return 项目类型集合
+     */
+    public List<String> selectProjectTypes();
+
     /**
     /**
      * 新增土地整治项目信息
      * 新增土地整治项目信息
      * 
      * 

+ 11 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/qytdzz/AfterTdzzServiceImpl.java

@@ -45,6 +45,17 @@ public class AfterTdzzServiceImpl implements IAfterTdzzService
         return afterTdzzMapper.selectAfterTdzzList(afterTdzz);
         return afterTdzzMapper.selectAfterTdzzList(afterTdzz);
     }
     }
 
 
+    /**
+     * 查询土地整治项目类型列表
+     *
+     * @return 项目类型集合
+     */
+    @Override
+    public List<String> selectProjectTypes()
+    {
+        return afterTdzzMapper.selectProjectTypes();
+    }
+
     /**
     /**
      * 新增土地整治项目信息
      * 新增土地整治项目信息
      * 
      * 

+ 7 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/qytdzz/IAfterTdzzService.java

@@ -27,6 +27,13 @@ public interface IAfterTdzzService
      */
      */
     public List<AfterTdzz> selectAfterTdzzList(AfterTdzz afterTdzz);
     public List<AfterTdzz> selectAfterTdzzList(AfterTdzz afterTdzz);
 
 
+    /**
+     * 查询土地整治项目类型列表
+     *
+     * @return 项目类型集合
+     */
+    public List<String> selectProjectTypes();
+
     /**
     /**
      * 新增土地整治项目信息
      * 新增土地整治项目信息
      * 
      * 

+ 12 - 4
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/qytdzz/AfterTdzzMapper.xml

@@ -28,14 +28,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
     </resultMap>
 
 
     <sql id="selectAfterTdzzVo">
     <sql id="selectAfterTdzzVo">
-        select id, xzqdm, lxfl, lxfl2, xmmc, wz, gm, gmdw, tygm, tygmdw, jsnr, jhtz, czjhtz, shjhtz, jhkgnx, jhysnx, zgbm, sqlxbm, pfbm, xzgd from "AFTER_TDZZ"
+        select a.id, a.xzqdm, a.lxfl, a.lxfl2, a.xmmc, a.wz, a.gm, a.gmdw, a.tygm, a.tygmdw, a.jsnr, a.jhtz, a.czjhtz, a.shjhtz, a.jhkgnx, a.jhysnx, a.zgbm, a.sqlxbm, a.pfbm, a.xzgd from "AFTER_TDZZ" a
     </sql>
     </sql>
 
 
     <select id="selectAfterTdzzList" parameterType="AfterTdzz" resultMap="AfterTdzzResult">
     <select id="selectAfterTdzzList" parameterType="AfterTdzz" resultMap="AfterTdzzResult">
         <include refid="selectAfterTdzzVo"/>
         <include refid="selectAfterTdzzVo"/>
         <where>  
         <where>  
             <if test="xzqdm != null  and xzqdm != ''"> and xzqdm like concat( #{xzqdm}, '%') </if>
             <if test="xzqdm != null  and xzqdm != ''"> and xzqdm like concat( #{xzqdm}, '%') </if>
-            <if test="lxfl != null  and lxfl != ''"> and lxfl = #{lxfl}</if>
+            <if test="lxfl != null  and lxfl != ''"> and trim(a.lxfl) = trim(#{lxfl})</if>
             <if test="lxfl2 != null  and lxfl2 != ''"> and lxfl2 = #{lxfl2}</if>
             <if test="lxfl2 != null  and lxfl2 != ''"> and lxfl2 = #{lxfl2}</if>
             <if test="xmmc != null  and xmmc != ''"> and xmmc like concat('%' ,#{xmmc}, '%') </if>
             <if test="xmmc != null  and xmmc != ''"> and xmmc like concat('%' ,#{xmmc}, '%') </if>
             <if test="wz != null  and wz != ''"> and wz = #{wz}</if>
             <if test="wz != null  and wz != ''"> and wz = #{wz}</if>
@@ -55,10 +55,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="xzgd != null "> and xzgd = #{xzgd}</if>
             <if test="xzgd != null "> and xzgd = #{xzgd}</if>
         </where>
         </where>
     </select>
     </select>
+
+    <select id="selectProjectTypes" resultType="java.lang.String">
+        select distinct trim(a.lxfl)
+        from "AFTER_TDZZ" a
+        where a.lxfl is not null
+          and trim(a.lxfl) != ''
+        order by trim(a.lxfl)
+    </select>
     
     
     <select id="selectAfterTdzzById" parameterType="Long" resultMap="AfterTdzzResult">
     <select id="selectAfterTdzzById" parameterType="Long" resultMap="AfterTdzzResult">
         <include refid="selectAfterTdzzVo"/>
         <include refid="selectAfterTdzzVo"/>
-        where id = #{id}
+        where a.id = #{id}
     </select>
     </select>
 
 
     <insert id="insertAfterTdzz" parameterType="AfterTdzz">
     <insert id="insertAfterTdzz" parameterType="AfterTdzz">
@@ -145,4 +153,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
             #{id}
         </foreach>
         </foreach>
     </delete>
     </delete>
-</mapper>
+</mapper>

+ 2 - 2
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/qytdzz/TQytdzzZzxmMapper.xml

@@ -81,7 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="pid != null "> and pid = #{pid}</if>
             <if test="pid != null "> and pid = #{pid}</if>
         </where>
         </where>
     </select>
     </select>
-    
+
     <select id="selectTQytdzzZzxmById" parameterType="Long" resultMap="TQytdzzZzxmResult">
     <select id="selectTQytdzzZzxmById" parameterType="Long" resultMap="TQytdzzZzxmResult">
         <include refid="selectTQytdzzZzxmVo"/>
         <include refid="selectTQytdzzZzxmVo"/>
         where id = #{id}
         where id = #{id}
@@ -210,4 +210,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
             #{id}
         </foreach>
         </foreach>
     </delete>
     </delete>
-</mapper>
+</mapper>

+ 11 - 0
onemap-modules/onemap-model/src/main/java/com/onemap/sanya/controller/business/ZtZdProjectListController.java

@@ -85,6 +85,17 @@ public class ZtZdProjectListController extends BaseController
         return getDataTable(list);
         return getDataTable(list);
     }
     }
 
 
+    /**
+     * 查询征地拆迁补偿分析记录摘要列表
+     */
+    @GetMapping("/summaryList")
+    public TableDataInfo summaryList(ZtZdProjectList ztZdProjectList)
+    {
+        startPage();
+        List<ZtZdProjectSummary> list = ztZdProjectListService.selectZtZdProjectSummaryList(ztZdProjectList);
+        return getDataTable(list);
+    }
+
     /**
     /**
      * 导出征地拆迁补偿分析结果列列表
      * 导出征地拆迁补偿分析结果列列表
      */
      */

+ 20 - 3
onemap-modules/onemap-model/src/main/java/com/onemap/sanya/controller/spatial/ZDAnalyseController.java

@@ -389,13 +389,13 @@ public class ZDAnalyseController extends BaseController {
             jtmj = getaDouble(instertArea, jtdlData, jtmj, dlmc,dlbm, index);
             jtmj = getaDouble(instertArea, jtdlData, jtmj, dlmc,dlbm, index);
                 jtFeatures.add(superMapFreature);
                 jtFeatures.add(superMapFreature);
                 //青苗判断
                 //青苗判断
-                if (dlbm != null && dlbm.startsWith(smflCode)) {
+                if (matchesLandType(dlbm, smflCode, dlmc, smfl)) {
                     smMj += instertArea;
                     smMj += instertArea;
                     qmFreatures.add(superMapFreature);
                     qmFreatures.add(superMapFreature);
-                } else if (dlbm != null && dlbm.startsWith(nzwflCode)){
+                } else if (matchesLandType(dlbm, nzwflCode, dlmc, nzwfl)){
                     nzwMj += instertArea;
                     nzwMj += instertArea;
                     qmFreatures.add(superMapFreature);
                     qmFreatures.add(superMapFreature);
-                } else if (dlbm != null && dlbm.startsWith(jjzwflCode)) {
+                } else if (matchesLandType(dlbm, jjzwflCode, dlmc, jjzwfl)) {
                     jjzwMj += instertArea;
                     jjzwMj += instertArea;
                     qmFreatures.add(superMapFreature);
                     qmFreatures.add(superMapFreature);
 
 
@@ -684,5 +684,22 @@ public class ZDAnalyseController extends BaseController {
         return isExit;
         return isExit;
     }
     }
 
 
+    /**
+     * 地类编码优先匹配分类前缀;编码缺失或格式不一致时,使用地类名称兜底匹配。
+     */
+    private boolean matchesLandType(String dlbm, String codePrefix, String dlmc, String categoryNames) {
+        String normalizedCode = dlbm == null ? "" : dlbm.trim();
+        if (!normalizedCode.isEmpty() && normalizedCode.startsWith(codePrefix)) {
+            return true;
+        }
+        if (dlmc == null || dlmc.trim().isEmpty()) {
+            return false;
+        }
+        String normalizedName = dlmc.trim();
+        return Arrays.stream(categoryNames.split("[,,]"))
+                .map(String::trim)
+                .anyMatch(normalizedName::equals);
+    }
+
 
 
 }
 }

+ 13 - 0
onemap-modules/onemap-model/src/main/java/com/onemap/sanya/domain/business/ZtZdProjectSummary.java

@@ -0,0 +1,13 @@
+package com.onemap.sanya.domain.business;
+
+import lombok.Data;
+
+/**
+ * 征地拆迁补偿分析记录摘要。
+ */
+@Data
+public class ZtZdProjectSummary {
+    private String id;
+    private String projectName;
+    private String dateTime;
+}

+ 9 - 0
onemap-modules/onemap-model/src/main/java/com/onemap/sanya/mapper/ZtZdProjectListMapper.java

@@ -2,6 +2,7 @@ package com.onemap.sanya.mapper;
 
 
 import java.util.List;
 import java.util.List;
 import  com.onemap.sanya.domain.business.ZtZdProjectList;
 import  com.onemap.sanya.domain.business.ZtZdProjectList;
+import com.onemap.sanya.domain.business.ZtZdProjectSummary;
 
 
 /**
 /**
  * 征地拆迁补偿分析结果列Mapper接口
  * 征地拆迁补偿分析结果列Mapper接口
@@ -27,6 +28,14 @@ public interface ZtZdProjectListMapper
      */
      */
     public List<ZtZdProjectList> selectZtZdProjectListList(ZtZdProjectList ztZdProjectList);
     public List<ZtZdProjectList> selectZtZdProjectListList(ZtZdProjectList ztZdProjectList);
 
 
+    /**
+     * 查询征地拆迁补偿分析记录摘要列表
+     *
+     * @param ztZdProjectList 查询条件
+     * @return 分析记录摘要集合
+     */
+    public List<ZtZdProjectSummary> selectZtZdProjectSummaryList(ZtZdProjectList ztZdProjectList);
+
     /**
     /**
      * 新增征地拆迁补偿分析结果列
      * 新增征地拆迁补偿分析结果列
      * 
      * 

+ 9 - 0
onemap-modules/onemap-model/src/main/java/com/onemap/sanya/service/IZtZdProjectListService.java

@@ -2,6 +2,7 @@ package com.onemap.sanya.service;
 
 
 import java.util.List;
 import java.util.List;
 import  com.onemap.sanya.domain.business.ZtZdProjectList;
 import  com.onemap.sanya.domain.business.ZtZdProjectList;
+import com.onemap.sanya.domain.business.ZtZdProjectSummary;
 
 
 /**
 /**
  * 征地拆迁补偿分析结果列Service接口
  * 征地拆迁补偿分析结果列Service接口
@@ -27,6 +28,14 @@ public interface IZtZdProjectListService
      */
      */
     public List<ZtZdProjectList> selectZtZdProjectListList(ZtZdProjectList ztZdProjectList);
     public List<ZtZdProjectList> selectZtZdProjectListList(ZtZdProjectList ztZdProjectList);
 
 
+    /**
+     * 查询征地拆迁补偿分析记录摘要列表
+     *
+     * @param ztZdProjectList 查询条件
+     * @return 分析记录摘要集合
+     */
+    public List<ZtZdProjectSummary> selectZtZdProjectSummaryList(ZtZdProjectList ztZdProjectList);
+
     /**
     /**
      * 新增征地拆迁补偿分析结果列
      * 新增征地拆迁补偿分析结果列
      * 
      * 

+ 13 - 0
onemap-modules/onemap-model/src/main/java/com/onemap/sanya/service/impl/ZtZdProjectListServiceImpl.java

@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import  com.onemap.sanya.mapper.ZtZdProjectListMapper;
 import  com.onemap.sanya.mapper.ZtZdProjectListMapper;
 import  com.onemap.sanya.domain.business.ZtZdProjectList;
 import  com.onemap.sanya.domain.business.ZtZdProjectList;
+import com.onemap.sanya.domain.business.ZtZdProjectSummary;
 import  com.onemap.sanya.service.IZtZdProjectListService;
 import  com.onemap.sanya.service.IZtZdProjectListService;
 
 
 /**
 /**
@@ -43,6 +44,18 @@ public class ZtZdProjectListServiceImpl implements IZtZdProjectListService
         return ztZdProjectListMapper.selectZtZdProjectListList(ztZdProjectList);
         return ztZdProjectListMapper.selectZtZdProjectListList(ztZdProjectList);
     }
     }
 
 
+    /**
+     * 查询征地拆迁补偿分析记录摘要列表
+     *
+     * @param ztZdProjectList 查询条件
+     * @return 分析记录摘要集合
+     */
+    @Override
+    public List<ZtZdProjectSummary> selectZtZdProjectSummaryList(ZtZdProjectList ztZdProjectList)
+    {
+        return ztZdProjectListMapper.selectZtZdProjectSummaryList(ztZdProjectList);
+    }
+
     /**
     /**
      * 新增征地拆迁补偿分析结果列
      * 新增征地拆迁补偿分析结果列
      * 
      * 

+ 11 - 1
onemap-modules/onemap-model/src/main/resources/mapper/sanya/ZtZdProjectListMapper.xml

@@ -38,6 +38,16 @@
         order by "dateTime" desc
         order by "dateTime" desc
     </select>
     </select>
 
 
+    <select id="selectZtZdProjectSummaryList" parameterType="com.onemap.sanya.domain.business.ZtZdProjectList" resultType="com.onemap.sanya.domain.business.ZtZdProjectSummary">
+        select id, "projectName", "dateTime"
+        from "zt_zd_project_list"
+        <where>
+            <if test="projectName != null and projectName != ''"> and "projectName" like concat('%', #{projectName}, '%')</if>
+            <if test="params.beginDateTime != null and params.beginDateTime != '' and params.endDateTime != null and params.endDateTime != ''"> and "dateTime" between #{params.beginDateTime} and #{params.endDateTime}</if>
+        </where>
+        order by "dateTime" desc
+    </select>
+
     <select id="selectZtZdProjectListById" parameterType="String" resultMap="ZtZdProjectListResult">
     <select id="selectZtZdProjectListById" parameterType="String" resultMap="ZtZdProjectListResult">
         <include refid="selectZtZdProjectListVo"/>
         <include refid="selectZtZdProjectListVo"/>
         where id = #{id}
         where id = #{id}
@@ -100,4 +110,4 @@
             #{id}
             #{id}
         </foreach>
         </foreach>
     </delete>
     </delete>
-</mapper>
+</mapper>

+ 59 - 0
sql/jc_urban_expansion.sql

@@ -0,0 +1,59 @@
+-- 1. 创建表 (id 使用 BIGSERIAL 实现自增)
+CREATE TABLE "vector"."jc_urban_expansion" (
+    id              BIGSERIAL PRIMARY KEY,             -- 自增主键
+    year            INTEGER NOT NULL,                  -- 年份
+    layer_type      VARCHAR(20) NOT NULL,              -- 图层类型: 'boundary' 或 'expand'
+    dim_type        VARCHAR(10) NOT NULL DEFAULT '2d', -- 维度类型: '2d' 或 '3d'
+    layer_name      VARCHAR(100) NOT NULL,             -- 图层名称(对应DataSource)
+    prev_year       INTEGER,                           -- 上一年份
+    data            NUMERIC(18,2),                     -- 数据(面积/数量)
+    service_id      VARCHAR(50),                       -- 服务ID(如 map-city)
+    sort_order      INTEGER DEFAULT 0,                 -- 排序
+    status          SMALLINT DEFAULT 1,                -- 状态: 1-启用, 0-禁用
+    create_time     TIMESTAMP DEFAULT NOW(),           -- 创建时间
+    update_time     TIMESTAMP DEFAULT NOW(),           -- 更新时间
+    remark          VARCHAR(500)                       -- 备注
+);
+
+-- 2. 添加注释
+COMMENT ON TABLE "vector"."jc_urban_expansion" IS '城市扩张图层配置表';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".id IS '自增主键ID';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".year IS '年份';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".layer_type IS '图层类型: boundary-边界, expand-扩张';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".dim_type IS '维度类型: 2d-二维, 3d-三维';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".layer_name IS '图层名称';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".prev_year IS '上一年份';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".data IS '统计数据';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".service_id IS '服务ID';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".sort_order IS '排序';
+COMMENT ON COLUMN "vector"."jc_urban_expansion".status IS '状态';
+
+-- 3. 创建索引
+CREATE INDEX idx_urban_exp_year ON "vector"."jc_urban_expansion"(year);
+CREATE INDEX idx_urban_exp_type ON "vector"."jc_urban_expansion"(layer_type, dim_type);
+
+-- 4. 插入示例数据 (需将 service_id 设为 map-city)
+INSERT INTO "vector"."jc_urban_expansion" (year, layer_type, dim_type, layer_name, prev_year, data, service_id, sort_order) VALUES
+-- 边界图层
+(2009, 'boundary', '2d', 'boundary_2009@DataSource', NULL, 125.36, 'map-city', 1),
+(2010, 'boundary', '2d', 'boundary_2010@DataSource', NULL, 132.58, 'map-city', 2),
+(2011, 'boundary', '2d', 'boundary_2011@DataSource', NULL, 145.20, 'map-city', 3),
+(2012, 'boundary', '2d', 'boundary_2012@DataSource', NULL, 156.80, 'map-city', 4),
+(2013, 'boundary', '2d', 'boundary_2013@DataSource', NULL, 168.45, 'map-city', 5),
+(2014, 'boundary', '2d', 'boundary_2014@DataSource', NULL, 182.30, 'map-city', 6),
+(2015, 'boundary', '2d', 'boundary_2015@DataSource', NULL, 195.60, 'map-city', 7),
+(2016, 'boundary', '2d', 'boundary_2016@DataSource', NULL, 210.85, 'map-city', 8),
+(2017, 'boundary', '2d', 'boundary_2017@DataSource', NULL, 228.40, 'map-city', 9),
+(2018, 'boundary', '2d', 'boundary_2018@DataSource', NULL, 245.75, 'map-city', 10),
+(2019, 'boundary', '2d', 'boundary_2019@DataSource', NULL, 262.30, 'map-city', 11),
+-- 扩张图层
+(2010, 'expand', '2d', 'expand_2009_2010@DataSource', 2009, 7.22, 'map-city', 1),
+(2011, 'expand', '2d', 'expand_2010_2011@DataSource', 2010, 12.62, 'map-city', 2),
+(2012, 'expand', '2d', 'expand_2011_2012@DataSource', 2011, 11.60, 'map-city', 3),
+(2013, 'expand', '2d', 'expand_2012_2013@DataSource', 2012, 11.65, 'map-city', 4),
+(2014, 'expand', '2d', 'expand_2013_2014@DataSource', 2013, 13.85, 'map-city', 5),
+(2015, 'expand', '2d', 'expand_2014_2015@DataSource', 2014, 13.30, 'map-city', 6),
+(2016, 'expand', '2d', 'expand_2015_2016@DataSource', 2015, 15.25, 'map-city', 7),
+(2017, 'expand', '2d', 'expand_2016_2017@DataSource', 2016, 17.55, 'map-city', 8),
+(2018, 'expand', '2d', 'expand_2017_2018@DataSource', 2017, 17.35, 'map-city', 9),
+(2019, 'expand', '2d', 'expand_2018_2019@DataSource', 2018, 16.55, 'map-city', 10);

+ 2 - 0
sql/optimize_zd_project_list_indexes.sql

@@ -0,0 +1,2 @@
+CREATE INDEX IF NOT EXISTS idx_zt_zd_project_list_datetime
+    ON "zt_zd_project_list" ("dateTime" DESC);