From 9f19d3a24f8474bf6f9eb9401888c44b34b381e6 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 21 十一月 2024 14:29:50 +0800 Subject: [PATCH] 第一次改动(检验任务与样品关联,附件与样品关联,报告与样品关联) --- inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 124 +++++++++++++++++++++++++++++------------ 1 files changed, 87 insertions(+), 37 deletions(-) diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml index b03de3c..a69516e 100644 --- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml @@ -25,11 +25,25 @@ </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,verify_user,ios.id - orderStateId,ios.create_time,ios.sort,sort_time,version,ios.num-1 num1 + a.*, + ios.ins_state, + ios.verify_tell, + verify_user, + ios.id orderStateId, + ios.create_time, + (SELECT ins_time FROM ins_order_state WHERE ins_order_id = a.id AND laboratory = a.son_laboratory and + ins_order_state.ins_sample_id=a.sampleId ORDER BY ins_time DESC LIMIT 1) AS ins_time , + iou.submit_time , + ios.sort, + sort_time, + version, + ios.num-1 num1 FROM + ins_order_state ios + LEFT JOIN ( SELECT io.id, @@ -37,11 +51,12 @@ io.type, io.appointed, io.send_time, - group_concat(distinct isa.sample,' ') sample, + isa.id sampleId, + isa.sample sample, + isa.sample_code sampleCode, userName, checkName, ip.son_laboratory, - io.ins_time, io.laboratory FROM ins_order io @@ -53,7 +68,7 @@ and u.state=0 GROUP BY ins_sample_id ORDER BY ins_sample_id - ) isu ON isu.ins_sample_id = io.id + ) isu ON isu.ins_sample_id = isa.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 @@ -61,7 +76,7 @@ and u.state=1 GROUP BY ins_sample_id ORDER BY ins_sample_id - )isu2 ON isu2.ins_sample_id = io.id + )isu2 ON isu2.ins_sample_id = isa.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!=''"> @@ -73,7 +88,8 @@ 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 + ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and ios.ins_sample_id=a.sampleId + LEFT JOIN ins_order_user iou ON ios.id = iou.ins_order_state_id and ios.num=iou.num ORDER BY ios.sort, sort_time desc, @@ -94,8 +110,10 @@ <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 + a.*,ios.ins_state,ios.verify_tell,isu2.order_user_id,verify_user FROM + ins_order_state ios + LEFT JOIN ( SELECT io.id, @@ -103,7 +121,9 @@ io.type, io.appointed, io.send_time, - group_concat(distinct isa.sample,' ') sampleType, + isa.id sampleId, + isa.sample sampleType, + isa.sample_code sampleCode, isu.user_id, user.name userName, ip.son_laboratory, @@ -112,7 +132,7 @@ 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 --> + LEFT JOIN ( SELECT * FROM ins_sample_user u WHERE son_laboratory=#{sonLaboratory} and (ins_sample_id, id) IN ( @@ -122,12 +142,11 @@ GROUP BY ins_sample_id ) ORDER BY ins_sample_id, id - ) isu ON isu.ins_sample_id = io.id + ) isu ON isu.ins_sample_id = isa.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 <if test="userId !=null and userId!=''"> and (isu.user_id = #{userId} OR isu.user_id is NULL ) @@ -137,21 +156,21 @@ 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 + ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory and a.sampleId=ios.ins_sample_id + 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 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 + isu2.ins_sample_id = a.sampleId where ins_state is not null <if test="laboratory != null and laboratory != ''"> and a.laboratory=#{laboratory} </if> ORDER BY - <!--a.user_id DESC,--> a.type DESC, a.id ) b @@ -202,7 +221,7 @@ ip.method_s from ins_sample isa left join ins_product ip on isa.id = ip.ins_sample_id - where isa.ins_order_id = #{id} + where isa.id = #{id} and state = 1 and isa.id in (select id1 from (select is2.id id1, ip.id @@ -253,7 +272,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -263,6 +282,8 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.after_check, ipr2.frequency, ipr2.often, ipr2.port, @@ -277,11 +298,11 @@ ip.temperature, ip.humidity from ins_sample isa - left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id + left join ins_order_state ios on isa.id = ios.ins_sample_id 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 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where isa.ins_order_id = #{id} + where isa.id = #{sampleId} and state = 1 and ip.son_laboratory = #{laboratory} and ios.laboratory = #{laboratory} @@ -321,7 +342,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -331,6 +352,8 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.after_check, ipr2.frequency, ipr2.often, ipr2.port, @@ -345,14 +368,15 @@ ip.temperature, ip.humidity from ins_sample isa - left join ins_order_state ios on isa.ins_order_id = ios.ins_order_id + left join ins_order_state ios on isa.id = ios.ins_sample_id 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 left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where isa.ins_order_id = #{id} + where isa.id = #{sampleId} and state = 1 and ip.son_laboratory = #{laboratory} and ios.laboratory = #{laboratory} + and (ipr2.num is null or ipr.num is null) </select> <select id="getSampleEn" resultType="java.lang.String"> select name_en @@ -403,6 +427,8 @@ ipr.ins_value, ipr.com_value, ipr.equip_value, + ipr.before_check, + ipr.after_check, ipr2.frequency, ipr2.often, ipr2.port, @@ -475,6 +501,8 @@ ipr.ins_value, ipr.com_value, ipr.equip_value, + ipr.before_check, + ipr.after_check, ipr2.frequency, ipr2.often, ipr2.port, @@ -518,10 +546,13 @@ ip.sample ip_sample, ip.model ip_model, ip.state, + io.issue_time, + u.name issueName, ins_sample_id from ins_sample isa left join ins_product ip on isa.id = ip.ins_sample_id left join ins_order io on io.id = ins_order_id + left join user u on io.issue_user = u.id where ip.state = 1 and ins_order_id in <foreach collection="ids" open="(" close=")" item="id" separator=","> @@ -566,7 +597,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -576,6 +607,8 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.after_check, ipr2.frequency, ipr2.often, ipr2.port, @@ -589,17 +622,17 @@ ip.dic from ins_product ip left join ins_sample isa on ip.ins_sample_id = isa.id - left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id + left join ins_order_state ios on ios.ins_sample_id = isa.id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where ins_sample_id = #{id} + where ios.ins_sample_id = #{id} and state = 1 and ip.son_laboratory = #{laboratory} and ip.standard_method_list_id is not null and ios.laboratory = #{laboratory} and (ipr2.num = ios.num or ipr2.num is null) and (ipr.num = ios.num or ipr.num is null) - order by ipr.id, ipr2.id + order by ip.id, ipr.id, ipr2.id </select> <select id="getIns2Product1" resultMap="product"> select ip.id ip_id, @@ -632,7 +665,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -642,6 +675,8 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.after_check, ipr2.frequency, ipr2.often, ipr2.port, @@ -655,15 +690,15 @@ ip.dic from ins_product ip left join ins_sample isa on ip.ins_sample_id = isa.id - left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id + left join ins_order_state ios on ios.ins_sample_id = isa.id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where ins_sample_id = #{id} + where ios.ins_sample_id = #{id} and state = 1 and ip.son_laboratory = #{laboratory} and ip.standard_method_list_id is not null and ios.laboratory = #{laboratory} - order by ipr.id, ipr2.id + order by ip.id, ipr.id, ipr2.id </select> <select id="get2InsProduct1" resultMap="product"> select ip.id ip_id, @@ -696,7 +731,7 @@ `last_value`, ip.ins_result ip_ins_result, state, - ins_sample_id, + ios.ins_sample_id, ip.create_user ip_create_user, ip.update_user ip_update_user, ip.create_time ip_create_time, @@ -706,6 +741,8 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.after_check, ipr2.frequency, ipr2.often, ipr2.port, @@ -719,16 +756,16 @@ ip.dic from ins_product ip left join ins_sample isa on ip.ins_sample_id = isa.id - left join ins_order_state ios on ios.ins_order_id = isa.ins_order_id + left join ins_order_state ios on ios.ins_sample_id = isa.id left join ins_product_result ipr on ip.id = ipr.ins_product_id left join ins_product_result_2 ipr2 on ip.id = ipr2.ins_product_id - where ins_sample_id = #{id} + where ios.ins_sample_id = #{id} and state = 1 and ip.son_laboratory = #{laboratory} and ip.standard_method_list_id is not null and ios.laboratory = #{laboratory} and (ipr2.num = #{num} or ipr.num = #{num}) - order by ipr.id, ipr2.id + order by ip.id, ipr.id, ipr2.id </select> <select id="getReportModel" resultType="java.util.Map"> @@ -827,6 +864,8 @@ <result property="insState" column="ins_state" jdbcType="INTEGER"/> <result property="joinNum" column="join_num" jdbcType="INTEGER"/> <result property="remark" column="remark" jdbcType="VARCHAR"/> + <result property="issueTime" column="issue_time"/> + <result property="issueName" column="issueName"/> <result property="createUser" column="create_user" jdbcType="INTEGER"/> <result property="updateUser" column="update_user" jdbcType="INTEGER"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> @@ -840,6 +879,8 @@ <result property="insValue" column="ins_value" jdbcType="VARCHAR"/> <result property="comValue" column="com_value" jdbcType="VARCHAR"/> <result property="equipValue" column="equip_value" jdbcType="VARCHAR"/> + <result property="beforeCheck" column="before_check" jdbcType="VARCHAR"/> + <result property="afterCheck" column="after_check" jdbcType="VARCHAR"/> <result property="equipName" column="equip_name" jdbcType="VARBINARY"/> </resultMap> <resultMap id="insProductResult2" type="com.yuanchu.mom.pojo.InsProductResult2"> @@ -905,7 +946,8 @@ and ip.id is not null </select> <select id="selectInsSample" resultType="com.yuanchu.mom.pojo.InsSample"> - select isa.*,entrust_code + select isa.*, + case when entrust_code is null then out_entrust_code else entrust_code end as entrust_code from ins_sample isa left join ins_order io on isa.ins_order_id = io.id where ins_order_id in @@ -913,4 +955,12 @@ #{id} </foreach> </select> + <select id="selectSample" resultType="com.yuanchu.mom.pojo.InsSample"> + select distinct isa.* + from ins_sample isa + left join ins_product ip on isa.id = ip.ins_sample_id + where son_laboratory = '鐢佃矾璇曢獙' + and state = 1 + and ins_order_id = #{insOrderId} + </select> </mapper> -- Gitblit v1.9.3