From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001 From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 18 八月 2017 18:12:17 +0800 Subject: [PATCH] H264 NALU解析 并在RTSPServer判断 --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java | 134 ++++++++++++++++++++------------------------ 1 files changed, 61 insertions(+), 73 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java index 032d37f..d72400f 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/AttendanceDao.java @@ -1,41 +1,24 @@ package cn.com.basic.face.service.sqlite; -import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; - -import com.awsle.aibatis.client.SqlMapClient; -import com.awsle.aibatis.client.SqlMapClientBuilder; -import com.awsle.aibatis.exception.IdNotFoundException; -import com.lidroid.xutils.DbUtils; - -import org.xutils.http.RequestParams; -import org.xutils.x; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.HashMap; +import java.util.Date; import java.util.List; 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.common.BaseCommonCallBack; import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.common.ResultBean; -import cn.com.basic.face.discern.query.condition.AttendanceDetailQueryCondition; -import cn.com.basic.face.discern.query.condition.AttendanceQueryCondition; import cn.com.basic.face.discern.query.item.AttendanceDetailQueryItem; import cn.com.basic.face.discern.query.item.AttendanceQueryItem; -import cn.com.basic.face.fragment.AttendanceFragment; -import cn.com.basic.face.util.AppApi; -import cn.com.basic.face.util.DateUtil; /** * 鑰冨嫟璁板綍 */ -public class AttendanceDao { +public class AttendanceDao extends BaseDao{ public static AttendanceDao instance = new AttendanceDao(); @@ -59,39 +42,34 @@ */ public ResultBean reloadLeftList(String searchText, final int pageNum, final boolean append) { ResultBean resultBean = new ResultBean(); + SQLiteDatabase db = MainActivity.getInstance().db; try { - SQLiteDatabase db = Config.sqlMap.getDb(); - String sql = "SELECT b.register_id," + - " b.username," + - " b.surveillance_photo," + - " b.identify_num," + - " e.post_name," + - " d.`name` gender," + - " f.dept_name" + - " FROM " + - " employee a " + - " LEFT JOIN register b ON a.register_id = b.register_id " + - " LEFT JOIN dictionary d ON d.dict_id = b.gender_id " + - " LEFT JOIN post e ON e.post_id = b.post_id " + - " LEFT JOIN department f ON f.dept_id = b.department_id " + - " WHERE " + - " 1 = 1 " + - " GROUP BY b.register_id " + - " ORDER BY b.username "; String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId(); + StringBuilder sb = new StringBuilder(40); + sb.append("SELECT b.register_id,").append(" b.username,").append(" b.surveillance_photo,") + .append(" b.identify_num,").append(" e.post_name,").append(" d.name gender,") + .append(" f.dept_name").append(" FROM ").append(" employee a ") + .append(" LEFT JOIN register b ON a.register_id = b.register_id ") + .append(" LEFT JOIN dictionary d ON d.dict_id = b.gender_id ") + .append(" LEFT JOIN post e ON e.post_id = b.post_id ") + .append(" LEFT JOIN department f ON f.dept_id = b.department_id ") + .append(" WHERE ").append(" 1 = 1 "); if(deviceCompanyId != null && !deviceCompanyId.trim().isEmpty()) { - sql += " AND a.device_company_id = " + deviceCompanyId; + sb.append(" AND a.device_company_id = ").append(deviceCompanyId); } if(searchText != null && !searchText.trim().isEmpty()) { - sql += " AND b.username LIKE '%"+ searchText + "%'"; + sb.append(" AND b.username LIKE '%").append(searchText).append("%'"); } - String count = "select count(*) as count from (" + sql + " ) _table"; - sql += " LIMIT " + getStartIndex(pageNum) + "," + CommonVariables.Page.DEFAULT_PAGE_SIZE; + sb.append(" GROUP BY b.register_id ") + .append(" ORDER BY b.username "); + + 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<AttendanceQueryItem> list = new ArrayList<AttendanceQueryItem>(); - int b = list.size(); AttendanceQueryItem aqi = null; - Cursor c = db.rawQuery(sql,new String[]{}); - Cursor c_count = db.rawQuery(count,new String[]{}); + Cursor c = db.rawQuery(sb.toString(),new String[]{}); + Cursor c_count = db.rawQuery(count.toString(),new String[]{}); while (c.moveToNext()) { aqi = new AttendanceQueryItem(); aqi.setRegisterId(c.getString(c.getColumnIndex("register_id"))); @@ -105,13 +83,11 @@ } Integer total = null; while (c_count.moveToNext()) { - total = c.getInt(c.getColumnIndex("register_id")); + total = c_count.getInt(0); } resultBean.setTotalPages(getTotalPageSize(total)); resultBean.setPageNum(pageNum); resultBean.setData(list); - c.close(); - return resultBean; } catch (Exception e) { e.printStackTrace(); } @@ -123,37 +99,49 @@ */ public List<AttendanceDetailQueryItem> reloadAttendanceDetail(AttendanceQueryItem item) { List<AttendanceDetailQueryItem> list = new ArrayList(); + SQLiteDatabase db = MainActivity.getInstance().db; try { - + StringBuilder sb = new StringBuilder(40); + sb.append("SELECT a.time,").append(" b.device_name,").append(" case when a.attendance_type_id=305 then '绛惧埌'") + .append(" when a.attendance_type_id=306 then '绛鹃��'").append(" else '' end attendance_type") + .append(" FROM ").append(" attendance a ") + .append(" LEFT JOIN device b ON b.device_id = a.device_id ") + .append(" WHERE 1=1 "); + String registerId = item.getRegisterId(); + if(registerId != null && !registerId.trim().isEmpty()) { + sb.append(" AND a.register_id= ").append(registerId); + } + String deviceId = BaseApplication.getInstance().getAndroidDevice().getDeviceId(); + if(deviceId != null && !deviceId.trim().isEmpty()) { + sb.append(" AND b.device_id=").append(deviceId); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + sb.append(" AND a.time like '"+sdf.format(new Date())+"%' "); + String deviceCompanyId = BaseApplication.getInstance().getAndroidDevice().getCompanyId(); + if(deviceCompanyId != null && !deviceCompanyId.trim().isEmpty()) { + sb.append(" AND a.device_company_id = ").append(deviceCompanyId); + } + sb.append(" ORDER BY a.time DESC"); + StringBuilder count = new StringBuilder(sb.length()); + count.append("select count(*) as count from (").append(sb).append(" ) _table"); + AttendanceDetailQueryItem aqi = null; + Cursor c = db.rawQuery(sb.toString(),new String[]{}); + Cursor c_count = db.rawQuery(count.toString(),new String[]{}); + while (c.moveToNext()) { + aqi = new AttendanceDetailQueryItem(); + aqi.setTime(c.getString(c.getColumnIndex("time"))); + aqi.setDeviceName(c.getString(c.getColumnIndex("device_name"))); + aqi.setAttendanceType(c.getString(c.getColumnIndex("attendance_type"))); + list.add(aqi); + } + Integer total = null; + while (c_count.moveToNext()) { + total = c_count.getInt(0); + } } catch (Exception e) { e.printStackTrace(); } return list; - } - - /** - * 鑾峰彇鍒嗛〉寮�濮嬭 - * @param pageNum - * @return - */ - private int getStartIndex(Integer pageNum){ - if(pageNum == null || pageNum <= 0){ - return 0; - } - return (pageNum-1)*Integer.parseInt(CommonVariables.Page.DEFAULT_PAGE_SIZE); - } - - /** - * 鑾峰彇鎬婚〉鏁� - * @param total - * @return - */ - private int getTotalPageSize(Integer total){ - if(total == null || total <= 0){ - return 1; - } - int pageSize = Integer.parseInt(CommonVariables.Page.DEFAULT_PAGE_SIZE); - return total%pageSize == 0 ? total/pageSize : total/pageSize + 1; } } -- Gitblit v1.8.0