From 87794ed4e7b7cf7b13f7deef5da3e3ff03255d81 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期日, 04 八月 2024 23:01:09 +0800 Subject: [PATCH] 检验任务负责人展示修改 --- inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 174 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 147 insertions(+), 27 deletions(-) diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml index e822231..f1b69e5 100644 --- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml @@ -25,9 +25,9 @@ </resultMap> <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO"> - select * from(select * from( + <!--select * from(select * from( SELECT - a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,(ios.verify_user = #{userId}) verify_user + a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user FROM ( SELECT @@ -38,41 +38,56 @@ io.send_time, group_concat(distinct isa.sample,' ') sample, isu.user_id, + user.name userName, ip.son_laboratory, - io.ins_time + io.ins_time, + io.laboratory FROM ins_order io LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id - LEFT JOIN ( SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id ) isu ON isu.ins_sample_id = io.id + LEFT JOIN ( + SELECT * + FROM ins_sample_user u + WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN ( + SELECT ins_sample_id, MAX(id) + FROM ins_sample_user + WHERE son_laboratory=#{sonLaboratory} + GROUP BY ins_sample_id + ) + ORDER BY ins_sample_id, id + ) isu ON isu.ins_sample_id = io.id LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id + LEFT JOIN user ON isu.user_id = user.id WHERE io.state = 1 - # AND io.ins_state != 5 and send_time is not null - and (isu.user_id = #{userId} OR isu.user_id is NULL) + <if test="userId !=null and userId!=''"> + and (isu.user_id = #{userId} OR isu.user_id is NULL ) + </if> + OR isu.user_id is NULL + GROUP BY ip.son_laboratory, io.id ) a LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM - ins_sample_user GROUP BY ins_sample_id) md where td.id = md.id and user_id = #{userId}) isu2 on + ins_sample_user where son_laboratory=#{sonLaboratory} GROUP BY ins_sample_id) md where td.id = md.id + <if test="userId !=null and userId!=''"> + and user_id = #{userId} OR user_id is NULL + </if> + OR user_id is NULL + ) isu2 on isu2.ins_sample_id = a.id ORDER BY - a.user_id DESC, a.type DESC, a.id ) b - where ins_state is not null)A - <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> - ${ew.customSqlSegment} - </if> - </select> + where ins_state is not null--> - <select id="inspectionOrderDetailsTaskSwitching" resultType="com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo"> - select * from( + select * from(select * from( SELECT - a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,(ios.verify_user = #{userId}) verify_user + a.*,ios.ins_state,ios.verify_tell,verify_user FROM ( SELECT @@ -81,30 +96,124 @@ io.type, io.appointed, io.send_time, - io.sample_type, - isu.user_id, + group_concat(distinct isa.sample,' ') sample, + userName, + checkName, ip.son_laboratory, - io.ins_time + io.ins_time, + io.laboratory FROM ins_order io LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id - LEFT JOIN ( SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id ) isu ON isu.ins_sample_id = io.id + + LEFT JOIN ( + SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName + FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id + WHERE son_laboratory=#{sonLaboratory} + and u.state=0 + GROUP BY ins_sample_id + ORDER BY ins_sample_id + ) isu ON isu.ins_sample_id = io.id + LEFT JOIN ( + SELECT ins_sample_id,uu.name checkName + FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id + WHERE son_laboratory=#{sonLaboratory} + and u.state=1 + GROUP BY ins_sample_id + ORDER BY ins_sample_id + )isu2 ON isu2.ins_sample_id = io.id + LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id + WHERE io.state = 1 and send_time is not null + <if test="userName !=null and userName!=''"> + and ( (userName like CONCAT ('%', #{userName},'%') ) + or (checkName like CONCAT ('%', #{userName},'%') ) ) + </if> + and ip.son_laboratory=#{sonLaboratory} + GROUP BY + ip.son_laboratory, + io.id + ) a + + + + LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory + + ORDER BY + a.type DESC, + a.id + ) b + where ins_state is not null + <if test="laboratory!=null and laboratory!=''"> + and laboratory=#{laboratory} + </if> + )A + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + </select> + + <select id="inspectionOrderDetailsTaskSwitching" resultType="com.yuanchu.mom.vo.InsOrderPlanTaskSwitchVo"> + select * from( + SELECT + a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,<!--(ios.verify_user = #{userId})--> verify_user + FROM + ( + SELECT + io.id, + io.entrust_code, + io.type, + io.appointed, + io.send_time, + group_concat(distinct isa.sample,' ') sampleType, + isu.user_id, + user.name userName, + ip.son_laboratory, + io.ins_time, + io.laboratory + FROM + ins_order io + LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id + LEFT JOIN ( <!--SELECT * FROM ins_sample_user GROUP BY ins_sample_id, user_id --> + SELECT * + FROM ins_sample_user u + WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN ( + SELECT ins_sample_id, MAX(id) + FROM ins_sample_user + WHERE son_laboratory=#{sonLaboratory} + GROUP BY ins_sample_id + ) + ORDER BY ins_sample_id, id + ) isu ON isu.ins_sample_id = io.id + LEFT JOIN ins_product ip ON ip.ins_sample_id = isa.id + LEFT JOIN user ON isu.user_id = user.id WHERE io.state = 1 # AND io.ins_state != 5 and send_time is not null - and (isu.user_id = #{userId} OR isu.user_id is NULL) + <if test="userId !=null and userId!=''"> + and (isu.user_id = #{userId} OR isu.user_id is NULL ) + </if> + OR isu.user_id is NULL GROUP BY ip.son_laboratory, io.id ) a LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory left join (SELECT td.user_id order_user_id, td.ins_sample_id FROM ins_sample_user td,(SELECT max(id) id FROM - ins_sample_user GROUP BY ins_sample_id) md where td.id = md.id and user_id = #{userId}) isu2 on + ins_sample_user where son_laboratory=#{sonLaboratory} GROUP BY ins_sample_id) md where td.id = md.id + <if test="userId !=null and userId!=''"> + and user_id = #{userId} OR user_id is NULL + </if> + OR user_id is NULL + ) isu2 on isu2.ins_sample_id = a.id + where ins_state is not null + <if test="laboratory != null and laboratory!=''"> + and laboratory=#{laboratory} + </if> ORDER BY - a.user_id DESC, + <!--a.user_id DESC,--> a.type DESC, a.id ) b @@ -163,7 +272,7 @@ and state = 1 and ins_fiber_id is null and ins_fibers_id is null - and isa.sample_code NOT REGEXP '/' + and isa.sample_code NOT REGEXP '/' </select> <select id="getInsOrderAndSample" resultMap="sampleDto"> select isa.*, @@ -225,6 +334,7 @@ select name_en from `center-lims`.product where name = #{sample} + limit 1 </select> <select id="selectSampleProductListByOrderId2" resultMap="sampleDto"> select isa.*, @@ -254,7 +364,8 @@ method, man_day, bsm, - tell as ask, + ask, + tell, `last_value`, ip.ins_result ip_ins_result, state, @@ -272,7 +383,7 @@ left join ins_product ip on isa.id = ip.ins_sample_id left join ins_product_result ipr on ip.id = ipr.ins_product_id where ins_order_id = #{id} - and template_id is not null + and ip.standard_method_list_id is not null and state = 1 </select> @@ -353,6 +464,7 @@ and ip.son_laboratory = #{laboratory} and ins_fiber_id is null and ins_fibers_id is null + and standard_method_list_id is not null </select> <select id="getInsProduct2" resultMap="product"> select ip.id ip_id, @@ -403,6 +515,7 @@ where ins_fibers_id = #{id} and state = 1 and ins_fiber_id is null + and standard_method_list_id is not null </select> <select id="getInsProduct3" resultMap="product"> select ip.id ip_id, @@ -453,6 +566,7 @@ where ins_fiber_id = #{id} and state = 1 and ins_fibers_id is null + and standard_method_list_id is not null </select> <select id="getReportModel" resultType="java.util.Map"> </select> @@ -590,6 +704,12 @@ code methodName from ins_sample is2 inner join standard_method sm on standard_method_list_id = sm.id - where is2.id=#{sampleId} + where is2.id = #{sampleId} + </select> + + <select id="selMethodById" resultType="java.lang.String"> + select code + from standard_method + where id = (select standard_method_list_id from ins_sample where id = #{sampleId}) </select> </mapper> -- Gitblit v1.9.3