From c468bdae8f833ee80d4b2175c6043267a6fb3501 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 28 七月 2017 12:23:08 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java |    3 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java   |    9 ++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/VisitMng.java        |   10 +++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java      |   53 ++++++++++++++++++++++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/DateUtil.java           |   22 +++++++++++
 5 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
index 5fcb38e..bc08bdd 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
@@ -115,4 +115,13 @@
         }
     }
 
+    public void removeLastMonthData() {
+        try {
+            String sql = "delete from attendance a where 1=1 and a.time< '" + DateUtil.getPreviousMonthLastDay() + "'";
+            MainActivity.getInstance().db.execSQL(sql);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
index 05370b0..45ee940 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
@@ -1,5 +1,7 @@
 package cn.com.basic.face.service;
 
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
 import android.widget.Toast;
 
 import cn.com.basic.face.base.BaseApplication;
@@ -31,6 +33,7 @@
 import cn.com.basic.face.discern.common.BaseCommonCallBack;
 import cn.com.basic.face.discern.query.item.CheckInQueryItem;
 import cn.com.basic.face.util.CharacterParser;
+import cn.com.basic.face.util.DateUtil;
 import cn.com.basic.face.util.SqliteSqlUtil;
 
 //鐧昏
@@ -212,4 +215,54 @@
     public boolean hasOfflineCheckInData() {
         return CheckInDao.getInstance().hasOfflineCheckInData();
     }
+
+    public void removeVisitorLastMonthData() {
+        try {
+            SQLiteDatabase db = MainActivity.getInstance().db;
+            String sql="SELECT" +
+                    " a.register_id," +
+                    "a.username," +
+                    "a.surveillance_photo," +
+                    "d.company_name," +
+                    "a.tel," +
+                    "a.identify_num," +
+                    "b.dept_name," +
+                    "d.company_id," +
+                    "e.post_name," +
+                    "a.mobile_phone," +
+                    "a.warning," +
+                    "a.company" +
+                    " FROM" +
+                    " register a" +
+                    " LEFT JOIN company d ON d.company_id = a.company_id" +
+                    " LEFT JOIN department b ON a.department_id = b.dept_id" +
+                    " LEFT JOIN post e ON e.post_id = a.post_id" +
+                    " LEFT JOIN ( SELECT register_id, device_company_id from employee  ) f ON f.register_id = a.register_id" +
+                    " WHERE" +
+                    " 1 = 1";
+            String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId();
+            sql +=  " AND ( f.device_company_id != " + deviceCompanyId+" OR f.device_company_id IS NULL"+")";
+
+            sql+=" order by a.name_en";
+
+            String count = "select count(*) as count from (" + sql + " ) _table";
+            sql += " LIMIT 0, 100000";
+            List<CheckInQueryItem> list = new ArrayList<CheckInQueryItem>();
+            int b = list.size();
+            CheckInQueryItem cqi = null;
+            Cursor c = db.rawQuery(sql,new String[]{});
+            while (c.moveToNext()) {
+                cqi = new CheckInQueryItem();
+                cqi.setRegisterId(c.getString(c.getColumnIndex("register_id")));
+                list.add(cqi);
+            }
+            for (CheckInQueryItem item : list) {
+                String sql1 = "delete from register a where 1=1 and a.register_id = '" + item.getRegisterId() + "'";
+                MainActivity.getInstance().db.execSQL(sql1);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
 }
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 3932137..0cebae6 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
@@ -109,5 +109,8 @@
         }
     }
 
+    public void removePhotoFileWhenStorageIsSlow() {
+
+    }
 
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/VisitMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/VisitMng.java
index 4dd5048..7817d88 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/VisitMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/VisitMng.java
@@ -16,6 +16,7 @@
 import cn.com.basic.face.discern.query.item.VisitQueryItem;
 import cn.com.basic.face.service.sqlite.VisitDao;
 import cn.com.basic.face.util.AppApi;
+import cn.com.basic.face.util.DateUtil;
 
 public class VisitMng extends BaseMng {
 
@@ -84,4 +85,13 @@
         }
     }
 
+    public void removeLastMonthData() {
+        try {
+            String sql = "delete from visit a where 1=1 and a.enter_time< '" + DateUtil.getPreviousMonthLastDay() + "'";
+            MainActivity.getInstance().db.execSQL(sql);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/DateUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/DateUtil.java
index 82fea88..122bfdb 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/DateUtil.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/DateUtil.java
@@ -1,6 +1,7 @@
 package cn.com.basic.face.util;
 
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 
 public class DateUtil {
@@ -33,5 +34,26 @@
         }
     }
 
+    public static String getPreviousMonthLastDay() {
+        Calendar aCalendar = Calendar.getInstance();
+        // add -1 month to current month
+        aCalendar.add(Calendar.MONTH, -1);
+        // set DATE to 1, so first date of previous month
+        aCalendar.set(Calendar.DATE, 1);
+
+        Date firstDateOfPreviousMonth = aCalendar.getTime();
+
+        // set actual maximum date of previous month
+        aCalendar.set(Calendar.DATE, aCalendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+        //read it
+        Date lastDateOfPreviousMonth = aCalendar.getTime();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        try {
+            return sdf.format(lastDateOfPreviousMonth) + " 23:59:59";
+        } catch (Exception e) {
+            e.printStackTrace();
+            return "";
+        }
+    }
 
 }

--
Gitblit v1.8.0