From 91ab1a15515c4c213b2ac4f777a7f20c3d0d59ad Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 28 三月 2025 13:49:53 +0800 Subject: [PATCH] 一个订单在每个站点检验都需要扫码入库报检,在中间站点复核继续试验之后默认自动将样品出库,且在列表中也不需要再展示出来,到最后一步复核结束反而是需要手动去出库不能自动出库,且出库之后也不需要在页面展示 --- inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 289 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 144 insertions(+), 145 deletions(-) diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml index b03de3c..f9bc603 100644 --- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml @@ -23,13 +23,28 @@ <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> </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.is_out, + ios.laboratory son_laboratory, + 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 = 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,23 +52,26 @@ io.type, io.appointed, io.send_time, - group_concat(distinct isa.sample,' ') sample, + isa.id sampleId, + isa.sample sample, + isa.sample_code sampleCode, userName, + userNameId, checkName, - ip.son_laboratory, - io.ins_time, - io.laboratory + io.laboratory, + io.state FROM ins_order io LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id LEFT JOIN ( SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName + ,GROUP_CONCAT( DISTINCT uu.id SEPARATOR ',') AS userNameId 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 + ) 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,19 +79,15 @@ 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 + )isu2 ON isu2.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 + ON ios.ins_order_id = a.id AND ios.laboratory = #{sonLaboratory} 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, @@ -81,7 +95,9 @@ ios.create_time ) b where ins_state is not null + and (is_out is null or is_out !=1) and son_laboratory=#{sonLaboratory} + and state =1 <if test="laboratory!=null and laboratory!=''"> and laboratory=#{laboratory} </if> @@ -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,ios.laboratory son_laboratory FROM + ins_order_state ios + LEFT JOIN ( SELECT io.id, @@ -103,16 +121,18 @@ 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, io.ins_time, - io.laboratory + io.laboratory, + io.state 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,36 +142,29 @@ 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 + ) isu ON isu.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 ) </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 + ON ios.ins_order_id = a.id AND ios.laboratory = #{sonLaboratory} 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> + and state=1 ORDER BY - <!--a.user_id DESC,--> a.type DESC, a.id ) b @@ -169,6 +182,7 @@ inspection_item_class_en, inspection_item_subclass, inspection_item_subclass_en, + ip.factory ip_factory, ip.laboratory ip_laboratory, ip.sample_type ip_sample_type, @@ -202,7 +216,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 @@ -210,15 +224,6 @@ left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null) s) - order by case - when man_hour_group is NULL then 1 - when man_hour_group = '' then 1 - else 0 end, - CASE - WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴� - WHEN man_hour_group REGEXP '[0-9]+' - THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒� - , id asc </select> <select id="getInsOrderAndSample" resultMap="sampleDto"> select isa.*, @@ -253,7 +258,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 +268,11 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.before_note, + ipr.after_check, + ipr.after_note, + ipr.test_result, ipr2.frequency, ipr2.often, ipr2.port, @@ -277,11 +287,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 +331,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 +341,11 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.before_note, + ipr.after_check, + ipr.after_note, + ipr.test_result, ipr2.frequency, ipr2.often, ipr2.port, @@ -345,14 +360,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 @@ -362,21 +378,21 @@ </select> <select id="selectSampleProductListByOrderId2" resultMap="sampleDto"> select isa.*, - ios.num num1, - ip.id ip_id, + ios.num num1, + ip.id ip_id, inspection_item, inspection_item_en, inspection_item_subclass, inspection_item_subclass_en, inspection_item_class, inspection_item_class_en, - ip.factory ip_factory, - ip.laboratory ip_laboratory, - ip.sample_type ip_sample_type, - ip.sample ip_sample, - ip.model ip_model, + ip.factory ip_factory, + ip.laboratory ip_laboratory, + ip.sample_type ip_sample_type, + ip.sample ip_sample, + ip.model ip_model, son_laboratory, - ip.unit ip_unit, + ip.unit ip_unit, price, man_hour, man_hour_group, @@ -392,63 +408,40 @@ ask, tell, `last_value`, - ip.ins_result ip_ins_result, + ip.ins_result ip_ins_result, state, - ins_sample_id, - ip.create_user ip_create_user, - ip.update_user ip_update_user, - ip.create_time ip_create_time, - ip.update_time ip_update_time, + ip.ins_sample_id, + ip.create_user ip_create_user, + ip.update_user ip_update_user, + ip.create_time ip_create_time, + ip.update_time ip_update_time, template_id, - ipr.ins_value, - ipr.com_value, - ipr.equip_value, - ipr2.frequency, - ipr2.often, - ipr2.port, - ipr2.angle, - ipr2.value, - ipr2.result, - ipr2.equip_value equipValue2, - ipr2.equip_name equipName2, + ip.method_s 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} and ip.standard_method_list_id is not null and state = 1 - and (ipr2.num = ios.num or ipr2.num is null) - and (ipr.num = ios.num or ipr.num is null) - order by case - when man_hour_group is NULL then 1 - when man_hour_group = '' then 1 - else 0 end, - CASE - WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴� - WHEN man_hour_group REGEXP '[0-9]+' - THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒� - , id asc </select> <select id="selectSampleProductListByOrder2Id2" resultMap="sampleDto"> select isa.*, - ios.num num1, - ip.id ip_id, + ios.num num1, + ip.id ip_id, inspection_item, inspection_item_en, inspection_item_subclass, inspection_item_subclass_en, inspection_item_class, inspection_item_class_en, - ip.factory ip_factory, - ip.laboratory ip_laboratory, - ip.sample_type ip_sample_type, - ip.sample ip_sample, - ip.model ip_model, + ip.factory ip_factory, + ip.laboratory ip_laboratory, + ip.sample_type ip_sample_type, + ip.sample ip_sample, + ip.model ip_model, son_laboratory, - ip.unit ip_unit, + ip.unit ip_unit, price, man_hour, man_hour_group, @@ -464,43 +457,21 @@ ask, tell, `last_value`, - ip.ins_result ip_ins_result, + ip.ins_result ip_ins_result, state, - ins_sample_id, - ip.create_user ip_create_user, - ip.update_user ip_update_user, - ip.create_time ip_create_time, - ip.update_time ip_update_time, + ip.ins_sample_id, + ip.create_user ip_create_user, + ip.update_user ip_update_user, + ip.create_time ip_create_time, + ip.update_time ip_update_time, template_id, - ipr.ins_value, - ipr.com_value, - ipr.equip_value, - ipr2.frequency, - ipr2.often, - ipr2.port, - ipr2.angle, - ipr2.value, - ipr2.result, - ipr2.equip_value equipValue2, - ipr2.equip_name equipName2, ip.method_s 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} and ip.standard_method_list_id is not null and state = 1 - order by case - when man_hour_group is NULL then 1 - when man_hour_group = '' then 1 - else 0 end, - CASE - WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴� - WHEN man_hour_group REGEXP '[0-9]+' - THEN CAST(SUBSTRING(man_hour_group, 2) AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒� - , id asc </select> <select id="selectSampleProductListByOrderId3" resultMap="sampleDto3"> select isa.id, @@ -518,21 +489,18 @@ 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=","> #{id} </foreach> - order by case when man_hour_group is NULL then 1 - when man_hour_group ='' then 1 else 0 end, - CASE - WHEN man_hour_group REGEXP '^[0-9]' THEN CAST(man_hour_group AS UNSIGNED) -- 濡傛灉浠ユ暟瀛楀紑澶达紝鍒欐寜鐓ф暟瀛楀ぇ灏忔帓搴� - WHEN man_hour_group REGEXP '[0-9]+' THEN CAST(SUBSTRING(man_hour_group, 2)AS UNSIGNED) END -- 鎻愬彇瀛楁瘝鍚庨潰鐨勬暟瀛楅儴鍒� - ,id asc </select> <select id="getInsProduct1" resultMap="product"> @@ -566,7 +534,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 +544,11 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.before_note, + ipr.after_check, + ipr.after_note, + ipr.test_result, ipr2.frequency, ipr2.often, ipr2.port, @@ -589,17 +562,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 +605,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 +615,11 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.before_note, + ipr.after_check, + ipr.after_note, + ipr.test_result, ipr2.frequency, ipr2.often, ipr2.port, @@ -655,15 +633,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 +674,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 +684,11 @@ ipr.com_value, ipr.equip_value, ipr.equip_name, + ipr.before_check, + ipr.before_note, + ipr.after_check, + ipr.after_note, + ipr.test_result, ipr2.frequency, ipr2.often, ipr2.port, @@ -719,16 +702,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 +810,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 +825,11 @@ <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="beforeNote" column="before_note" jdbcType="VARCHAR"/> + <result property="afterCheck" column="after_check" jdbcType="VARCHAR"/> + <result property="afterNote" column="after_note" jdbcType="VARCHAR"/> + <result property="testResult" column="test_result" jdbcType="VARCHAR"/> <result property="equipName" column="equip_name" jdbcType="VARBINARY"/> </resultMap> <resultMap id="insProductResult2" type="com.yuanchu.mom.pojo.InsProductResult2"> @@ -905,7 +895,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 +904,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