1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| <?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.tievd.jyz.mapper.PatrolRecordMapper">
|
| <select
| id="listRecord"
| resultType="com.tievd.jyz.entity.vo.PatrolRecordVo">
| select r.*,
| concat(aiCount, '/', total) aiNum,
| concat(auditCount, '/', total) auditNum,
| if(unaudit>0, 0, if(auditCount=total, 1, 2)) auditResult,
| e.score,
| e.auditUser,
| e.auditTime
| from t_patrol_record r
| left join (
| select record_id, count(if(event_type=1, 1, null)) aiCount,
| count(if(audit_result=1, 1, null)) auditCount,
| count(if(audit_result=0, 1, null)) unaudit,
| count(id) total, sum(if(audit_result=1, 1, 0)*score) score,
| audit_user auditUser,
| audit_time auditTime
| from t_patrol_event GROUP BY record_id
| ) e
| on r.id = e.record_id
| where r.end_time is not null
| <if test="record.startTime != null">and r.start_time >= #{record.startTime}</if>
| <if test="record.endTime != null">and r.end_time < #{record.endTime}</if>
| <if test="record.auditResult == 1">and e.auditCount = total</if>
| <if test="record.auditResult == 2">and e.auditCount != total</if>
| </select>
| </mapper>
|
|