package com.fgkj.dao.impl.ram; import java.sql.Connection; 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.BattResAndTest; import com.fgkj.dao.CallBack; import com.fgkj.dao.DAOHelper; import com.fgkj.dao.LimitNumberFactory; import com.fgkj.db.DBUtil; import com.fgkj.dto.BattInf; import com.fgkj.dto.Page; import com.fgkj.dto.ram.FBS9100; import com.fgkj.dto.ram.Fbs9100s_dcdc_state; public class Fbs9100s_dcdc_stateImpl implements BaseDAO,CallBack{ public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Fbs9100s_dcdc_state fd=new Fbs9100s_dcdc_state(); fd.setNum(rs.getInt("num")); fd.setDev_id(rs.getInt("dev_id")); fd.setDcdc_Vsys(rs.getFloat("dcdc_Vsys")); fd.setDcdc_Vout(rs.getFloat("dcdc_Vout")); fd.setDcdc_Vbat(rs.getFloat("dcdc_Vbat")); fd.setDcdc_Iout(rs.getFloat("dcdc_Iout")); fd.setDcdc_Tmp_Dis(rs.getFloat("dcdc_Tmp_Dis")); fd.setDcdc_Tmp_Chr(rs.getFloat("dcdc_Tmp_Chr")); fd.setDcdc_SMR_Alarm1(rs.getInt("dcdc_SMR_Alarm1")); fd.setDcdc_SMR_Alarm2(rs.getInt("dcdc_SMR_Alarm2")); fd.setDcdc_version(rs.getInt("dcdc_version")); fd.setDcdc_ModeSetComm(rs.getInt("dcdc_ModeSetComm")); fd.setDcdc_RunSetComm(rs.getInt("dcdc_RunSetComm")); fd.setDcdc_BuckISet(rs.getFloat("dcdc_BuckISet")); fd.setDcdc_DisVolSet(rs.getFloat("dcdc_DisVolSet")); fd.setDcdc_DisCurrSet(rs.getFloat("dcdc_DisCurrSet")); fd.setDcdc_CommRxCnt(rs.getInt("dcdc_CommRxCnt")); fd.setDcdc_CommTxCnt(rs.getInt("dcdc_CommTxCnt")); list.add(fd); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } public boolean add(Object obj) { // TODO Auto-generated method stub return false; } public boolean update(Object obj) { // TODO Auto-generated method stub 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查询设备的充放电设备模块的参数信息(旧版本分页) public List serchByCondition1(Object obj) { FBS9100 fbs9100=(FBS9100) obj; BattInf binf=fbs9100.getBinf(); Page page=fbs9100.getPage(); Connection conn=DBUtil.getConn(); String numberSql=" SELECT FOUND_ROWS() number"; String sql=" select SQL_CALC_FOUND_ROWS DISTINCT dev_id,dcdc_Vsys,dcdc_Vout,dcdc_Vbat,dcdc_Iout,dcdc_Ibuck" + ",dcdc_Tmp_Dis, dcdc_Tmp_Chr,dcdc_SMR_Alarm1,dcdc_SMR_Alarm2,dcdc_version" + ",dcdc_ModeSetComm,dcdc_RunSetComm,dcdc_BuckISet,dcdc_DisVolSet,dcdc_DisCurrSet" + ",dcdc_CommTxCnt,dcdc_CommRxCnt" + ",db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.FBSDeviceName " + "from db_ram_db.tb_fbs9100s_dcdc_state,db_battinf.tb_battinf " + "where db_ram_db.tb_fbs9100s_dcdc_state.dev_id=db_battinf.tb_battinf.FBSDeviceId " + "and db_battinf.tb_battinf.StationName LIKE ? and db_battinf.tb_battinf.stationname1 LIKE ? " + "limit ?,?"; List list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationName()+"%","%"+binf.getStationName1()+"%",(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ FBS9100 fbs9100=new FBS9100(); Fbs9100s_dcdc_state fd=new Fbs9100s_dcdc_state(); fd.setDev_id(rs.getInt("dev_id")); fd.setDcdc_Vsys(rs.getFloat("dcdc_Vsys")); fd.setDcdc_Vout(rs.getFloat("dcdc_Vout")); fd.setDcdc_Vbat(rs.getFloat("dcdc_Vbat")); fd.setDcdc_Iout(rs.getFloat("dcdc_Iout")); fd.setDcdc_Ibuck(rs.getFloat("dcdc_Ibuck")); fd.setDcdc_Tmp_Dis(rs.getFloat("dcdc_Tmp_Dis")); fd.setDcdc_Tmp_Chr(rs.getFloat("dcdc_Tmp_Chr")); fd.setDcdc_SMR_Alarm1(rs.getInt("dcdc_SMR_Alarm1")); fd.setDcdc_SMR_Alarm2(rs.getInt("dcdc_SMR_Alarm2")); fd.setDcdc_version(rs.getInt("dcdc_version")); fd.setDcdc_ModeSetComm(rs.getInt("dcdc_ModeSetComm")); fd.setDcdc_RunSetComm(rs.getInt("dcdc_RunSetComm")); fd.setDcdc_BuckISet(rs.getFloat("dcdc_BuckISet")); fd.setDcdc_DisVolSet(rs.getFloat("dcdc_DisVolSet")); fd.setDcdc_DisCurrSet(rs.getFloat("dcdc_DisCurrSet")); fd.setDcdc_CommRxCnt(rs.getInt("dcdc_CommRxCnt")); fd.setDcdc_CommTxCnt(rs.getInt("dcdc_CommTxCnt")); fbs9100.setFd(fd); BattInf binf=new BattInf(); binf.setStationName(rs.getString("stationName")); binf.setStationName1(rs.getString("stationName1")); binf.setFBSDeviceName(rs.getString("fBSDeviceName")); binf.setStationName6(BattResAndTest.ModeSetCommTostring(rs.getInt("dcdc_ModeSetComm"))); binf.setStationName7(BattResAndTest.RunSetCommTostring(rs.getInt("dcdc_RunSetComm"))); binf.setStationName8(BattResAndTest.alarm1Tostring(rs.getInt("dcdc_SMR_Alarm1"))); binf.setStationName9(BattResAndTest.alarm2Tostring(rs.getInt("dcdc_SMR_Alarm2"))); fbs9100.setBinf(binf); Page page=new Page(); fbs9100.setPage(page); list.add(fbs9100); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); //去掉limit条件后的总数 int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql); //System.out.println("number: "+number); if(list!=null && list.size()>0){ list.get(list.size()-1).getPage().setPageAll(number); } return list; } //根据设备id查询设备的充放电设备模块的参数信息(新版本添加) public List serchByCondition(Object obj) { final FBS9100 fbs=(FBS9100) obj; String sql=" select DISTINCT db_ram_db.tb_fbs9100s_dcdc_state.num,dev_id,dcdc_Vsys,dcdc_Vout,dcdc_Vbat,dcdc_Iout,dcdc_Ibuck" + ",dcdc_Tmp_Dis, dcdc_Tmp_Chr,dcdc_SMR_Alarm1,dcdc_SMR_Alarm2,dcdc_version" + ",dcdc_ModeSetComm,dcdc_RunSetComm,dcdc_BuckISet,dcdc_DisVolSet,dcdc_DisCurrSet" + ",dcdc_CommTxCnt,dcdc_CommRxCnt" + ",db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.FBSDeviceName " + "from db_ram_db.tb_fbs9100s_dcdc_state,db_battinf.tb_battinf " + "where db_ram_db.tb_fbs9100s_dcdc_state.dev_id=db_battinf.tb_battinf.FBSDeviceId " + "and db_ram_db.tb_fbs9100s_dcdc_state.dev_id=? "; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{fbs.getFd().getDev_id()}, new CallBack() { public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ FBS9100 fbs9100=new FBS9100(); Fbs9100s_dcdc_state fd=new Fbs9100s_dcdc_state(); fd.setDev_id(rs.getInt("dev_id")); fd.setDcdc_Vsys(rs.getFloat("dcdc_Vsys")); fd.setDcdc_Vout(rs.getFloat("dcdc_Vout")); fd.setDcdc_Vbat(rs.getFloat("dcdc_Vbat")); fd.setDcdc_Iout(rs.getFloat("dcdc_Iout")); fd.setDcdc_Ibuck(rs.getFloat("dcdc_Ibuck")); fd.setDcdc_Tmp_Dis(rs.getFloat("dcdc_Tmp_Dis")); fd.setDcdc_Tmp_Chr(rs.getFloat("dcdc_Tmp_Chr")); fd.setDcdc_SMR_Alarm1(rs.getInt("dcdc_SMR_Alarm1")); fd.setDcdc_SMR_Alarm2(rs.getInt("dcdc_SMR_Alarm2")); fd.setDcdc_version(rs.getInt("dcdc_version")); fd.setDcdc_ModeSetComm(rs.getInt("dcdc_ModeSetComm")); fd.setDcdc_RunSetComm(rs.getInt("dcdc_RunSetComm")); fd.setDcdc_BuckISet(rs.getFloat("dcdc_BuckISet")); fd.setDcdc_DisVolSet(rs.getFloat("dcdc_DisVolSet")); fd.setDcdc_DisCurrSet(rs.getFloat("dcdc_DisCurrSet")); fd.setDcdc_CommRxCnt(rs.getInt("dcdc_CommRxCnt")); fd.setDcdc_CommTxCnt(rs.getInt("dcdc_CommTxCnt")); fbs9100.setFd(fd); BattInf binf=new BattInf(); binf.setStationName(rs.getString("stationName")); binf.setStationName1(rs.getString("stationName1")); binf.setFBSDeviceName(rs.getString("fBSDeviceName")); binf.setStationName6(BattResAndTest.ModeSetCommTostring(rs.getInt("dcdc_ModeSetComm"))); binf.setStationName7(BattResAndTest.RunSetCommTostring(rs.getInt("dcdc_RunSetComm"))); binf.setStationName8(BattResAndTest.alarm1Tostring(rs.getInt("dcdc_SMR_Alarm1"))); binf.setStationName9(BattResAndTest.alarm2Tostring(rs.getInt("dcdc_SMR_Alarm2"))); fbs9100.setBinf(binf); list.add(fbs9100); if(rs.isLast()&&list.size()<2){ list.add(cloneDcdc(fbs9100)); } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(list.size()==0){ list.add(cloneDcdc(fbs)); list.add(cloneDcdc(fbs)); } return list; } }); return list; } public List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } //当dcdc中只存了一笔数据时copy一份数据全为0的对象 public static FBS9100 cloneDcdc(FBS9100 fbs){ FBS9100 fbs_91=new FBS9100(); Fbs9100s_dcdc_state fd=fbs.getFd(); Fbs9100s_dcdc_state fd_91=new Fbs9100s_dcdc_state(); fd_91.setDev_id(fd.getDev_id()); fd_91.setDcdc_Vsys(0f); fd_91.setDcdc_Vout(0f); fd_91.setDcdc_Vbat(0f); fd_91.setDcdc_Iout(0f); fd_91.setDcdc_Ibuck(0f); fd_91.setDcdc_Tmp_Dis(0f); fd_91.setDcdc_Tmp_Chr(0f); fd_91.setDcdc_SMR_Alarm1(0); fd_91.setDcdc_SMR_Alarm2(0); fd_91.setDcdc_version(0); fd_91.setDcdc_ModeSetComm(0); fd_91.setDcdc_RunSetComm(0); fd_91.setDcdc_BuckISet(0f); fd_91.setDcdc_DisVolSet(0f); fd_91.setDcdc_DisCurrSet(0f); fd_91.setDcdc_CommRxCnt(0); fd_91.setDcdc_CommTxCnt(0); fbs_91.setFd(fd_91); BattInf binf=fbs.getBinf(); BattInf binf_91=new BattInf(); binf_91.setStationName(binf.getStationName()); binf_91.setStationName1(binf.getStationName1()); binf_91.setFBSDeviceName(binf.getFBSDeviceName()); binf_91.setStationName6(""); binf_91.setStationName7(""); binf_91.setStationName8(""); binf_91.setStationName9(""); fbs_91.setBinf(binf_91); return fbs_91; } public static void main(String[] args) { Fbs9100s_dcdc_stateImpl fimpl=new Fbs9100s_dcdc_stateImpl(); FBS9100 fbs=new FBS9100(); Fbs9100s_dcdc_state fbs9100=new Fbs9100s_dcdc_state(); fbs9100.setDev_id(91000001); fbs.setFd(fbs9100); BattInf binf=new BattInf(); binf.setStationName("湖北省-鄂州市-丁家老屋基站-铁塔基站"); binf.setStationName1("湖北省"); binf.setFBSDeviceName("FBS-9100S-6"); fbs.setBinf(binf); List list=fimpl.serchByCondition(fbs); for (FBS9100 fbs_91 : list) { System.out.println(fbs_91); } System.out.println(list.size()); } }