feat(access-record): 优化大华门禁记录查询功能

master
zhaokai 2026-08-28 09:37:27 +08:00
parent 414ad99ed1
commit 9852b22b63
2 changed files with 25 additions and 6 deletions

View File

@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class DaHuaAccessRecordPageQry extends PageQuery {
@ApiModelProperty(value = "人员编号")
@ApiModelProperty(value = "本地用户编号")
private Long userId;
@ApiModelProperty(value = "进出开始时间格式yyyy-MM-dd HH:mm:ss")

View File

@ -4,6 +4,15 @@
<mapper namespace="com.zcloud.primeport.persistence.mapper.DaHuaAccessRecordMapper">
<resultMap id="accessRecordPageResultMap"
type="com.zcloud.primeport.persistence.dataobject.DaHuaAccessRecordDO"
autoMapping="true">
<result property="mkmjId" column="relation_mkmj_id"/>
<result property="mkmjName" column="relation_mkmj_name"/>
<result property="passageId" column="relation_passage_id"/>
<result property="gateId" column="relation_gate_id"/>
</resultMap>
<select id="findLatestDahuaCreateTime" resultType="java.time.LocalDateTime">
SELECT dahua_create_time
FROM dahua_access_record
@ -12,15 +21,25 @@
LIMIT 1
</select>
<select id="listPage"
resultType="com.zcloud.primeport.persistence.dataobject.DaHuaAccessRecordDO">
<select id="listPage" resultMap="accessRecordPageResultMap">
SELECT r.*,
m.mkmj_name
m.id AS relation_mkmj_id,
m.mkmj_name AS relation_mkmj_name,
g.passage_id AS relation_passage_id,
g.id AS relation_gate_id
FROM dahua_access_record r
LEFT JOIN mkmj m ON r.mkmj_id = m.id AND m.delete_enum = 'FALSE'
LEFT JOIN mkmj_gate g
ON r.channel_code = g.third_code
AND g.delete_enum = 'FALSE'
LEFT JOIN mkmj m
ON g.mkmj_id = m.id
AND m.delete_enum = 'FALSE'
LEFT JOIN `user` u
ON u.user_id_card = BINARY TO_BASE64(TRIM(r.person_code))
AND u.delete_enum = 'FALSE'
WHERE r.delete_enum = 'FALSE'
<if test="params.userId != null">
AND r.person_id = #{params.userId}
AND u.id = #{params.userId}
</if>
<if test="params.swingTimeStart != null and params.swingTimeStart != ''">
AND r.swing_time &gt;= #{params.swingTimeStart}