From a0765e814de4526fdd4d949d7e34fcd7e8529ced Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期五, 02 八月 2024 23:11:07 +0800 Subject: [PATCH] 数采调整·完成 --- inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 54 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 36 insertions(+), 18 deletions(-) diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml index 681ec55..4e1996c 100644 --- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml @@ -62,32 +62,50 @@ from ( SELECT io.*, + isau.user_id assign, ir.id report_id, ir.url, ir.url_s, - (select count(*) from ins_sample isa2 - where isa2.ins_order_id = io.id and isa2.sample_code NOT REGEXP '/') sample_num, - concat(ROUND((select count(*) from ins_product ip - where state = 1 and ins_result is not null and ip.ins_sample_id in (select id from ins_sample where - ins_sample.ins_order_id= io.id )) / (select count(*) from ins_product ip2 - where state = 1 and ip2.ins_sample_id in (select id from ins_sample where ins_sample.ins_order_id= io.id )) * - 100, 2), '%') insProgress, - group_concat(distinct isa.sample_code,' ') sample_code, - group_concat(distinct isa.sample,' ') sample_name, - group_concat(distinct isa.model,' ') sample_model, + sample_counts.sample_num, + CONCAT(ROUND(approved_product_counts.approved_count / total_product_counts.total_count * 100, 2), '%') AS insProgress, + GROUP_CONCAT(DISTINCT isa.sample_code SEPARATOR ' ') AS sample_code, + GROUP_CONCAT(DISTINCT isa.sample SEPARATOR ' ') AS sample_name, + GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model, u.name FROM ins_order io - LEFT JOIN ins_sample isa ON io.id = isa.ins_order_id - LEFT JOIN ( SELECT id, ins_order_id, is_ratify, url,url_s FROM ins_report WHERE is_ratify = 1 ) ir ON io.id = - ir.ins_order_id - left join user u on io.create_user = u.id - where 1=1 + LEFT JOIN + ins_sample isa ON io.id = isa.ins_order_id + LEFT JOIN + ins_sample_user isau ON isau.ins_sample_id = io.id + LEFT JOIN + (SELECT id, ins_order_id, is_ratify, url, url_s FROM ins_report WHERE is_ratify = 1) ir ON io.id = ir.ins_order_id + LEFT JOIN + user u ON io.create_user = u.id + LEFT JOIN + (SELECT ins_order_id, COUNT(*) AS sample_num + FROM ins_sample + WHERE id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s ) + GROUP BY ins_order_id) sample_counts ON io.id = sample_counts.ins_order_id + LEFT JOIN + (SELECT ins_sample.ins_order_id, COUNT(*) AS total_count + FROM ins_product + JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id + WHERE ins_product.state = 1 + GROUP BY ins_sample.ins_order_id) total_product_counts ON io.id = total_product_counts.ins_order_id + LEFT JOIN + (SELECT ins_sample.ins_order_id, COUNT(*) AS approved_count + FROM ins_product + JOIN ins_sample ON ins_product.ins_sample_id = ins_sample.id + WHERE ins_product.state = 1 AND ins_product.ins_result IS NOT NULL + GROUP BY ins_sample.ins_order_id) approved_product_counts ON io.id = approved_product_counts.ins_order_id + WHERE + 1=1 <if test="laboratory!=null and laboratory!=''"> - and io.laboratory=#{laboratory} + AND io.laboratory=#{laboratory} </if> - GROUP BY - io.id + GROUP BY io.id,type + order by type desc,io.id desc ) a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} -- Gitblit v1.9.3