<?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.gkhy.safePlatform.incidentManage.repository.AccidentReportInfoRepository">
|
|
<resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoPageDO" id="AccidentReportInfoPageDOResult">
|
<id column="id" property="id" jdbcType="BIGINT"/>
|
<result column="accident_express_id" property="accidentExpressId"/>
|
<result column="status" property="status"/>
|
<result column="accident_type" property="accidentType"/>
|
<result column="accident_grade" property="accidentGrade"/>
|
</resultMap>
|
|
<select id="selectAccidentReportList" resultMap="AccidentReportInfoPageDOResult">
|
SELECT
|
a.id,
|
a.`accident_express_id`,
|
a.`accident_type`,
|
a.`accident_grade`,
|
a.`status`,
|
b.accident_name as accidentName,
|
b.accident_department_id as accidentDepartmentId,
|
b.occurrence_place as occurrencePlace,
|
b.occurrence_time as occurrenceTime
|
FROM
|
accident_report a
|
LEFT JOIN accident_express b ON a.accident_express_id = b.id
|
WHERE
|
a.del_flag = 0
|
<if test="query.status != null and query.status != ''">and a.`status` = #{query.status}</if>
|
</select>
|
|
<insert id="addAccidentReport" parameterType="com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfo"
|
keyProperty="id" useGeneratedKeys="true">
|
insert into accident_report
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null ">id,</if>
|
<if test="delFlag != null ">del_flag,</if>
|
<if test="gmtCreate != null ">gmt_create,</if>
|
<if test="gmtModitify != null ">gmt_moditify,</if>
|
<if test="createUid != null ">create_uid,</if>
|
<if test="updateUid != null ">update_uid,</if>
|
|
<if test="status != null ">status,</if>
|
<if test="accidentExpressId != null ">accident_express_id,</if>
|
<if test="accidentType != null and accidentType != ''">accident_type,</if>
|
<if test="accidentGrade != null and accidentGrade != ''">accident_grade,</if>
|
<if test="economicLoss != null ">economic_loss,</if>
|
<if test="minorInjuryNum != null ">minor_injury_num,</if>
|
<if test="seriousInjuryNum != null ">serious_injury_num,</if>
|
<if test="deathNum != null ">death_num,</if>
|
<if test="accidentCause != null and accidentCause != ''">accident_cause,</if>
|
<if test="reportDeadline != null ">report_deadline,</if>
|
<if test="accidentLevel != null and accidentLevel != ''">accident_level,</if>
|
<if test="accidentDelayApply != null and accidentDelayApply != ''">accident_delay_apply,</if>
|
<if test="comprehensiveAnalysisDirect != null and comprehensiveAnalysisDirect != ''">comprehensive_analysis_direct,</if>
|
<if test="comprehensiveAnalysisIndirect != null and comprehensiveAnalysisIndirect != ''">comprehensive_analysis_indirect,</if>
|
<if test="rectificationMeasures != null and rectificationMeasures != ''">rectification_measures,</if>
|
<if test="accidentHandling != null and accidentHandling != ''">accident_handling,</if>
|
<if test="fillInUserUid != null ">fill_in_user_uid,</if>
|
<if test="fillInTime != null ">fill_in_time,</if>
|
<if test="fillInUserName != null and fillInUserName != ''">fill_in_user_name,</if>
|
<if test="relevantPersonnelRecords != null and relevantPersonnelRecords != ''">relevant_personnel_records,</if>
|
<if test="otherMaterials != null and otherMaterials != ''">other_materials,</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="id != null ">#{id},</if>
|
<if test="delFlag != null ">#{delFlag},</if>
|
<if test="gmtCreate != null ">#{gmtCreate},</if>
|
<if test="gmtModitify != null ">#{gmtModitify},</if>
|
<if test="createUid != null ">#{createUid},</if>
|
<if test="updateUid != null ">#{updateUid},</if>
|
<if test="status != null ">#{status},</if>
|
<if test="accidentExpressId != null ">#{accidentExpressId},</if>
|
<if test="accidentType != null and accidentType != ''">#{accidentType},</if>
|
<if test="accidentGrade != null and accidentGrade != ''">#{accidentGrade},</if>
|
<if test="economicLoss != null ">#{economicLoss},</if>
|
<if test="minorInjuryNum != null ">#{minorInjuryNum},</if>
|
<if test="seriousInjuryNum != null ">#{seriousInjuryNum},</if>
|
<if test="deathNum != null ">#{deathNum},</if>
|
<if test="accidentCause != null and accidentCause != ''">#{accidentCause},</if>
|
<if test="reportDeadline != null ">#{reportDeadline},</if>
|
<if test="accidentLevel != null and accidentLevel != ''">#{accidentLevel},</if>
|
<if test="accidentDelayApply != null and accidentDelayApply != ''">#{accidentDelayApply},</if>
|
<if test="comprehensiveAnalysisDirect != null and comprehensiveAnalysisDirect != ''">#{comprehensiveAnalysisDirect},</if>
|
<if test="comprehensiveAnalysisIndirect != null and comprehensiveAnalysisIndirect != ''">#{comprehensiveAnalysisIndirect},</if>
|
<if test="rectificationMeasures != null and rectificationMeasures != ''">#{rectificationMeasures},</if>
|
<if test="accidentHandling != null and accidentHandling != ''">#{accidentHandling},</if>
|
<if test="fillInUserUid != null ">#{fillInUserUid},</if>
|
<if test="fillInTime != null ">#{fillInTime},</if>
|
<if test="fillInUserName != null and fillInUserName != ''">#{fillInUserName},</if>
|
<if test="relevantPersonnelRecords != null and relevantPersonnelRecords != ''">#{relevantPersonnelRecords},</if>
|
<if test="otherMaterials != null and otherMaterials != ''">#{otherMaterials},</if>
|
</trim>
|
</insert>
|
|
|
<resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfoDetailDO" id="AccidentReportInfoDetailDOResult">
|
<id column="id" property="id" jdbcType="BIGINT"/>
|
<result column="status" property="status"/>
|
<result column="accident_express_id" property="accidentExpressId"/>
|
<result column="accident_type" property="accidentType"/>
|
<result column="accident_grade" property="accidentGrade"/>
|
<result column="economic_loss" property="economicLoss"/>
|
<result column="minor_injury_num" property="minorInjuryNum"/>
|
<result column="serious_injury_num" property="seriousInjuryNum"/>
|
<result column="death_num" property="deathNum"/>
|
<result column="accident_cause" property="accidentCause"/>
|
<result column="report_deadline" property="reportDeadline"/>
|
<result column="accident_level" property="accidentLevel"/>
|
<result column="accident_delay_apply" property="accidentDelayApply"/>
|
<result column="comprehensive_analysis_direct" property="comprehensiveAnalysisDirect"/>
|
<result column="comprehensive_analysis_indirect" property="comprehensiveAnalysisIndirect"/>
|
<result column="rectification_measures" property="rectificationMeasures"/>
|
<result column="accident_handling" property="accidentHandling"/>
|
<result column="fill_in_user_uid" property="fillInUserUid"/>
|
<result column="fill_in_user_name" property="fillInUserName"/>
|
<result column="fill_in_time" property="fillInTime"/>
|
<result column="relevant_personnel_records" property="relevantPersonnelRecords"/>
|
<result column="other_materials" property="otherMaterials"/>
|
</resultMap>
|
|
<select id="selectAccidentReportById" resultMap="AccidentReportInfoDetailDOResult">
|
SELECT
|
a.id,
|
a.STATUS,
|
a.`accident_express_id`,
|
a.`accident_type`,
|
a.`accident_grade`,
|
a.`economic_loss`,
|
a.minor_injury_num,
|
a.serious_injury_num,
|
a.`death_num`,
|
a.`accident_cause`,
|
a.`report_deadline`,
|
a.`accident_level`,
|
a.accident_delay_apply,
|
a.comprehensive_analysis_direct,
|
a.`comprehensive_analysis_indirect`,
|
a.`rectification_measures`,
|
a.`accident_handling`,
|
a.`fill_in_user_uid`,
|
a.fill_in_time,
|
a.fill_in_user_name,
|
a.`relevant_personnel_records`,
|
a.`other_materials`,
|
b.accident_name AS accidentName,
|
b.accident_department_id AS accidentDepartmentId,
|
b.occurrence_place AS occurrencePlace,
|
b.occurrence_time AS occurrenceTime
|
FROM
|
accident_report a
|
LEFT JOIN accident_express b ON a.accident_express_id = b.id
|
WHERE a.del_flag = 0 and a.id = #{id}
|
</select>
|
|
<update id="updateAccidentReport" parameterType="com.gkhy.safePlatform.incidentManage.entity.AccidentReportInfo">
|
update accident_report
|
<trim prefix="SET" suffixOverrides=",">
|
<if test="gmtModitify != null ">gmt_moditify = #{gmtModitify},</if>
|
<if test="updateUid != null ">update_uid = #{updateUid},</if>
|
|
<if test="status != null ">status = #{status},</if>
|
<if test="accidentExpressId != null ">accident_express_id = #{accidentExpressId},</if>
|
<if test="accidentType != null and accidentType != ''">accident_type = #{accidentType},</if>
|
<if test="accidentGrade != null and accidentGrade != ''">accident_grade = #{accidentGrade},</if>
|
<if test="economicLoss != null ">economic_loss = #{economicLoss},</if>
|
<if test="minorInjuryNum != null ">minor_injury_num = #{minorInjuryNum},</if>
|
<if test="seriousInjuryNum != null ">serious_injury_num = #{seriousInjuryNum},</if>
|
<if test="deathNum != null ">death_num = #{deathNum},</if>
|
<if test="accidentCause != null and accidentCause != ''">accident_cause = #{accidentCause},</if>
|
<if test="reportDeadline != null ">report_deadline = #{reportDeadline},</if>
|
<if test="accidentLevel != null and accidentLevel != ''">accident_level = #{accidentLevel},</if>
|
<if test="accidentDelayApply != null and accidentDelayApply != ''">accident_delay_apply = #{accidentDelayApply},</if>
|
<if test="comprehensiveAnalysisDirect != null and comprehensiveAnalysisDirect != ''">comprehensive_analysis_direct = #{comprehensiveAnalysisDirect},</if>
|
<if test="comprehensiveAnalysisIndirect != null and comprehensiveAnalysisIndirect != ''">comprehensive_analysis_indirect = #{comprehensiveAnalysisIndirect},</if>
|
<if test="rectificationMeasures != null and rectificationMeasures != ''">rectification_measures = #{rectificationMeasures},</if>
|
<if test="accidentHandling != null and accidentHandling != ''">accident_handling = #{accidentHandling},</if>
|
<if test="fillInUserUid != null ">fill_in_user_uid = #{fillInUserUid},</if>
|
<if test="fillInTime != null ">fill_in_time = #{fillInTime},</if>
|
<if test="fillInUserName != null and fillInUserName != ''">fill_in_user_name = #{fillInUserName},</if>
|
<if test="relevantPersonnelRecords != null and relevantPersonnelRecords != ''">relevant_personnel_records = #{relevantPersonnelRecords},</if>
|
<if test="otherMaterials != null and otherMaterials != ''">other_materials = #{otherMaterials},</if>
|
</trim>
|
where id = #{id}
|
</update>
|
|
<update id="deleteAccidentReportById">
|
update accident_report set del_flag = 1 where id = #{id}
|
</update>
|
|
|
<resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentReportCount"
|
id="emergencyDrillExecuteCountChart">
|
<result column="num" property="num"/>
|
<result column="name" property="name"/>
|
<result column="minorInjuryNum" property="minorInjuryNum"/>
|
<result column="seriousInjuryNum" property="seriousInjuryNum"/>
|
<result column="deathNum" property="deathNum"/>
|
<result column="economicLoss" property="economicLoss"/>
|
</resultMap>
|
<select id="selectByTimeAndType" resultMap="emergencyDrillExecuteCountChart">
|
SELECT
|
accident_level AS `name`,
|
count( 0 ) AS num,
|
sum( economic_loss ) AS economicLoss,
|
sum( minor_injury_num ) AS minorInjuryNum,
|
sum( serious_injury_num ) AS seriousInjuryNum,
|
sum( death_num ) AS deathNum
|
FROM
|
`accident_report`
|
WHERE
|
del_flag = 0
|
AND gmt_create <![CDATA[ >= ]]> #{query.startTime}
|
AND gmt_create <![CDATA[ <= ]]> #{query.endTime}
|
<if test="query.level != null and query.level != ''" >and accident_level = #{query.level}</if>
|
GROUP BY
|
accident_level
|
</select>
|
|
<resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentReportCountRPC"
|
id="accidentReportCountRPC">
|
<result column="time" property="time"/>
|
<result column="num" property="num"/>
|
<result column="level" property="level"/>
|
<result column="minorInjuryNum" property="minorInjuryNum"/>
|
<result column="seriousInjuryNum" property="seriousInjuryNum"/>
|
<result column="deathNum" property="deathNum"/>
|
<result column="economicLoss" property="economicLoss"/>
|
</resultMap>
|
<select id="getCountForRPCByDeptIdAndMonth" resultMap="accidentReportCountRPC">
|
SELECT
|
DATE_FORMAT( a.gmt_create, '%m' ) as time,
|
a.accident_level AS `level`,
|
count( 0 ) AS num,
|
sum( a.economic_loss ) AS economicLoss,
|
sum( a.minor_injury_num ) AS minorInjuryNum,
|
sum( a.serious_injury_num ) AS seriousInjuryNum,
|
sum( a.death_num ) AS deathNum
|
FROM
|
`accident_report` a
|
INNER JOIN `accident_express` b ON a.accident_express_id = b.id
|
AND b.accident_department_id = #{deptId}
|
WHERE
|
a.del_flag = 0
|
AND a.gmt_create <![CDATA[ >= ]]> #{startTime}
|
AND a.gmt_create <![CDATA[ <= ]]> #{endTime}
|
GROUP BY
|
DATE_FORMAT( a.gmt_create, '%Y-%m' ),
|
a.accident_level,
|
DATE_FORMAT( a.gmt_create, '%m' )
|
</select>
|
|
<select id="getCountForRPCByDeptIdAndDay" resultMap="accidentReportCountRPC">
|
SELECT
|
DATE_FORMAT( a.gmt_create, '%d' ) as time,
|
a.accident_level AS `level`,
|
count( 0 ) AS num,
|
sum( a.economic_loss ) AS economicLoss,
|
sum( a.minor_injury_num ) AS minorInjuryNum,
|
sum( a.serious_injury_num ) AS seriousInjuryNum,
|
sum( a.death_num ) AS deathNum
|
FROM
|
`accident_report` a
|
INNER JOIN `accident_express` b ON a.accident_express_id = b.id
|
AND b.accident_department_id = #{deptId}
|
WHERE
|
a.del_flag = 0
|
AND a.gmt_create <![CDATA[ >= ]]> #{startTime}
|
AND a.gmt_create <![CDATA[ <= ]]> #{endTime}
|
GROUP BY
|
DATE_FORMAT( a.gmt_create, '%Y-%m-%d' ),
|
a.accident_level,
|
DATE_FORMAT( a.gmt_create, '%d' )
|
</select>
|
|
<select id="getAccidentCountByDeptIdsAndTime" resultType="com.gkhy.safePlatform.incidentManage.entity.AccidentResultCountDO">
|
SELECT
|
count( 0 ) AS accidentCount,
|
sum( a.economic_loss ) AS economicLoss,
|
sum( a.minor_injury_num ) AS minorInjuryCount,
|
sum( a.serious_injury_num ) AS seriousInjuryCount,
|
sum( a.death_num ) AS deathCount,
|
a.accident_level AS accidentLevel,
|
DATE_FORMAT( a.gmt_create, '%m' ) AS month,
|
DATE_FORMAT( a.gmt_create, '%Y' ) AS year,
|
b.accident_department_id AS deptId
|
FROM
|
`accident_report` a
|
INNER JOIN `accident_express` b ON a.accident_express_id = b.id
|
WHERE
|
a.del_flag = 0
|
AND b.accident_department_id IN
|
<foreach collection="deptIds" item="deptId" open="(" close=")" separator=",">
|
#{deptId}
|
</foreach>
|
AND DATE( a.gmt_create ) BETWEEN #{startTime}
|
AND #{endTime}
|
GROUP BY
|
a.accident_level,
|
DATE_FORMAT( a.gmt_create, '%Y-%m' ),
|
DATE_FORMAT( a.gmt_create, '%m' ),
|
DATE_FORMAT( a.gmt_create, '%Y' ),
|
b.accident_department_id
|
</select>
|
<select id="getAccidentCountByDeptIdAndTime" resultType="com.gkhy.safePlatform.incidentManage.entity.AccidentResultCountDO">
|
SELECT
|
count( 0 ) AS accidentCount,
|
sum( a.economic_loss ) AS economicLoss,
|
sum( a.minor_injury_num ) AS minorInjuryCount,
|
sum( a.serious_injury_num ) AS seriousInjuryCount,
|
sum( a.death_num ) AS deathCount,
|
a.accident_level AS accidentLevel,
|
DATE_FORMAT( a.gmt_create, '%m' ) AS month
|
FROM
|
`accident_report` a
|
INNER JOIN `accident_express` b ON a.accident_express_id = b.id
|
WHERE
|
a.del_flag = 0
|
AND b.accident_department_id = #{deptId}
|
AND DATE( a.gmt_create ) BETWEEN #{startTime}
|
AND #{endTime}
|
GROUP BY
|
a.accident_level,
|
DATE_FORMAT( a.gmt_create, '%Y-%m' ),
|
DATE_FORMAT( a.gmt_create, '%m' )
|
</select>
|
|
<select id="getCountByAccidentGrade" resultType="com.gkhy.safePlatform.incidentManage.entity.AccidentStatisticCountDO">
|
SELECT
|
a.accident_grade,
|
count( id ) count
|
FROM
|
accident_report a
|
WHERE
|
a.del_flag = 0
|
<if test="year != null">
|
AND YEAR ( a.gmt_create ) = #{year}
|
</if>
|
<if test="month != null">
|
AND MONTH ( a.gmt_create ) = #{month}
|
</if>
|
GROUP BY
|
a.accident_grade
|
</select>
|
|
</mapper>
|