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 | 252 +++++++++++++++++++++----------------------------- 1 files changed, 107 insertions(+), 145 deletions(-) diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml index 31aa13f..f9bc603 100644 --- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml +++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml @@ -23,23 +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.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 = a.son_laboratory ORDER BY ins_time DESC LIMIT 1) AS ins_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, @@ -47,22 +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.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 @@ -70,19 +79,14 @@ 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, @@ -91,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> @@ -104,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, @@ -113,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 ( @@ -132,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 @@ -179,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, @@ -212,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 @@ -220,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.*, @@ -263,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, @@ -274,7 +269,10 @@ 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, @@ -289,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} @@ -333,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, @@ -344,7 +342,10 @@ 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, @@ -359,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 @@ -376,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, @@ -406,65 +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, - ipr.before_check, - ipr.after_check, - 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, @@ -480,45 +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, - ipr.before_check, - ipr.after_check, - 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, @@ -537,21 +490,17 @@ 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"> @@ -585,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, @@ -596,7 +545,10 @@ 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, @@ -610,10 +562,10 @@ 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 @@ -653,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, @@ -664,7 +616,10 @@ 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, @@ -678,10 +633,10 @@ 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 @@ -719,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, @@ -730,7 +685,10 @@ 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, @@ -744,10 +702,10 @@ 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 @@ -852,7 +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="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"/> @@ -867,7 +826,10 @@ <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"> @@ -934,7 +896,7 @@ </select> <select id="selectInsSample" resultType="com.yuanchu.mom.pojo.InsSample"> select isa.*, - case when entrust_code is null then out_entrust_code else entrust_code end as entrust_code + 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 -- Gitblit v1.9.3