zcloud-gbs-primeport/web-infrastructure/src/main/resources/mapper/VehicleApplyDO.xml

137 lines
5.3 KiB
XML

<?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.zcloud.primeport.persistence.mapper.VehicleApplyMapper">
<select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.VehicleApplyDO">
SELECT
f.id,
f.status_flag,
f.licence_type,
f.licence_type_name,
f.licence_no,
f.vehicle_type,
f.vehicle_type_name,
f.vehicle_belong_type,
f.gate_level_auth_area,
f.audit_flag,
f.mkmj_permission,
f.visit_start_time,
f.visit_end_time,
f.vehicle_corp_id,
f.vehicle_corp_name,
f.vehicle_department_name,
f.vehicle_department_id,
f.employee_vehicle_user_name,
f.employee_vehicle_user_id,
f.emission_standards_name,
f.emission_standards,
f.attachment_id,
f.driving_license_id,
f.inform_sign_id,
f.project_id,
f.project_name,
f.blocked_flag,
a.audit_user_id,
a.audit_user_name,
a.audit_dept_id,
a.audit_dept_name,
a.audit_corp_name,
a.audit_corp_id
FROM
vehicle_apply AS f
LEFT JOIN vehicle_audit AS a ON f.id = a.vehicle_apply_id
AND a.delete_enum = 'FALSE'
AND a.audit_status = 1
WHERE
f.delete_enum = 'FALSE'
<if test="parmas.remarks != null and parmas.remarks != ''">
AND f.remarks like CONCAT('%', #{parmas.remarks}, '%')
</if>
<if test="parmas.licenceNo != null and parmas.licenceNo != ''">
AND f.licence_no like CONCAT('%', #{parmas.licenceNo}, '%')
</if>
<if test="parmas.auditFlag != null">
AND f.audit_flag = #{parmas.auditFlag}
</if>
<if test="parmas.visitStartTime != null and parmas.visitStartTime != ''">
AND f.visit_start_time LIKE CONCAT('%', #{parmas.gateName}, '%')
</if>
<if test="parmas.visitEndTime != null and parmas.visitEndTime != ''">
AND f.visit_end_time LIKE CONCAT('%', #{parmas.gateName}, '%')
</if>
<if test="parmas.vehicleBelongType != null and parmas.vehicleBelongType != ''">
AND f.vehicle_belong_type = #{parmas.vehicleBelongType}
</if>
<if test="parmas.vehicleDepartmentId != null and parmas.vehicleDepartmentId != ''">
AND f.vehicle_department_id = #{parmas.vehicleDepartmentId}
</if>
<if test="parmas.employeeVehicleUserId != null and parmas.employeeVehicleUserId != ''">
AND f.employee_vehicle_user_id = #{parmas.employeeVehicleUserId}
</if>
</select>
<select id="fgsCount" resultType="com.zcloud.primeport.persistence.dataobject.FgsVehicleCountDto">
SELECT
c.id corp_id,
c.corp_name,
IFNULL( utmp.user_count, 0 ) user_count,
IFNULL( pubtmp.pub_car_count, 0 ) pub_car_count,
IFNULL( prtmp.pri_car_count, 0 ) pri_car_count
FROM
corp_info c
LEFT JOIN (
SELECT
COUNT( u.id ) user_count,
u.corpinfo_id
FROM
`user` u
WHERE
u.delete_enum = 'FALSE'
AND u.main_corp_flag = 0
GROUP BY
u.corpinfo_id
) utmp ON c.id = utmp.corpinfo_id
LEFT JOIN (
SELECT
va.vehicle_corp_id,
COUNT( va.id ) pri_car_count
FROM
`vehicle_apply` va
WHERE
va.delete_enum = 'FALSE'
<if test="parmas.corpType != null">
<if test="parmas.corpType == 1"> AND va.vehicle_belong_type IN ( 1, 3 ) </if>
<if test="parmas.corpType == 2"> and va.vehicle_belong_type = 7 </if>
</if>
GROUP BY
va.vehicle_corp_id
) prtmp ON c.id = prtmp.vehicle_corp_id
LEFT JOIN (
SELECT
va.vehicle_corp_id,
COUNT(va.id) pub_car_count
FROM
`vehicle_apply` va WHERE va.delete_enum = 'FALSE'
<if test="parmas.corpType != null">
<if test="parmas.corpType == 1"> and va.vehicle_belong_type in (2,4) </if>
<if test="parmas.corpType == 2"> and va.vehicle_belong_type = 8 </if>
</if>
GROUP BY
va.vehicle_corp_id) pubtmp on pubtmp.vehicle_corp_id = c.id
WHERE
c.delete_enum = 'FALSE'
<if test="parmas.corpType != null">
<if test="parmas.corpType == 1"> AND c.type IN ( 0,1,2,6 ) </if>
<if test="parmas.corpType == 2"> AND c.type = 5 </if>
</if>
<if test="parmas.corpName != null and parmas.corpName != ''">
AND c.corp_name like CONCAT('%', #{parmas.corpName}, '%')
</if>
ORDER BY
c.corp_order,
c.create_time DESC
</select>
</mapper>