package cn.com.basic.face.service.sqlite; import android.database.Cursor; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.entity.Dictionary; import static cn.com.basic.face.discern.entity.Register.FieldNames.company; /** * 数据字典Dao */ public class DictionaryDao { public static DictionaryDao instance = new DictionaryDao(); public static DictionaryDao getInstance() { return instance; } private static Listload(String type){ List list = new ArrayList(); StringBuffer sb = new StringBuffer("select dict_id, name from dictionary "); try { sb.append("where 1 = 1 and type = "); sb.append("'"); sb.append(type); sb.append("'"); Dictionary aqi = null; Cursor c = MainActivity.getInstance().db.rawQuery(sb.toString(), new String[]{}); while (c.moveToNext()) { aqi = new Dictionary(); aqi.setDictId(c.getString(c.getColumnIndex("dict_id"))); aqi.setName(c.getString((c.getColumnIndex("name")))); list.add(aqi); } }catch (Exception e) { e.printStackTrace(); } return list; } /** * 加载国家 * @return */ public List loadCountries() { return load(CommonVariables.DictionaryType.COUNTRY); } /** * 加载证件类型 * @return */ public List loadIdTypeList() { return load(CommonVariables.DictionaryType.ID_TYPE); } /** * 加载性别 * @return */ public List loadGenderList() { return load(CommonVariables.DictionaryType.GENDER); } /** * 加载访问事由 * @return */ public List loadVisitReasonList() { return load(CommonVariables.DictionaryType.VISIT_REASON); } /** * 加载分辨率 * @return */ public List loadResolutionList() { return load(CommonVariables.DictionaryType.RESOLUTION); } /** * 加载通讯协议 * @return */ public List loadProtocolList() { return load(CommonVariables.DictionaryType.PROTOCOL); } /** * 加载摄像机品牌 * @return */ public List loadCameraBrandList() { return load(CommonVariables.DictionaryType.CAMERA_BRAND); } /** * 加载访客类型 * @return */ public List loadVisitorTypeList() { return load(CommonVariables.DictionaryType.VISITOR_TYPE); } /** * 加载考勤类型 * @return */ public List loadAttenderTypeList() { return load(CommonVariables.DictionaryType.ATTENDER_TYPE); } public List addDictionary(String type, String name) { List list = new ArrayList(); try { StringBuilder sb = new StringBuilder(40); sb.append("insert into dictionary ( dict_id, name) values (") .append("'") .append(type) .append("'") .append(" , ") .append(")"); MainActivity.getInstance().db.rawQuery(sb.toString(), new String[]{}); Dictionary aqi = null; Cursor c = MainActivity.getInstance().db.rawQuery("select dict_id,name from dictionary", new String[]{}); while (c.moveToNext()) { aqi = new Dictionary(); aqi.setDictId(c.getString(c.getColumnIndex("dict_id"))); aqi.setName(c.getString((c.getColumnIndex("name")))); list.add(aqi); } } catch (Exception e) { e.printStackTrace(); } return list; } //加载需要同步的数据 public List getDictionayList(String deviceCompanyId){ String sql="select * from dictionary WHERE is_synchron='N' and device_company_id="+Integer.parseInt(deviceCompanyId); Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{}); List result=new ArrayList(); Dictionary dic=null; if(c.moveToFirst()){ dic=new Dictionary(); dic.setSn(c.getString(c.getColumnIndex("sn"))); dic.setType(c.getString(c.getColumnIndex("type"))); dic.setCompnayId(c.getString(c.getColumnIndex("compnay_id"))); dic.setDeviceCompanyId(c.getString(c.getColumnIndex("device_company_id"))); dic.setDictId(c.getString(c.getColumnIndex("dict_id"))); dic.setIsSynchron(c.getString(c.getColumnIndex("is_synchron"))); dic.setUpdateTime(c.getString(c.getColumnIndex("update_time"))); dic.setName(c.getString(c.getColumnIndex("name"))); dic.setOrderBy(c.getString(c.getColumnIndex("order_by"))); dic.setPid(c.getString(c.getColumnIndex("pid"))); dic.setRemark(c.getString(c.getColumnIndex("remark"))); dic.setIsValid(c.getString(c.getColumnIndex("is_valid"))); dic.setCreateTime(c.getString(c.getColumnIndex("create_time"))); result.add(dic); } return result; } //删除已经上传到服务器的数据 public void delDictionary(){ String sql="delete from dictionary where is_synchron='N'"; MainActivity.getInstance().db.execSQL(sql); } //获取未同步数据总数 public int getSynDataCount(){ String sql="select count(*) from dictionary where is_synchron='N' "; Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{}); c.moveToFirst(); return c.getInt(0); } }