From d66f0c050774909b2db1c783d6e3aebc6405f231 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 10 八月 2024 22:11:48 +0800
Subject: [PATCH] 报告优化
---
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 168 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 112 insertions(+), 56 deletions(-)
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index f1b69e5..0e0b515 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -25,66 +25,72 @@
</resultMap>
<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,verify_user
- FROM
- (
+ <!--SELECT *
+ FROM (
+ SELECT *
+ FROM (
SELECT
io.id,
io.entrust_code,
io.type,
io.appointed,
io.send_time,
- group_concat(distinct isa.sample,' ') sample,
- isu.user_id,
- user.name userName,
+ GROUP_CONCAT(DISTINCT isa.sample SEPARATOR ' ') AS sample,
+ isu.userName,
+ isu2.checkName,
ip.son_laboratory,
io.ins_time,
- io.laboratory
+ io.laboratory,
+ ios.ins_state,
+ ios.verify_tell,
+ ios.verify_user
FROM
ins_order io
LEFT JOIN ins_sample isa ON isa.ins_order_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
+ 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
) isu ON isu.ins_sample_id = io.id
+ LEFT JOIN (
+ SELECT
+ ins_sample_id,
+ uu.name AS 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
+ ) isu2 ON isu2.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 ins_order_state ios ON ios.ins_order_id = io.id AND ios.laboratory = ip.son_laboratory
WHERE
io.state = 1
- and send_time is not null
- <if test="userId !=null and userId!=''">
- and (isu.user_id = #{userId} OR isu.user_id is NULL )
+ AND io.send_time IS NOT NULL
+ AND (ip.son_laboratory = #{sonLaboratory} OR isu.userName IS NULL OR isu2.checkName IS NULL)
+ <if test="userName != null and userName != ''">
+ AND (isu.userName LIKE CONCAT('%', #{userName}, '%') OR isu2.checkName LIKE CONCAT('%', #{userName}, '%'))
</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 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
+ io.id, ip.son_laboratory
ORDER BY
- a.type DESC,
- a.id
- ) b
- where ins_state is not null-->
-
+ io.type DESC, io.id
+ ) a
+ WHERE
+ a.ins_state IS NOT NULL
+ <if test="laboratory != null and laboratory != ''">
+ AND a.laboratory = #{laboratory}
+ </if>
+ ) b-->
select * from(select * from(
SELECT
a.*,ios.ins_state,ios.verify_tell,verify_user
@@ -105,45 +111,41 @@
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
- FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id
+ 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
+ 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
+ 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},'%') ) )
+ 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
+ and son_laboratory=#{sonLaboratory}
<if test="laboratory!=null and laboratory!=''">
and laboratory=#{laboratory}
</if>
@@ -209,7 +211,7 @@
) isu2 on
isu2.ins_sample_id = a.id
where ins_state is not null
- <if test="laboratory != null and laboratory!=''">
+ <if test="laboratory != null and laboratory != ''">
and laboratory=#{laboratory}
</if>
ORDER BY
@@ -272,7 +274,8 @@
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 '/'-->
+ isa.id in(select id1 from (select is2.id id1 ,ip.id from ins_sample is2 left join ins_product ip on is2.id = ip.ins_sample_id where ip.id is not null)s )
</select>
<select id="getInsOrderAndSample" resultMap="sampleDto">
select isa.*,
@@ -327,8 +330,6 @@
where ins_order_id = #{id}
and state = 1
and ip.son_laboratory = #{laboratory}
- and ins_fiber_id is null
- and ins_fibers_id is null
</select>
<select id="getSampleEn" resultType="java.lang.String">
select name_en
@@ -390,6 +391,7 @@
<select id="selectSampleProductListByOrderId3" resultMap="sampleDto3">
select isa.id,
sample_code,
+ isa.sample,
entrust_code,
is_leave,
isa.model,
@@ -568,6 +570,59 @@
and ins_fibers_id is null
and standard_method_list_id is not null
</select>
+
+ <select id="getInsProduct4" resultMap="product">
+ select ip.id ip_id,
+ inspection_item,
+ inspection_item_en,
+ inspection_item_class,
+ 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,
+ ip.sample ip_sample,
+ ip.model ip_model,
+ ip.ins_bush_id,
+ son_laboratory,
+ ip.unit ip_unit,
+ price,
+ man_hour,
+ man_hour_group,
+ inspection_item_type,
+ inspection_value_type,
+ device_group,
+ checkout_number,
+ section,
+ value_type,
+ method,
+ man_day,
+ bsm,
+ ask,
+ `last_value`,
+ 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,
+ template_id,
+ ipr.ins_value,
+ ipr.com_value,
+ ipr.equip_value,
+ ipr.equip_name,
+ ip.method_s,
+ ip.tell,
+ ip.dic
+ from ins_product ip
+ left join ins_product_result ipr on ip.id = ipr.ins_product_id
+ where ins_bush_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>
@@ -627,6 +682,7 @@
<result property="lastValue" column="last_value" jdbcType="VARCHAR"/>
<result property="insResult" column="ip_ins_result" jdbcType="INTEGER"/>
<result property="state" column="state" jdbcType="INTEGER"/>
+ <result property="insBushId" column="ins_bush_id" jdbcType="INTEGER"/>
<result property="insSampleId" column="ins_sample_id" jdbcType="INTEGER"/>
<result property="createUser" column="ip_create_user" jdbcType="INTEGER"/>
<result property="updateUser" column="ip_update_user" jdbcType="INTEGER"/>
--
Gitblit v1.9.3