gushoubang 8 місяців тому
батько
коміт
b17885128e

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

@@ -21,12 +21,12 @@
     </select>
 
     <select id="getLandCountArea" resultType="map">
-        select count(*) as total, sum(ts.crmj::NUMERIC) as area
+        select count(*) as total, COALESCE(sum(ts.crmj::NUMERIC),0) as area
         from tdgy_sj ts
     </select>
 
     <select id="getCountAreaSuspected" resultType="map">
-        SELECT count(ts.id) AS total, sum(ts.crmj::NUMERIC) AS area
+        SELECT count(ts.id) AS total, COALESCE(sum(ts.crmj::NUMERIC),0) AS area
         FROM tdgy_sj ts
         WHERE (ts.sfjg != true OR ts.sfjg IS NULL)
           AND (NOW() > ts.ydkgsj)
@@ -37,7 +37,7 @@
 
     <select id="getCountAreaConfirm" resultType="map">
         SELECT COUNT(td.ID) AS total,
-        SUM(td.crmj::NUMERIC) AS area
+        COALESCE(SUM(td.crmj::NUMERIC),0) 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
@@ -53,7 +53,7 @@
     </select>
 
     <select id="getCountAreaDisposal" resultType="map">
-        SELECT COUNT(td.id) AS total, SUM(td.crmj::NUMERIC) AS area
+        SELECT COUNT(td.id) AS total, COALESCE(SUM(td.crmj::NUMERIC),0) 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
@@ -70,10 +70,10 @@
 
     <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"
+        COALESCE(SUM(ts.crmj::NUMERIC),0) AS "totalArea",
+        COALESCE(SUM(CASE WHEN confirm.is_idle = true THEN ts.crmj::NUMERIC ELSE 0 END),0) AS "confirmArea",
+        COALESCE(SUM(CASE WHEN confirm.is_idle = true AND confirm.is_disposal = true THEN ts.crmj:: NUMERIC ELSE 0
+        END),0) AS "disposalArea"
         FROM vector.tdgy_sj ts
         LEFT JOIN
         base.t_land_idle_confirm confirm ON confirm.land_id = ts.id::VARCHAR
@@ -89,7 +89,7 @@
     </select>
 
     <select id="getAreaByReason" resultType="map">
-        SELECT SUM(td.crmj::NUMERIC) AS area, confirm.idle_reason AS reason
+        SELECT COALESCE(SUM(td.crmj::NUMERIC),0) 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