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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?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.ruoyi.mapper.ReviewDetailsMapper">
<select id="findByKeyPointList" resultType="com.ruoyi.domain.ReviewDetails">
SELECT id, text, review_keypoint_id FROM t_review_details WHERE review_keypoint_id IN
<foreach collection="reviewKeyPointList" item="keyPoint" open="(" separator="," close=")">
#{keyPoint.id}
</foreach>
</select>
<select id="findNoResult" resultType="com.ruoyi.domain.ReviewDetails">
SELECT * FROM t_review_details trd
LEFT JOIN t_review_keypoint trk ON trd.review_keypoint_id = trk.id
LEFT JOIN t_review_standard trs ON trk.review_standard_id = trs.id
WHERE trd.id NOT IN (SELECT review_details_id FROM t_review_details_result WHERE task_id = #{taskId})
AND trs.type = #{type}
</select>
<select id="count" resultType="double">
SELECT
IFNULL((SELECT COUNT(*) FROM t_review_details_result WHERE task_id = #{taskId}), 0) /
IFNULL((SELECT COUNT(*) FROM t_review_details trd
INNER JOIN t_review_keypoint trk ON trk.id = trd.review_keypoint_id
INNER JOIN t_review_standard trs ON trs.id = trk.review_standard_id
WHERE trs.type = #{type}), 1) AS resultOverSum
</select>
<select id="systemAnswerCount" resultType="com.ruoyi.web.response.ResultCountResponse">
<foreach item="task" collection="systemReviewTaskList" separator="UNION ALL">
SELECT
#{task.id} AS taskId,
(IFNULL(
(SELECT COUNT(*) FROM t_review_details_result WHERE task_id = #{task.id}),
0
) /
IFNULL(
(SELECT COUNT(*) FROM t_review_details trd
INNER JOIN t_review_keypoint trk ON trk.id = trd.review_keypoint_id
INNER JOIN t_review_standard trs ON trs.id = trk.review_standard_id
WHERE trs.type = #{type}),
1
)) * 90 AS schedule,
ts.task_status AS taskStatus
from t_system_review_task ts where ts.id = #{task.id}
</foreach>
group by taskId
</select>
<select id="carAnswerCount" resultType="com.ruoyi.web.response.ResultCountResponse">
<foreach item="task" collection="carReviewTaskList" separator="UNION ALL">
SELECT
#{task.id} AS taskId,
(IFNULL(
(SELECT COUNT(*) FROM t_review_details_result WHERE task_id = #{task.id}),
0
) /
IFNULL(
(SELECT COUNT(*) FROM t_review_details trd
INNER JOIN t_review_keypoint trk ON trk.id = trd.review_keypoint_id
INNER JOIN t_review_standard trs ON trs.id = trk.review_standard_id
WHERE trs.type = #{type}),
1
)) * 90 AS schedule,
tc.task_status AS taskStatus
from t_car_review_task tc where tc.id = #{task.id}
</foreach>
group by taskId
</select>
<select id="findByKeyPointId" resultType="com.ruoyi.domain.ReviewDetails">
SELECT id, text, review_keypoint_id FROM t_review_details
WHERE review_keypoint_id = #{keyPointId}
</select>
<select id="findDetailsList" resultType="com.ruoyi.domain.ReviewDetails">
SELECT id, text, review_keypoint_id
FROM t_review_details
<where>
<if test="text != null and text != ''">
text like concat('%',#{text},'%')
</if>
</where>
</select>
</mapper>