From 5f12988a77d078a5e5155c9a301e45bfd288d7e5 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 11 八月 2017 16:02:50 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java |   51 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 45 insertions(+), 6 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 21a6ad2..32791e7 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
@@ -21,17 +21,17 @@
     }
 
     //鎵�鏈夌洃鎺у浘鐗�
-    private static List<SurveillanceQueryItem> allItems = new ArrayList<>();
+    public static List<SurveillanceQueryItem> allItems = new ArrayList<>();
     //璁垮閫夐」鍗$殑鍒嗙被锛堟湭娉ㄥ唽/浜哄憳绫诲瀷銆佹潵璁跨姸鎬併�佹爣绛剧姸鎬侊級
     //鑰冨嫟閫夐」鍗★紙鑰冨嫟浜哄憳绫诲瀷锛氭暀甯堛�佸鐢熴�佸憳宸ワ紝鏉ヨ鐘舵�侊細绛惧埌銆佺閫�锛�
     //绗竴琛屾樉绀烘湭娉ㄥ唽锛岀浜岃鏄剧ず鏉ヨ
-    private static List<SurveillanceQueryItem> visitorTwoRows = new ArrayList<>();
+    public static List<SurveillanceQueryItem> visitorTwoRows = new ArrayList<>();
     //绗竴琛屾樉绀虹鍒帮紝绗簩琛屾樉绀虹閫�
-    private static List<SurveillanceQueryItem> attendanceTwoRows = new ArrayList<>();
+    public static List<SurveillanceQueryItem> attendanceTwoRows = new ArrayList<>();
     //鏈敞鍐岀殑璁垮鍒楄〃, 閫夋嫨鏃剁敤
-    private static List<SurveillanceQueryItem> allUnregisterVisitorTwoRowsForSelect = new ArrayList();
+    public static List<SurveillanceQueryItem> allUnregisterVisitorTwoRowsForSelect = new ArrayList();
     //鏈敞鍐岀殑鑰冨嫟鍒楄〃, 閫夋嫨鏃剁敤
-    private static List<SurveillanceQueryItem> allUnregisterAttenderTwoRowsForSelect = new ArrayList();
+    public static List<SurveillanceQueryItem> allUnregisterAttenderTwoRowsForSelect = new ArrayList();
 
     public void addItems(List<SurveillanceQueryItem> returnItems, List<SurveillanceQueryItem> requestItems, String cameraInOrOut) {
         for ( int i = 0; i < returnItems.size(); i++) {
@@ -40,10 +40,11 @@
             addItem(returnItem, requestItem, cameraInOrOut);
         }
         removeTimeoutItemAndShow();
+        limitItemsToN();
     }
 
     public void addItem(SurveillanceQueryItem returnItem, SurveillanceQueryItem requestItem, String cameraInOrOut) {
-        if (!CommonVariables.FACE_SERVER) {
+        if (!CommonVariables.FACE_SERVER && !CommonVariables.EMULATOR) {
             RtspFaceNative.setFaceLabel(Integer.parseInt(cameraInOrOut), requestItem.getStTrackId(), returnItem.getVisitorType()==null?"":returnItem.getVisitorType().substring(0,
                     returnItem.getVisitorType().length() > 3 ? 3 : returnItem.getVisitorType().length()
                     ));
@@ -57,6 +58,44 @@
         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() {
         visitorTwoRows.clear();
         for (SurveillanceQueryItem item : allItems) {

--
Gitblit v1.8.0