ah_sz_gqj/src/main/resources/mappers/basis/ExperimentalMapper.xml

649 lines
32 KiB
XML
Raw Normal View History

2024-07-20 15:18:16 +08:00
<?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.ExperimentalMapper">
2024-07-20 17:31:33 +08:00
<!--添加试验信息-->
<insert id="addExper" useGeneratedKeys="true" keyProperty="id">
INSERT INTO tb_exper
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="sampleId != null">sample_id,</if>
<if test="devTypeCode != null and devTypeCode != ''">dev_type_code,</if>
<if test="devTypeName != null and devTypeName != ''">dev_type_name,</if>
<if test="sampleQuantity != null">dev_num,</if>
<if test="devModule != null and devModule!=''">dev_module,</if>
<if test="sampleDate != null and sampleDate!=''">sample_date,</if>
<if test="experTime != null and experTime!=''">exper_time,</if>
<if test="nextExperTime != null and nextExperTime!=''">next_exper_time,</if>
<if test="customId != null">submit_unit,</if>
<if test="experLocal != null and experLocal!=''">submit_location,</if>
<if test="experDev != null and experDev!=''">exper_dev,</if>
<if test="experModule != null and experModule!=''">exper_module,</if>
<if test="experCode != null and experCode!=''">exper_code,</if>
<if test="checkTime != null and checkTime!=''">check_time,</if>
<if test="experStand != null and experStand!=''">exper_stand,</if>
<if test="experConclu != null and experConclu!=''">exper_conclu,</if>
<if test="remarsk != null and remarsk!=''">remarsk,</if>
audit_status,
create_time,
create_user,
update_time,
update_user,
del_flag,
status,
id
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="sampleId != null">#{sampleId},</if>
<if test="devTypeCode != null and devTypeCode != ''">#{devTypeCode},</if>
<if test="devTypeName != null and devTypeName != ''">#{devTypeName},</if>
<if test="sampleQuantity != null">#{sampleQuantity},</if>
<if test="devModule != null and devModule!=''">#{devModule},</if>
<if test="sampleDate != null and sampleDate!=''">#{sampleDate},</if>
<if test="experTime != null and experTime!=''">#{experTime},</if>
<if test="nextExperTime != null and nextExperTime!=''">#{nextExperTime},</if>
<if test="customId != null">#{customId},</if>
<if test="experLocal != null and experLocal!=''">#{experLocal},</if>
<if test="experDev != null and experDev!=''">#{experDev},</if>
<if test="experModule != null and experModule!=''">#{experModule},</if>
<if test="experCode != null and experCode!=''">#{experCode},</if>
<if test="checkTime != null and checkTime!=''">#{checkTime},</if>
<if test="experStand != null and experStand!=''">#{experStand},</if>
<if test="experConclu != null and experConclu!=''">#{experConclu},</if>
<if test="remarsk != null and remarsk!=''">#{remarsk},</if>
2024-07-22 09:00:40 +08:00
#{auditStatus},
2024-07-20 17:31:33 +08:00
#{createTime},
#{createUser},
#{updateTime},
#{updateUser},
0,
2024-07-22 09:00:40 +08:00
#{status},
2024-07-20 17:31:33 +08:00
null
</trim>
</insert>
<!--添加试验依据信息数据-->
<insert id="addConfigBasis">
INSERT INTO tb_config_basis(id,exper_id,exper_basis_name) VALUES
<foreach collection="list" separator="," item="item">
(
2024-07-22 09:00:40 +08:00
null,#{experId},#{item.basisName}
2024-07-20 17:31:33 +08:00
)
</foreach>
</insert>
2024-07-22 09:00:40 +08:00
<!--添加试验项信息-->
<insert id="addExperItems" useGeneratedKeys="true" keyProperty="params.id">
INSERT INTO tb_exper_items
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="experId != null">exper_id,</if>
<if test="params.experTypeCode != null and params.experTypeCode != ''">exper_type_code,</if>
<if test="params.experTypeName != null and params.experTypeName != ''">exper_type_name,</if>
<if test="params.experNum != null">exper_num,</if>
<if test="params.itemsSort != null">items_sort,</if>
<if test="params.amount != null and params.amount!=''">amount,</if>
id
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="experId != null">#{experId},</if>
<if test="params.experTypeCode != null and params.experTypeCode != ''">#{params.experTypeCode},</if>
<if test="params.experTypeName != null and params.experTypeName != ''">#{params.experTypeName},</if>
<if test="params.experNum != null">#{params.experNum},</if>
<if test="params.itemsSort != null">#{params.itemsSort},</if>
<if test="params.amount != null and params.amount!=''">#{params.amount},</if>
null
</trim>
</insert>
<!--添加试验项内容-->
<insert id="addExperItem" useGeneratedKeys="true" keyProperty="params.id">
INSERT INTO tb_exper_item
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="experId != null">items_id,</if>
<if test="params.itemNum != null">item_sort,</if>
<if test="params.itemName != null and params.itemName != ''">item_name,</if>
id
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="experId != null">#{experId},</if>
<if test="params.itemNum != null">#{params.itemNum},</if>
<if test="params.itemName != null and params.itemName != ''">#{params.itemName},</if>
null
</trim>
</insert>
<!--添加试验样品设备-->
<insert id="addExperDev" useGeneratedKeys="true" keyProperty="params.id">
INSERT INTO tb_exper_dev
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="experId != null">exper_id,</if>
<if test="params.devCode != null and params.devCode!=''">dev_code,</if>
<if test="params.manufacturer != null and params.manufacturer != ''">manufacturer,</if>
<if test="params.manufactureDate != null and params.manufactureDate != ''">manufacture_date,</if>
<if test="params.devModule != null and params.devModule != ''">dev_module,</if>
<if test="params.devStatus != null and params.devStatus != ''">dev_status,</if>
<if test="params.devData != null and params.devData != ''">dev_data,</if>
<if test="params.amount != null and params.amount != ''">amount,</if>
<if test="params.remarks != null and params.remarks != ''">remarks,</if>
2024-07-23 15:47:38 +08:00
<if test="params.devId != null">dev_id,</if>
<if test="params.isHg != null and params.isHg != ''">is_hg,</if>
2024-07-25 15:17:00 +08:00
<if test="params.departmentId != null">department_id,</if>
2024-07-31 13:17:49 +08:00
<if test="params.experAmount != null">exper_amount,</if>
2024-07-22 09:00:40 +08:00
id
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="experId != null">#{experId},</if>
<if test="params.devCode != null and params.devCode!=''">#{params.devCode},</if>
<if test="params.manufacturer != null and params.manufacturer != ''">#{params.manufacturer},</if>
<if test="params.manufactureDate != null and params.manufactureDate != ''">#{params.manufactureDate},</if>
<if test="params.devModule != null and params.devModule != ''">#{params.devModule},</if>
<if test="params.devStatus != null and params.devStatus != ''">#{params.devStatus},</if>
<if test="params.devData != null and params.devData != ''">#{params.devData},</if>
<if test="params.amount != null and params.amount != ''">#{params.amount},</if>
<if test="params.remarks != null and params.remarks != ''">#{params.remarks},</if>
2024-07-23 15:47:38 +08:00
<if test="params.devId != null">#{params.devId},</if>
<if test="params.isHg != null and params.isHg != ''">#{params.isHg},</if>
2024-07-25 15:17:00 +08:00
<if test="params.departmentId != null">#{params.departmentId},</if>
2024-07-31 13:17:49 +08:00
<if test="params.experAmount != null">#{params.experAmount},</if>
2024-07-22 09:00:40 +08:00
null
</trim>
</insert>
<!--添加设备试验项信息-->
<insert id="addExperDevItems" useGeneratedKeys="true" keyProperty="id">
INSERT INTO tb_exper_dev_items
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="devId != null">dev_id,</if>
<if test="itemsId != null">items_id,</if>
<if test="itemsName != null and itemsName != ''">items_name,</if>
<if test="valSort != null">val_sort,</if>
id
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="devId != null">#{devId},</if>
<if test="itemsId != null">#{itemsId},</if>
<if test="itemsName != null and itemsName != ''">#{itemsName},</if>
<if test="valSort != null">#{valSort},</if>
null
</trim>
</insert>
<!--添加设备试验项数据-->
<insert id="addExperDevItem">
INSERT INTO tb_exper_dev_item (id,items_id,item_id,dev_id,item_name,item_val) VALUES
<foreach collection="experDevItemVos" separator="," item="item">
(
null,#{item.itemsId},#{item.itemId},#{item.devId},#{item.itemName},#{item.itemVal}
)
</foreach>
</insert>
<!--添加试验设备数据-->
<insert id="addExperConfigDev">
INSERT INTO tb_exper_config_dev(id,dev_type_code,dev_type_name,exper_id,dev_name,dev_id) VALUES
<foreach collection="list" separator="," item="item">
(
null,#{item.devTypeCode},#{item.devTypeName},#{experId},#{item.devName},#{item.devId}
)
</foreach>
</insert>
<!--修改试验信息数据-->
<update id="updateExper">
UPDATE tb_exper SET dev_type_code = #{devTypeCode},dev_type_name = #{devTypeName},dev_num = #{sampleQuantity},
dev_module = #{devModule},sample_date = #{sampleDate},exper_time = #{experTime},next_exper_time = #{nextExperTime},
submit_unit = #{customId},submit_location = #{experLocal},exper_dev = #{experDev},exper_module = #{experModule},
2024-07-22 16:36:12 +08:00
exper_code = #{experCode},check_time = #{checkTime},update_time = #{updateTime},update_user = #{updateUser},exper_stand = #{experStand},
2024-07-22 09:00:40 +08:00
exper_conclu = #{experConclu},remarsk = #{remarsk} WHERE id = #{id}
</update>
2024-07-22 15:45:51 +08:00
<!--更新收样表中的状态为待审阅-->
<update id="updateSampleStatus">
2024-07-30 19:48:10 +08:00
UPDATE tb_sample SET audti_status = 0,process_status = 1,remarks = null
2024-07-22 15:45:51 +08:00
WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<!--更新试验表中数据为待审阅-->
<update id="updateExperStatus">
2024-07-25 14:59:09 +08:00
UPDATE tb_exper SET status = 1,audit_status = 0,audit_user_name = null,audit_time = null,audit_remakr = null
2024-07-22 15:45:51 +08:00
WHERE sample_id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
2024-07-22 16:36:12 +08:00
<!--更新收样表中的状态为待提交-->
<update id="editSampleStatus">
2024-07-23 16:44:31 +08:00
UPDATE tb_sample SET process_status = 0 WHERE id = #{id}
2024-07-31 13:17:49 +08:00
</update>
<update id="updateExperMony">
UPDATE tb_exper SET amount = #{allMoney} WHERE id = #{id}
2024-07-22 16:36:12 +08:00
</update>
2024-09-04 12:50:32 +08:00
<!--更新试验状态为待试验-->
<update id="updateExperStatus2">
UPDATE tb_exper SET status = null,audit_status = null WHERE id = #{experId}
</update>
2024-07-22 09:00:40 +08:00
<!--删除试验依据-->
<delete id="delConfigBasis">
DELETE FROM tb_config_basis WHERE exper_id = #{id}
</delete>
<!--删除试验设备-->
<delete id="delExperConfigDev">
DELETE FROM tb_exper_config_dev WHERE exper_id = #{id}
</delete>
<!--删除试验样品设备-->
<delete id="delExperDev">
DELETE FROM tb_exper_dev WHERE exper_id = #{id}
</delete>
<!--删除设备试验项信息-->
<delete id="delExperDevItems">
DELETE FROM tb_exper_dev_items
WHERE dev_id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</delete>
<!--删除设备试验项数据-->
<delete id="delExperDevItem">
DELETE FROM tb_exper_dev_item
WHERE dev_id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</delete>
<!--删除试验信息-->
<delete id="delExper">
UPDATE tb_exper SET del_flag = 1 WHERE id = #{id}
</delete>
<!--删除试验项-->
<delete id="delExperItems">
DELETE FROM tb_exper_items WHERE exper_id = #{id}
</delete>
<!--删除试验项内容-->
<delete id="delExperItem">
DELETE FROM tb_exper_item WHERE items_id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</delete>
2024-07-20 15:18:16 +08:00
<!--试验列表-->
<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,
2024-07-30 19:48:10 +08:00
CASE WHEN ts.process_status IS NULL THEN '待试验'
WHEN ts.process_status = 0 AND ts.audti_status = 0 THEN '待提交'
2024-07-30 20:23:21 +08:00
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 '待重新审阅'
2024-07-30 19:48:10 +08:00
WHEN ts.process_status = 1 AND ts.audti_status = 2 THEN '审阅不通过'
WHEN ts.process_status = 2 AND ts.audti_status = 0 THEN '待审核'
WHEN ts.process_status = 2 AND ts.audti_status = 2 THEN '审核不通过'
WHEN ts.process_status = 3 AND ts.audti_status = 0 THEN '待审批'
WHEN ts.process_status = 3 AND ts.audti_status = 2 THEN '审批不通过'
WHEN ts.process_status = 4 AND ts.audti_status = 1 THEN '试验完成'
2024-07-22 15:11:50 +08:00
ELSE '待试验'
END AS audtiStatus,
2024-07-20 15:18:16 +08:00
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
2024-07-26 10:20:38 +08:00
LEFT JOIN sys_user su2 ON ts.dispatch_user = su2.id AND su2.del_flag = 0
2024-07-20 15:18:16 +08:00
LEFT JOIN tb_team tt ON ts.team_id = tt.id AND tt.del_flag = 0
LEFT JOIN (
2024-07-22 16:36:12 +08:00
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
2024-07-20 15:18:16 +08:00
FROM tb_sample_device
WHERE del_falg = 0
GROUP BY sample_id
) tsd ON tsd.sample_id = ts.id
2024-07-29 09:09:47 +08:00
WHERE ts.del_flag = 0 AND ts.team_id IS NOT NULL
2024-07-20 15:18:16 +08:00
<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="sampleDate != null and sampleDate!=''">
AND DATE_FORMAT(ts.sample_date, '%Y-%m-%d') = #{sampleDate}
</if>
<if test="devTypeCode != null and devTypeCode!=''">
AND INSTR(tsd.sampleDevCode,#{devTypeCode})
</if>
2024-07-25 11:18:46 +08:00
/*试验班组成员-待试验/待提交/审阅不通过/审核不通过/审批不通过*/
<if test="roleCode == 'experimentalTeamMember' and teamId != null">
AND ts.team_id = #{teamId} AND (
(ts.process_status IS NULL AND audti_status = 0) OR
(ts.process_status = 0 AND audti_status = 0) OR
(ts.process_status = 1 AND audti_status = 2) OR
(ts.process_status = 2 AND audti_status = 2) OR
(ts.process_status = 3 AND audti_status = 2)
)
</if>
<if test="roleCode == 'administrators'">
AND (
(ts.process_status IS NULL AND audti_status = 0) OR
(ts.process_status = 0 AND audti_status = 0) OR
(ts.process_status = 1 AND audti_status = 2) OR
(ts.process_status = 2 AND audti_status = 2) OR
(ts.process_status = 3 AND audti_status = 2)
)
</if>
/*不是试验班组-成员或者管理员,无权限查看数据*/
<if test="roleCode != 'experimentalTeamMember' and roleCode != 'administrators'">
AND ts.team_id = -1
</if>
<if test="roleCode == 'experimentalTeamMember' and teamId == null">
AND ts.team_id = -1
2024-07-23 09:43:14 +08:00
</if>
2024-07-25 14:09:15 +08:00
ORDER BY FIELD(audtiStatus, '审阅不通过','审核不通过','审批不通过','待试验','待提交','待审阅','待审核','待审批','试验完成'),ts.sample_date DESC
2024-07-20 15:18:16 +08:00
</select>
<!--试验详情列表-->
<select id="getDetailList" resultType="com.bonus.aqgqj.basis.entity.vo.ExperimentalDetailVo">
2024-07-25 14:09:15 +08:00
SELECT * FROM (
SELECT ANY_VALUE(tsd.sample_id) AS sampleId,
ANY_VALUE(tsd.dev_type_name) AS devTypeName,
tsd.dev_type_code AS devTypeCode,
ANY_VALUE(te.id) AS experId,
COUNT(tsd.dev_type_code) AS sampleNum,
ANY_VALUE(te.audit_remakr) AS causeOfRejection,
ANY_VALUE(su2.user_name) AS experimenter,
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 '待提交'
2024-07-30 19:48:10 +08:00
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 '待重新审阅'
2024-07-25 14:09:15 +08:00
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
LEFT JOIN sys_user su2 ON te.update_user = su2.id AND su2.del_flag = 0
WHERE tsd.sample_id = #{id} AND tsd.del_falg = 0
<if test="devTypeCode != null and devTypeCode!=''">
AND INSTR(tsd.dev_type_code,#{devTypeCode})
</if>
GROUP BY tsd.dev_type_code
)a
2024-09-04 15:34:01 +08:00
ORDER BY FIELD(a.status, '审阅不通过','审核不通过','审批不通过','待试验','待提交','待审阅','待重新审阅','待审核','待审批','试验完成') ,a.testTime DESC
2024-07-20 15:18:16 +08:00
</select>
<!--查询试验模板数据、基础数据-->
<select id="getTestBasicInfo" resultType="com.bonus.aqgqj.basis.entity.vo.TestVo">
SELECT DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate,
DATE_FORMAT(DATE_ADD(now(),INTERVAL a.times Month), '%Y-%m-%d') AS nextExperTime,
2024-09-09 13:05:51 +08:00
a.times AS times,
2024-07-20 15:18:16 +08:00
custom_id AS customId,
custom_name AS customName,
2024-07-20 17:31:33 +08:00
a.id AS configId,
a.dev_type_code AS devTypeCode,
a.dev_type_name AS devTypeName,
a.dev_module AS devModule,
a.exper_local_code AS experLocalCode,
2024-07-22 16:36:12 +08:00
a.exper_local AS experLocal,
2024-07-22 17:49:02 +08:00
ts.id AS sampleId
2024-07-20 15:18:16 +08:00
FROM tb_sample ts
LEFT JOIN (
2024-07-22 09:00:40 +08:00
SELECT tsd.dev_type_code,
ANY_VALUE(tsc.dev_type_name) AS dev_type_name,
ANY_VALUE(tsc.dev_module) AS dev_module,
ANY_VALUE(tsc.exper_local_code) AS exper_local_code,
ANY_VALUE(tsc.exper_local) AS exper_local,
ANY_VALUE(tsc.id) AS id,
2024-09-04 13:14:51 +08:00
ANY_VALUE(tsd.sample_id) AS sample_id,
ANY_VALUE(tsc.times) AS times
2024-07-20 15:18:16 +08:00
FROM tb_sample_device tsd
LEFT JOIN tb_exper_config tsc ON tsc.dev_type_code = tsd.dev_type_code AND tsc.del_flag = 0
WHERE tsd.sample_id = #{id} AND tsd.del_falg = 0 AND tsd.dev_type_code = #{devTypeCode}
GROUP BY tsd.dev_type_code
) a ON a.sample_id = ts.id
WHERE ts.id = #{id} AND del_flag = 0
</select>
2024-07-22 09:00:40 +08:00
<!--查询收样设备-根据设备类型-->
<select id="getSampleDeviceVos" resultType="com.bonus.aqgqj.basis.entity.vo.SampleDeviceVo">
SELECT id,
dev_code AS devCode,
dev_module AS devModule,
dev_type_code AS devTypeCode,
2024-07-25 15:17:00 +08:00
dev_type_name AS devTypeName,
department_id AS departmentId
2024-07-22 09:00:40 +08:00
FROM tb_sample_device
WHERE sample_id = #{id}
AND dev_type_code = #{devTypeCode}
AND del_falg = 0
</select>
<!--试验数据详情-->
<select id="viewTestData" resultType="com.bonus.aqgqj.basis.entity.vo.TestVo">
2024-07-24 14:08:14 +08:00
SELECT te.id,
te.sample_id AS sampleId,
te.dev_type_code AS devTypeCode,
te.dev_type_name AS devTypeName,
te.dev_num AS sampleQuantity,
te.dev_module AS devModule,
te.sample_date AS sampleDate,
DATE_FORMAT(te.exper_time, '%Y-%m-%d') AS experTime,
DATE_FORMAT(DATE_ADD(te.exper_time,INTERVAL tec.times Month), '%Y-%m-%d') AS nextExperTime,
2024-09-09 12:04:42 +08:00
tec.times AS times,
2024-07-24 14:08:14 +08:00
te.submit_unit AS customId,
tc.custom_name AS customName,
te.submit_location AS experLocal,
te.exper_dev AS experDev,
te.exper_module AS experModule,
te.exper_code AS experCode,
DATE_FORMAT(te.check_time, '%Y-%m-%d') AS checkTime,
te.exper_stand AS experStand,
te.exper_conclu AS experConclu,
2024-07-29 08:58:02 +08:00
te.remarsk AS remarsk,
su.user_name AS experUserName,
2024-09-28 15:53:17 +08:00
te.audit_user_name AS auditUserName,
su.sign_img AS syUrl
2024-07-22 09:00:40 +08:00
FROM tb_exper te
2024-07-24 14:08:14 +08:00
LEFT JOIN tb_custom tc ON te.submit_unit = tc.id AND tc.del_flag = 0
2024-07-29 08:58:02 +08:00
LEFT JOIN sys_user su ON te.update_user = su.id AND su.del_flag = 0
2024-09-04 10:04:02 +08:00
LEFT JOIN tb_exper_config tec on te.dev_type_code = tec.dev_type_code and tec.del_flag = 0
2024-07-22 09:00:40 +08:00
WHERE te.id = #{id}
</select>
<!--试验依据信息-->
<select id="getConfigBasis" resultType="com.bonus.aqgqj.basis.entity.vo.ExperBasisVo">
SELECT id,
exper_id AS configId,
exper_basis_name AS basisName
FROM tb_config_basis WHERE exper_id = #{id}
</select>
<!--试验设备信息-->
<select id="getExperConfigDevs" resultType="com.bonus.aqgqj.basis.entity.vo.ConfigDevVo">
SELECT id,
dev_type_code AS devTypeCode,
dev_type_name AS devTypeName,
exper_id AS configId,
dev_name AS devName,
dev_id AS devId
FROM tb_exper_config_dev
WHERE exper_id = #{id}
</select>
<!--试验项信息-->
<select id="getExperItems" resultType="com.bonus.aqgqj.basis.entity.vo.ConfigItemsVo">
SELECT id,
exper_type_code AS experTypeCode,
exper_type_name AS experTypeName,
exper_num AS experNum,
items_sort AS itemsSort,
amount
FROM tb_exper_items
WHERE exper_id = #{id}
ORDER BY items_sort
</select>
<!--试验项内容信息-->
<select id="getExperItem" resultType="com.bonus.aqgqj.basis.entity.vo.ConfigItemVo">
SELECT id,
items_id AS itemId,
item_sort AS itemNum,
item_name AS itemName
FROM tb_exper_item
WHERE items_id = #{id}
ORDER BY item_sort
</select>
<!--试验样品设备-->
<select id="getExperDev" resultType="com.bonus.aqgqj.basis.entity.vo.ExperDevVo">
SELECT id,
exper_id AS experId,
dev_code AS devCode,
manufacturer,
manufacture_date AS manufactureDate,
dev_module AS devModule,
dev_status AS devStatus,
dev_data AS devData,
amount,
2024-07-25 15:50:56 +08:00
remarks,
2024-07-30 16:40:29 +08:00
department_id AS departmentId,
dev_id AS devId
2024-07-22 09:00:40 +08:00
FROM tb_exper_dev
WHERE exper_id = #{id}
2024-07-22 14:23:14 +08:00
ORDER BY id
2024-07-22 09:00:40 +08:00
</select>
<!--获取试验样品设备ID-->
<select id="getExperDevIds" resultType="java.lang.Long">
SELECT id FROM tb_exper_dev WHERE exper_id = #{id}
</select>
<!--获取试验样品设备ID-->
<select id="getExperDevItems" resultType="java.lang.Long">
SELECT id FROM tb_exper_dev_items WHERE dev_id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
<!--查询试验项ID-->
<select id="getExperItemsIds" resultType="java.lang.Long">
SELECT id FROM tb_exper_items WHERE exper_id = #{id}
</select>
2024-07-22 14:23:14 +08:00
<!--查询试验设备数量-->
<select id="getExperDevItemsNum" resultType="java.util.Map">
SELECT dev_code AS devCode,
2024-07-23 15:47:38 +08:00
case is_hg WHEN '1' THEN '不合格'
WHEN '0' THEN '合格'
ELSE '不合格' END AS testResult
2024-07-22 14:23:14 +08:00
FROM tb_exper_dev
WHERE exper_id = #{experId}
</select>
<!--判断是否处于审核流程中的数据-->
<select id="isCheck" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM tb_exper
WHERE id = #{id} AND del_flag = 0 AND (
2024-07-22 16:36:12 +08:00
(status = 1 AND audit_status = 0) OR
(status = 2 AND audit_status = 0) OR
(status = 3 AND audit_status = 0) OR
(status = 4 AND audit_status = 1)
2024-07-22 14:23:14 +08:00
)
</select>
2024-07-22 15:45:51 +08:00
<!--判断提交数据中是否存在流程数据或者存在待试验项-->
<select id="isNotEditData" resultType="java.lang.Integer">
SELECT COUNT(*) FROM tb_sample
WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND del_flag = 0
AND (
2024-07-23 14:54:16 +08:00
(process_status IS NULL) OR
2024-07-22 15:45:51 +08:00
(audti_status = 0 AND process_status = 1) OR
(audti_status = 0 AND process_status = 2) OR
(audti_status = 0 AND process_status = 3) OR
(audti_status = 1 AND process_status = 4)
)
</select>
2024-07-22 16:36:12 +08:00
<!--获取收样中的试验项是否全部填写-->
<select id="isAllExper" resultType="java.lang.Integer">
SELECT COUNT(DISTINCT dev_type_code)
FROM tb_sample_device
WHERE sample_id = #{sampleId} AND del_falg = 0
UNION ALL
SELECT COUNT(*) FROM tb_exper WHERE sample_id = #{sampleId} AND status = 0 AND audit_status = 0 AND del_flag = 0
</select>
2024-07-29 08:58:02 +08:00
<!--获取记录编号-->
<select id="getRecordNum" resultType="java.lang.Long">
SELECT id FROM tb_exper WHERE (id = #{id} OR DATE_FORMAT(exper_time, '%Y-%m-%d') = #{experTime}) AND del_flag = 0 ORDER BY id
</select>
2024-09-04 10:35:23 +08:00
<!--查询新增的试验设备信息-->
<select id="getLsExperDevs" resultType="com.bonus.aqgqj.basis.entity.vo.ExperDevVo">
SELECT tsd.id,
tsd.dev_code AS devCode,
tsd.dev_module AS devModule,
2024-09-04 15:34:01 +08:00
tsd.department_id AS departmentId,
tsd.id AS devId
2024-09-04 10:35:23 +08:00
FROM tb_sample_device tsd
LEFT JOIN tb_exper_dev ted ON tsd.id = ted.dev_id AND ted.exper_id = #{id}
2024-09-04 12:50:32 +08:00
WHERE tsd.sample_id = #{sampleId} AND tsd.dev_type_code = #{devTypeCode} AND tsd.del_falg = 0 AND ted.id IS NULL
2024-09-04 10:35:23 +08:00
ORDER BY tsd.id
</select>
<!--判断提交审查数据中是否存在新增试验设备-->
<select id="getNotFilledDevs" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM tb_sample_device tsd
LEFT JOIN tb_exper_dev ted ON tsd.id = ted.dev_id
WHERE tsd.sample_id = #{sampleId} AND tsd.del_falg = 0 AND ted.id IS NULL
</select>
2024-09-04 12:50:32 +08:00
<!--判断提交审查前是否添加了试验设备-->
<select id="getHasAddDevs" resultType="java.lang.Integer">
SELECT COUNT(*)
FROM tb_sample_device tsd
LEFT JOIN tb_exper_dev ted ON tsd.id = ted.dev_id AND ted.exper_id = #{experId}
WHERE tsd.sample_id = #{sampleId} AND tsd.dev_type_code = #{devTypeCode} AND tsd.del_falg = 0 AND ted.id IS NULL
</select>
2024-09-28 15:53:17 +08:00
<!--获取审核员签名-->
<select id="getSignUrl" resultType="java.lang.String">
SELECT IFNULL(su.sign_img,'')
FROM tb_audit_history tah
LEFT JOIN sys_user su ON tah.audit_user_id = su.id
WHERE tah.exper_id = #{id} AND tah.audit_status = 1 AND tah.audit_type = 2
ORDER BY audit_time DESC
LIMIT 1
</select>
2024-09-28 20:20:33 +08:00
<select id="getOperationRecord" resultType="com.bonus.aqgqj.basis.entity.dto.OperationRecordDto">
SELECT
te.`status`,
su1.user_name AS collectSamplesUser,
su1.sign_img AS collectSamplesSignImg,
ts.create_time as collectSamplesTime,
su2.user_name AS experUser,
su2.sign_img AS experSignImg,
te.create_time as experTime,
su3.user_name AS reviewUser,
su3.sign_img AS reviewSignImg,
tah1.audit_time as reviewTime,
su4.user_name AS examineUser,
su4.sign_img AS examineSignImg,
tah2.audit_time as examineTime,
su5.user_name AS approveUser,
su5.sign_img AS approveSignImg,
tah3.audit_time as approveTime
FROM
tb_exper te
LEFT JOIN tb_sample ts ON ts.id = te.sample_id AND ts.del_flag = 0
LEFT JOIN sys_user su1 ON su1.id = ts.create_user AND su1.del_flag = 0
LEFT JOIN sys_user su2 ON su2.id = te.create_user AND su2.del_flag = 0
LEFT JOIN ( SELECT * FROM tb_audit_history WHERE audit_type = '1' AND exper_id = #{id} ORDER BY audit_time DESC LIMIT 1 ) tah1 ON tah1.exper_id = te.id
LEFT JOIN sys_user su3 ON su3.id = tah1.audit_user_id AND su3.del_flag = 0
LEFT JOIN ( SELECT * FROM tb_audit_history WHERE audit_type = '2' AND exper_id = #{id} ORDER BY audit_time DESC LIMIT 1 ) tah2 ON tah2.exper_id = te.id
LEFT JOIN sys_user su4 ON su4.id = tah2.audit_user_id AND su4.del_flag = 0
LEFT JOIN ( SELECT * FROM tb_audit_history WHERE audit_type = '3' AND exper_id = #{id} ORDER BY audit_time DESC LIMIT 1 ) tah3 ON tah3.exper_id = te.id
LEFT JOIN sys_user su5 ON su5.id = tah3.audit_user_id AND su5.del_flag = 0
WHERE
te.id = #{id}
</select>
2024-12-06 18:48:51 +08:00
<select id="getExperDevNumByName" resultType="java.lang.Integer">
select count(1)
from tb_exper_device
where dev_name=#{devName} AND del_flag=0
</select>
<insert id="insertExperDev">
insert into tb_exper_device(dev_name, dev_module, dev_code,
contract_date, create_time, data_source,
del_flag)
values (#{devName}, #{devModule}, #{devCode}, #{time}, now(), 1, 0)
</insert>
2024-07-20 15:18:16 +08:00
</mapper>