瀏覽代碼

按照原因分类

gushoubang 6 月之前
父節點
當前提交
ca745382f5

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

@@ -29,4 +29,8 @@ public interface TdgyMapper extends BaseMapper<TdgySjDTO> {
     // 根据行政区划统计数据
     @Slave
     List<Map<String, Object>> getAreaByDistrict();
+
+    // 根据闲置原因划统计数据
+    @Slave
+    List<Map<String, Object>> getAreaByReason();
 }

+ 4 - 5
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/tdgy/TdtjServiceImp.java

@@ -79,13 +79,11 @@ public class TdtjServiceImp implements TdtjService {
             // 计算闲置率
             BigDecimal totalArea = (BigDecimal) districtMap.get("totalArea");
             BigDecimal confirmArea = (BigDecimal) districtMap.get("confirmArea");
-            mapInfo.put("idleRate", totalArea.floatValue() ==
-                    0 ? 0 : confirmArea.floatValue() / totalArea.floatValue());
+            mapInfo.put("idleRate", totalArea.floatValue() == 0 ? 0 : confirmArea.floatValue() / totalArea.floatValue());
 
             // 计算处置率
             BigDecimal disposalArea = (BigDecimal) districtMap.get("disposalArea");
-            mapInfo.put("disposalRate", confirmArea.floatValue() ==
-                    0 ? 0 : disposalArea.floatValue() / confirmArea.floatValue());
+            mapInfo.put("disposalRate", confirmArea.floatValue() == 0 ? 0 : disposalArea.floatValue() / confirmArea.floatValue());
 
             listRes.add(mapInfo);
         }
@@ -94,6 +92,7 @@ public class TdtjServiceImp implements TdtjService {
 
     @Override
     public RequestResult getReason() {
-        return null;
+        List<Map<String, Object>> reasonMaps = tdgyMapper.getAreaByReason();
+        return RequestResult.success(reasonMaps);
     }
 }

+ 16 - 9
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/tdgy/TdgyMapper.xml

@@ -50,17 +50,24 @@
     </select>
 
     <select id="getAreaByDistrict" resultType="map">
-        SELECT
-            ts.xzqh AS "districtCode",
-            SUM(ts.crmj::NUMERIC) AS "totalArea",
-            SUM(CASE WHEN confirm.is_idle = true THEN ts.crmj::NUMERIC ELSE 0 END) AS "confirmArea",
-            SUM(CASE WHEN confirm.is_idle = true AND confirm.is_disposal = true THEN ts.crmj::NUMERIC ELSE 0 END) AS "disposalArea"
-        FROM
-            vector.tdgy_sj ts
-                LEFT JOIN
-            base.t_land_idle_confirm confirm ON confirm.land_id = ts.id::VARCHAR
+        SELECT ts.xzqh                                                                AS "districtCode",
+               SUM(ts.crmj::NUMERIC)                                                  AS "totalArea",
+               SUM(CASE WHEN confirm.is_idle = true THEN ts.crmj::NUMERIC ELSE 0 END) AS "confirmArea",
+               SUM(CASE WHEN confirm.is_idle = true AND confirm.is_disposal = true THEN ts.crmj:: NUMERIC ELSE 0
+                   END)                                                               AS "disposalArea"
+        FROM vector.tdgy_sj ts
+                 LEFT JOIN
+             base.t_land_idle_confirm confirm ON confirm.land_id = ts.id::VARCHAR
         GROUP BY
             ts.xzqh
     </select>
 
+    <select id="getAreaByReason" resultType="map">
+        SELECT SUM(td.crmj::NUMERIC) AS area, confirm.idle_reason AS reason
+        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
+        GROUP BY confirm.idle_reason
+    </select>
+
 </mapper>