<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="com.panzhihua.service_community.dao.ComSwSafetyWorkRecordDAO">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.panzhihua.service_community.model.dos.ComSwSafetyWorkRecordDO">
|
<id column="id" property="id" />
|
<result column="remark" property="remark" />
|
<result column="create_at" property="createAt" />
|
<result column="create_by" property="createBy" />
|
<result column="update_at" property="updateAt" />
|
<result column="update_by" property="updateBy" />
|
</resultMap>
|
|
<!-- 通用查询结果列 -->
|
<sql id="Base_Column_List">
|
id, remark, create_at, create_by, update_at, update_by
|
</sql>
|
|
<select id="pageSafetyWorkRecord" resultType="com.panzhihua.common.model.vos.community.ComSwSafetyWorkRecordVO">
|
SELECT
|
csswr.id,
|
cspr.community_id AS communityId,
|
cspr.patrol_time AS patrolTime,
|
cspr.patrol_type AS patrolType,
|
cspr.patrol_person AS patrolPerson,
|
cspr.address,
|
cspr.record_content AS recordContent,
|
cspr.find_record AS findRecord,
|
cspr.record_photo AS recordPhoto,
|
csswr.remark,
|
cspr.create_at AS createAt,
|
cspr.create_by AS createBy,
|
t.name as communityName
|
FROM
|
com_sw_safety_work_record as csswr
|
left join com_sw_patrol_record_report as csprr on csprr.report_id = csswr.id
|
left join com_sw_patrol_record as cspr on csprr.patrol_record_id = cspr.id
|
left join com_act t on cspr.community_id = t.community_id
|
<where>
|
<if test='comSwPatrolRecordDTO.communityId != null and comSwPatrolRecordDTO.communityId != 0'>
|
AND cspr.community_id = ${comSwPatrolRecordDTO.communityId}
|
</if>
|
<if test='comSwPatrolRecordDTO.areaCode != null'>
|
AND t.area_code = #{comSwPatrolRecordDTO.areaCode}
|
</if>
|
<if test='comSwPatrolRecordDTO.patrolPerson != null and comSwPatrolRecordDTO.patrolPerson != ""'>
|
AND cspr.person_name LIKE concat('%',#{comSwPatrolRecordDTO.patrolPerson},'%')
|
</if>
|
<if test='comSwPatrolRecordDTO.patrolType != null and comSwPatrolRecordDTO.patrolType != ""'>
|
AND cspr.patrol_type LIKE concat('%',#{comSwPatrolRecordDTO.patrolType},'%')
|
</if>
|
<if test='comSwPatrolRecordDTO.patrolAtBegin != null and comSwPatrolRecordDTO.patrolAtBegin != ""'>
|
AND cspr.patrol_time <![CDATA[ >= ]]> #{comSwPatrolRecordDTO.patrolAtBegin}
|
</if>
|
<if test='comSwPatrolRecordDTO.patrolAtEnd != null and comSwPatrolRecordDTO.patrolAtEnd != ""'>
|
AND cspr.patrol_time <![CDATA[ <= ]]> #{comSwPatrolRecordDTO.patrolAtEnd}
|
</if>
|
</where>
|
order by csswr.create_at desc
|
</select>
|
|
<select id="patrolRecordStatistics" resultType="com.panzhihua.common.model.vos.community.ComSwPatrolRecordStatisticsVO">
|
select count(id) as patrolRecordTotal
|
,(select count(id) from com_sw_patrol_record where community_id = ${communityId} and patrol_type LIKE concat('%','1','%')) as huoTotal
|
,(select count(id) from com_sw_patrol_record where community_id = ${communityId} and patrol_type LIKE concat('%','2','%')) as xunTotal
|
,(select count(id) from com_sw_patrol_record where community_id = ${communityId} and patrol_type LIKE concat('%','3','%')) as yiTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_safety_work_record t2 on t1.report_id = t2.id where t.community_id = ${communityId}) as safetyWorkTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId}) as dangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and status = '3') as handledDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','1','%')) as huoDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','2','%')) as xunDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','3','%')) as yiDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','1','%') and status = '3' ) as huoHandledDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','1','%') and status in ('1','2')) as huoHandlingDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','2','%') and status = '3' ) as xunHandledDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','2','%') and status in ('1','2')) as xunHandlingDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','3','%') and status = '3' ) as yiHandledDangerTotal
|
,(select count(t2.id) from com_sw_patrol_record t INNER JOIN com_sw_patrol_record_report t1 on t.id = t1.patrol_record_id INNER JOIN com_sw_danger_report t2 on t1.report_id = t2.id where t.community_id = ${communityId} and danger_type like CONCAT('%','3','%') and status in ('1','2')) as yiHandlingDangerTotal
|
from com_sw_patrol_record as cmp where community_id = ${communityId}
|
</select>
|
|
</mapper>
|