From 1c25ba497cb4b80c313367bcf141c97c92bdf585 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 26 七月 2017 11:40:07 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/SyncUpAndDownThread.java       |    3 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java |    8 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java           |    3 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java           |   10 +++--
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java          |    4 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java         |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java              |   11 ++++-
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInFragment.java                |    9 ++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java                    |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java                          |   16 ++++++++
 10 files changed, 54 insertions(+), 14 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInFragment.java
index 5d7ca7d..936a023 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInFragment.java
@@ -1,5 +1,6 @@
 package cn.com.basic.face.adapter;
 
+import android.graphics.Bitmap;
 import android.net.Uri;
 import android.view.View;
 import android.widget.LinearLayout;
@@ -15,6 +16,7 @@
 import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.discern.query.item.CheckInQueryItem;
 import cn.com.basic.face.util.AppApi;
+import cn.com.basic.face.util.FileUtil;
 
 public class CheckInFragment {
 
@@ -75,7 +77,12 @@
                 CheckInQueryItem item = (CheckInQueryItem) data;
                 fragment_check_in_left_visitor_row_name.setText(item.getUsername());
                 if (item.getSurveillancePhoto() != null && !item.getSurveillancePhoto().equals("")) {
-                    fragment_check_in_left_visitor_row_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto()));
+                    Bitmap bitmap = FileUtil.loadBitmap(item.getSurveillancePhoto());
+                    if (bitmap != null) {
+                        fragment_check_in_left_visitor_row_photo.setImageBitmap(bitmap);
+                    } else {
+                        fragment_check_in_left_visitor_row_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto()));
+                    }
                 } else {
                     fragment_check_in_left_visitor_row_photo.setImageResource(R.drawable.u68);
                 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
index 7c65248..9c5b7a2 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
@@ -113,7 +113,7 @@
 
     public static boolean FACE_SERVER = false;
     public static boolean ID_CARD = false;
-    public static boolean EMULATOR = true;
+    public static boolean EMULATOR = false;
 
     public static boolean androidOffline() {
         return true;
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
index 4a342ae..6231b7e 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -178,7 +178,9 @@
         }
         fragment_supervisory_enter_camera.getHolder().addCallback(new SurfaceHolder.Callback() {
             public void surfaceCreated(SurfaceHolder holder) {
-                new SurveillancePhotoEmulateThread().start();
+                if (CommonVariables.EMULATOR) {
+                    new SurveillancePhotoEmulateThread().start();
+                }
                 if (useNative) {
                     RtspFaceNative.setSurface(Integer.parseInt(CommonVariables.Camera.IN), fragment_supervisory_enter_camera.getHolder().getSurface());
                     RtspFaceNative.createPlayer(Integer.parseInt(CommonVariables.Camera.IN), DeviceMng.getInstance().getCamera1Address());
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java
index 7236a70..c585089 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java
@@ -81,7 +81,8 @@
                 bis.close();
                 is.close();
             } catch (Exception e) {
-                e.printStackTrace();
+                //e.printStackTrace();
+                System.out.println(e.getMessage());
                 return false;
             }
 
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java
index cc508c8..53b4900 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java
@@ -42,23 +42,25 @@
         ResultBean resultBean = new ResultBean();
         SQLiteDatabase db = MainActivity.getInstance().db;
         try {
+            String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
             StringBuilder sb = new StringBuilder(40);
             sb.append("SELECT b.register_id,").append(" b.username,").append(" b.surveillance_photo,")
-                    .append(" b.identify_num,").append(" e.post_name,").append("  d.`name` gender,")
+                    .append(" b.identify_num,").append(" e.post_name,").append("  d.name gender,")
                     .append(" f.dept_name").append(" FROM ").append(" employee a ")
                     .append(" LEFT JOIN register b ON a.register_id = b.register_id ")
                     .append(" LEFT JOIN dictionary d ON d.dict_id = b.gender_id ")
                     .append(" LEFT JOIN post e ON e.post_id = b.post_id ")
                     .append(" LEFT JOIN department f ON f.dept_id = b.department_id ")
-                    .append(" WHERE ").append(" 1 = 1 ").append(" GROUP BY b.register_id ")
-                    .append(" ORDER BY b.username ");
-            String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
+                    .append(" WHERE ").append(" 1 = 1 ");
             if(deviceCompanyId != null && !deviceCompanyId.trim().isEmpty()) {
                 sb.append(" AND a.device_company_id = ").append(deviceCompanyId);
             }
             if(searchText != null && !searchText.trim().isEmpty()) {
                 sb.append(" AND b.username LIKE '%").append(searchText).append("%'");
             }
+            sb.append(" GROUP BY b.register_id ")
+            .append(" ORDER BY b.username ");
+
             StringBuilder count = new StringBuilder(sb.length());
             count.append("select count(*) as count from (").append(sb).append(" ) _table");
             sb.append(" LIMIT ").append(getStartIndex(pageNum)).append(",").append(CommonVariables.Page.DEFAULT_PAGE_SIZE);
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
index 4d2e7a1..da49fc3 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
@@ -55,7 +55,8 @@
                         "d.company_id," +
                         "e.post_name," +
                         "a.mobile_phone," +
-                        "a.warning" +
+                        "a.warning," +
+                        "a.company" +
                         " FROM" +
                         " register a" +
                         " LEFT JOIN company d ON d.company_id = a.company_id" +
@@ -66,9 +67,9 @@
                         " 1 = 1";
                 String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
                 if(isVisitorList) {
-                    sql +=  " AND f.device_company_id = " + deviceCompanyId;
-                }else{
                     sql +=  " AND ( f.device_company_id != " + deviceCompanyId+" OR f.device_company_id IS NULL"+")";
+                }else{
+                    sql +=  " AND f.device_company_id = " + deviceCompanyId;
                 }
 
                 if(searchText != null && !searchText.trim().isEmpty()) {
@@ -95,6 +96,10 @@
                     cqi.setCompanyId(c.getString(c.getColumnIndex("company_id")));
                     cqi.setPostName(c.getString(c.getColumnIndex("post_name")));
                     cqi.setMobilePhone(c.getString(c.getColumnIndex("mobile_phone")));
+                    String company = c.getString(c.getColumnIndex("company"));
+                    if (company != null && !"".equals(company)) {
+                        cqi.setCompanyName(company);
+                    }
                     cqi.setWarning(c.getString(c.getColumnIndex("warning")));
                     list.add(cqi);
                 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/SyncUpAndDownThread.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/SyncUpAndDownThread.java
index 25e3d63..ffce1d9 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/SyncUpAndDownThread.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/SyncUpAndDownThread.java
@@ -2,6 +2,7 @@
 
 import java.util.Date;
 
+import cn.com.basic.face.base.BaseApplication;
 import cn.com.basic.face.service.InternetAccessThread.InternetAccess;
 import cn.com.basic.face.service.sync.down.AttendanceDownSync;
 import cn.com.basic.face.service.sync.down.CompanyDownSync;
@@ -86,7 +87,7 @@
                 Date now = new Date();
                 double minutes = (now.getTime() - lastTime.getTime())*1.0 / 1000 / 60;
                 if (minutes >= 0.3) {
-                    if (InternetAccess.getNetWorkInfo()) {
+                    if (BaseApplication.getInstance().networkAvailable()) {
                         firstSync.setAllSyncComplete(false);
                         firstSync.sync();
                         lastTime = now;
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java
index ce6381c..a9c3609 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/FileUtil.java
@@ -1,5 +1,8 @@
 package cn.com.basic.face.util;
 
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+
 import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.File;
@@ -120,4 +123,17 @@
         return "";
     }
 
+    public static Bitmap loadBitmap(String fileName) {
+        String dir = MainActivity.getInstance().getFilesDir().getAbsolutePath();
+        File file = new File(dir, fileName);
+        if (file.exists()) {
+            BitmapFactory.Options options = new BitmapFactory.Options();
+            options.inPreferredConfig = Bitmap.Config.ARGB_8888;
+            Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath(), options);
+            return bitmap;
+        } else {
+            return null;
+        }
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
index 08e95c8..4a23111 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -158,7 +158,7 @@
             if (BaseApplication.getInstance().networkAvailable()) {
                 SurveillanceMng.getInstance().addBitmap(bitmapList, faceListPb.arr, s, cameraIdx+"", new byte[]{});
             } else {
-                SurveillanceDao.getInstance().saveOfflineUnknownToLocal(bitmapList, faceListPb.arr, cameraIdx+"");
+                SurveillanceMng.getInstance().addOfflineBitmap(bitmapList, faceListPb.arr, CommonVariables.Camera.IN+"");
             }
 
         }catch(Exception e){
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java
index 0d6b071..ae9090a 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java
@@ -28,6 +28,7 @@
 import cn.com.basic.face.discern.query.item.CheckInQueryItem;
 import cn.com.basic.face.util.AppApi;
 import cn.com.basic.face.util.BitmapUtil;
+import cn.com.basic.face.util.FileUtil;
 
 public class CheckInRightVisitorCell extends LinearLayout{
 
@@ -66,7 +67,12 @@
         fragment_check_in_right_visitor_cell_mobile_phone.setText(item.getMobilePhone());
         if (item.getSurveillancePhoto() != null && !item.getSurveillancePhoto().equals("")) {
             fragment_check_in_right_visitor_cell_photo_placeholder.setVisibility(INVISIBLE);
-            fragment_check_in_right_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto()));
+            Bitmap bitmap = FileUtil.loadBitmap(item.getSurveillancePhoto());
+            if (bitmap != null) {
+                fragment_check_in_right_visitor_cell_photo.setImageBitmap(bitmap);
+            } else {
+                fragment_check_in_right_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto()));
+            }
         } else {
             fragment_check_in_right_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + "u45.png"));
             fragment_check_in_right_visitor_cell_photo_placeholder.setVisibility(INVISIBLE);

--
Gitblit v1.8.0