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

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java |  135 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 132 insertions(+), 3 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java
index cee507f..6cc0f26 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/SurveillanceDao.java
@@ -1,8 +1,137 @@
 package cn.com.basic.face.service.sqlite;
 
-/**
- * Created by xiuxi on 2017/7/17.
- */
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+import cn.com.basic.face.base.BaseApplication;
+import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.discern.entity.OfflineSurveillance;
+import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
+import cn.com.basic.face.discern.query.item.UnknownQueryItem;
+import cn.com.basic.face.util.FileUtil;
 
 public class SurveillanceDao {
+
+    public static SurveillanceDao instance = new SurveillanceDao();
+    public static SurveillanceDao getInstance() {
+        return instance;
+    }
+    //companyId
+    //offline_           (headPicture, cameraInOrOut, createTime, visitId)
+    public void saveOfflineUnknownToLocal(final List<SurveillanceQueryItem> bitmapList, final byte[] rawData, final String cameraInOrOut) {
+        if (bitmapList == null || bitmapList.size() == 0) {
+            return;
+        }
+        SQLiteDatabase db = null;
+        try {
+            String rawDataFileName = UUID.randomUUID().toString() + "";
+            FileUtil.writeToFile(rawDataFileName, rawData);
+            String headPicture = "";
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String createTime = sdf.format(new Date());
+            String surveillanceId = UUID.randomUUID().toString();
+            String deviceId = BaseApplication.getInstance().getAndroidDevice().getDeviceId();
+            MainActivity.getInstance().db.execSQL(
+                    "insert into offline_surveillance(surveillance_id,device_id,raw_data_path, camera_in_or_out, create_time,device_company_id) values('" +
+                            surveillanceId + "','" +
+                            deviceId + "','" +
+                            rawDataFileName + "','" +
+                            cameraInOrOut + "','" +
+                            createTime + "','" +
+                            BaseApplication.getInstance().getAndroidDevice().getCompanyId() + "'" +")"
+            );
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        //浜哄憳娉ㄥ唽鍙互閫夋嫨鏈湴鍥剧墖
+        //鍚屾涓存椂琛�
+
+        //鍚屾璁垮鐧昏琛�
+
+        //鍒犻櫎鏈湴鏂囦欢锛堝惊鐜垹闄わ級
+    }
+
+    public UnknownQueryItem readOfflineUnknownFromLocal() {
+        UnknownQueryItem item = null;
+        Cursor c = MainActivity.getInstance().db.rawQuery("select raw_data_path,camera_in_or_out,create_time from offline_surveillance order by create_time limit 1", new String[]{});
+        if (c.moveToFirst()) {
+            item = new UnknownQueryItem();
+            item.setRawDataPath(c.getString(c.getColumnIndex("raw_data_path")));
+            item.setCameraInOrOut(c.getString(c.getColumnIndex("camera_in_or_out")));
+            item.setCreateTime(c.getString(c.getColumnIndex("create_time")));
+        }
+        return item;
+    }
+
+    public void removeLocalSqliteRecord(UnknownQueryItem item) {
+        try {
+            File file = FileUtil.getFile(item.getRawDataPath());
+            if (file.exists()) {
+                file.delete();
+            }
+            MainActivity.getInstance().db.execSQL("delete from offline_surveillance where raw_data_path='"+item.getRawDataPath()+"'");
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public boolean hasMoreOfflineSurveillance() {
+        boolean hasMore = false;
+        String sql = "select count(*) from offline_surveillance order by create_time ";
+        Cursor c = MainActivity.getInstance().db.rawQuery(sql, new String[]{});
+        if (c.moveToFirst()) {
+            hasMore = c.getInt(0) > 0;
+        }
+        return hasMore;
+    }
+
+    /**
+     * 鍔犺浇OfflineSurllance琛�
+     * @return
+     */
+    public List<OfflineSurveillance>  getSurveillanceList(){
+        String sql="select surveillance_id,raw_data_path,camera_in_or_out,create_time,device_id from offline_surveillance limit 0, 10";
+        List<OfflineSurveillance> list=new ArrayList<OfflineSurveillance>();
+        OfflineSurveillance result=null;
+        Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{});
+        String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
+        String deviceId = BaseApplication.getInstance().getAndroidDevice().getDeviceId();
+        while (c.moveToNext()) {
+            result=new OfflineSurveillance();
+            result.setDeviceCompanyId(deviceCompanyId);
+            result.setDeviceId(deviceId);
+            result.setCameraInOrOut(c.getString(c.getColumnIndex("camera_in_or_out")));
+            result.setCreateTime(c.getString(c.getColumnIndex("create_time")));
+            result.setRawDataPath(c.getString(c.getColumnIndex("raw_data_path")));
+            result.setSurveillanceId(c.getString(c.getColumnIndex("surveillance_id")));
+            list.add(result);
+        }
+        return  list;
+    }
+
+    //鍒犻櫎宸蹭笂浼犵粰鏈嶅姟鍣ㄧ殑鏁版嵁
+    public void delSurllanceList(List<OfflineSurveillance> list){
+        for (OfflineSurveillance item : list) {
+            String sql="delete from offline_surveillance where 1=1 and surveillance_id='"+item.getSurveillanceId()+"'";
+            MainActivity.getInstance().db.execSQL(sql);
+        }
+    }
+
+    //鑾峰彇鏈悓姝ユ暟鎹�绘暟
+    public int  getSynDataCount(){
+        String sql="select count(*) from offline_surveillance";
+        Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{});
+        c.moveToFirst();
+        return c.getInt(0);
+    }
 }

--
Gitblit v1.8.0