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;
|
}
|
//给gprs发送指令
|
public boolean update(Object obj) {
|
Bts_gprs_state gprs=(Bts_gprs_state) obj;
|
String sql=" REPLACE into db_ram_db.tb_bts_gprs_state(AT_cmd,dev_id) values('"+FBS9100_ComBase.CSQ+gprs.getAT_cmd()+"',?)";
|
//System.out.println(sql);
|
boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{gprs.getDev_id()});
|
return bl;
|
}
|
|
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,bts_task_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=? " ;
|
//System.err.println(sql);
|
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.setBts_task_inf(rs.getString("bts_task_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 Bts_gprs_state sendCmdToFBS9100Dev(int cmd,int dev_id)
|
{
|
int m_cmd = cmd;
|
int m_cmd_ack = cmd;
|
Bts_gprs_state gprs=new Bts_gprs_state();
|
gprs.setOp_cmd(0);
|
switch(m_cmd) {
|
case FBS9100_ComBase.CMD_ReadGPRSCSQ: m_cmd_ack = FBS9100_ComBase.CMD_ReadGPRSCSQAck; break;
|
default: return gprs;
|
}
|
//boolean res_exe = false;
|
String ack_inf="";
|
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,ack_inf 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)
|
{
|
gprs.setAck_inf(rs.getString("ack_inf"));
|
gprs.setOp_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 gprs;
|
}
|
public List serchByInfo(Object obj) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
public static void main(String[] args) {
|
Bts_gprs_stateImpl bimpl=new Bts_gprs_stateImpl();
|
Bts_gprs_state gprs=new Bts_gprs_state();
|
gprs.setDev_id(910000001);
|
gprs.setAT_cmd("CSQ");
|
/* boolean bl=bimpl.update(gprs);
|
System.out.println(bl);*/
|
List list=bimpl.serchByCondition(gprs);
|
System.out.println(list);
|
}
|
}
|