From 85b229604df27e6399e968076e3f366dc30e81b4 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期六, 03 八月 2024 22:35:30 +0800
Subject: [PATCH] 数采bug修复
---
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 80 ++++++++++++++++++++++++++++++----------
1 files changed, 60 insertions(+), 20 deletions(-)
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index c644e16..ea09efc 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -27,7 +27,7 @@
<select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
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
@@ -40,25 +40,26 @@
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 -->
+ LEFT JOIN (
SELECT *
FROM ins_sample_user u
- WHERE (ins_sample_id, id) IN (
+ 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
+ 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 )
@@ -71,7 +72,7 @@
) 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
+ 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>
@@ -79,11 +80,14 @@
) 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
+ 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>
@@ -92,7 +96,7 @@
<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,<!--(ios.verify_user = #{userId})--> verify_user
FROM
(
SELECT
@@ -101,30 +105,55 @@
io.type,
io.appointed,
io.send_time,
- io.sample_type,
+ group_concat(distinct isa.sample,' ') sampleType,
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 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
@@ -183,7 +212,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.*,
@@ -245,6 +274,7 @@
select name_en
from `center-lims`.product
where name = #{sample}
+ limit 1
</select>
<select id="selectSampleProductListByOrderId2" resultMap="sampleDto">
select isa.*,
@@ -274,7 +304,8 @@
method,
man_day,
bsm,
- tell as ask,
+ ask,
+ tell,
`last_value`,
ip.ins_result ip_ins_result,
state,
@@ -292,7 +323,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>
@@ -373,6 +404,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,
@@ -423,6 +455,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,
@@ -473,6 +506,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>
@@ -610,6 +644,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