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

42 lines
1.5 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.MkmjPassageMapper">
<select id="listPage" resultType="com.zcloud.primeport.persistence.dataobject.MkmjPassageDO">
SELECT
p.id,
p.passage_name,
p.passage_type,
p.passage_status,
p.mkmj_id,
p.longitude,
p.latitude,
p.remarks,
m.mkmj_name AS mkmjName,
COUNT(DISTINCT g.id) AS gate_count
FROM
mkmj_passage p
LEFT JOIN mkmj m ON p.mkmj_id = m.id AND m.delete_enum = 'false'
LEFT JOIN mkmj_gate g ON p.id = g.passage_id AND g.delete_enum = 'false'
WHERE
p.delete_enum = 'false'
<if test="parmas.eqMkmjId != null">
AND p.mkmj_id = #{parmas.eqMkmjId}
</if>
<if test="parmas.likePassageName != null and parmas.likePassageName != ''">
AND p.passage_name LIKE CONCAT('%', #{parmas.likePassageName}, '%')
</if>
<if test="parmas.eqPassageType != null and parmas.eqPassageType != ''">
AND p.passage_type = #{parmas.eqPassageType}
</if>
<if test="parmas.eqPassageStatus != null">
AND p.passage_status = #{parmas.eqPassageStatus}
</if>
GROUP BY p.id
ORDER BY p.create_time DESC
</select>
</mapper>