package com.fgkj.dao.impl.ram; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.CallBack; import com.fgkj.dao.DAOHelper; import com.fgkj.dao.FBS9100_ComBase; import com.fgkj.db.DBUtil; import com.fgkj.dto.ram.Bts_gprs_state; public class Bts_gprs_stateImpl implements BaseDAO,CallBack{ public List getResults(ResultSet rs) { // TODO Auto-generated method stub return null; } public boolean add(Object obj) { // TODO Auto-generated method stub return false; } public boolean update(Object obj) { return false; } public boolean del(Object obj) { // TODO Auto-generated method stub return false; } public List searchAll() { // TODO Auto-generated method stub return null; } //根据设备id读取的设备连接的gprs模块的信号值 public List serchByCondition(Object obj) { Bts_gprs_state gprs=(Bts_gprs_state) obj; String sql=" select distinct db_ram_db.tb_bts_gprs_state.num,dev_id,op_cmd,AT_cmd,ack_inf" + " ,stationName,FBSDeviceName " + " from db_ram_db.tb_bts_gprs_state,db_battinf.tb_battinf " + " where db_ram_db.tb_bts_gprs_state.dev_id=db_battinf.tb_battinf.FBSDeviceId " + " and dev_id=? " + " order by record_datetime desc"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{gprs.getDev_id()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Bts_gprs_state g=new Bts_gprs_state(); g.setNum(rs.getInt("num")); g.setDev_id(rs.getInt("dev_id")); g.setOp_cmd(rs.getInt("op_cmd")); g.setAT_cmd(rs.getString("aT_cmd")); g.setAck_inf(rs.getString("ack_inf")); g.setStationName(rs.getString("stationName")); g.setFBSDeviceName(rs.getString("fBSDeviceName")); list.add(g); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } //系统参数命令操作设备时的cmd和ack校验 public boolean sendCmdToFBS9100Dev(int cmd,int dev_id) { int m_cmd = cmd; int m_cmd_ack = cmd; switch(m_cmd) { case FBS9100_ComBase.CMD_ReadGPRSCSQ: m_cmd_ack = FBS9100_ComBase.CMD_ReadGPRSCSQAck; break; default: return false; } boolean res_exe = false; String sql = "UPDATE db_ram_db.tb_bts_gprs_state SET " + " op_cmd=? " + " WHERE dev_id=? "; Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{m_cmd,dev_id}); if(true == bl) { sql = "SELECT op_cmd FROM db_ram_db.tb_bts_gprs_state "+ " WHERE dev_id="+dev_id; Connection conn=DBUtil.getConn(); PreparedStatement ps = null; ResultSet rs = null; for(int n=0; n<20; n++) { try { ps = conn.prepareStatement(sql); rs=ps.executeQuery(); if(rs.next()) { if(rs.getInt("op_cmd") == m_cmd_ack) { res_exe = true; break; } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { Thread.sleep(250); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } DBUtil.close(rs, ps, conn); } return res_exe; } public List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } }