gushoubang пре 6 месеци
родитељ
комит
b6c2c6e26c

+ 11 - 4
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/tdgy/TdgyMapper.java

@@ -2,6 +2,7 @@ package com.onemap.apply.mapper.tdgy;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.onemap.apply.domain.tdgy.dto.TdgySjDTO;
+import com.onemap.common.datasource.annotation.Slave;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -10,10 +11,16 @@ import java.util.Map;
 
 @Mapper
 public interface TdgyMapper extends BaseMapper<TdgySjDTO> {
-    List<Map<String, Object>> getSuspectedIdleLand(@Param("key") String key,
-                                                   @Param("xzqh") String xzqh,
-                                                   @Param("limit") Integer limit,
-                                                   @Param("offset") Integer offset);
+    List<Map<String, Object>> getSuspectedIdleLand(@Param("key") String key, @Param("xzqh") String xzqh, @Param("limit") Integer limit, @Param("offset") Integer offset);
 
     String getLandGeometry(@Param("pid") Integer pid);
+
+    @Slave
+    Map<String, Object> getCountAreaSuspected();
+
+    @Slave
+    Map<String, Object> getCountAreaConfirm();
+
+    @Slave
+    Map<String, Object> getCountAreaDisposal();
 }

+ 20 - 6
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/tdgy/TdtjServiceImp.java

@@ -1,9 +1,11 @@
 package com.onemap.apply.service.impl.tdgy;
 
+import com.onemap.apply.mapper.tdgy.TdgyMapper;
 import com.onemap.apply.service.tdgy.TdtjService;
 import com.onemap.common.core.web.domain.RequestResult;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -12,23 +14,35 @@ import java.util.Map;
  */
 @Service
 public class TdtjServiceImp implements TdtjService {
+    @Resource
+    private TdgyMapper tdgyMapper;
+
     @Override
     public RequestResult getOverview() {
+        // 获取疑似土地总数
+        Map<String, Object> suspectedRes = tdgyMapper.getCountAreaSuspected();
+
 
         Map<String, Object> map = new HashMap<>();
         Map<String, Object> mapSuspected = new HashMap<>();
-        mapSuspected.put("area", 100);
-        mapSuspected.put("count", 100);
+        mapSuspected.put("area", suspectedRes.get("area"));
+        mapSuspected.put("count", suspectedRes.get("total"));
         map.put("suspected", mapSuspected);
 
+        // 获取确认土地总数
+        Map<String, Object> confirmRes = tdgyMapper.getCountAreaConfirm();
+
         Map<String, Object> mapConfirm = new HashMap<>();
-        mapConfirm.put("area", 100);
-        mapConfirm.put("count", 100);
+        mapConfirm.put("area", confirmRes.get("area"));
+        mapConfirm.put("count", confirmRes.get("total"));
         map.put("confirm", mapConfirm);
 
+        // 获取处置土地总数
+        Map<String, Object> disposalRes = tdgyMapper.getCountAreaDisposal();
+
         Map<String, Object> mapDisposal = new HashMap<>();
-        mapDisposal.put("area", 100);
-        mapDisposal.put("count", 100);
+        mapDisposal.put("area", disposalRes.get("area"));
+        mapDisposal.put("count", disposalRes.get("total"));
         map.put("disposal", mapDisposal);
 
         return RequestResult.success(map);

+ 24 - 2
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/tdgy/TdgyMapper.xml

@@ -20,12 +20,34 @@
         LIMIT #{limit} OFFSET #{offset};
     </select>
 
-
-
     <select id="getLandGeometry" resultType="String">
         public.st_asewkt(public.st_union(geom))
         from "TB_TDGY_SJ"
         WHERE pid=
         #{pid};
     </select>
+
+    <select id="getCountAreaSuspected" resultType="map">
+        SELECT count(ts.id) AS total, sum(ts.crmj::NUMERIC) AS area
+        FROM tdgy_sj ts
+        WHERE (ts.sfjg != true OR ts.sfjg IS NULL)
+          AND (NOW() > ts.ydkgsj)
+          AND ts.sfkg != true
+        AND ts.id::varchar NOT IN (SELECT land_id FROM base.t_land_idle_confirm)
+
+    </select>
+
+    <select id="getCountAreaConfirm" resultType="map">
+        SELECT COUNT(td.id) AS total, SUM(td.crmj::NUMERIC) AS area
+        FROM base.t_land_idle_confirm AS confirm
+                 JOIN vector.tdgy_sj AS td ON confirm.land_id = td.id::VARCHAR
+        WHERE confirm.is_idle = true
+    </select>
+
+    <select id="getCountAreaDisposal" resultType="map">
+        SELECT COUNT(td.id) AS total, SUM(td.crmj::NUMERIC) AS area
+        FROM base.t_land_idle_confirm AS confirm
+                 JOIN vector.tdgy_sj AS td ON confirm.land_id = td.id::VARCHAR
+        WHERE confirm.is_idle = true AND confirm.is_disposal = true
+    </select>
 </mapper>