huanghongfa
2021-06-05 62ef4ba5d19e489e8cb0a87f0e95fbb945dd7fde
springcloud_k8s_panzhihuazhihuishequ/service_grid/src/main/resources/mapper/EventGridDataMapper.xml
@@ -31,72 +31,38 @@
   </sql>
    <select id="findByPage" resultType="com.panzhihua.common.model.vos.grid.EventGridDataVO"
        parameterType="com.panzhihua.common.model.dtos.grid.PageEventGridDataDTO">
       SELECT <include refid="columns" />
       FROM event_grid_data
    <select id="findByPage" resultType="com.panzhihua.common.model.vos.grid.EventGridAdminVO"
        parameterType="com.panzhihua.common.model.dtos.grid.PageEventGridDataAdminDTO">
      SELECT DISTINCT
      egd.id,
      egd.grid_name,
      egd.remarks,
      egd.area,
      egd.line_color,
      egd.line_broadband,
      egd.fill_color,
      egd.data,
      egd.create_at,
      egd.create_by,
      ca.`name` AS communityName
      FROM
      event_grid_data AS egd
      LEFT JOIN com_act AS ca ON ca.community_id = egd.grid_community_id
      LEFT JOIN event_grid_member_relation AS egmr ON egmr.grid_id = egd.id
      left join sys_user as su on su.user_id = egmr.grid_member_id
      <where>
          <if test="pageEventGridDataDTO.id!=null">
            AND id = #{pageEventGridDataDTO.id}
         <if test="pageEventGridDataDTO.gridStreetId!=null">
            AND egd.grid_street_id = #{pageEventGridDataDTO.gridStreetId}
         </if>
          <if test="pageEventGridDataDTO.type!=null">
            AND type = #{pageEventGridDataDTO.type}
         <if test="pageEventGridDataDTO.gridCommunityId!=null">
            AND egd.grid_community_id = #{pageEventGridDataDTO.gridCommunityId}
         </if>
          <if test="pageEventGridDataDTO.zoneId!=null">
            AND zone_id = #{pageEventGridDataDTO.zoneId}
          <if test="pageEventGridDataDTO.keyWord != null and pageEventGridDataDTO.keyWord != &quot;&quot;">
            AND (egd.grid_name like concat(#{pageEventGridDataDTO.keyWord},'%') or su.nick_name like concat(#{pageEventGridDataDTO.keyWord},'%'))
         </if>
          <if test="pageEventGridDataDTO.gridStreetId!=null">
            AND grid_street_id = #{pageEventGridDataDTO.gridStreetId}
         </if>
          <if test="pageEventGridDataDTO.gridCommunityId!=null">
            AND grid_community_id = #{pageEventGridDataDTO.gridCommunityId}
         </if>
          <if test="pageEventGridDataDTO.gridName!=null">
            AND grid_name = #{pageEventGridDataDTO.gridName}
         </if>
          <if test="pageEventGridDataDTO.mapLevel!=null">
            AND map_level = #{pageEventGridDataDTO.mapLevel}
         </if>
          <if test="pageEventGridDataDTO.area!=null">
            AND area = #{pageEventGridDataDTO.area}
         </if>
          <if test="pageEventGridDataDTO.lineColor!=null">
            AND line_color = #{pageEventGridDataDTO.lineColor}
         </if>
          <if test="pageEventGridDataDTO.lineBroadband!=null">
            AND line_broadband = #{pageEventGridDataDTO.lineBroadband}
         </if>
          <if test="pageEventGridDataDTO.fillColor!=null">
            AND fill_color = #{pageEventGridDataDTO.fillColor}
         </if>
          <if test="pageEventGridDataDTO.remarks!=null">
            AND remarks = #{pageEventGridDataDTO.remarks}
         </if>
          <if test="pageEventGridDataDTO.data!=null">
            AND data = #{pageEventGridDataDTO.data}
         </if>
          <if test="pageEventGridDataDTO.createBy!=null">
            AND create_by = #{pageEventGridDataDTO.createBy}
         </if>
          <if test="pageEventGridDataDTO.createAtBegin!=null">
            AND create_at &gt;= #{pageEventGridDataDTO.createAtBegin}
         </if>
         <if test="pageEventGridDataDTO.createAtEnd!=null">
            AND create_at &lt;= #{pageEventGridDataDTO.createAtEnd}
         </if>
          <if test="pageEventGridDataDTO.updateBy!=null">
            AND update_by = #{pageEventGridDataDTO.updateBy}
         </if>
          <if test="pageEventGridDataDTO.updateAtBegin!=null">
            AND update_at &gt;= #{pageEventGridDataDTO.updateAtBegin}
         </if>
         <if test="pageEventGridDataDTO.updateAtEnd!=null">
            AND update_at &lt;= #{pageEventGridDataDTO.updateAtEnd}
         </if>
      </where>
      <if test="pageEventGridDataDTO.sortColumns!=null">
         ORDER BY ${pageEventGridDataDTO.sortColumns} ${pageEventGridDataDTO.sortType}
      </if>
      ORDER BY create_at desc
    </select>
    <select id="selectUserGrid" resultType="com.panzhihua.common.model.vos.grid.EventGridDataVO"
         parameterType="com.panzhihua.common.model.dtos.grid.PageEventGridDataDTO">
@@ -170,4 +136,105 @@
      </if>
   </select>
   <select id="getGridMemberLists" resultType="com.panzhihua.common.model.vos.grid.EventGridMemberAdminVO">
      select user_id,nick_name from sys_user where community_id = #{communityId} and `type` = 6
   </select>
   <select id="getGridMember" resultType="com.panzhihua.common.model.vos.grid.GridMemberAdminVO">
      SELECT
         su.user_id,
         su.nick_name
      FROM
         event_grid_member_relation AS egmr
         LEFT JOIN sys_user AS su ON su.user_id = egmr.grid_member_id
      WHERE
         egmr.grid_id = #{gridId}
   </select>
    <select id="getGridTodoData" resultType="com.panzhihua.common.model.vos.grid.UserEventGridDataVO"
      parameterType="com.panzhihua.common.model.dtos.grid.EventGridTodoDataDTO">
      SELECT IFNULL(SUM(t.todoNums), 0) todoNums, 1 event_type
      FROM (
      SELECT  IFNULL(count(e.id), 0) as todoNums
      FROM EVENT  e
      WHERE e.event_category = 1 AND event_status = 2
      AND event_process_status = 1 AND process_type = 1
      AND grid_id = #{eventGridTodoDataDTO.gridId}
      AND e.event_type = 1
      GROUP BY e.event_type
      ) t
      UNION ALL
      SELECT IFNULL(SUM(t.todoNums), 0) todoNums, 2 event_type
      FROM (
      SELECT  IFNULL(count(e.id), 0) as todoNums
      FROM EVENT  e
      WHERE e.event_category = 1 AND event_status = 2
      AND event_process_status = 1 AND process_type = 1
      AND grid_id = #{eventGridTodoDataDTO.gridId}
      AND e.event_type =2
      GROUP BY e.event_type
      ) t
      UNION ALL
      SELECT IFNULL(SUM(t.todoNums), 0) todoNums, 3 event_type
      FROM (
      SELECT  IFNULL(count(e.id), 0) as todoNums
      FROM EVENT  e
      WHERE e.event_category = 1 AND event_status = 2
      AND event_process_status = 1 AND process_type = 1
      AND grid_id = #{eventGridTodoDataDTO.gridId}
      AND e.event_type =3
      GROUP BY e.event_type
      ) t
      UNION ALL
      SELECT IFNULL(SUM(t.todoNums), 0) todoNums, 4 event_type
      FROM (
      SELECT  IFNULL(count(e.id), 0) as todoNums
      FROM EVENT  e
      WHERE e.event_category = 1 AND event_status = 2
      AND event_process_status = 1 AND process_type = 1
      AND grid_id = #{eventGridTodoDataDTO.gridId}
      AND e.event_type =4
      GROUP BY e.event_type
      ) t
      UNION ALL
      SELECT IFNULL(SUM(t.todoNums), 0) todoNums, 5 event_type
      FROM (
      SELECT  IFNULL(count(e.id), 0) as todoNums
      FROM EVENT  e
      WHERE e.event_category = 1 AND event_status = 2
      AND event_process_status = 1 AND process_type = 1
      AND grid_id = #{eventGridTodoDataDTO.gridId}
      AND e.event_type =5
      GROUP BY e.event_type
      ) t
   </select>
   <select id="getComActByActId" resultType="com.panzhihua.common.model.vos.grid.ComGridActVO">
      select community_id,street_id,name,address,province_code,city_code,area_code from com_act where community_id = #{communityId}
   </select>
   <select id="getGridMemberListsByGrid" resultType="com.panzhihua.common.model.vos.grid.EventGridMemberAdminVO">
      SELECT
         su.user_id,
         su.nick_name
      FROM
         event_grid_member_relation AS egmr
         LEFT JOIN sys_user AS su ON su.user_id = egmr.grid_member_id
      WHERE
         egmr.grid_id = #{gridId}
   </select>
   <select id="getGridDataListByCommunity"
         resultType="com.panzhihua.common.model.vos.grid.EventGridDataAreaVO" parameterType="long">
      SELECT
         gd.id, gd.grid_name , ad.district_name AS zoneName, st.name AS gridStreetName,  act.name AS gridCommunityName
      FROM event_grid_data gd LEFT JOIN com_mng_struct_area_district ad ON gd.zone_id = ad.district_adcode
         LEFT JOIN com_street st ON gd.grid_street_id = st.street_id
         LEFT JOIN com_act act ON gd.grid_community_id = act.community_id
      WHERE gd.grid_community_id = #{communityId}
   </select>
   <delete id="removeGridRelationByGridId">
      delete from event_grid_member_relation where grid_id = #{gridId}
   </delete>
</mapper>