package com.fgkj.dao.impl.Ld9; 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.BattInf; import com.fgkj.dto.LD9; import com.fgkj.dto.LD9_setparam; import com.fgkj.dto.LD9_state; import com.fgkj.dto.ram.FBS9100; import com.fgkj.dto.ram.Fbs9100_setparam; public class LD9_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) { LD9_setparam ld9=(LD9_setparam) obj; String sql="update db_ram_db.tb_LD9_setparam set param_teststart_batt_num=?,param_cap=?,param_discharge_curr=?" + ",param_mon_curr_high=?,param_charge_curr=?,param_mon_curr_low=?,param_online_vol=?,param_charge_curr_low=?" + ",param_charge_cap_low=?,param_online_vol_recover=?,param_junheng_model=? where dev_id=? "; boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{ld9.getParam_teststart_batt_num() ,ld9.getParam_cap(),ld9.getParam_discharge_curr(),ld9.getParam_mon_curr_high(),ld9.getParam_charge_curr(),ld9.getParam_mon_curr_low() ,ld9.getParam_online_vol(),ld9.getParam_charge_curr_low(),ld9.getParam_charge_cap_low(),ld9.getParam_online_vol_recover(),ld9.getParam_junheng_model() ,ld9.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; } //根据机房信息查询参数 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.StationName5,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_LD9_setparam.dev_id,db_ram_db.tb_LD9_setparam.op_cmd,db_ram_db.tb_LD9_setparam.param_teststart_batt_num,db_ram_db.tb_LD9_setparam.param_cap,param_discharge_curr" + ",db_ram_db.tb_LD9_setparam.param_mon_curr_high,db_ram_db.tb_LD9_setparam.param_charge_curr,db_ram_db.tb_LD9_setparam.param_mon_curr_low,db_ram_db.tb_LD9_setparam.param_online_vol" + ",db_ram_db.tb_LD9_setparam.param_charge_curr_low,db_ram_db.tb_LD9_setparam.param_charge_cap_low,db_ram_db.tb_LD9_setparam.param_online_vol_recover,db_ram_db.tb_LD9_setparam.param_module_address" + ",db_ram_db.tb_LD9_setparam.param_junheng_model" + ",db_ram_db.tb_LD9_state.sys_state,db_ram_db.tb_LD9_state.sys_online_vol,db_ram_db.tb_LD9_state.sys_group_vol,db_ram_db.tb_LD9_state.dev_commcount,db_ram_db.tb_LD9_state.timelong " + " from db_battinf.tb_battinf " + " LEFT OUTER JOIN db_ram_db.tb_LD9_setparam on db_ram_db.tb_LD9_setparam.dev_id=db_battinf.tb_battinf.FBSDeviceId " + " LEFT OUTER JOIN db_ram_db.tb_LD9_state on db_ram_db.tb_LD9_state.dev_id=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()){ LD9 ld9=new LD9(); BattInf binf=new BattInf(); binf.setBattGroupId(rs.getInt("battGroupId")); binf.setStationName(rs.getString("stationName")); binf.setStationName5(rs.getString("stationName5")); 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")); ld9.setBinf(binf); LD9_setparam ld9_param=new LD9_setparam(); ld9_param.setDev_id(rs.getInt("dev_id")); ld9_param.setOp_cmd(rs.getInt("op_cmd")); ld9_param.setParam_teststart_batt_num(rs.getInt("param_teststart_batt_num")); ld9_param.setParam_cap(rs.getInt("param_cap")); ld9_param.setParam_discharge_curr(rs.getFloat("param_discharge_curr")); ld9_param.setParam_mon_curr_high(rs.getFloat("param_mon_curr_high")); ld9_param.setParam_charge_curr(rs.getFloat("param_charge_curr")); ld9_param.setParam_mon_curr_low(rs.getFloat("param_mon_curr_low")); ld9_param.setParam_online_vol(rs.getFloat("param_online_vol")); ld9_param.setParam_charge_curr_low(rs.getFloat("param_charge_curr_low")); ld9_param.setParam_charge_cap_low(rs.getFloat("param_charge_cap_low")); ld9_param.setParam_online_vol_recover(rs.getInt("param_online_vol_recover")); ld9_param.setParam_module_address(rs.getInt("param_module_address")); ld9_param.setParam_junheng_model(rs.getInt("param_junheng_model")); ld9.setLd9_param(ld9_param); LD9_state ld9_state=new LD9_state(); ld9_state.setSys_state(rs.getInt("sys_state")); ld9_state.setSys_online_vol(rs.getFloat("sys_online_vol")); ld9_state.setSys_group_vol(rs.getFloat("sys_group_vol")); ld9_state.setDev_commcount(rs.getInt("dev_commcount")); ld9_state.setTimelong(rs.getInt("timelong")); list.add(ld9); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } //机房命令操作设备时的cmd和ack校验 public boolean sendCmdToLd9Dev(int cmd,int dev_id) { int m_cmd = cmd; int m_cmd_ack = cmd; switch(m_cmd) { case FBS9100_ComBase.CMD_Start: m_cmd_ack = FBS9100_ComBase.CMD_StartAck; break; case FBS9100_ComBase.CMD_Stop: m_cmd_ack = FBS9100_ComBase.CMD_StopAck; break; case FBS9100_ComBase.CMD_SetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_SetDischargeParmAck; break; case FBS9100_ComBase.CMD_GetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck; break; default: return false; } boolean res_exe = false; String sql = "UPDATE db_ram_db.tb_LD9_setparam 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_ld9_setparam "+ " 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; } //根据dev_id查询弹出框中的数据 public List serchbyDev_id(Object obj) { LD9_setparam ld9=(LD9_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_ram_db.tb_LD9_setparam.dev_id,db_ram_db.tb_LD9_setparam.op_cmd,db_ram_db.tb_LD9_setparam.param_teststart_batt_num,db_ram_db.tb_LD9_setparam.param_cap,param_discharge_curr" + ",db_ram_db.tb_LD9_setparam.param_mon_curr_high,db_ram_db.tb_LD9_setparam.param_charge_curr,db_ram_db.tb_LD9_setparam.param_mon_curr_low,db_ram_db.tb_LD9_setparam.param_online_vol" + ",db_ram_db.tb_LD9_setparam.param_charge_curr_low,db_ram_db.tb_LD9_setparam.param_charge_cap_low,db_ram_db.tb_LD9_setparam.param_online_vol_recover,db_ram_db.tb_LD9_setparam.param_module_address" + ",db_ram_db.tb_LD9_setparam.param_junheng_model " + " from db_battinf.tb_battinf " + " LEFT OUTER JOIN db_ram_db.tb_LD9_setparam on db_ram_db.tb_LD9_setparam.dev_id=db_battinf.tb_battinf.FBSDeviceId " + " where db_ram_db.tb_LD9_setparam.dev_id=? "; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{ld9.getDev_id()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ LD9 ld9=new LD9(); 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")); ld9.setBinf(binf); LD9_setparam ld9_param=new LD9_setparam(); ld9_param.setDev_id(rs.getInt("dev_id")); ld9_param.setOp_cmd(rs.getInt("op_cmd")); ld9_param.setParam_teststart_batt_num(rs.getInt("param_teststart_batt_num")); ld9_param.setParam_cap(rs.getInt("param_cap")); ld9_param.setParam_discharge_curr(rs.getFloat("param_discharge_curr")); ld9_param.setParam_mon_curr_high(rs.getFloat("param_mon_curr_high")); ld9_param.setParam_charge_curr(rs.getFloat("param_charge_curr")); ld9_param.setParam_mon_curr_low(rs.getFloat("param_mon_curr_low")); ld9_param.setParam_online_vol(rs.getFloat("param_online_vol")); ld9_param.setParam_charge_curr_low(rs.getFloat("param_charge_curr_low")); ld9_param.setParam_charge_cap_low(rs.getFloat("param_charge_cap_low")); ld9_param.setParam_online_vol_recover(rs.getInt("param_online_vol_recover")); ld9_param.setParam_module_address(rs.getInt("param_module_address")); ld9_param.setParam_junheng_model(rs.getInt("param_junheng_model")); ld9.setLd9_param(ld9_param); list.add(ld9); } } 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; } }