From 43ee95fbdcb6fe0a9d548d0935c23c232d5ffeaa Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期五, 12 十一月 2021 12:49:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml | 159 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 147 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml index 9823b84..661eba9 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml @@ -102,11 +102,14 @@ FROM ( SELECT - sr.*, ss.meta_value AS product_home_name, + sr.*, + ss.meta_value AS product_home_name, + ss.order_index, bm.meta_value AS control_products_name, supplier. NAME AS supplierName, f.id favor, - f.create_time favortime + f.create_time favortime, + supplier.valid_flag as supplierFlag FROM sys_reagent AS sr LEFT JOIN base_meta AS ss ON sr.product_home = ss.id @@ -116,6 +119,7 @@ AND f.user_id= #{user} WHERE f.id IS NOT NULL and sr.valid_flag = 1 + and (supplier.valid_flag = 1 or sr.type = 0) and sr.type != 3 <if test="cas != null and cas != ''"> and sr.cas like concat("%", #{cas} ,"%") @@ -130,12 +134,15 @@ and sr.product_sn like concat("%", #{productSn} ,"%") </if> UNION ALL - SELECT - sr.*, ss.meta_value AS product_home_name, + (SELECT + sr.*, + ss.meta_value AS product_home_name, + ss.order_index, bm.meta_value AS control_products_name, supplier.NAME AS supplierName, f.id favor, - f.create_time favortime + f.create_time favortime, + supplier.valid_flag as supplierFlag FROM sys_reagent AS sr LEFT JOIN base_meta AS ss ON sr.product_home = ss.id @@ -145,6 +152,7 @@ AND f.user_id = #{user} AND f.id IS NULL where sr.valid_flag = 1 + and (supplier.valid_flag = 1 or sr.type = 0) and sr.type != 3 <if test="cas != null and cas != ''"> and sr.cas like concat("%", #{cas} ,"%") @@ -161,8 +169,9 @@ <if test="MaxSize != null"> limit #{MaxSize} </if> + ) ) as reagent - ORDER BY reagent.favortime DESC,length(reagent.name),price asc + ORDER BY reagent.favortime DESC,length(reagent.name),reagent.order_index,price asc <if test="first != null and pageSize != null"> limit #{first}, #{pageSize} </if> @@ -170,13 +179,19 @@ <select id="favorList" parameterType="java.util.Map" resultMap="SysReagent"> - select sr.*, ss.meta_value as product_home_name, bm.meta_value as control_products_name,supplier.name as supplierName,f.id favor,f.create_time favortime + select sr.*, ss.meta_value as product_home_name, + bm.meta_value as control_products_name, + supplier.name as supplierName, + f.id favor, + f.create_time favortime, + supplier.valid_flag as supplierFlag from sys_reagent as sr left join base_meta as ss on sr.product_home = ss.id left join base_meta bm on bm.id = sr.control_products left join sys_supplier supplier on supplier.id = sr.supplier_id LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user} where sr.valid_flag = 1 + and (supplier.valid_flag = 1 or sr.type = 0) <choose> <when test="favorFlag != ''"> and f.id is not null @@ -218,6 +233,7 @@ left join sys_supplier supplier on supplier.id = sr.supplier_id LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user} where sr.valid_flag = 1 + and (supplier.valid_flag = 1 or sr.type = 0) <choose> <when test="favorFlag != ''"> and f.id is not null @@ -243,13 +259,12 @@ <select id="getSysReagentListNew" parameterType="java.util.Map" resultMap="SysReagent"> select sr.*, ss.meta_value as product_home_name, ifnull(w.reserve,0) as reserve, bm.meta_value as control_products_name,supplier.name as supplierName from sys_reagent as sr - left join base_meta as ss on sr.product_home = ss.id left join base_meta bm on bm.id = sr.control_products left join (select reagent_id, sum(reserve) reserve from ope_warehouse_reserve where valid_flag = 1 group by reagent_id) w on w.reagent_id = sr.id - left join sys_supplier supplier on supplier.id = sr.supplier_id where sr.valid_flag = 1 + and (supplier.valid_flag = 1 or sr.type = 0) <if test="cas != null and cas != ''"> and sr.cas = #{cas} </if> @@ -277,7 +292,6 @@ left join base_meta as ss on sr.product_home = ss.id left join base_meta bm on bm.id = sr.control_products left join (select reagent_id, sum(reserve) reserve from ope_warehouse_reserve where valid_flag = 1 group by reagent_id) w on w.reagent_id = sr.id - left join sys_supplier supplier on supplier.id = sr.supplier_id LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user} where sr.valid_flag = 1 @@ -295,6 +309,7 @@ left join sys_supplier supplier on supplier.id = sr.supplier_id LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user} where sr.valid_flag = 1 + and (supplier.valid_flag = 1 or sr.type = 0) <if test="cas != null and cas != ''"> and sr.cas like concat("%", #{cas} ,"%") </if> @@ -312,7 +327,9 @@ <select id="getSysReagentTotalCountNew" parameterType="java.util.Map" resultType="int"> select count(1) from sys_reagent as sr + LEFT JOIN sys_supplier ss on ss.id = sr.supplier_id where sr.valid_flag = 1 + and (ss.valid_flag = 1 or sr.type = 0) <if test="cas != null and cas != ''"> and sr.cas = #{cas} </if> @@ -388,8 +405,6 @@ sr.safetynum, sr.name, sr.main_metering, - sr.productSn, - sr.cas, bm1.meta_value reagent_unit, bm2.meta_value reagent_type, bm3.meta_value reagent_format, @@ -471,4 +486,124 @@ set safetynum = #{safetynum} where id = #{id} </update> + + <select id="countReagentByDetail" resultMap="SysReagent"> + select + * + from sys_reagent as sr + left join base_meta bm2 on sr.reagent_character = bm2.id + left join base_meta bm4 on sr.reagent_unit = bm4.id + left join base_meta bm5 on sr.product_home = bm5.id + left join base_meta bm6 on sr.reagent_format = bm6.id + left join base_meta bm7 on sr.reagent_type = bm7.id + left join sys_supplier supply on sr.supplier_id = supply.id + + <where> + sr.valid_flag = 1 + <if test="params.packing != null and params.packing != ''"> + and UPPER(concat(sr.main_metering,bm4.meta_value) ) = UPPER(#{params.packing}) + </if> + <if test="params.product_home != null and params.product_home != ''"> + and bm5.meta_value = #{params.product_home} + </if> + <if test="params.reagent_character != null and params.reagent_character != ''"> + and bm2.meta_value = #{params.reagent_character} + </if> + <if test="params.reagent_format != null and params.reagent_format != ''"> + and bm6.meta_value = #{params.reagent_format} + </if> + <if test="params.reagent_type != null and params.reagent_type != ''"> + and bm7.meta_value = #{params.reagent_type} + </if> + <if test="params.cas != null and params.cas != ''"> + and sr.cas = #{params.cas} + </if> + <if test="params.product_sn != null and params.product_sn != ''"> + and sr.product_sn = #{params.product_sn} + </if> + <if test="params.name != null and params.name != ''"> + and sr.name = #{params.name}; + </if> + </where> + + + + + </select> + <select id="getRowData" resultMap="SysReagent"> + select + a.*, + main_metering, + reagent_unit, + reagent_format, + product_home, + b.meta_value unitName, + c.meta_value formatName, + d.meta_value product_home_name, + e.meta_value control_products_name, + s.name AS supplierName, + s.valid_flag as supplierFlag + from sys_reagent a + left join base_meta b on b.id=a.reagent_unit + left join base_meta c on c.id=a.reagent_format + left join base_meta d on d.id=a.product_home + left join base_meta e on e.id=a.control_products + left join sys_supplier s ON s.id = a.supplier_id + where a.id = #{id} + + </select> + <select id="getSysReagentListNewRowData" resultMap="SysReagent"> + select sr.*, ss.meta_value as product_home_name, ifnull(w.reserve,0) as reserve, bm.meta_value as control_products_name,supplier.name as supplierName + from sys_reagent as sr + + left join base_meta as ss on sr.product_home = ss.id + left join base_meta bm on bm.id = sr.control_products + left join (select reagent_id, sum(reserve) reserve from ope_warehouse_reserve where valid_flag = 1 group by reagent_id) w on w.reagent_id = sr.id + + left join sys_supplier supplier on supplier.id = sr.supplier_id + where sr.id = #{id} + </select> + <select id="selectAll" resultType="java.util.Map"> + select + sr.name, + sr.product_sn as productSn, + sr.cas, + sr.price, + sr.per_box as perBox, + sr.safetynum, + + CASE WHEN type = 0 THEN '耗材' WHEN type = 1 THEN '试剂' ELSE '' END AS kind, + ss.meta_value as productHomeName, + bm.meta_value as control_products_name, + supplier.name as supplierName, + bm1.meta_value as reagentType, + bm2.meta_value as reagentCharacter, + bm3.meta_value as reagentFormat, + CONCAT(sr.main_metering,bm4.meta_value) as reagentUnit + from sys_reagent as sr + left join base_meta as ss on sr.product_home = ss.id + left join base_meta bm on bm.id = sr.control_products + left join base_meta bm1 on bm1.id = sr.reagent_type + left join base_meta bm2 on bm2.id = sr.reagent_character + left join base_meta bm3 on bm3.id = sr.reagent_format + left join base_meta bm4 on bm4.id = sr.reagent_unit + left join sys_supplier supplier on supplier.id = sr.supplier_id + where sr.valid_flag = 1 + <if test="cas != null and cas != ''"> + and sr.cas = #{cas} + </if> + <if test="supplierId != null and supplierId != ''"> + and sr.supplier_id = #{supplierId} + </if> + <if test="name != null and name != ''"> + and sr.name like concat("%", #{name} ,"%") + </if> + <if test="type != null"> + and sr.type = #{type} + </if> + <if test="productSn != null and productSn != ''"> + and sr.product_sn like concat("%", #{productSn} ,"%") + </if> + ORDER BY length(sr.name),sr.create_time desc + </select> </mapper> -- Gitblit v1.9.2