<?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.ruoyi.system.mapper.WarnMapper">
|
|
|
<select id="getCarWarnList" resultType="com.ruoyi.system.query.CarWarnListResp">
|
select b.vehicle_name as carName,
|
b.vehicle_number as vehicleNumber,
|
a.keep_warn as keepWarn,
|
c.`name` as driverName,
|
d.`name` as enterpriseName,
|
a.terminal_number as terminalNumber,
|
a.start_time as startTime,
|
a.end_time as endTime,
|
a.keep_time as keepTime,
|
a.keep_distance as keepDistance,
|
a.warn_type as warnType,
|
a.warn_number as warnNumber,
|
a.treatment_state as treatmentState,
|
a.treatment_user as treatmentUser,
|
a.treatment_time as treatmentTime,
|
a.treatment_remark as treatmentRemark
|
from t_warn a
|
left join t_car b on (a.car_id = b.id)
|
left join t_driver c on (a.driver_id = c.id)
|
left join t_enterprise d on (a.enterprise_id = d.id)
|
<where>
|
<if test="null != item.warnType and '' != item.warnType">
|
and a.warn_type = #{item.warnType}
|
</if>
|
<if test="null != item.vehicleNumber and '' != item.vehicleNumber">
|
and b.vehicle_number like CONCAT('%', #{item.vehicleNumber}, '%')
|
</if>
|
<if test="null != item.driverName and '' != item.driverName">
|
and c.`name` like CONCAT('%', #{item.driverName}, '%')
|
</if>
|
<if test="null != item.enterpriseName and '' != item.enterpriseName">
|
and d.`name` like CONCAT('%', #{item.enterpriseName}, '%')
|
</if>
|
<if test="null != item.startTime and '' != item.startTime">
|
and a.start_time >= #{item.startTime}
|
</if>
|
<if test="null != item.endTime and '' != item.endTime">
|
and a.end_time <= #{item.endTime}
|
</if>
|
<if test="null != item.treatmentState and '' != item.treatmentState">
|
and a.treatment_state = #{item.treatmentState}
|
</if>
|
</where>
|
order by a.create_time desc
|
</select>
|
|
|
<select id="getWarnGroup10Count" resultType="map">
|
select aa.warn_type as warnType, aa.num
|
from (select COUNT(1) as num, warn_type from t_warn group by warn_type) as aa
|
order by aa.num desc limit 10
|
</select>
|
|
|
<select id="getWarnGroupCount" resultType="map">
|
select COUNT(1) as num, "其他" as warnType from t_warn where warn_type not in
|
<foreach collection="collect" index="index" item="item" open="(" separator="," close=")">
|
#{item}
|
</foreach>
|
</select>
|
|
|
<select id="getWarnGroupCountTop10" resultType="map">
|
select *
|
from (select COUNT(1) as num, b.`name`
|
from t_warn a
|
left join t_enterprise b on (a.enterprise_id = b.id)
|
group by a.enterprise_id) as aa
|
order by aa.num desc limit 10
|
</select>
|
</mapper>
|