From 3da43e60cd97ad330dcc0911d76bb3c395a65b0c Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期五, 02 七月 2021 12:09:38 +0800 Subject: [PATCH] 修改危废统计 --- src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml | 133 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 128 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml index 0c67b82..0c3bb58 100644 --- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml +++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml @@ -102,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, @@ -131,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, @@ -162,7 +166,7 @@ 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> @@ -383,11 +387,11 @@ <select id="selectReagentSafetyNum" resultMap="SysReagent"> select sr.id, + sr.product_sn, + sr.cas, 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, @@ -469,4 +473,123 @@ 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 + 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