package com.fgkj.dao.impl.bts61850;
|
|
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.BTS_61850;
|
import com.fgkj.dto.BTS_61850_setparam;
|
import com.fgkj.dto.BTS_61850_state;
|
import com.fgkj.dto.BattInf;
|
|
public class BTS_61850_setparamImpl 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;
|
}
|
//根据设备id修改参数
|
public boolean update(Object obj) {
|
BTS_61850_setparam bts=(BTS_61850_setparam) obj;
|
String sql="update db_ram_db.tb_bts_61850_setparm set set_discurr=?,set_distime=?" +
|
",set_discap=?,set_tep_dis=?,set_groupvol_low=?,set_monvollow=?,testcmd=? " +
|
" where FBSDeviceId=? ";
|
boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{
|
bts.getSet_discurr(),bts.getSet_distime(),bts.getSet_discap(),bts.getSet_tep_dis(),bts.getSet_groupvol_low()
|
,bts.getSet_monvollow(),bts.getTestcmd(),bts.getFBSDeviceId()});
|
return bl;
|
}
|
public boolean del(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
public List searchAll() {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
|
//根据机房信息查询参数
|
public List serchByCondition(Object obj) {
|
BattInf binf=(BattInf) obj;
|
String sql="select db_battinf.tb_battinf.battgroupid,db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.FBSDeviceId,db_battinf.tb_battinf.FBSDeviceIp,db_battinf.tb_battinf.BattGroupName" +
|
",db_battinf.tb_battinf.MonCount,db_battinf.tb_battinf.MonVolStd,db_battinf.tb_battinf.MonCapStd,db_battinf.tb_battinf.GroupIndexInFBSDevice " +
|
",db_ram_db.tb_bts_61850_setparm.FBSDeviceId,db_ram_db.tb_bts_61850_setparm.batt_test,db_ram_db.tb_bts_61850_setparm.set_time,db_ram_db.tb_bts_61850_setparm.set_discurr,db_ram_db.tb_bts_61850_setparm.set_distime" +
|
",db_ram_db.tb_bts_61850_setparm.set_discap,db_ram_db.tb_bts_61850_setparm.set_tep_dis,db_ram_db.tb_bts_61850_setparm.set_groupvol_low,db_ram_db.tb_bts_61850_setparm.set_monvollow,db_ram_db.tb_bts_61850_setparm.testcmd" +
|
",db_ram_db.tb_bts_61850_state.stc_workstate,db_ram_db.tb_bts_61850_state.dev_captest_online,db_ram_db.tb_bts_61850_state.dev_captest_groupvol,db_ram_db.tb_bts_61850_state.dev_commcount,db_ram_db.tb_bts_61850_state.timelong " +
|
" from db_battinf.tb_battinf " +
|
" LEFT OUTER JOIN db_ram_db.tb_bts_61850_setparm on db_ram_db.tb_bts_61850_setparm.FBSDeviceId=db_battinf.tb_battinf.FBSDeviceId " +
|
" LEFT OUTER JOIN db_ram_db.tb_bts_61850_state on db_ram_db.tb_bts_61850_state.FBSDeviceId=db_battinf.tb_battinf.FBSDeviceId " +
|
" where db_battinf.tb_battinf.StationName1 like ? and db_battinf.tb_battinf.StationName LIKE ? " +
|
" and db_battinf.tb_battinf.battgroupid=? ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%",binf.getBattGroupId()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
BTS_61850 bts=new BTS_61850();
|
BattInf binf=new BattInf();
|
binf.setBattGroupId(rs.getInt("battGroupId"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
|
binf.setFbsDeviceIp(rs.getString("fbsDeviceIp"));
|
binf.setBattGroupName(rs.getString("battGroupName"));
|
binf.setMonCount(rs.getInt("monCount"));
|
binf.setMonVolStd(rs.getFloat("monVolStd"));
|
binf.setMonCapStd(rs.getFloat("monCapStd"));
|
binf.setGroupIndexInFBSDevice(rs.getInt("groupIndexInFBSDevice"));
|
bts.setBinf(binf);
|
|
BTS_61850_setparam bts_param=new BTS_61850_setparam();
|
bts_param.setFBSDeviceId(rs.getInt("FBSDeviceId"));
|
bts_param.setBatt_test(rs.getInt("batt_test"));
|
bts_param.setSet_time(rs.getTimestamp("set_time"));
|
bts_param.setSet_discurr(rs.getFloat("set_discurr"));
|
bts_param.setSet_distime(rs.getFloat("set_distime"));
|
bts_param.setSet_discap(rs.getFloat("set_discap"));
|
bts_param.setSet_tep_dis(rs.getFloat("set_tep_dis"));
|
bts_param.setSet_groupvol_low(rs.getFloat("set_groupvol_low"));
|
bts_param.setSet_monvollow(rs.getFloat("set_monvollow"));
|
bts_param.setTestcmd(rs.getInt("testcmd"));
|
bts.setBts_param(bts_param);
|
|
BTS_61850_state bts_state=new BTS_61850_state();
|
bts_state.setStc_workstate(rs.getInt("stc_workstate"));
|
bts_state.setDev_captest_online(rs.getFloat("dev_captest_online"));
|
bts_state.setDev_captest_groupvol(rs.getFloat("dev_captest_groupvol"));
|
bts_state.setDev_commcount(rs.getInt("dev_commcount"));
|
bts_state.setTimelong(rs.getInt("timelong"));
|
bts.setBts_state(bts_state);
|
|
list.add(bts);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//机房命令操作设备时的cmd和ack校验
|
public boolean sendCmdTo61850Dev(int cmd,int dev_id)
|
{
|
int m_cmd = cmd;
|
int m_cmd_ack = cmd;
|
switch(m_cmd) {
|
case FBS9100_ComBase.CMD_61850_START_HR: m_cmd_ack = FBS9100_ComBase.CMD_61850_START_ACK; break;
|
case FBS9100_ComBase.CMD_61850_START_RES: m_cmd_ack = FBS9100_ComBase.CMD_61850_START_ACK; break;
|
case FBS9100_ComBase.CMD_61850_STOP: m_cmd_ack = FBS9100_ComBase.CMD_61850_STOP_ACK; break;
|
default: return false;
|
}
|
boolean res_exe = false;
|
String sql = "UPDATE db_ram_db.tb_bts_61850_setparm SET "
|
+ " batt_test=? "
|
+ " WHERE FBSDeviceId=? ";
|
Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{m_cmd,dev_id});
|
if(true == bl)
|
{
|
sql = "SELECT batt_test FROM db_ram_db.tb_bts_61850_setparm "+
|
" WHERE FBSDeviceId="+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("batt_test") == 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;
|
}
|
//根据dev_id查询弹出框中的数据
|
public List serchbyDev_id(Object obj) {
|
BTS_61850_setparam bts_setparam=(BTS_61850_setparam) obj;
|
String sql="select db_battinf.tb_battinf.battgroupid,db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.FBSDeviceId,db_battinf.tb_battinf.FBSDeviceIp,db_battinf.tb_battinf.BattGroupName" +
|
",db_battinf.tb_battinf.MonCount,db_battinf.tb_battinf.MonVolStd,db_battinf.tb_battinf.MonCapStd,db_battinf.tb_battinf.GroupIndexInFBSDevice " +
|
",db_ram_db.tb_bts_61850_setparm.FBSDeviceId,db_ram_db.tb_bts_61850_setparm.batt_test,db_ram_db.tb_bts_61850_setparm.set_time,db_ram_db.tb_bts_61850_setparm.set_discurr,db_ram_db.tb_bts_61850_setparm.set_distime" +
|
",db_ram_db.tb_bts_61850_setparm.set_discap,db_ram_db.tb_bts_61850_setparm.set_tep_dis,db_ram_db.tb_bts_61850_setparm.set_groupvol_low,db_ram_db.tb_bts_61850_setparm.set_monvollow,db_ram_db.tb_bts_61850_setparm.testcmd" +
|
" from db_battinf.tb_battinf " +
|
" LEFT OUTER JOIN db_ram_db.tb_bts_61850_setparm on db_ram_db.tb_bts_61850_setparm.FBSDeviceId=db_battinf.tb_battinf.FBSDeviceId " +
|
" where db_ram_db.tb_bts_61850_setparm.FBSDeviceId=? ";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{bts_setparam.getFBSDeviceId()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
BTS_61850 bts=new BTS_61850();
|
BattInf binf=new BattInf();
|
binf.setBattGroupId(rs.getInt("battGroupId"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
|
binf.setFbsDeviceIp(rs.getString("fbsDeviceIp"));
|
binf.setBattGroupName(rs.getString("battGroupName"));
|
binf.setMonCount(rs.getInt("monCount"));
|
binf.setMonVolStd(rs.getFloat("monVolStd"));
|
binf.setMonCapStd(rs.getFloat("monCapStd"));
|
binf.setGroupIndexInFBSDevice(rs.getInt("groupIndexInFBSDevice"));
|
bts.setBinf(binf);
|
|
BTS_61850_setparam bts_param=new BTS_61850_setparam();
|
bts_param.setFBSDeviceId(rs.getInt("FBSDeviceId"));
|
bts_param.setBatt_test(rs.getInt("batt_test"));
|
bts_param.setSet_time(rs.getTimestamp("set_time"));
|
bts_param.setSet_discurr(rs.getFloat("set_discurr"));
|
bts_param.setSet_distime(rs.getFloat("set_distime"));
|
bts_param.setSet_discap(rs.getFloat("set_discap"));
|
bts_param.setSet_tep_dis(rs.getFloat("set_tep_dis"));
|
bts_param.setSet_groupvol_low(rs.getFloat("set_groupvol_low"));
|
bts_param.setSet_monvollow(rs.getFloat("set_monvollow"));
|
bts_param.setTestcmd(rs.getInt("testcmd"));
|
bts.setBts_param(bts_param);
|
|
list.add(bts);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
|
public List serchByInfo(Object obj) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
|
}
|