212 lines
11 KiB
XML
212 lines
11 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.app.dao.ExamineAppMapper">
|
|
<!--添加审核数据-->
|
|
<insert id="checkData">
|
|
INSERT INTO tb_audit_history(id,exper_id,audit_time,audit_user_id,audit_user_name,audit_status,audit_remark,audit_type) VALUES
|
|
(null,#{experId},#{auditTime},#{auditUserId},#{auditUserName},#{auditStatus},#{auditRemark},#{auditType})
|
|
</insert>
|
|
<!--更新试验信息表审核状态-->
|
|
<update id="updateExperStatus">
|
|
UPDATE tb_exper SET status = #{status},audit_status = #{auditStatus},audit_user_name = #{params.auditUserName},audit_time = #{params.auditTime},audit_remakr = #{params.auditRemark},is_er = #{isEr}
|
|
WHERE id = #{params.experId}
|
|
</update>
|
|
<!--更新收样信息审核的状态-->
|
|
<update id="updateSampleStatus">
|
|
UPDATE tb_sample SET audti_status = #{audtiStatus},process_status = #{processStatus},is_er = #{isEr},remarks = #{params.auditRemark} WHERE id = #{params.sampleId}
|
|
</update>
|
|
|
|
<!--试验审查列表-->
|
|
<select id="getList" resultType="com.bonus.aqgqj.app.entity.ExperimentalAppVo">
|
|
SELECT ts.id,
|
|
tc.custom_name AS customName,
|
|
te.exper_time AS experTime,
|
|
tsd.sampleDev,
|
|
IFNULL(tsd.num,0) AS customNum,
|
|
tt.team_name AS teamName,
|
|
ts.process_status AS status,
|
|
CASE WHEN ts.process_status = 1 AND ts.audti_status = 0 AND ts.is_er IS NULL THEN '待审阅'
|
|
WHEN ts.process_status = 1 AND ts.audti_status = 0 AND ts.is_er = '1' THEN '待重新审阅'
|
|
WHEN ts.process_status = 2 AND ts.audti_status = 0 THEN '待审核'
|
|
WHEN ts.process_status = 3 AND ts.audti_status = 0 THEN '待审批'
|
|
END AS audtiStatus
|
|
FROM tb_sample ts
|
|
LEFT JOIN tb_custom tc ON ts.custom_id = tc.id
|
|
LEFT JOIN tb_team tt ON ts.team_id = tt.id AND tt.del_flag = 0
|
|
LEFT JOIN tb_exper te on ts.id = te.sample_id AND te.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(tc.custom_name,#{keyWord}) > 0
|
|
OR
|
|
INSTR(tt.team_name,#{keyWord}) > 0
|
|
)
|
|
</if>
|
|
<if test="startTime != null and endTime!=''">
|
|
AND DATE_FORMAT(te.exper_time, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
|
</if>
|
|
<if test="sampleDev != null and sampleDev!=''">
|
|
AND tsd.sampleDev like CONCAT('%',#{sampleDev},'%')
|
|
</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 != 'experimentalTeamLeader'">
|
|
AND ts.team_id = -1
|
|
</if>
|
|
/*班组长-审阅*/
|
|
<if test="roleCode == 'experimentalTeamLeader'">
|
|
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>
|
|
GROUP BY ts.id
|
|
ORDER BY FIELD(audtiStatus, '待审阅','待重新审阅','待审核','待审批') DESC,ts.sample_date DESC
|
|
</select>
|
|
<!--审查详情列表-->
|
|
<select id="getDetailList" resultType="com.bonus.aqgqj.app.entity.ExperimentalDetailAppVo">
|
|
SELECT * FROM (
|
|
SELECT ANY_VALUE(tsd.sample_id) AS sampleId,
|
|
ANY_VALUE(te.status) as `status`,
|
|
ANY_VALUE(te.audit_status) as auditStatus,
|
|
ANY_VALUE(te.is_er) as isEr,
|
|
ANY_VALUE(tsd.dev_type_name) AS devTypeName,
|
|
tsd.dev_type_code AS devTypeCode,
|
|
GROUP_CONCAT(DISTINCT tsd.dev_module SEPARATOR '、' ) as devModule,
|
|
ANY_VALUE(su1.user_name) AS experimenter,
|
|
ANY_VALUE(te.id) AS experId,
|
|
COUNT(tsd.dev_type_code) AS sampleNum,
|
|
ANY_VALUE(te.audit_remakr) AS causeOfRejection,
|
|
ANY_VALUE(DATE_FORMAT(te.update_time, '%Y-%m-%d')) AS testTime,
|
|
CASE WHEN ANY_VALUE(te.status) = 0 AND ANY_VALUE(te.audit_status) = 0 THEN '待提交'
|
|
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND ANY_VALUE(te.is_er) IS NULL THEN '待审阅'
|
|
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND ANY_VALUE(te.is_er) = '1' THEN '待重新审阅'
|
|
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 2 THEN '审阅不通过'
|
|
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 0 THEN '待审核'
|
|
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 3 THEN '审核不通过'
|
|
WHEN ANY_VALUE(te.status) = 3 AND ANY_VALUE(te.audit_status) = 0 THEN '待审批'
|
|
WHEN ANY_VALUE(te.status) = 3 AND ANY_VALUE(te.audit_status) = 4 THEN '审批不通过'
|
|
WHEN ANY_VALUE(te.status) = 4 AND ANY_VALUE(te.audit_status) = 1 THEN '试验完成'
|
|
ELSE '待试验'
|
|
END AS statusResult
|
|
FROM tb_sample_device tsd
|
|
LEFT JOIN tb_exper te ON tsd.sample_id = te.sample_id AND tsd.dev_type_code = te.dev_type_code AND te.del_flag =
|
|
0
|
|
LEFT JOIN sys_user su1 on su1.id=te.create_user and su1.del_flag=0
|
|
WHERE tsd.sample_id = #{id} AND tsd.del_falg = 0
|
|
<if test="sampleDev != null and sampleDev!=''">
|
|
AND INSTR(tsd.dev_type_name,#{sampleDev})
|
|
</if>
|
|
<if test="startTime != null and endTime!=''">
|
|
AND DATE_FORMAT(te.update_time, '%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
|
|
</if>
|
|
<if test="keyWord != null and keyWord!=''">
|
|
AND (
|
|
INSTR(su1.user_name,#{keyWord}) > 0
|
|
)
|
|
</if>
|
|
GROUP BY tsd.dev_type_code
|
|
) a
|
|
ORDER BY FIELD(a.statusResult, '审阅不通过','审核不通过','审批不通过','待提交','待审阅','待重新审阅','待审核','待审批','试验完成'),a.testTime
|
|
DESC
|
|
</select>
|
|
<!--查询试验设备数量-->
|
|
<select id="getExperDevItemsNum" resultType="java.util.Map">
|
|
SELECT dev_code AS devCode,
|
|
case is_hg WHEN '1' THEN '不合格'
|
|
WHEN '0' THEN '合格'
|
|
ELSE '不合格' END AS testResult
|
|
FROM tb_exper_dev
|
|
WHERE exper_id = #{experId}
|
|
</select>
|
|
<!--查询试验项是否都是通过-->
|
|
<select id="getExperIsPass" resultType="java.lang.Integer">
|
|
SELECT COUNT(*) FROM tb_exper WHERE sample_id = #{sampleId} AND del_flag = 0
|
|
UNION ALL
|
|
SELECT COUNT(*) FROM tb_exper WHERE sample_id = #{sampleId} AND del_flag = 0
|
|
<if test="auditType == 1">
|
|
AND status >1
|
|
</if>
|
|
<if test="auditType == 2">
|
|
AND status > 2
|
|
</if>
|
|
<if test="auditType == 3">
|
|
AND status >3
|
|
</if>
|
|
UNION ALL
|
|
SELECT COUNT(*) FROM tb_exper WHERE sample_id = #{sampleId} AND del_flag = 0
|
|
<if test="auditType == 1">
|
|
AND status = 1 AND audit_status = 2
|
|
</if>
|
|
<if test="auditType == 2">
|
|
AND status = 2 AND audit_status = 3
|
|
</if>
|
|
<if test="auditType == 3">
|
|
AND status = 3 AND audit_status = 4
|
|
</if>
|
|
</select>
|
|
<!--获取设备试验项/收样的是否二次审阅的值-->
|
|
<select id="getExperIsErValue" resultType="java.lang.String">
|
|
<if test="type == 1">
|
|
SELECT is_er FROM tb_exper WHERE id = #{id}
|
|
</if>
|
|
<if test="type == 2">
|
|
SELECT is_er FROM tb_sample WHERE id = #{id}
|
|
</if>
|
|
</select>
|
|
<select id="getDetailIdBySampleId" resultType="com.bonus.aqgqj.app.entity.ExperimentalAppVo">
|
|
SELECT GROUP_CONCAT(a.experId) as ids
|
|
FROM (SELECT ANY_VALUE(tsd.sample_id) AS sampleId,
|
|
ANY_VALUE(te.id) AS experId,
|
|
CASE
|
|
WHEN ANY_VALUE(te.status) = 0 AND ANY_VALUE(te.audit_status) = 0 THEN '待提交'
|
|
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND
|
|
ANY_VALUE(te.is_er) IS NULL THEN '待审阅'
|
|
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND ANY_VALUE(te.is_er) = '1'
|
|
THEN '待审阅'
|
|
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 2 THEN '审阅不通过'
|
|
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 0 THEN '待审核'
|
|
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 3 THEN '审核不通过'
|
|
WHEN ANY_VALUE(te.status) = 3 AND ANY_VALUE(te.audit_status) = 0 THEN '待审批'
|
|
WHEN ANY_VALUE(te.status) = 3 AND ANY_VALUE(te.audit_status) = 4 THEN '审批不通过'
|
|
WHEN ANY_VALUE(te.status) = 4 AND ANY_VALUE(te.audit_status) = 1 THEN '试验完成'
|
|
ELSE '待试验'
|
|
END AS status
|
|
FROM tb_sample_device tsd
|
|
LEFT JOIN tb_exper te
|
|
ON tsd.sample_id = te.sample_id AND tsd.dev_type_code = te.dev_type_code AND
|
|
te.del_flag = 0
|
|
WHERE tsd.sample_id = #{id}
|
|
AND tsd.del_falg = 0
|
|
|
|
GROUP BY tsd.dev_type_code) a
|
|
WHERE a.`status` = #{audtiStatus}
|
|
GROUP BY a.sampleId
|
|
</select>
|
|
</mapper>
|