xieb
2024-01-23 e4ffdd005b01ca7cc54e335a813bc07b62216ad9
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?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="org.springblade.modules.evaluate.mapper.EvaluateTaskReferrerMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="evaluateTaskReferrerResultMap" type="org.springblade.modules.evaluate.entity.EvaluateTaskReferrerEntity">
        <result column="id" property="id"/>
        <result column="tenant_id" property="tenantId"/>
        <result column="evaluate_task_id" property="evaluateTaskId"/>
        <result column="evaluate_task_category_id" property="evaluateTaskCategoryId"/>
        <result column="evaluate_task_category_name" property="evaluateTaskCategoryName"/>
        <result column="user_id" property="userId"/>
        <result column="user_name" property="userName"/>
        <result column="dept_id" property="deptId"/>
        <result column="dept_name" property="deptName"/>
        <result column="post_name" property="postName"/>
        <result column="remark" property="remark"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
 
    <resultMap id="mapResult" type="java.util.Map">
        <result column="id" property="id"/>
        <result column="tenant_id" property="tenantId"/>
        <result column="evaluate_task_id" property="evaluateTaskId"/>
        <result column="evaluate_task_category_id" property="evaluateTaskCategoryId"/>
        <result column="evaluate_task_category_name" property="evaluateTaskCategoryName"/>
        <result column="user_id" property="userId"/>
        <result column="user_name" property="userName"/>
        <result column="dept_id" property="deptId"/>
        <result column="dept_name" property="deptName"/>
        <result column="post_name" property="postName"/>
        <result column="remark" property="remark"/>
        <result column="create_user" property="createUser"/>
        <result column="create_dept" property="createDept"/>
        <result column="create_time" property="createTime"/>
        <result column="update_user" property="updateUser"/>
        <result column="update_time" property="updateTime"/>
        <result column="status" property="status"/>
        <result column="is_deleted" property="isDeleted"/>
    </resultMap>
 
 
    <select id="selectEvaluateTaskReferrerPage" resultMap="evaluateTaskReferrerResultMap">
        select * from yw_evaluate_task_referrer where is_deleted = 0
    </select>
 
    <select id="selectEvaluateTaskReferrerMapPage" resultMap="mapResult">
        select *,count(*) as voteNum,
               (
                   select case
                              WHEN count(*) > 0 then 1 else 0 end from yw_evaluate_task_category_candidate b
                                                                           LEFT JOIN yw_evaluate_task_category c ON (b.evaluate_task_category_id = c.id)
                   where a.user_id = b.user_id and a.evaluate_task_id = c.evaluate_task_id and b.is_deleted = 0
               ) as isAddCandidate
        from yw_evaluate_task_referrer a
        <where>
            and a.is_deleted = 0 and evaluate_task_id = #{evaluateTaskReferrer.evaluateTaskId}
            <if test="evaluateTaskReferrer.evaluateTaskCategoryId !=null and evaluateTaskReferrer.evaluateTaskCategoryId !=''">
                and evaluate_task_category_id = #{evaluateTaskReferrer.evaluateTaskCategoryId}
            </if>
        </where>
        group by user_id order by dept_id,voteNum DESC
    </select>
 
    <select id="selectReferrerInfoPage" resultType="org.springblade.modules.evaluate.vo.EvaluateTaskReferrerVO">
        SELECT a.*,b.`name` as voteUserName,c.dept_name AS voteDeptName,d.post_name AS votePostName from (select * from yw_evaluate_task_referrer where is_deleted = 0 ) a
        LEFT JOIN blade_user b ON (a.create_user = b.id)
        LEFT JOIN blade_dept c ON (b.dept_id = c.id)
        LEFT JOIN blade_post d ON (b.post_id = d.id)
        <where>
            <if test="evaluateTaskReferrer.evaluateTaskId != null and evaluateTaskReferrer.evaluateTaskId != ''">
                and a.evaluate_task_id = #{evaluateTaskReferrer.evaluateTaskId}
            </if>
            <if test="evaluateTaskReferrer.userName != null and evaluateTaskReferrer.userName != ''">
                and a.user_name like concat('%', #{evaluateTaskReferrer.userName}, '%')
            </if>
            <if test="evaluateTaskReferrer.voteUserName != null and evaluateTaskReferrer.voteUserName != ''">
                and b.name like concat('%', #{evaluateTaskReferrer.voteUserName}, '%')
            </if>
        </where>
    </select>
 
 
    <select id="exportEvaluateTaskReferrer" resultType="org.springblade.modules.evaluate.excel.EvaluateTaskReferrerExcel">
        SELECT * FROM yw_evaluate_task_referrer ${ew.customSqlSegment}
    </select>
 
    <select id="exportListByTaskId" resultType="org.springblade.modules.evaluate.excel.ReferrerResultGroupExcel">
        SELECT b.category_name,a.dept_name,a.user_name,a.post_name, count(*) as voteNum FROM yw_evaluate_task_referrer a
        LEFT JOIN yw_evaluate_task_category b on (evaluate_task_category_id = b.id)
        ${ew.customSqlSegment}
    </select>
 
</mapper>