INSERT INTO tb_exper
sample_id,
dev_type_code,
dev_type_name,
dev_num,
dev_module,
sample_date,
exper_time,
next_exper_time,
submit_unit,
submit_location,
exper_dev,
exper_module,
exper_code,
check_time,
exper_stand,
exper_conclu,
remarsk,
audit_status,
create_time,
create_user,
update_time,
update_user,
del_flag,
status,
id
#{sampleId},
#{devTypeCode},
#{devTypeName},
#{sampleQuantity},
#{devModule},
#{sampleDate},
#{experTime},
#{nextExperTime},
#{customId},
#{experLocal},
#{experDev},
#{experModule},
#{experCode},
#{checkTime},
#{experStand},
#{experConclu},
#{remarsk},
#{auditStatus},
#{createTime},
#{createUser},
#{updateTime},
#{updateUser},
0,
#{status},
null
INSERT INTO tb_config_basis(id,exper_id,exper_basis_name) VALUES
(
null,#{experId},#{item.basisName}
)
INSERT INTO tb_exper_items
exper_id,
exper_type_code,
exper_type_name,
exper_num,
items_sort,
amount,
id
#{experId},
#{params.experTypeCode},
#{params.experTypeName},
#{params.experNum},
#{params.itemsSort},
#{params.amount},
null
INSERT INTO tb_exper_item
items_id,
item_sort,
item_name,
id
#{experId},
#{params.itemNum},
#{params.itemName},
null
INSERT INTO tb_exper_dev
exper_id,
dev_code,
manufacturer,
manufacture_date,
dev_module,
dev_status,
dev_data,
amount,
remarks,
dev_id,
is_hg,
department_id,
exper_amount,
id
#{experId},
#{params.devCode},
#{params.manufacturer},
#{params.manufactureDate},
#{params.devModule},
#{params.devStatus},
#{params.devData},
#{params.amount},
#{params.remarks},
#{params.devId},
#{params.isHg},
#{params.departmentId},
#{params.experAmount},
null
INSERT INTO tb_exper_dev_items
dev_id,
items_id,
items_name,
val_sort,
id
#{devId},
#{itemsId},
#{itemsName},
#{valSort},
null
INSERT INTO tb_exper_dev_item (id,items_id,item_id,dev_id,item_name,item_val) VALUES
(
null,#{item.itemsId},#{item.itemId},#{item.devId},#{item.itemName},#{item.itemVal}
)
INSERT INTO tb_exper_config_dev(id,dev_type_code,dev_type_name,exper_id,dev_name,dev_id) VALUES
(
null,#{item.devTypeCode},#{item.devTypeName},#{experId},#{item.devName},#{item.devId}
)
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},
exper_code = #{experCode},check_time = #{checkTime},update_time = #{updateTime},update_user = #{updateUser},exper_stand = #{experStand},
exper_conclu = #{experConclu},remarsk = #{remarsk} WHERE id = #{id}
UPDATE tb_sample SET audti_status = 0,process_status = 1,remarks = null
WHERE id IN
#{item}
UPDATE tb_exper SET status = 1,audit_status = 0,audit_user_name = null,audit_time = null,audit_remakr = null
WHERE sample_id IN
#{item}
UPDATE tb_sample SET process_status = 0 WHERE id = #{id}
UPDATE tb_exper SET amount = #{allMoney} WHERE id = #{id}
UPDATE tb_exper SET status = null,audit_status = null WHERE id = #{experId}
DELETE FROM tb_config_basis WHERE exper_id = #{id}
DELETE FROM tb_exper_config_dev WHERE exper_id = #{id}
DELETE FROM tb_exper_dev WHERE exper_id = #{id}
DELETE FROM tb_exper_dev_items
WHERE dev_id IN
#{item}
DELETE FROM tb_exper_dev_item
WHERE dev_id IN
#{item}
UPDATE tb_exper SET del_flag = 1 WHERE id = #{id}
DELETE FROM tb_exper_items WHERE exper_id = #{id}
DELETE FROM tb_exper_item WHERE items_id IN
#{item}
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,
CASE WHEN ts.process_status IS NULL THEN '待试验'
WHEN ts.process_status = 0 AND ts.audti_status = 0 THEN '待提交'
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 = 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 '试验完成'
ELSE '待试验'
END AS audtiStatus,
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.dispatch_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 AND ts.team_id IS NOT NULL
AND (
INSTR(tt.team_name,#{keyWord}) > 0 OR
INSTR(su2.user_name,#{keyWord}) > 0
)
AND INSTR(su.user_name,#{sampleUserName}) > 0
AND DATE_FORMAT(ts.sample_date, '%Y-%m-%d') = #{sampleDate}
AND INSTR(tsd.sampleDevCode,#{devTypeCode})
/*试验班组成员-待试验/待提交/审阅不通过/审核不通过/审批不通过*/
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)
)
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)
)
/*不是试验班组-成员或者管理员,无权限查看数据*/
AND ts.team_id = -1
AND ts.team_id = -1
ORDER BY FIELD(audtiStatus, '审阅不通过','审核不通过','审批不通过','待试验','待提交','待审阅','待审核','待审批','试验完成'),ts.sample_date DESC
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 '待提交'
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
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
AND INSTR(tsd.dev_type_code,#{devTypeCode})
GROUP BY tsd.dev_type_code
)a
ORDER BY FIELD(a.status, '审阅不通过','审核不通过','审批不通过','待试验','待提交','待审阅','待重新审阅','待审核','待审批','试验完成') ,a.testTime DESC
SELECT DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate,
DATE_FORMAT(DATE_ADD(now(),INTERVAL a.times YEAR), '%Y-%m-%d') AS nextExperTime,
a.times AS times,
custom_id AS customId,
custom_name AS customName,
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,
a.exper_local AS experLocal,
ts.id AS sampleId
FROM tb_sample ts
LEFT JOIN (
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,
ANY_VALUE(tsd.sample_id) AS sample_id,
ANY_VALUE(tsc.times) AS times
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 id,
dev_code AS devCode,
dev_module AS devModule,
dev_type_code AS devTypeCode,
dev_type_name AS devTypeName,
department_id AS departmentId
FROM tb_sample_device
WHERE sample_id = #{id}
AND dev_type_code = #{devTypeCode}
AND del_falg = 0
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 YEAR), '%Y-%m-%d') AS nextExperTime,
tec.times AS times,
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,
te.remarsk AS remarsk,
su.user_name AS experUserName,
te.audit_user_name AS auditUserName,
su.sign_img AS syUrl
FROM tb_exper te
LEFT JOIN tb_custom tc ON te.submit_unit = tc.id AND tc.del_flag = 0
LEFT JOIN sys_user su ON te.update_user = su.id AND su.del_flag = 0
LEFT JOIN tb_exper_config tec on te.dev_type_code = tec.dev_type_code and tec.del_flag = 0
WHERE te.id = #{id}
SELECT id,
exper_id AS configId,
exper_basis_name AS basisName
FROM tb_config_basis WHERE exper_id = #{id}
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 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 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 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,
remarks,
department_id AS departmentId,
dev_id AS devId
FROM tb_exper_dev
WHERE exper_id = #{id}
ORDER BY id
SELECT id FROM tb_exper_dev WHERE exper_id = #{id}
SELECT id FROM tb_exper_dev_items WHERE dev_id IN
#{item}
SELECT id FROM tb_exper_items WHERE exper_id = #{id}
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 COUNT(*)
FROM tb_exper
WHERE id = #{id} AND del_flag = 0 AND (
(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)
)
SELECT COUNT(*) FROM tb_sample
WHERE id IN
#{item}
AND del_flag = 0
AND (
(process_status IS NULL) OR
(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 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 id FROM tb_exper WHERE (id = #{id} OR DATE_FORMAT(exper_time, '%Y-%m-%d') = #{experTime}) AND del_flag = 0 ORDER BY id
SELECT tsd.id,
tsd.dev_code AS devCode,
tsd.dev_module AS devModule,
tsd.department_id AS departmentId,
tsd.id AS devId
FROM tb_sample_device tsd
LEFT JOIN tb_exper_dev ted ON tsd.id = ted.dev_id AND ted.exper_id = #{id}
WHERE tsd.sample_id = #{sampleId} AND tsd.dev_type_code = #{devTypeCode} AND tsd.del_falg = 0 AND ted.id IS NULL
ORDER BY tsd.id
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 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 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
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}