From 92d1567a1419a5911aa9591e77353da63886b1a0 Mon Sep 17 00:00:00 2001
From: ly <986321569@qq.com>
Date: 星期三, 09 十二月 2020 20:58:45 +0800
Subject: [PATCH] 修改申购试剂库

---
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml              |   58 +++++++++++++++++++++++++---
 src/main/webapp/apply_mng_new.xhtml                                     |    2 
 src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java |    1 
 src/main/webapp/WEB-INF/test/test.properties                            |    2 
 4 files changed, 54 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
index af96f17..83619fa 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
@@ -96,12 +96,52 @@
   </select>
 
   <select id="reagentList" 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
-    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}
+    SELECT
+    *
+    FROM
+    (
+    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
+    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 f.id IS NOT NULL
+    and sr.valid_flag = 1
+    <if test="cas != null and cas != ''">
+      and sr.cas like concat("%", #{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="productSn != null and productSn != ''">
+      and sr.product_sn like concat("%", #{productSn} ,"%")
+    </if>
+    UNION ALL
+    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
+    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}
+    AND f.id IS NULL
     where sr.valid_flag = 1
     <if test="cas != null and cas != ''">
       and sr.cas like concat("%", #{cas} ,"%")
@@ -115,7 +155,11 @@
     <if test="productSn != null and productSn != ''">
       and sr.product_sn like concat("%", #{productSn} ,"%")
     </if>
-    ORDER BY f.create_time desc,sr.create_time desc
+    <if test="MaxSize != null">
+      limit #{MaxSize}
+    </if>
+    ) as reagent
+    ORDER BY reagent.favortime DESC
     <if test="first != null and pageSize != null">
       limit #{first}, #{pageSize}
     </if>
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
index 27da026..1c39866 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -133,6 +133,7 @@
         params.put("productSn", productSn);
         params.put("first", first);
         params.put("pageSize", pageSize);
+        params.put("MaxSize", first+pageSize);
         return sysReagentDao.reagentList(params);
     }
 
diff --git a/src/main/webapp/WEB-INF/test/test.properties b/src/main/webapp/WEB-INF/test/test.properties
index ae8b1b9..75c14a0 100644
--- a/src/main/webapp/WEB-INF/test/test.properties
+++ b/src/main/webapp/WEB-INF/test/test.properties
@@ -7,4 +7,4 @@
 institute.url  = http://sinanoaq.com
 institute.app.id = wx81a00e3350861b25
 institute.app.secret = c307d394875af2cbbe25e01b9e43dcb2
-alarm.url =
\ No newline at end of file
+alarm.url =
diff --git a/src/main/webapp/apply_mng_new.xhtml b/src/main/webapp/apply_mng_new.xhtml
index 23584d6..3115715 100644
--- a/src/main/webapp/apply_mng_new.xhtml
+++ b/src/main/webapp/apply_mng_new.xhtml
@@ -307,7 +307,7 @@
                                  resizableColumns="true" paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
                                  lazy="true" value="#{applyMngController.reagentDataModel}" var="row" rowKey="#{row.id}"
                                  emptyMessage="无数据" selectionMode="single"
-                                 rows="50" pageLinks="5">
+                                 rows="15" pageLinks="5">
 
                         <p:ajax event="rowDblselect" listener="#{applyMngController.onReagentRowSelect}" update=":applyMngNewForm,:applyDialog"></p:ajax>
                         <p:column headerText="产品编号">

--
Gitblit v1.9.2