From 4f4898cc6e137ee5b47542cf8b1c73f3da3a1ee5 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期五, 08 一月 2021 14:57:32 +0800
Subject: [PATCH] 点击优化和Bug修改

---
 src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java |   77 ++++++++++++++++++++++++++++++++------
 1 files changed, 64 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
index 948123a..624203b 100644
--- a/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/ApplyMngController.java
@@ -16,6 +16,7 @@
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.primefaces.context.RequestContext;
 import org.primefaces.event.SelectEvent;
+import org.primefaces.event.TabChangeEvent;
 import org.primefaces.model.LazyDataModel;
 import org.primefaces.model.SortOrder;
 import org.springframework.context.annotation.Scope;
@@ -69,22 +70,19 @@
     private Timestamp endDeadline;
     private Integer status;
     private Integer favor;
-    private boolean favorFlag;
     private List<ApplyStatus> statusSelectList;
 
     private LazyDataModel<SysReagent> reagentDataModel;
+    private LazyDataModel<SysReagent> reagentFavorDataModel;
     private String applyNewReagentName;
     private String applyNewCas;
     private String applyNewSn;
     private SysReagent selectReagent;
+    private int tabValue;
+    private boolean isFlush = false;
 
-    public boolean isFavorFlag() {
-        return favorFlag;
-    }
 
-    public void setFavorFlag(boolean favorFlag) {
-        this.favorFlag = favorFlag;
-    }
+
 
     public SysReagent getSelectReagent() {
         return selectReagent;
@@ -93,6 +91,7 @@
     public void setSelectReagent(SysReagent selectReagent) {
         try {
             sysUserService.updateUserFavor(selectReagent, getUser());
+            this.isFlush = true;
         } catch (Exception e) {
             e.printStackTrace();
             FacesUtils.warn(e.getMessage());
@@ -422,6 +421,19 @@
         }
     }
 
+    public void onTabChange(TabChangeEvent event) {
+        if ("reagent".equals(event.getTab().getId())) {
+            tabValue = 0;
+            if (isFlush){
+                RequestContext.getCurrentInstance().execute("document.querySelector('.reagentSearch').click()");
+                isFlush = false;
+            }
+        }else if ("applyHistory".equals(event.getTab().getId())){
+            tabValue = 1;
+        }else{
+            tabValue = 2;
+        }
+    }
     public void onReagentNewBtnClick() {
         this.sysReagent = new SysReagent();
     }
@@ -519,10 +531,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.getSysReagentTotalCount2(getUser(),favorFlag ? 1 :null,applyNewReagentName, applyNewCas, applyNewSn,null);
+                        int count = sysReagentService.reagentCount(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn);
                         this.setRowCount(count);
                         if (count > 0) {
-                            list = sysReagentService.getSysReagentList2(getUser(),favorFlag ? 1 : null,applyNewReagentName, applyNewCas, applyNewSn,null, first, pageSize);
+                            list = sysReagentService.reagentList(getUser(), applyNewReagentName, applyNewCas, null, applyNewSn, first, pageSize);
                         }
                     } catch (Exception e) {
                         logger.error(e);
@@ -548,6 +560,45 @@
         }
 
         return reagentDataModel;
+    }
+
+
+    public LazyDataModel<SysReagent> getReagentFavorDataModel() {
+        if (this.reagentFavorDataModel == null) {
+            this.reagentFavorDataModel = new LazyDataModel<SysReagent>() {
+                @Override
+                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(), null, null, null,null,1);
+                        this.setRowCount(count);
+                        if (count > 0) {
+                            list = sysReagentService.favorList(getUser(),null, null,null, null,1, first, pageSize);
+                        }
+                    } catch (Exception e) {
+                        logger.error(e);
+                    }
+                    return list;
+                }
+
+                @Override
+                public SysReagent getRowData(String rowKey) {
+                    Iterator<SysReagent> iterator = this.iterator();
+                    if (iterator != null) {
+                        SysReagent sr = null;
+                        while (iterator.hasNext()) {
+                            sr = iterator.next();
+                            if (rowKey.equals(sr.getId())) {
+                                return sr;
+                            }
+                        }
+                    }
+                    return null;
+                }
+            };
+        }
+
+        return reagentFavorDataModel;
     }
 
     public LazyDataModel<OpeApply> getApplyHistoryDataModel() {
@@ -915,11 +966,11 @@
     }
 
 
-    public Integer getFavor() {
-        return favor;
+    public int getTabValue() {
+        return tabValue;
     }
 
-    public void setFavor(Integer favor) {
-        this.favor = favor;
+    public void setTabValue(int tabValue) {
+        this.tabValue = tabValue;
     }
 }

--
Gitblit v1.9.2