<?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.vehicle.mapper.VehicleInfoMapper">
|
<select id="selectVehiclePage" resultType="com.ruoyi.vehicle.pojo.VehicleInfo">
|
SELECT v.*, d.dept_name as deptName, u.nick_name as userName
|
FROM p_vehicle_info v
|
LEFT JOIN sys_dept d ON v.dept_id = d.dept_id
|
LEFT JOIN sys_user u ON v.user_id = u.user_id
|
WHERE v.del_flag = '0'
|
<if test="query.plateNumber != null and query.plateNumber != ''">
|
AND v.plate_number LIKE concat('%', #{query.plateNumber}, '%')
|
</if>
|
<if test="query.deptId != null">
|
AND (v.dept_id = #{query.deptId} OR v.dept_id IN (SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET (#{query.deptId}, ancestors)))
|
</if>
|
<if test="query.vehicleStatus != null and query.vehicleStatus != ''">
|
AND v.vehicle_status = #{query.vehicleStatus}
|
</if>
|
ORDER BY
|
CASE WHEN
|
(v.inspection_expire_date IS NOT NULL AND DATEDIFF(v.inspection_expire_date, NOW()) <= 30)
|
OR
|
(v.insurance_expire_date IS NOT NULL AND DATEDIFF(v.insurance_expire_date, NOW()) <= 30)
|
THEN 0 ELSE 1 END,
|
v.create_time DESC
|
</select>
|
</mapper>
|