package cn.com.basic.face.service.sqlite; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import org.xutils.http.RequestParams; import java.io.File; import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.base.Config; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.query.item.OfflineAttenderRegisterItem; import cn.com.basic.face.discern.query.item.OfflineVisitorRegisterItem; import cn.com.basic.face.discern.query.item.UnknownQueryItem; import cn.com.basic.face.util.FileUtil; public class RegisterDao { public static RegisterDao instance = new RegisterDao(); public static RegisterDao getInstance() { return instance; } /** * 访客注册 * @return */ public boolean add(OfflineVisitorRegisterItem item) { String sql = "INSERT INTO register (\n" + " register_id,\n" + " username,\n" + " name_en,\n" + " gender_id,\n" + " country_id,\n" + " province,\n" + " city,\n" + " birthday,\n" + " tel,\n" + " mobile_phone,\n" + " identity_type_id,\n" + " identify_num,\n" + " company_id,\n" + " department_id,\n" + " post_id,\n" + " remark,\n" + " warning,\n" + " id_card_photo,\n" + " upload_custom_photo,\n" + " surveillance_photo,\n" + " surveillance_photo_id,\n" + " visitor_type_id,\n" + " authentication,\n" + " id_card_head_photo,\n" + " attender_type_id,\n" + " card_number,\n" + " update_time,\n" + " is_synchron,\n" + " device_company_id,\n" + " raw_surveillance_photo_path,\n" + " raw_surveillance_photo_width,\n" + " raw_surveillance_photo_height,\n" + " create_time\n" + ")\n" + "VALUES\n" + " (\n" + " '"+item.getVisitorId()+"', "+ " '"+item.getUsername()+"', "+ " '', "+ " '"+item.getGenderId()+"', "+ " '"+item.getCountryId()+"', "+ " '', "+ " '', "+ " '"+item.getBirthday()+"', "+ " '', "+ " '"+item.getMobilePhone()+"', "+ " '"+item.getIdentityTypeId()+"', "+ " '"+item.getIdentifyNum()+"', "+ " '"+item.getCompanyId()+"', "+ " null, "+ " null, "+ " '"+item.getRemark()+"', "+ " '', "+ " '"+item.getIdCardPhotoPath()+"', "+ " '"+item.getUploadCustomPhotoPath()+"', "+ " '"+item.getSurveillancePhotoPath()+"', "+ " null, "+ " '"+item.getVisitorTypeId()+"', "+ " '', "+ " '"+item.getIdCardPhotoPath()+"', "+ " null, "+ " '', "+ " null, "+ " 'N', "+ " '"+ BaseApplication.getInstance().getAndroidDevice().getCompanyId()+"', "+ " '"+item.getRawSurveillancePhotoPath()+"', "+ " '"+item.getRawSurveillancePhotoWidth()+"', "+ " '"+item.getRawSurveillancePhotoHeight()+"', "+ " '"+item.getCreateTime()+"')"; MainActivity.getInstance().db.execSQL(sql); return true; } /** * 考勤注册 * @param params * @param idCardHeadPhoto * @return */ public boolean addAttender(RequestParams params, String idCardHeadPhoto) { return true; } public boolean hasOfflineVisitorRegisterData() { Cursor c = Config.sqlMap.getDb().rawQuery("select count(*) from offline_visitor_register", new String[]{}); c.moveToFirst(); return c.getInt(0) > 0 ? true : false; } public boolean hasOfflineAttenderRegisterData() { Cursor c = Config.sqlMap.getDb().rawQuery("select count(*) from offline_attender_register", new String[]{}); c.moveToFirst(); return c.getInt(0) > 0 ? true : false; } public OfflineVisitorRegisterItem readOfflineVisitorRegister() { OfflineVisitorRegisterItem item = null; String sql = "SELECT\n" + " a.register_id,\n" + " a.username,\n" + " a.name_en,\n" + " a.gender_id,\n" + " a.country_id,\n" + " a.province,\n" + " a.city,\n" + " a.birthday,\n" + " a.tel,\n" + " a.mobile_phone,\n" + " a.identity_type_id,\n" + " a.identify_num,\n" + " a.company_id,\n" + " a.department_id,\n" + " a.post_id,\n" + " a.remark,\n" + " a.warning,\n" + " a.id_card_photo,\n" + " a.upload_custom_photo,\n" + " a.surveillance_photo,\n" + " a.surveillance_photo_id,\n" + " a.visitor_type_id,\n" + " a.authentication,\n" + " a.id_card_head_photo,\n" + " a.attender_type_id,\n" + " a.card_number,\n" + " a.update_time,\n" + " a.is_synchron,\n" + " a.device_company_id\n" + "FROM\n" + " register a\n" + "WHERE\n" + " 1 = 1\n" + "AND a.is_synchron = 'N'"; Cursor c = MainActivity.getInstance().db.rawQuery(sql, new String[]{}); if (c.moveToFirst()) { item = new OfflineVisitorRegisterItem(); item.setVisitorId(c.getString(c.getColumnIndex("register_id"))); item.setUsername(c.getString(c.getColumnIndex("username"))); item.setMobilePhone(c.getString(c.getColumnIndex("mobile_phone"))); item.setGenderId(c.getString(c.getColumnIndex("gender_id"))); item.setIdentityTypeId(c.getString(c.getColumnIndex("identity_type_id"))); item.setCountryId(c.getString(c.getColumnIndex("country_id"))); item.setVisitorTypeId(c.getString(c.getColumnIndex("visitor_type_id"))); item.setIdentifyNum(c.getString(c.getColumnIndex("identify_num"))); item.setCompanyId(c.getString(c.getColumnIndex("company_id"))); item.setBirthday(c.getString(c.getColumnIndex("birthday"))); item.setRemark(c.getString(c.getColumnIndex("remark"))); item.setSurveillancePhotoPath(c.getString(c.getColumnIndex("surveillance_photo"))); item.setUploadCustomPhotoPath(c.getString(c.getColumnIndex("upload_custom_photo"))); item.setIdCardPhotoPath(c.getString(c.getColumnIndex("id_card_head_photo"))); item.setCreateTime(c.getString(c.getColumnIndex("create_time"))); item.setRawSurveillancePhotoPath(c.getString(c.getColumnIndex("raw_surveillance_photo_path"))); item.setRawSurveillancePhotoWidth(c.getString(c.getColumnIndex("raw_surveillance_photo_width"))); item.setRawSurveillancePhotoHeight(c.getString(c.getColumnIndex("raw_surveillance_photo_height"))); } return item; } public OfflineAttenderRegisterItem readOfflineAttenderRegister() { return null; } public void removeOfflineVisitorRegister(OfflineVisitorRegisterItem item) { try { String sql = "delete from register where visitor_id='"+item.getVisitorId()+"' AND a.is_synchron = 'N'"; SQLiteDatabase db = Config.sqlMap.getDb(); db.beginTransaction(); db.execSQL(sql); db.endTransaction(); item.deleteFiles(); } catch (Exception e) { e.printStackTrace(); } } }