xuxiuxi
2017-08-01 785fd3c3e9984f301018b3b5deb91ecc2c8da124
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
@@ -1,5 +1,6 @@
package cn.com.basic.face.service.sqlite;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.CursorJoiner;
import android.database.sqlite.SQLiteDatabase;
@@ -54,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" +
@@ -65,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 + " or a.visitor_or_attender='attender')";
                }
                if(searchText != null && !searchText.trim().isEmpty()) {
@@ -94,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);
                }
@@ -113,7 +119,7 @@
    }
    public boolean hasOfflineCheckInData() {
        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from visit", new String[]{});
        Cursor c = MainActivity.getInstance().db.rawQuery("select count(*) from visit where 1=1 and is_synchron='N'", new String[]{});
        c.moveToFirst();
        return c.getInt(0) > 0 ? true : false;
    }
@@ -180,7 +186,7 @@
        return resultBean;
    }
    public List<OfflineVisitItem> readOfflineVisitItemFromLocal(long registerId) {
    public List<OfflineVisitItem> readOfflineVisitItemFromLocal() {
        String sql = "SELECT\n" +
                        "   a.visit_id,\n" +
                        "   a.visit_reason_id,\n" +
@@ -203,7 +209,8 @@
                        "WHERE\n" +
                        "   1 = 1\n" +
                        "AND a.is_synchron = 'N'\n" +
                        "AND visitor_id = '"+registerId+"'";
                        " limit 1";
//                        "AND visitor_id = '"+registerId+"'";
        List<OfflineVisitItem> items = new ArrayList<>();
        Cursor c = MainActivity.getInstance().db.rawQuery(sql, new String[]{});
        while (c.moveToNext()) {
@@ -231,47 +238,50 @@
    /**
     * 离线存储访客登记信息
     * @param entity
     * @param item
     */
    public void addOfflineVisit(OfflineVisitItem entity) {
        String sql =
                "INSERT INTO visit (\n" +
                        "   visit_id,\n" +
                        "   visit_reason_id,\n" +
                        "   remark,\n" +
                        "   enter_time,\n" +
                        "   exit_time,\n" +
                        "   visitor_type_id,\n" +
                        "   visitor_id,\n" +
                        "   visitor_company_id,\n" +
                        "   visitee_id,\n" +
                        "   visitee_company_id,\n" +
                        "   current_state_id,\n" +
                        "   warning,\n" +
                        "   update_time,\n" +
                        "   is_synchron,\n" +
                        "   device_company_id\n" +
                        ")\n" +
                        "VALUES\n" +
                        "   (\n" +
                        " '"+entity.getVisitId()+"', "+
                        " '"+entity.getVisitReasonId()+"', "+
                        " '"+entity.getRemark()+"', "+
                        " '"+entity.getEnterTime()+"', "+
                        " '"+entity.getExitTime()+"', "+
                        " '"+entity.getVisitorTypeId()+"', "+
                        " '"+entity.getVisitorId()+"', "+
                        " '"+entity.getVisitorCompanyId()+"', "+
                        " '"+entity.getVisiteeId()+"', "+
                        " '"+entity.getVisiteeCompanyId()+"', "+
                        " '"+entity.getCurrentStateId()+"', "+
                        " '"+entity.getWarning()+"', "+
                        " '"+entity.getUpdateTime()+"', "+
                        " 'N', "+
                        " '"+entity.getDeviceCompanyId()+"' "+
                        "   )";
        MainActivity.getInstance().db.execSQL(sql);
    public long addOfflineVisit(OfflineVisitItem item) {
        ContentValues contentValues = new ContentValues();
        contentValues.put("visit_id",item.getVisitId());
        contentValues.put("visit_reason_id",item.getVisitReasonId());
        contentValues.put("visit_reason",item.getVisitReason());
        contentValues.put("remark",item.getRemark());
        contentValues.put("enter_time",item.getEnterTime());
        contentValues.put("exit_time",item.getExitTime());
        contentValues.put("visitor_type_id",item.getVisitorTypeId());
        contentValues.put("visitor_id",item.getVisitorId());
        contentValues.put("visitor_company_id",item.getVisitorCompanyId());
        contentValues.put("visitee_id",item.getVisiteeId());
        contentValues.put("visitee_company_id",item.getVisiteeCompanyId());
        contentValues.put("current_state_id",item.getCurrentStateId());
        contentValues.put("warning",item.getWarning());
        contentValues.put("update_time",item.getUpdateTime());
        contentValues.put("is_synchron",item.getIsSynchron());
        contentValues.put("device_company_id",item.getDeviceCompanyId());
        contentValues.put("create_time",item.getCreateTime());
        contentValues.put("device_id", item.getDeviceId());
        long registerId = MainActivity.getInstance().db.insert("visit", "", contentValues);
        return registerId;
    }
    public void updateVisitorId(String sqliteVisitorId, String mysqlVisitorId) {
        if (sqliteVisitorId == null || "".equals(sqliteVisitorId.trim())
                || mysqlVisitorId == null || "".equals(mysqlVisitorId.trim())
                ) {
            return;
        }
        MainActivity.getInstance().db.execSQL("update visit set visitor_id='"+mysqlVisitorId+"' where 1=1 and visitor_id='"+sqliteVisitorId+"'");
    }
    public void updateVisiteeId(String sqliteVisiteeId, String mysqlVisiteeId) {
        if (sqliteVisiteeId == null || "".equals(sqliteVisiteeId.trim())
                || mysqlVisiteeId == null || "".equals(mysqlVisiteeId.trim())
                ) {
            return;
        }
        MainActivity.getInstance().db.execSQL("update visit set visitee_id='"+mysqlVisiteeId+"' where 1=1 and visitee_id='"+sqliteVisiteeId+"'");
    }
}