From 48f6bbfd957f1aba067d6ccf8e4bb00f811d35c8 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 11 五月 2017 15:20:21 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java |   82 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 73 insertions(+), 9 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
index 0a3ad02..2f33c39 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -6,6 +6,7 @@
 import org.xutils.x;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -30,15 +31,39 @@
         if (!BaseApplication.deviceAvailable) {
             return;
         }
-//        List attendanceList = new ArrayList();
-//        for (int i = 0; i < 10; i++) {
-//            SurveillanceQueryItem item = new SurveillanceQueryItem();
-//            item.setInOrOutCamera(CommonVariables.Camera.IN);
-//            item.setUsername("zhangsan");
-//            item.setStatus("绛惧埌");
-//            attendanceList.add(item);
-//        }
-//        SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(attendanceList);
+    }
+
+    public static class SurveillanceListThread extends Thread {
+        @Override
+        public void run() {
+            try {
+                List prevList = SurveillanceMng.getInstance().removeTimeoutItem(null);
+                SurveillanceMng.getInstance().registerTopAndCheckInBottom(prevList);
+                SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(prevList);
+                Thread.sleep(1000*60*10);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private List<SurveillanceQueryItem> removeTimeoutItem(List<SurveillanceQueryItem> prevList) {
+        if (prevList == null) {
+            prevList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
+        }
+        List<SurveillanceQueryItem> newPrevList = new ArrayList();
+        for (SurveillanceQueryItem item : prevList) {
+            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                Date now = new Date();
+                Date createTime = item.getCreateTime();
+                long minutes = (now.getTime() - createTime.getTime()) / 1000 / 60;
+                if (minutes*1.0 / 10 >= 1) {
+                    continue;
+                }
+                newPrevList.add(item);
+            }
+        }
+        return newPrevList;
     }
 
     public void addBitmap(final List<SurveillanceQueryItem> bitmapList, byte[] byteArray, int len, String cameraInOrOut) {
@@ -71,6 +96,7 @@
                             SurveillanceQueryItem surveillanceQueryItem = bitmapList.get(i);
                             item.setBitmap(surveillanceQueryItem.getBitmap());
                             item.setBase64Image(surveillanceQueryItem.getBase64Image());
+                            item.setNativeImg(surveillanceQueryItem.getNativeImg());
                             item.setWidth(surveillanceQueryItem.getWidth());
                             item.setHeight(surveillanceQueryItem.getHeight());
                         }
@@ -81,6 +107,7 @@
                             SurveillanceQueryItem surveillanceQueryItem = bitmapList.get(i);
                             item.setBitmap(surveillanceQueryItem.getBitmap());
                             item.setBase64Image(surveillanceQueryItem.getBase64Image());
+                            item.setNativeImg(surveillanceQueryItem.getNativeImg());
                             item.setWidth(surveillanceQueryItem.getWidth());
                             item.setHeight(surveillanceQueryItem.getHeight());
                         }
@@ -105,6 +132,43 @@
         });
     }
 
+    public List getSurveillancePhotoList() {
+        List<SurveillanceQueryItem> prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
+        List<SurveillanceQueryItem> registerList = new ArrayList();
+        int n = 9;
+        for (SurveillanceQueryItem surveillanceQueryItem : prevVisitorList) {
+            if (surveillanceQueryItem.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                if (registerList.size() > n*2) {
+                    break;
+                }
+                surveillanceQueryItem.setSurveillancePhotoSelected(false);
+                registerList.add(surveillanceQueryItem);
+            }
+        }
+        SurveillanceQueryItem item;
+        List items = new ArrayList();
+        int m = 0;
+        for (int i = 0; i < n*2; i++) {
+            if (i % 2 == 0) {
+                if (m < registerList.size()) {
+                    item = registerList.get(m);
+                    m++;
+                } else {
+                    item = getBlankItem();
+                }
+            } else {
+                if (n < registerList.size()) {
+                    item = registerList.get(n);
+                    n++;
+                } else {
+                    item = getBlankItem();
+                }
+            }
+            items.add(item);
+        }
+        return items;
+    }
+
     private void registerTopAndCheckInBottom(List<SurveillanceQueryItem> list) {
         List<SurveillanceQueryItem> registerList = new ArrayList<SurveillanceQueryItem>();
         List<SurveillanceQueryItem> checkInList = new ArrayList<SurveillanceQueryItem>();

--
Gitblit v1.8.0