无关风月
2025-06-26 a0e9fac251df54e5ed6159ce1fdb77d463ebdc48
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?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.system.mapper.TStrainReportMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TStrainReport">
        <id column="id" property="id" />
        <result column="project_id" property="projectId" />
        <result column="report_code" property="reportCode" />
        <result column="report_name" property="reportName" />
        <result column="report_content" property="reportContent" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
        <result column="enclosure_name" property="enclosureName" />
        <result column="enclosure_size" property="enclosureSize" />
        <result column="enclosure_url" property="enclosureUrl" />
        <result column="status" property="status" />
        <result column="experiment_id" property="experimentId" />
        <result column="evaluate" property="evaluate" />
        <result column="evaluate_total" property="evaluateTotal" />
        <result column="audit_remark" property="auditRemark" />
        <result column="audit_time" property="auditTime" />
        <result column="audit_id" property="auditId" />
        <result column="evaluate_time" property="evaluateTime" />
        <result column="evaluate_id" property="evaluateId" />
        <result column="is_draft" property="isDraft" />
        <result column="report_type" property="reportType" />
        <result column="evaluate_human_type" property="evaluateHumanType" />
        <result column="evaluate_type" property="evaluateType" />
    </resultMap>
 
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, project_id, report_code, report_name, report_content, create_time, update_time, create_by, update_by, disabled, enclosure_name, enclosure_size, enclosure_url, status, experiment_id, evaluate, evaluate_total, audit_remark, audit_time, audit_id, evaluate_time, evaluate_id, is_draft, report_type, evaluate_human_type, evaluate_type
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TStrainReportVO">
        select t1.*,t2.team_name as teamName,t3.nick_name as experimentName,t4.nick_name as evaluateName,
        t5.create_time as evaluateTime
 
        from t_strain_report t1
            left join t_strain_report_detail t5  on t5.report_id = t1.id
        left join t_project_team t2 on t1.project_id = t2.id
        left join sys_user t3 on t3.user_id = t5.experiment_id
        left join sys_user t4 on t4.user_id = t5.evaluate_id
        <where>
            <if test="query.teamName != null and query.teamName != ''">
                and t2.team_name like concat('%',#{query.teamName},'%')
            </if>
            <if test="query.reportName != null and query.reportName != ''">
                and t1.report_name like concat('%',#{query.reportName},'%')
            </if>
            <if test="query.status != null">
                and t1.status = #{query.status}
            </if>
            <if test="query.userId != null and query.userId != ''">
                and t5.experiment_id = #{query.userId}
            </if>
            <if test="query.evaluateHumanType == 3">
                and t5.evaluate_human_type = 2
            </if>
            <if test="query.evaluateHumanType == 4">
                and t5.evaluate_human_type = 1
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                and t1.evaluate_time between #{query.startTime} and #{query.endTime}
            </if>
 
            <if test="query.evaluateId != null and query.evaluateId.size()>0">
                AND t5.evaluate_id IN
                <foreach collection="query.evaluateId" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
                                     and t1.evaluate_id is not null
            AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by t1.evaluate_time desc
    </select>
    <select id="pageListProject" resultType="com.ruoyi.system.vo.TStrainReportProjectVO">
        select t1.id as id, t1.team_name as teamName,t1.create_time as startTime ,t1.id as projectId from t_project_team t1
        <where>
 
            <if test="query.teamName != null and query.teamName != ''">
                and t1.team_name like concat('%',#{query.teamName},'%')
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                and t1.create_time between #{query.startTime} and #{query.endTime}
            </if>
            <if test="query.projectIds != null and query.projectIds.size() > 0">
                and t1.id in
                <foreach item="item" collection="query.projectIds" separator="," open="(" close=")" index="">
                    #{item}
                </foreach>
            </if>
 
 
            AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
 
        order by t1.create_time desc
    </select>
    <select id="pageListAll" resultType="com.ruoyi.system.vo.TStrainReportVO">
        select t1.*,t2.team_name as teamName from t_strain_report t1
 
        left join t_project_team t2 on t1.project_id = t2.id
 
        <where>
            <if test="query.teamName != null and query.teamName != ''">
                and t2.team_name like concat('%',#{query.teamName},'%')
            </if>
            <if test="query.reportName != null and query.reportName != ''">
                and t1.report_name like concat('%',#{query.reportName},'%')
            </if>
            <if test="query.status != null ">
                and t1.status = #{query.status}
            </if>
            <if test="query.reportType != null ">
                and t1.report_type = #{query.reportType}
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                and t1.evaluate_time between #{query.startTime} and #{query.endTime}
            </if>
            <if test="query.isDraft != null ">
                and t1.is_draft = #{query.isDraft}
            </if>
 
            <if test="query.projectIds != null and query.projectIds.size()>0">
                AND t1.project_id IN
                <foreach collection="query.projectIds" close=")" open="(" item="id" separator=",">
                    #{id}
                </foreach>
            </if>
            AND t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        order by t1.create_time desc
    </select>
 
</mapper>