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 | 119 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 88 insertions(+), 31 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 4af97d2..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,16 +42,53 @@ */ public ResultBean reloadLeftList(String searchText, final int pageNum, final boolean append) { ResultBean resultBean = new ResultBean(); + SQLiteDatabase db = MainActivity.getInstance().db; try { - //list = Config.sqlMap.queryForList("selectPersons"); - //Config.sqlMap.getDb(); - //result - SQLiteDatabase db = Config.sqlMap.getDb(); - Cursor c = db.rawQuery("select", new String[]{"a"}); - db.beginTransaction(); - db.endTransaction(); - } catch (Exception e) { + 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()) { + sb.append(" AND a.device_company_id = ").append(deviceCompanyId); + } + if(searchText != null && !searchText.trim().isEmpty()) { + sb.append(" AND b.username LIKE '%").append(searchText).append("%'"); + } + 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>(); + AttendanceQueryItem aqi = null; + 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"))); + aqi.setUsername(c.getString(c.getColumnIndex("username"))); + aqi.setSurveillancePhoto(c.getString(c.getColumnIndex("surveillance_photo"))); + aqi.setIdentifyNum(c.getString(c.getColumnIndex("identify_num"))); + aqi.setPostName(c.getString(c.getColumnIndex("post_name"))); + aqi.setGender(c.getString(c.getColumnIndex("gender"))); + aqi.setDeptName(c.getString(c.getColumnIndex("dept_name"))); + 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; @@ -77,14 +97,51 @@ /** * 鍔犺浇鑰冨嫟鏄庣粏 */ - public AttendanceDetailQueryItem reloadAttendanceDetail(AttendanceQueryItem item) { - AttendanceDetailQueryItem item1 = new AttendanceDetailQueryItem(); + 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 item1; + return list; } } -- Gitblit v1.8.0