package com.fgkj.impl; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.fgkj.dao.ActionUtil; import com.fgkj.dao.BaseDAO; import com.fgkj.dto.Battalram_data; import com.fgkj.dto.Page; import java.text.ParseException; import java.util.ArrayList; import java.util.List; public class Battalram_dataImpl implements BaseDAO{ @Override public boolean add(SQLiteDatabase db, Object obj) { return false; } @Override public boolean update(SQLiteDatabase db, Object obj) { return false; } @Override public boolean del(SQLiteDatabase db, Object obj) { return false; } @Override public List searchAll(SQLiteDatabase db) { return null; } //查询所有实时或者历史告警数据,全部传100 @Override public List serchByCondition(SQLiteDatabase db, Object obj) { Battalram_data adata=(Battalram_data)obj; String numsql = "select count(*) from tb_battalarm_data,tb_battinf where tb_battinf.BattGroupId=tb_battalarm_data.BattGroupId "; String sql=" select distinct tb_battalarm_data.num,tb_battalarm_data.BattGroupId,tb_battalarm_data.MonNum,alm_id,alm_signal_id,alm_start_time,alm_end_time,alm_value,alm_is_confirmed,alm_confirmed_time,alm_cleared_type" + ",tb_battinf.BattGroupName " + " from tb_battalarm_data,tb_battinf where tb_battinf.BattGroupId=tb_battalarm_data.BattGroupId "; //告警类型 String typeSqlT=" and alm_cleared_type!=? "; String typeSqlF=" and alm_cleared_type=? "; if(adata.getAlm_cleared_type()==100){ sql+=typeSqlT; numsql+=typeSqlT; }else{ sql+=typeSqlF; numsql+=typeSqlF; } //排序 String endSql=" order by alm_start_time desc "; //分页 String limitSql=" LIMIT ? OFFSET ? "; sql=sql+endSql+limitSql; //查询总数 Cursor cs = db.rawQuery(numsql, new String[]{String.valueOf(adata.getAlm_cleared_type())}); cs.moveToFirst(); int count = cs.getInt(0); cs.close(); List list=new ArrayList(); Cursor rs=db.rawQuery(sql,new String[]{String.valueOf(adata.getAlm_cleared_type()),String.valueOf(adata.getPage().getPageSize()),String.valueOf((adata.getPage().getPageCurr()-1)*adata.getPage().getPageSize())}); try { while (rs.moveToNext()){ Battalram_data a=new Battalram_data(); a.setNum(rs.getInt(rs.getColumnIndex("num"))); a.setBattGroupId(rs.getInt(rs.getColumnIndex("BattGroupId"))); a.setMonNum(rs.getInt(rs.getColumnIndex("MonNum"))); a.setAlm_id(rs.getInt(rs.getColumnIndex("alm_id"))); a.setAlm_signal_id(rs.getInt(rs.getColumnIndex("alm_signal_id"))); a.setAlm_start_time(ActionUtil.sdf.parse(rs.getString(rs.getColumnIndex("alm_start_time")))); a.setAlm_end_time(ActionUtil.sdf.parse(rs.getString(rs.getColumnIndex("alm_end_time")))); a.setAlm_value(rs.getDouble(rs.getColumnIndex("alm_value"))); a.setAlm_is_confirmed(rs.getInt(rs.getColumnIndex("alm_is_confirmed"))); a.setAlm_confirmed_time(ActionUtil.sdf.parse(rs.getString(rs.getColumnIndex("alm_confirmed_time")))); a.setAlm_cleared_type(rs.getInt(rs.getColumnIndex("alm_cleared_type"))); a.setNote(rs.getString(rs.getColumnIndex("BattGroupName"))); Page page=new Page(); page.setPageAll(count); a.setPage(page); list.add(a); } } catch (ParseException e) { e.printStackTrace(); }finally { rs.close(); } return list; } //查询所有的告警 public int serchAllNum(SQLiteDatabase db, Object obj) { Battalram_data adata=(Battalram_data)obj; String sql=" select count(*) as allnum from tb_battalarm_data where "; //告警类型 String typeSqlT="alm_cleared_type!=?"; String typeSqlF="alm_cleared_type=?"; if(adata.getAlm_cleared_type()==100){ sql+=typeSqlT; }else{ sql+=typeSqlF; } //排序 String endSql=" order by alm_start_time desc "; List list=new ArrayList(); Cursor rs=db.rawQuery(sql,new String[]{String.valueOf(adata.getAlm_cleared_type())}); rs.moveToFirst(); int count = rs.getInt(0); rs.close(); return count; } @Override public List serchByInfo(SQLiteDatabase db, Object obj) { return null; } }