From e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期二, 01 八月 2017 11:41:19 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/VisitDao.java | 150 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 146 insertions(+), 4 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/VisitDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/VisitDao.java index 723c1d2..cc8efb0 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/VisitDao.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/VisitDao.java @@ -1,8 +1,150 @@ package cn.com.basic.face.service.sqlite; -/** - * Created by xiuxi on 2017/7/17. - */ +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; -public class VisitDao { +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.common.ResultBean; +import cn.com.basic.face.discern.entity.Visit; +import cn.com.basic.face.discern.query.item.VisitQueryItem; + +public class VisitDao extends BaseDao{ + + public static VisitDao instance = new VisitDao(); + public static VisitDao getInstance() { + return instance; + } + + /** + * 璁垮绠$悊鍒楄〃 + * @param searchText + * @param pageNum + * @return + */ + public ResultBean findLeftVisitorList(String searchText, int pageNum) { + ResultBean resultBean = new ResultBean(); + SQLiteDatabase db = MainActivity.getInstance().db; + try { + StringBuilder sb = new StringBuilder(40); + sb.append("SELECT a.register_id,a.username,a.surveillance_photo,d.company_name,a.tel,a.identify_num,b.dept_name,") + .append("d.company_id,e.post_name,a.mobile_phone,0 as type,f.`name` gender,g.`name` identity_type,") + .append("a.birthday,h.`name` country_name,j.username visitee,k.`name` visit_reason,i.enter_time,i.exit_time,") + .append("l.`name` current_status,a.id_card_photo,a.company, i.visit_reason reason ").append(" FROM ").append(" visit i ") + .append(" LEFT JOIN register a on i.visitor_id=a.register_id ") + .append(" LEFT JOIN company d on d.company_id=a.company_id ") + .append(" LEFT JOIN post e on e.post_id=a.post_id ") + .append(" LEFT JOIN dictionary f on f.dict_id=a.gender_id ") + .append(" LEFT JOIN dictionary g on g.dict_id=a.identity_type_id ") + .append(" LEFT JOIN dictionary h on h.dict_id=a.country_id ") + .append(" LEFT JOIN register j on j.register_id=i.visitee_id ") + .append(" LEFT JOIN department b on j.department_id = b.dept_id ") + .append(" LEFT JOIN dictionary k on k.dict_id=i.visit_reason_id ") + .append(" LEFT JOIN dictionary l on l.dict_id=i.current_state_id ") + .append(" WHERE ").append(" 1 = 1 AND a.register_id IS NOT NULL "); + if(searchText != null && !searchText.trim().isEmpty()) { + sb.append(" AND a.username LIKE '%").append(searchText).append("%'"); + } + sb.append(" ORDER BY i.enter_time desc "); + StringBuilder count = new StringBuilder(sb.length()); + count.append("select count(*) as count from (").append(sb).append(" ) _table"); + sb.append(" LIMIT ").append(getStartIndex(pageNum)).append(",").append(CommonVariables.Page.DEFAULT_PAGE_SIZE); + List<VisitQueryItem> list = new ArrayList<VisitQueryItem>(); + VisitQueryItem aqi = null; + Cursor c = db.rawQuery(sb.toString(),new String[]{}); + Cursor c_count = db.rawQuery(count.toString(),new String[]{}); + while (c.moveToNext()) { + aqi = new VisitQueryItem(); + aqi.setRegisterId(c.getString(c.getColumnIndex("register_id"))); + aqi.setUsername(c.getString(c.getColumnIndex("username"))); + aqi.setSurveillancePhoto(c.getString(c.getColumnIndex("surveillance_photo"))); + aqi.setCompanyName(c.getString(c.getColumnIndex("company_name"))); + aqi.setTel(c.getString(c.getColumnIndex("tel"))); + aqi.setIdentifyNum(c.getString(c.getColumnIndex("identify_num"))); + aqi.setDeptName(c.getString(c.getColumnIndex("dept_name"))); + aqi.setCompanyId(c.getString(c.getColumnIndex("company_id"))); + aqi.setPostName(c.getString(c.getColumnIndex("post_name"))); + aqi.setMobilePhone(c.getString(c.getColumnIndex("mobile_phone"))); + aqi.setType(c.getString(c.getColumnIndex("type"))); + aqi.setGender(c.getString(c.getColumnIndex("gender"))); + aqi.setIdentityType(c.getString(c.getColumnIndex("identity_type"))); + aqi.setBirthday(c.getString(c.getColumnIndex("birthday"))); + aqi.setCountryName(c.getString(c.getColumnIndex("country_name"))); + aqi.setVisitee(c.getString(c.getColumnIndex("visitee"))); + aqi.setVisitReason(c.getString(c.getColumnIndex("visit_reason"))); + aqi.setEnterTime(c.getString(c.getColumnIndex("enter_time"))); + aqi.setExitTime(c.getString(c.getColumnIndex("exit_time"))); + aqi.setCurrentStatus(c.getString(c.getColumnIndex("current_status"))); + aqi.setIdCardPhoto(c.getString(c.getColumnIndex("id_card_photo"))); + String company = c.getString(c.getColumnIndex("company")); + if (company != null && !"".equals(company)) { + aqi.setCompanyName(company); + } + String reason = c.getString(c.getColumnIndex("reason")); + if (reason != null && !"".equals(reason)){ + aqi.setVisitReason(reason); + } + list.add(aqi); + } + Integer total = null; + while (c_count.moveToNext()) { + total = c_count.getInt(0); + } + resultBean.setTotalPages(getTotalPageSize(total)); + resultBean.setPageNum(pageNum); + resultBean.setData(list); + } catch (Exception e) { + e.printStackTrace(); + } + return resultBean; + } + + public List<Visit> getVisitList(String deviceCompanyId) { + List<Visit> list=new ArrayList<Visit>(); + Visit visit=null; + String sql="select * from visit where is_synchron='N' and device_company_id="+Integer.parseInt(deviceCompanyId) + " limit 0, 50"; + Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{}); + while (c.moveToNext()){ + visit=new Visit(); + visit.setVisitId(c.getString(c.getColumnIndex("visit_id"))); + visit.setVisitReasonId(c.getString(c.getColumnIndex("visit_reason_id"))); + visit.setRemark(c.getString(c.getColumnIndex("remark"))); + visit.setEnterTime(c.getString(c.getColumnIndex("enter_time"))); + visit.setExitTime(c.getString(c.getColumnIndex("exit_time"))); + visit.setVisitorTypeId(c.getString(c.getColumnIndex("visitor_type_id"))); + visit.setVisitorId(c.getString(c.getColumnIndex("visitor_id"))); + visit.setVisitorCompanyId(c.getString(c.getColumnIndex("visitor_company_id"))); + visit.setVisiteeId(c.getString(c.getColumnIndex("visitee_id"))); + visit.setVisiteeCompanyId(c.getString(c.getColumnIndex("visitee_company_id"))); + visit.setCurrentStateId(c.getString(c.getColumnIndex("current_state_id"))); + visit.setWarning(c.getString(c.getColumnIndex("warning"))); + visit.setUpdateTime(c.getString(c.getColumnIndex("update_time"))); + visit.setIsSynchron(c.getString(c.getColumnIndex("is_synchron"))); + visit.setDeviceCompanyId(c.getString(c.getColumnIndex("device_company_id"))); + visit.setIsValid(c.getString(c.getColumnIndex("is_valid"))); + visit.setCreateTime(c.getString(c.getColumnIndex("create_time"))); + visit.setVisitReason(c.getString(c.getColumnIndex("visit_reason"))); + list.add(visit); + } + return list; + } + + //鍒犻櫎宸蹭笂浼犵粰浣犳湇鍔″櫒鐨勬暟鎹� + public void delVisitList(List<Visit> list){ + for (Visit item : list) { + String sql="delete from visit where is_synchron='N' and visit_id='"+item.getVisitId()+"'"; + MainActivity.getInstance().db.execSQL(sql); + } + } + + //鑾峰彇鏈悓姝ユ暟鎹�绘暟 + public int getSynDataCount(){ + String sql="select count(*) from visit where is_synchron='N' "; + Cursor c =MainActivity.getInstance().db.rawQuery(sql,new String[]{}); + c.moveToFirst(); + return c.getInt(0); + } } -- Gitblit v1.8.0