From fcd69377936660dc4315d2e64117a2cf3299d662 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期一, 07 十二月 2020 15:24:00 +0800
Subject: [PATCH] 改成原有案例(试剂库全显示)

---
 src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java |    4 
 src/main/java/com/nanometer/smartlab/service/SysReagentService.java     |    4 +
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml              |   24 +++++---
 src/main/webapp/apply_mng_new.xhtml                                     |  123 ++++++++++++++++++++--------------------
 src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java             |    1 
 src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java |   24 ++++++++
 6 files changed, 108 insertions(+), 72 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
index aa4e293..2e528db 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
@@ -514,10 +514,10 @@
                 public List<SysReagent> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
                     List<SysReagent> list = null;
                     try {
-                        int count = sysReagentService.favorCount(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, 0);
+                        int count = sysReagentService.reagentCount(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn);
                         this.setRowCount(count);
                         if (count > 0) {
-                            list = sysReagentService.favorList(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, 0, first, pageSize);
+                            list = sysReagentService.reagentList(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, first, pageSize);
                         }
                     } catch (Exception e) {
                         logger.error(e);
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
index db952e6..6c9e757 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.java
@@ -27,6 +27,7 @@
     public List<SysReagent> query();
     //试剂库总数
     int reagentCount(Map params);
+    List<SysReagent> reagentList(Map params);
     int favorCount(Map params);
     List<SysReagent> favorList(Map params);
     Map getSysReagentDetail(String id);
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
index bff07b9..af96f17 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysReagentDao.xml
@@ -95,7 +95,7 @@
     </if>
   </select>
 
-  <select id="reagentList" parameterType="java.util.Map" resultType="int">
+  <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
@@ -104,7 +104,7 @@
     LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user}
     where sr.valid_flag = 1
     <if test="cas != null and cas != ''">
-      and sr.cas = #{cas}
+      and sr.cas like concat("%", #{cas} ,"%")
     </if>
     <if test="supplierId != null and supplierId != ''">
       and sr.supplier_id = #{supplierId}
@@ -113,9 +113,9 @@
       and sr.name like concat("%", #{name} ,"%")
     </if>
     <if test="productSn != null and productSn != ''">
-      and sr.product_sn = #{productSn}
+      and sr.product_sn like concat("%", #{productSn} ,"%")
     </if>
-    ORDER BY sr.create_time desc
+    ORDER BY f.create_time desc,sr.create_time desc
     <if test="first != null and pageSize != null">
       limit #{first}, #{pageSize}
     </if>
@@ -242,14 +242,20 @@
     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
     LEFT JOIN favor f on f.reagent_id = sr.id AND f.user_id = #{user}
     where sr.valid_flag = 1
-    <include refid="queryWhereSql"/>
-    <if test="favor != null and favor != '' ">
-      and f.id is not null
+    <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>
   </select>
 
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentService.java b/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
index 5875c73..3ac2027 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentService.java
@@ -30,4 +30,8 @@
     int favorCount(SysUser user, String name, String cas, String supplierId, String productSn,Integer favorFlag);
 
     List<SysReagent> favorList(SysUser user, String name, String cas, String supplierId, String productSn,Integer favorFlag, Integer first, Integer pageSize);
+
+    int reagentCount(SysUser user, String name, String cas, String supplierId, String productSn);
+
+    List<SysReagent> reagentList(SysUser user, String name, String cas, String supplierId, String productSn, int first, int pageSize);
 }
diff --git a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
index a960d8d..27da026 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysReagentServiceImpl.java
@@ -112,6 +112,30 @@
         return sysReagentDao.favorList(params);
     }
 
+    @Override
+    public int reagentCount(SysUser user, String name, String cas, String supplierId, String productSn) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("user", user.getId());
+        params.put("name", name);
+        params.put("cas", cas);
+        params.put("supplierId", supplierId);
+        params.put("productSn", productSn);
+        return sysReagentDao.reagentCount(params);
+    }
+
+    @Override
+    public List<SysReagent> reagentList(SysUser user, String name, String cas, String supplierId, String productSn, int first, int pageSize) {
+        Map<String, Object> params = new HashMap<>();
+        params.put("user", user.getId());
+        params.put("name", name);
+        params.put("cas", cas);
+        params.put("supplierId", supplierId);
+        params.put("productSn", productSn);
+        params.put("first", first);
+        params.put("pageSize", pageSize);
+        return sysReagentDao.reagentList(params);
+    }
+
 
     @Transactional(propagation = Propagation.REQUIRED)
     public int getSysReagentTotalCount(String name, String cas, String supplierId,Integer type) {
diff --git a/src/main/webapp/apply_mng_new.xhtml b/src/main/webapp/apply_mng_new.xhtml
index c65469b..23584d6 100644
--- a/src/main/webapp/apply_mng_new.xhtml
+++ b/src/main/webapp/apply_mng_new.xhtml
@@ -283,68 +283,7 @@
         </h:form>
 		<br/>
         <p:tabView dynamic="true" style="margin-left: 26px">
-            <p:tab title="我的收藏">
-                <h:form id="myFavor">
-                    <p:panelGrid style="margin: 5px">
-                        <div class="label-tip" style="margin-left: 5px; ">注意:已经收藏的试剂不会再出现在<span style="font-weight: 900;">*试剂库*</span>页面中</div>
-                    </p:panelGrid>
-                    <p:dataTable id="favorDataTable" styleClass="data-table" style="margin-left: 2px"
-                                 resizableColumns="true" paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
-                                 lazy="true" value="#{applyMngController.reagentFavorDataModel}" var="row" rowKey="#{row.id}"
-                                 emptyMessage="请添加收藏" selectionMode="single"
-                                 rows="50" pageLinks="5">
 
-                        <p:ajax event="rowDblselect" listener="#{applyMngController.onReagentRowSelect}" update=":applyMngNewForm,:applyDialog"></p:ajax>
-                        <p:column headerText="产品编号">
-                            <h:outputText value="#{row.productSn}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="试剂名称">
-                            <h:outputText value="#{row.name}"></h:outputText>
-                            <h:outputText value="收藏" readonly="true" rendered="#{row.favor!=null}" styleClass="favor"></h:outputText>
-                        </p:column>
-                        <p:column headerText="管制品">
-                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.controlProducts)}"></h:outputText>
-                        </p:column>
-                        <!--<p:column headerText="试剂类型">-->
-                            <!--<h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentType)}"></h:outputText>-->
-                        <!--</p:column>-->
-                        <!--<p:column headerText="危险性质">-->
-                            <!--<h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentCharacter)}"></h:outputText>-->
-                        <!--</p:column>-->
-                        <!--  <p:column headerText="供应商">
-                            <h:outputText value="#{row.supplierName}"></h:outputText>
-                        </p:column>-->
-                        <p:column headerText="规格型号">
-                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentFormat)}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="包装">
-                            <h:outputText value="#{''.concat(row.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagentUnit))}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="含税售价">
-                            <h:outputText value="#{row.price}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="CAS号">
-                            <h:outputText value="#{row.cas}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="危险性质">
-                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentCharacter)}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="厂家">
-                            <h:outputText value="#{row.productHomeName}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="试剂类型">
-                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentType)}"></h:outputText>
-                        </p:column>
-                        <p:column headerText="操作" style="text-align: center;">
-                            <h:commandButton  styleClass="favor-btn-common #{row.favor == null?'favor-btn':'not-favor-btn'}"  value="#{row.favor == null?'加入收藏':'取消收藏'}"  update="@this">
-                                <f:setPropertyActionListener value="#{row}" target="#{applyMngController.selectReagent}" />
-                            </h:commandButton>
-
-                        </p:column>
-                    </p:dataTable>
-                </h:form>
-
-            </p:tab>
             <p:tab title="试剂库">
                 <h:form id="applyMngNewReagentForm">
                     <p:panelGrid styleClass="apply-mng-new-reagent-filter" columns="9" style="margin-left: -18px">
@@ -589,6 +528,68 @@
                     </p:dataTable>
                 </h:form>
             </p:tab>
+            <p:tab title="我的收藏">
+                <h:form id="myFavor">
+                    <!--                    <p:panelGrid style="margin: 5px">-->
+                    <!--                        <div class="label-tip" style="margin-left: 5px; ">注意:已经收藏的试剂不会再出现在<span style="font-weight: 900;">*试剂库*</span>页面中</div>-->
+                    <!--                    </p:panelGrid>-->
+                    <p:dataTable id="favorDataTable" styleClass="data-table" style="margin-left: 2px"
+                                 resizableColumns="true" paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
+                                 lazy="true" value="#{applyMngController.reagentFavorDataModel}" var="row" rowKey="#{row.id}"
+                                 emptyMessage="请添加收藏" selectionMode="single"
+                                 rows="50" pageLinks="5">
+
+                        <p:ajax event="rowDblselect" listener="#{applyMngController.onReagentRowSelect}" update=":applyMngNewForm,:applyDialog"></p:ajax>
+                        <p:column headerText="产品编号">
+                            <h:outputText value="#{row.productSn}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="试剂名称">
+                            <h:outputText value="#{row.name}"></h:outputText>
+                            <h:outputText value="收藏" readonly="true" rendered="#{row.favor!=null}" styleClass="favor"></h:outputText>
+                        </p:column>
+                        <p:column headerText="管制品">
+                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.controlProducts)}"></h:outputText>
+                        </p:column>
+                        <!--<p:column headerText="试剂类型">-->
+                        <!--<h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentType)}"></h:outputText>-->
+                        <!--</p:column>-->
+                        <!--<p:column headerText="危险性质">-->
+                        <!--<h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentCharacter)}"></h:outputText>-->
+                        <!--</p:column>-->
+                        <!--  <p:column headerText="供应商">
+                            <h:outputText value="#{row.supplierName}"></h:outputText>
+                        </p:column>-->
+                        <p:column headerText="规格型号">
+                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentFormat)}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="包装">
+                            <h:outputText value="#{''.concat(row.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagentUnit))}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="含税售价">
+                            <h:outputText value="#{row.price}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="CAS号">
+                            <h:outputText value="#{row.cas}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="危险性质">
+                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentCharacter)}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="厂家">
+                            <h:outputText value="#{row.productHomeName}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="试剂类型">
+                            <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentType)}"></h:outputText>
+                        </p:column>
+                        <p:column headerText="操作" style="text-align: center;">
+                            <h:commandButton  styleClass="favor-btn-common #{row.favor == null?'favor-btn':'not-favor-btn'}"  value="#{row.favor == null?'加入收藏':'取消收藏'}"  update="@this">
+                                <f:setPropertyActionListener value="#{row}" target="#{applyMngController.selectReagent}" />
+                            </h:commandButton>
+
+                        </p:column>
+                    </p:dataTable>
+                </h:form>
+
+            </p:tab>
         </p:tabView>
     </p:panel>
 </ui:composition>

--
Gitblit v1.9.2