huanghongfa
2021-12-28 8dd5c057222ea4f6d22d6bc3fba468600f14a330
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventMapper.xml
@@ -456,7 +456,8 @@
            e.event_title like concat('%', #{pageEventManageDTO.keyWord},'%') OR
            e.happen_address like concat('%', #{pageEventManageDTO.keyWord},'%') OR
            e.order_sn like concat('%', #{pageEventManageDTO.keyWord},'%') OR
            e.event_clazz like concat('%', #{pageEventManageDTO.keyWord},'%')
            e.event_clazz like concat('%', #{pageEventManageDTO.keyWord},'%') OR
            e.event_des like concat('%', #{pageEventManageDTO.keyWord},'%')
            )
          </if>
         <if test="pageEventManageDTO.revokeType!=null">
@@ -1069,7 +1070,7 @@
         WHERE
            e3.event_status = 2
            AND e3.create_at LIKE CONCAT(#{nowDate},'%')) as currentNum,
            (select count(id) from com_act_easy_photo where community_id = 2 and del_tag = 0 and create_at LIKE CONCAT(#{nowDate},'%')) as sspCurrentNum
            (select count(id) from com_act_easy_photo where community_id = #{communityId} and del_tag = 0 and create_at LIKE CONCAT(#{nowDate},'%')) as sspCurrentNum
            FROM
               `event` AS e
@@ -1377,5 +1378,132 @@
           left join com_mng_population AS cmp on cmp.id = cmpct.population_id
      where cmtct.label is not null and cmp.village_id = #{villageId} and floor = #{floor}
   </select>
    <select id="selectComprehensiveGovernanceStatics"
            resultType="com.panzhihua.common.model.vos.community.screen.event.EventComprehensiveGovernanceStatisticsVO">
      SELECT
      (SELECT COUNT( e.id ) FROM `event` AS e
      LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id
      LEFT JOIN com_act AS a ON egd.grid_community_id = a.community_id
      WHERE e.event_category = 1 AND e.event_type = 5 AND e.event_deal_status = 4 AND a.area_code = 510423) AS eventTFTotal,
      (SELECT COUNT( e1.id ) FROM `event` AS e1
      LEFT JOIN event_grid_data AS egd1 ON egd1.id = e1.grid_id
      LEFT JOIN com_act AS a1 ON egd1.grid_community_id = a1.community_id
      WHERE event_category = 1 AND event_type = 1 AND e1.event_deal_status = 4 AND a1.area_code = 510423) AS eventZATotal,
      (SELECT COUNT( e2.id ) FROM `event` AS e2
      LEFT JOIN event_grid_data AS egd2 ON egd2.id = e2.grid_id
      LEFT JOIN com_act AS a2 ON egd2.grid_community_id = a2.community_id
      WHERE event_category = 1 AND event_type = 3 AND e2.event_deal_status = 4 AND a2.area_code = 510423) AS eventMDTotal,
      (SELECT COUNT( e3.id ) FROM `event` AS e3
      LEFT JOIN event_grid_data AS egd3 ON egd3.id = e3.grid_id
      LEFT JOIN com_act AS a3 ON egd3.grid_community_id = a3.community_id
      WHERE event_category = 1 AND event_type = 6 AND e3.event_deal_status = 4 AND a3.area_code = 510423) AS eventTSTotal,
      (SELECT COUNT( e5.id ) FROM `event` AS e5
      LEFT JOIN event_grid_data AS egd5 ON egd5.id = e5.grid_id
      LEFT JOIN com_act AS a5 ON egd5.grid_community_id = a5.community_id
      WHERE event_category = 1 AND event_type = 2 AND e5.event_deal_status = 4 AND a5.area_code = 510423) AS eventMSTotal,
      (SELECT COUNT(p.id) FROM com_act_easy_photo p
      LEFT JOIN com_act AS a ON p.community_id = a.community_id
      WHERE p.`status` = 4 AND p.del_tag = 0 AND a.area_code = 510423) AS eventSSPTotal
   </select>
   <select id="getGridsGovernanceEventList"
         resultType="com.panzhihua.common.model.vos.community.screen.event.EventGridIncidentStatisticsVO">
      SELECT event_type AS type, IFNULL( NULL, 1 ) AS eventType, e.id AS eventId, happent_lat_lng AS latLng, event_des AS content,
        (SELECT url FROM event_resource WHERE ref_id = e.id AND classification = 1 AND `type` = 1 LIMIT 1) AS cover, e.create_at,
        CASE
        WHEN event_deal_status = 4 THEN 1
        ELSE 2 END `status`
        FROM `event` AS e
        LEFT JOIN event_grid_data AS egd ON egd.id = e.grid_id
        WHERE e.event_category = 1 AND e.event_type IN ( 1, 2, 3, 5, 6 ) AND e.event_status = 2 AND egd.grid_community_id = #{communityId}
        UNION ALL SELECT
        CASE
        WHEN classify_id = 4 THEN 1
        WHEN classify_id = 6 THEN 2
        WHEN classify_id = 5 THEN 3
        WHEN classify_id = 7 THEN 5
        WHEN classify_id = 3 THEN 6
        WHEN classify_id = 8 THEN 9
        WHEN classify_id = 1 THEN 10
        END type, IFNULL( NULL, 2 ) AS eventType, id AS eventId, lng_lat AS latLng, detail AS content, substring_index(photo_path_list, ',', 1) AS cover, create_at,
        CASE
        WHEN handle_status = 2 THEN 1
        ELSE 2 END `status`
        FROM com_act_easy_photo WHERE community_id = #{communityId} AND `status` IN (1,2,4) AND del_tag = 0 AND classify_id IN (1,3,4,5,6,7,8)
   </select>
   <select id="getVillagePopulationTotalNew"
         resultType="com.panzhihua.common.model.vos.screen.ScreenDrawEventPopulationTotalVO">
      SELECT
      (SELECT count(id) FROM com_mng_population WHERE village_id = #{villageId}) as populationTotal,
      (select count(id) from com_mng_building where village_id = #{villageId}) as buildTotal,
      (SELECT COUNT(DISTINCT CONCAT(road,door_no,floor,unit_no,house_no)) FROM com_mng_population WHERE village_id = #{villageId}) as houseTotal,
      (select count(id) from com_mng_population where village_id = #{villageId} and out_or_local = 1) as localTotal,
      (select count(id) from com_mng_population where village_id = #{villageId} and out_or_local = 2) as outTotal,
      (SELECT COUNT(t1.id) FROM com_disability_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}) as disabilityTotal,
      (SELECT COUNT(t1.id) FROM com_low_security_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}) as lowSecurityTotal,
      (SELECT COUNT(id) FROM com_mng_population WHERE village_id = #{villageId} AND TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) > 80) as elderTotal,
      (SELECT COUNT(t1.id) FROM com_mng_population t1 LEFT JOIN com_mng_population_community_tags t2 ON t1.id = t2.population_id WHERE t1.village_id = #{villageId} AND t2.label LIKE '%特殊情况%') as specialSituationTotal,
      (SELECT COUNT(id) FROM
      (SELECT t1.id FROM com_drug_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}
      UNION ALL
      SELECT t1.id FROM com_correct_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}
      UNION ALL
      SELECT t1.id FROM com_cult_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}
      UNION ALL
      SELECT t1.id FROM com_rehabilitation_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}
      UNION ALL
      SELECT t1.id FROM com_key_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}
      UNION ALL
      SELECT t1.id FROM com_major_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}
      ) temp) as otherTotal,
      (SELECT COUNT(t1.id) FROM com_mng_population t1 LEFT JOIN com_mng_population_community_tags t2 ON t1.id = t2.population_id WHERE t1.village_id = #{villageId} AND t2.label LIKE '%特扶家庭%') as specialHelpTotal,
      (SELECT COUNT(t1.id) FROM com_veterans_population t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}) as veteransTotal,
      (SELECT COUNT(id) FROM com_mng_population WHERE village_id = #{villageId} AND TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) > 60) as oldTotal,
      (SELECT COUNT(t1.id) FROM com_pension_auth_pensioners t1 LEFT JOIN com_mng_population t2 ON t1.population_id = t2.id WHERE t2.village_id = #{villageId}) as pensionTotal,
      (SELECT COUNT(id) FROM renting_hourse_register WHERE village_id = #{villageId} AND auth_status = 2) as rentingHouseTotal,
      (SELECT COUNT(id) FROM com_mng_population t1 LEFT JOIN sys_user t2 ON t1.card_no_str = t2.id_card WHERE t1.village_id = #{villageId} AND t2.is_volunteer = 1) as volunteerTotal,
      (SELECT ROUND(AVG(TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()))) FROM com_mng_population) as averageAge
   </select>
   <select id="selectStatisticsForAge" resultType="com.panzhihua.common.model.vos.community.StatisticsCommVO">
      SELECT filed, SUM(num) AS num FROM (
         SELECT filed, COUNT(filed) AS num FROM (
         SELECT
         CASE
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) BETWEEN 0 AND 18 THEN '0-18岁'
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) BETWEEN 19 AND 30 THEN '19-30岁'
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) BETWEEN 31 AND 40 THEN '31-40岁'
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) BETWEEN 41 AND 50 THEN '41-50岁'
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) BETWEEN 51 AND 60 THEN '51-60岁'
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) BETWEEN 61 AND 79 THEN '61-79岁'
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) BETWEEN 80 AND 89 THEN '80-89岁'
         WHEN TIMESTAMPDIFF(YEAR, SUBSTRING(card_no_str, 7, 8), NOW()) > 89 THEN '89岁以上'
         END filed
         FROM com_mng_population WHERE village_id IN
         <foreach collection="villageIds" index="index" item="item" open="(" separator="," close=")">
            #{item}
         </foreach>
         ) temp GROUP BY filed
         UNION ALL
         (SELECT '0-18岁' AS filed, 0 AS num)
         UNION ALL
         (SELECT '19-30岁' AS filed, 0 AS num)
         UNION ALL
         (SELECT '31-40岁' AS filed, 0 AS num)
         UNION ALL
         (SELECT '41-50岁' AS filed, 0 AS num)
         UNION ALL
         (SELECT '51-60岁' AS filed, 0 AS num)
         UNION ALL
         (SELECT '61-79岁' AS filed, 0 AS num)
         UNION ALL
         (SELECT '80-89岁' AS filed, 0 AS num)
         UNION ALL
         (SELECT '89岁以上' AS filed, 0 AS num)
      ) t GROUP BY filed
   </select>
</mapper>