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(); } } } 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(); } } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -109,5 +109,8 @@ } } public void removePhotoFileWhenStorageIsSlow() { } } 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(); } } } 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 ""; } } }