From e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 01 八月 2017 11:41:19 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java
index ceccc0d..71c0940 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java
@@ -40,6 +40,7 @@
             addItem(returnItem, requestItem, cameraInOrOut);
         }
         removeTimeoutItemAndShow();
+        limitItemsToN();
     }
 
     public void addItem(SurveillanceQueryItem returnItem, SurveillanceQueryItem requestItem, String cameraInOrOut) {
@@ -55,6 +56,44 @@
         returnItem.setWidth(requestItem.getWidth());
         returnItem.setHeight(requestItem.getHeight());
         allItems.add(0, returnItem);
+    }
+
+    private void limitItemsToN() {
+        int max = 25;
+        int unRegisters = 0;
+        int checkIns = 0;
+        int attenderEnter = 0;
+        int attenderExit = 0;
+        List<SurveillanceQueryItem> itemsToRemove = new ArrayList<>();
+        for (int i = 0; i < allItems.size(); i++) {
+            SurveillanceQueryItem item = allItems.get(i);
+            int type = item.getRegisterOrCheckIn();
+            if (type == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                unRegisters++;
+                if (unRegisters > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+            if (type == CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE) {
+                checkIns++;
+                if (checkIns > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_IN) {
+                attenderEnter++;
+                if (attenderEnter > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_OUT) {
+                attenderExit++;
+                if (attenderExit > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+        }
+        allItems.removeAll(itemsToRemove);
     }
 
     public List getVisitorTwoRows() {
@@ -176,16 +215,16 @@
 
     public void removeTimeoutItemAndShow() {
         List itemsToRemove = new ArrayList();
-//        for (SurveillanceQueryItem item : allItems) {
-//            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
-//                Date now = new Date();
-//                Date createTime = item.getCreateTime();
-//                double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
-//                if (minutes >= 5) {
-//                    itemsToRemove.add(item);
-//                }
-//            }
-//        }
+        for (SurveillanceQueryItem item : allItems) {
+            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                Date now = new Date();
+                Date createTime = item.getCreateTime();
+                double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
+                if (minutes >= 5) {
+                    itemsToRemove.add(item);
+                }
+            }
+        }
         allItems.removeAll(itemsToRemove);
         SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(SurveillanceQueryItemUtil.getInstance().getVisitorTwoRows());
         SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(SurveillanceQueryItemUtil.getInstance().getAttendanceTwoRows());

--
Gitblit v1.8.0