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; } }