From c87738a78f57e6f68a0111d68ef3748b29dc1eda Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 23 六月 2021 12:21:59 +0800 Subject: [PATCH] 修改试剂排序 --- src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml | 149 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 114 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml index 682c9e2..b149844 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml @@ -29,6 +29,7 @@ <result property="type" column="type"></result> <result property="unitName" column="unitName"></result> <result property="formatName" column="formatName"></result> + <result property="safetynum" column="safetynum"></result> </resultMap> <sql id="queryWhereSql"> @@ -101,7 +102,9 @@ 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, @@ -115,6 +118,7 @@ AND f.user_id= #{user} WHERE f.id IS NOT NULL and sr.valid_flag = 1 + and sr.type != 3 <if test="cas != null and cas != ''"> and sr.cas like concat("%", #{cas} ,"%") </if> @@ -129,7 +133,9 @@ </if> UNION ALL 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, @@ -143,6 +149,7 @@ AND f.user_id = #{user} AND f.id IS NULL where sr.valid_flag = 1 + and sr.type != 3 <if test="cas != null and cas != ''"> and sr.cas like concat("%", #{cas} ,"%") </if> @@ -159,7 +166,7 @@ limit #{MaxSize} </if> ) as reagent - ORDER BY reagent.favortime DESC,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> @@ -259,7 +266,10 @@ <if test="type != null"> and sr.type = #{type} </if> - ORDER BY sr.create_time desc + <if test="productSn != null and productSn != ''"> + and sr.product_sn like concat("%", #{productSn} ,"%") + </if> + ORDER BY length(sr.name),sr.create_time desc <if test="first != null and pageSize != null"> limit #{first}, #{pageSize} </if> @@ -319,7 +329,9 @@ <if test="type != null"> and sr.type = #{type} </if> - + <if test="productSn != null and productSn != ''"> + and sr.product_sn like concat("%", #{productSn} ,"%") + </if> </select> <select id="getReagentUnitByReagentId" parameterType="java.lang.String" resultType="java.lang.String"> @@ -344,41 +356,64 @@ <select id="getSysReagentByCas" parameterType="com.nanometer.smartlab.entity.SysReagent" resultMap="SysReagent"> select * From sys_reagent where type=1 and valid_flag = 1 - <if test="cas!=null and cas!=''"> - and cas = #{cas} + <if test="productSn!=null and productSn!=''"> + and product_sn = #{productSn} </if> - <if test="cas==null or cas==''"> - and cas is null - </if> - <if test="mainMetering!=null and mainMetering!=''"> - and main_metering = #{mainMetering} - </if> - <if test="mainMetering==null or mainMetering==0"> - and main_metering is null - </if> - <if test="reagentUnit!=null and reagentUnit!=''"> - and reagent_unit=#{reagentUnit} - </if> - <if test="reagentUnit==null or reagentUnit==''"> - and reagent_unit is null - </if> - <if test="reagentFormat!=null and reagentFormat!=''"> - and reagent_format=#{reagentFormat} - </if> - <if test="reagentFormat==null or reagentFormat==''"> - and reagent_format is null - </if> - <if test="productHome!=null and productHome!=''"> - and product_home = #{productHome} - </if> - <if test="productHome==null or productHome==''"> - and product_home is null + <if test="supplierId!=null and supplierId!=''"> + and supplier_id = #{supplierId} </if> </select> + <select id="getReagent" resultMap="SysReagent"> + select * From sys_reagent + where type=3 + and valid_flag = 1 + <if test="name!=null and name!=''"> + and name =#{name} + </if> + <if test="cas!=null and cas!=''"> + and cas =#{cas} + </if> + <if test="packing!=null and packing!=''"> + and reagent_unit =#{packing} + </if> + <if test="factory!=null and factory!=''"> + and product_home =#{factory} + </if> + <if test="specifications!=null and specifications!=''"> + and reagent_format =#{specifications} + </if> + + </select> + <select id="selectReagentSafetyNum" resultMap="SysReagent"> + select + sr.id, + sr.product_sn, + sr.cas, + sr.safetynum, + sr.name, + sr.main_metering, + bm1.meta_value reagent_unit, + bm2.meta_value reagent_type, + bm3.meta_value reagent_format, + bm4.meta_value product_home, + ss.meta_value as product_home_name, + 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 sys_supplier supplier on supplier.id = sr.supplier_id + left join base_meta bm1 on bm1.id = sr.reagent_unit + left join base_meta bm2 on bm2.id = sr.reagent_type + left join base_meta bm3 on bm3.id = sr.reagent_format + left join base_meta bm4 on bm4.id = sr.product_home + where sr.valid_flag = 1 + and sr.type = 1 + and safetynum > 0 + </select> - - <insert id="insertSysReagent" parameterType="com.nanometer.smartlab.entity.SysReagent"> + <insert id="insertSysReagent" parameterType="com.nanometer.smartlab.entity.SysReagent"> insert into sys_reagent(id, name, cas, reagent_type, reagent_character, supplier_id, reagent_format, main_metering, reagent_unit, price, per_box, memo, valid_flag, create_time, update_time,deadline, product_sn, dangerous_flag,control_products,product_home,type) values (#{id}, #{name}, #{cas}, #{reagentType}, #{reagentCharacter}, #{supplierId}, #{reagentFormat}, #{mainMetering}, #{reagentUnit}, #{price}, #{perBox}, #{memo}, 1, now(), now(),#{deadline}, #{productSn}, #{dangerousFlag},#{controlProducts},#{productHome},#{type}) </insert> @@ -433,4 +468,48 @@ #{item} </foreach> </update> + <update id="updateSafetyNum"> + update sys_reagent + 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 bm3 on sr.main_metering = bm3.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 sys_supplier supply on sr.supplier_id = supply.id + + <where> + <if test="params.reagent_unit != null and params.reagent_unit != ''"> + and UPPER(bm4.meta_value) = UPPER(#{params.reagent_unit}) + </if> + <if test="params.main_metering != null and params.main_metering != ''"> + and UPPER(bm3.meta_value) = UPPER(#{params.main_metering}) + </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.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> </mapper> -- Gitblit v1.9.2