<?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.ycl.mapper.allot.EfficiencyMapper">
|
<resultMap id="AIIotStatisticsVO" type="com.ycl.vo.cockpit.aiIot.AIIotStatisticsVO">
|
<result property="type" column="type"/>
|
<collection property="records" javaType="list"
|
ofType="com.ycl.vo.cockpit.aiIot.AIIotStatisticsRecordVO">
|
<result column="month" property="month"/>
|
<result column="count" property="count"/>
|
</collection>
|
</resultMap>
|
|
<select id="list" resultType="com.ycl.dto.allot.EfficiencyDto">
|
SELECT
|
t4.NAME NAME,
|
COUNT(1) NUMBER,
|
sum(case WHEN ubc.state = 3 then 1 ELSE 0 END) errorNumber
|
FROM
|
`ums_base_case` AS ubc
|
JOIN ums_violations AS uv ON ubc.id = uv.id
|
LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
|
LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
|
LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
|
WHERE
|
ubc.category = 1
|
AND t4.`name` IS NOT NULL
|
GROUP BY
|
t4.id
|
</select>
|
<select id="aiMonthList" resultMap="AIIotStatisticsVO">
|
SELECT
|
t4.NAME type,
|
DATE_FORMAT(alarm_time,'%Y-%m') month,
|
COUNT(1) count
|
FROM
|
`ums_base_case` AS ubc
|
JOIN ums_violations AS uv ON ubc.id = uv.id
|
LEFT JOIN ums_data_dictionary AS t3 ON uv.category_id = t3.id
|
LEFT JOIN ums_data_dictionary AS t4 ON uv.type_id = t4.id
|
LEFT JOIN ums_sccg_region t5 ON ubc.street_id = t5.id
|
WHERE
|
ubc.category = 1
|
AND t4.`name` IS NOT NULL
|
<if test="beginTime!=null">
|
and ubc.alarm_time BETWEEN #{beginTime} and #{endTime}
|
</if>
|
GROUP BY
|
t4.id,DATE_FORMAT(alarm_time,'%Y-%m')
|
ORDER BY DATE_FORMAT(alarm_time,'%Y-%m') desc ,COUNT(1) desc
|
</select>
|
<select id="getSmokeCustomer" resultType="java.lang.Long">
|
select count(1) total from ums_ods_customer
|
</select>
|
|
</mapper>
|