96 lines
4.3 KiB
XML
96 lines
4.3 KiB
XML
<?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.bonus.aqgqj.basis.dao.ExamineMapper">
|
|
|
|
<!--试验审查列表-->
|
|
<select id="getList" resultType="com.bonus.aqgqj.basis.entity.vo.ExperimentalVo">
|
|
SELECT ts.id,
|
|
tc.custom_name AS customName,
|
|
DATE_FORMAT(ts.sample_time, '%Y-%m-%d') AS sampleTime,
|
|
IFNULL(tsd.num,0) AS customNum,
|
|
tsd.sampleDev,
|
|
su.user_name AS sampleUserName,
|
|
su2.user_name AS dispatchUserName,
|
|
DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate,
|
|
tt.team_name AS teamName,
|
|
<if test="roleCode == 'experimentalTeam'">
|
|
WHEN process_status = 1 AND audti_status = 0 THEN '待审阅'
|
|
END AS audtiStatus,
|
|
</if>
|
|
<if test="roleCode == 'technicalDirector'">
|
|
WHEN process_status = 2 AND audti_status = 0 THEN '待审核'
|
|
END AS audtiStatus,
|
|
</if>
|
|
<if test="roleCode=='centerManager'">
|
|
WHEN process_status = 3 AND audti_status = 0 THEN '待审批'
|
|
END AS audtiStatus,
|
|
</if>
|
|
<if test="roleCode == 'administrators'">
|
|
CASE WHEN process_status = 1 AND audti_status = 0 THEN '待审阅'
|
|
WHEN process_status = 2 AND audti_status = 0 THEN '待审核'
|
|
WHEN process_status = 3 AND audti_status = 0 THEN '待审批'
|
|
END AS audtiStatus,
|
|
</if>
|
|
ts.remarks
|
|
FROM tb_sample ts
|
|
LEFT JOIN tb_custom tc ON ts.custom_id = tc.id
|
|
LEFT JOIN sys_user su ON ts.create_user = su.id AND su.del_flag = 0
|
|
LEFT JOIN sys_user su2 ON ts.update_user = su2.id AND su2.del_flag = 0
|
|
LEFT JOIN tb_team tt ON ts.team_id = tt.id AND tt.del_flag = 0
|
|
LEFT JOIN (
|
|
SELECT sample_id,COUNT(sample_id) AS num,ANY_VALUE(GROUP_CONCAT(DISTINCT dev_type_name)) AS sampleDev,ANY_VALUE(GROUP_CONCAT(DISTINCT dev_type_code)) AS sampleDevCode
|
|
FROM tb_sample_device
|
|
WHERE del_falg = 0
|
|
GROUP BY sample_id
|
|
) tsd ON tsd.sample_id = ts.id
|
|
WHERE ts.del_flag = 0
|
|
<if test="keyWord != null and keyWord!=''">
|
|
AND (
|
|
INSTR(tt.team_name,#{keyWord}) > 0 OR
|
|
INSTR(su2.user_name,#{keyWord}) > 0
|
|
)
|
|
</if>
|
|
<if test="sampleUserName != null and sampleUserName!=''">
|
|
AND INSTR(su.user_name,#{sampleUserName}) > 0
|
|
</if>
|
|
<if test="startTime != null and endTime!=''">
|
|
AND DATE_FORMAT(ts.sample_date, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
|
</if>
|
|
<if test="devTypeCode != null and devTypeCode!=''">
|
|
AND INSTR(tsd.sampleDevCode,#{devTypeCode})
|
|
</if>
|
|
/*管理员、技术负责人、中心负责人查询全部数据*/
|
|
<if test="roleCode != 'administrators' and roleCode != 'technicalDirector' and roleCode != 'centerManager' and roleCode == 'experimentalTeamLeader'">
|
|
/*试验班组-班组长审阅-只审阅本班组提交的审阅*/
|
|
<if test="teamId != null">
|
|
AND ts.team_id = #{teamId}
|
|
</if>
|
|
<if test="teamId ==null">
|
|
AND ts.team_id = -1
|
|
</if>
|
|
</if>
|
|
/*非管理员、非技术负责人、非中心负责人无审查数据权限*/
|
|
<if test="roleCode != 'administrators' and roleCode != 'technicalDirector' and roleCode != 'centerManager' and roleCode != 'experimentalTeam'">
|
|
AND ts.team_id = -1
|
|
</if>
|
|
/*班组长-审阅*/
|
|
<if test="roleCode == 'experimentalTeam'">
|
|
AND process_status = 1 AND audti_status = 0
|
|
</if>
|
|
/*技术负责人-审核*/
|
|
<if test="roleCode == 'technicalDirector'">
|
|
AND process_status = 2 AND audti_status = 0
|
|
</if>
|
|
/*中心负责人-审批*/
|
|
<if test="roleCode=='centerManager'">
|
|
AND process_status = 3 AND audti_status = 0
|
|
</if>
|
|
/*管理员*/
|
|
<if test="roleCode=='administrators'">
|
|
AND process_status IN (1,2,3) AND audti_status = 0
|
|
</if>
|
|
ORDER BY FIELD(audtiStatus, '待审阅','待审核','待审批') ASC,dispatch_time ASC
|
|
</select>
|
|
</mapper>
|