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

212 lines
8.0 KiB
XML
Raw Normal View History

<?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">
2026-03-06 16:21:51 +08:00
<mapper namespace="com.zcloud.primeport.persistence.mapper.VehicleApplyMapper">
2026-03-10 15:55:35 +08:00
<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,
2026-03-25 15:59:39 +08:00
f.driving_user_id,
f.driving_user_name,
2026-03-10 15:55:35 +08:00
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,
2026-03-26 18:05:01 +08:00
f.remarks check_department_name
2026-03-10 15:55:35 +08:00
FROM
vehicle_apply AS f
2026-03-31 09:01:08 +08:00
LEFT JOIN vehicle_audit AS a ON f.id = a.vehicle_apply_id AND a.delete_enum = 'FALSE' AND a.audit_status = 1
2026-03-10 15:55:35 +08:00
WHERE
f.delete_enum = 'FALSE'
2026-03-20 16:14:27 +08:00
<if test="params.remarks != null and params.remarks != ''">
AND f.remarks like CONCAT('%', #{params.remarks}, '%')
2026-03-16 14:51:02 +08:00
</if>
2026-03-20 16:14:27 +08:00
<if test="params.licenceNo != null and params.licenceNo != ''">
AND f.licence_no like CONCAT('%', #{params.licenceNo}, '%')
2026-03-10 15:55:35 +08:00
</if>
2026-03-20 16:14:27 +08:00
<if test="params.auditFlag != null">
AND f.audit_flag = #{params.auditFlag}
2026-03-10 15:55:35 +08:00
</if>
2026-03-20 16:14:27 +08:00
<if test="params.visitStartTime != null and params.visitStartTime != ''">
AND f.visit_start_time LIKE CONCAT('%', #{params.gateName}, '%')
2026-03-10 15:55:35 +08:00
</if>
2026-03-20 16:14:27 +08:00
<if test="params.visitEndTime != null and params.visitEndTime != ''">
AND f.visit_end_time LIKE CONCAT('%', #{params.gateName}, '%')
2026-03-10 15:55:35 +08:00
</if>
2026-03-20 16:14:27 +08:00
<if test="params.vehicleBelongType != null and params.vehicleBelongType != ''">
AND f.vehicle_belong_type = #{params.vehicleBelongType}
</if>
2026-03-25 15:59:39 +08:00
<if test="params.vehicleDepartmentId != null">
2026-03-20 16:14:27 +08:00
AND f.vehicle_department_id = #{params.vehicleDepartmentId}
</if>
2026-03-25 15:59:39 +08:00
<if test="params.vehicleCorpId != null">
AND f.vehicle_corp_id = #{params.vehicleCorpId}
</if>
<if test="params.employeeVehicleUserId != null">
2026-03-20 16:14:27 +08:00
AND f.employee_vehicle_user_id = #{params.employeeVehicleUserId}
2026-03-10 15:55:35 +08:00
</if>
order by f.id desc
2026-03-10 15:55:35 +08:00
</select>
2026-03-16 18:12:56 +08:00
<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'
2026-03-20 16:14:27 +08:00
<if test="params.corpType != null">
<if test="params.corpType == 1"> AND va.vehicle_belong_type IN ( 1, 3 ) </if>
<if test="params.corpType == 2"> and va.vehicle_belong_type = 7 </if>
2026-03-17 17:14:33 +08:00
</if>
2026-03-16 18:12:56 +08:00
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
2026-03-17 17:14:33 +08:00
`vehicle_apply` va WHERE va.delete_enum = 'FALSE'
2026-03-20 16:14:27 +08:00
<if test="params.corpType != null">
<if test="params.corpType == 1"> and va.vehicle_belong_type in (2,4) </if>
<if test="params.corpType == 2"> and va.vehicle_belong_type = 8 </if>
2026-03-17 17:14:33 +08:00
</if>
2026-03-16 18:12:56 +08:00
GROUP BY
va.vehicle_corp_id) pubtmp on pubtmp.vehicle_corp_id = c.id
WHERE
c.delete_enum = 'FALSE'
2026-03-20 16:14:27 +08:00
<if test="params.corpType != null">
<if test="params.corpType == 1"> AND c.type IN ( 0,1,6 ) </if>
2026-03-20 16:14:27 +08:00
<if test="params.corpType == 2"> AND c.type = 5 </if>
2026-03-17 17:14:33 +08:00
</if>
2026-03-20 16:14:27 +08:00
<if test="params.corpName != null and params.corpName != ''">
AND c.corp_name like CONCAT('%', #{params.corpName}, '%')
2026-03-17 13:41:43 +08:00
</if>
2026-03-16 18:12:56 +08:00
ORDER BY
c.corp_order,
c.create_time DESC
</select>
2026-03-24 17:53:48 +08:00
<select id="getInfoById" resultType="com.zcloud.primeport.persistence.dataobject.VehicleApplyDO">
SELECT
va.*,
m.mkmj_name
FROM
vehicle_apply va
LEFT JOIN mkmj m on va.mkmj_id = m.id
WHERE va.id = #{id}
</select>
2026-04-01 10:34:33 +08:00
<select id="getAppCount" resultType="com.zcloud.primeport.persistence.dataobject.AppCountDTO">
SELECT
tmp.type,
tmp.belong_type,
tmp.audit_user_id,
COUNT( 1 ) wait_audit_count
FROM
(
SELECT
'one_level_car' type,
vap.vehicle_belong_type belong_type,
va.audit_user_id,
va.audit_user_name,
va.audit_status
FROM
vehicle_audit va
LEFT JOIN vehicle_apply vap ON va.vehicle_apply_id = vap.id
WHERE
va.delete_enum = 'FALSE'
AND va.audit_status = 1
AND vap.delete_enum = 'FALSE' UNION ALL
SELECT
'two_level_car' type,
caca.car_belong_type belong_type,
caca.audit_person_user_id audit_user_id,
caca.audit_person_user_name audit_user_name,
caca.audit_flag audit_status
FROM
closed_area_car_apply caca
WHERE
caca.delete_enum = 'FALSE'
AND caca.audit_flag = 1 UNION ALL
SELECT
'one_level_person' type,
xap.person_belong_type,
xap.audit_user_id,
xap.audit_user_name,
xap.audit_flag
FROM
xgf_apply_person xap
WHERE
xap.delete_enum = 'FALSE'
AND xap.audit_flag = 1 UNION ALL
SELECT
'two_level_person' type,
capa.person_belong_type,
capa.audit_person_user_id audit_user_id,
capa.audit_person_user_name audit_user_name,
capa.audit_flag
FROM
closed_area_person_apply capa
WHERE
capa.delete_enum = 'FALSE'
AND capa.audit_flag = 1
) tmp
where tmp.audit_user_id = #{params.userId}
GROUP BY
tmp.type,
tmp.belong_type,
tmp.audit_user_id
</select>
</mapper>