package com.fgkj.dao.impl.ram;
|
|
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.UinfDaoFactory;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.dto.BattInf;
|
import com.fgkj.dto.User_log;
|
import com.fgkj.dto.ram.Fbs9100s_dfu_state;
|
import com.fgkj.services.User_logService;
|
|
public class Fbs9100s_dfu_stateImpl implements BaseDAO,CallBack{
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
//升级插入
|
public boolean add(Object obj) {
|
Fbs9100s_dfu_state dfu=(Fbs9100s_dfu_state) obj;
|
String sql=" REPLACE into db_ram_db.tb_fbs9100s_dfu_state (dev_id,dfu_file,dfu_wr_stat,dfu_data_blocknum,dfu_file_len) values (?,?,?,?,?)";
|
boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{dfu.getDev_id(),dfu.getDfu_file(),dfu.getDfu_wr_stat(),dfu.getDfu_data_blocknum(),dfu.getDfu_file_len()});
|
return bl;
|
}
|
//批量升级插入(所有属性传到stationName中,文件大小的值放在num中)
|
public boolean addPro(Object obj) {
|
BattInf binf=(BattInf) obj;
|
String sql=" REPLACE into db_ram_db.tb_fbs9100s_dfu_state(dev_id,dfu_wr_stat,dfu_data_blocknum) " +
|
" SELECT DISTINCT fBSDeviceId,1,1 FROM db_battinf.tb_battinf " +
|
" where fBSDeviceId not in(select DISTINCT dev_id from db_ram_db.tb_fbs9100s_dfu_state where dfu_en=true) ";
|
//条件
|
String sql0=" and stationid=? "; //具体机房
|
String sql1=" and stationname1=? ";//省
|
String sql2=" and stationname2=? ";//市
|
String sql5=" and stationname5=? ";//区县
|
switch (binf.getNum()) {
|
case 0:
|
sql+=sql0;
|
break;
|
case 1:
|
sql+=sql1;
|
break;
|
case 2:
|
sql+=sql2;
|
break;
|
case 5:
|
sql+=sql5;
|
break;
|
default:
|
return false;
|
}
|
//System.out.println(sql);
|
boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{binf.getStationName()});
|
return bl;
|
}
|
//表格显示批量插入的机房信息
|
public List serchInserStation(Object obj){
|
BattInf binf=(BattInf) obj;
|
String sql="SELECT DISTINCT fBSDeviceId,fBSDeviceName,stationId,stationname,stationname1,stationname2,stationname3,stationname5 " +
|
",db_ram_db.tb_fbs9100_state.dev_id,db_ram_db.tb_fbs9100_state.dev_version" +
|
" from db_battinf.tb_battinf,db_ram_db.tb_fbs9100_state " +
|
" where db_battinf.tb_battinf.fBSDeviceId=db_ram_db.tb_fbs9100_state.dev_id " +
|
" and db_battinf.tb_battinf.station_install=1 " +
|
" and ";
|
//条件
|
String sql0=" stationid=? "; //具体机房
|
String sql1=" stationname1=? ";//省
|
String sql2=" stationname2=? ";//市
|
String sql5=" stationname5=? ";//区县
|
switch (binf.getNum()) {
|
case 0:
|
sql+=sql0;
|
break;
|
case 1:
|
sql+=sql1;
|
break;
|
case 2:
|
sql+=sql2;
|
break;
|
case 5:
|
sql+=sql5;
|
break;
|
default:
|
return null;
|
}
|
String endSql=" order by fBSDeviceId ";
|
sql+=endSql;
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getStationName()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
BattInf binf=new BattInf();
|
binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setStationName1(rs.getString("stationName1"));
|
binf.setStationName2(rs.getString("stationName2"));
|
binf.setStationName3(rs.getString("stationName3"));
|
binf.setStationName5(rs.getString("stationName5"));
|
binf.setStationId(rs.getString("stationId"));
|
binf.setFBSDeviceName(rs.getString("fBSDeviceName"));
|
binf.setStationIp(rs.getString("dev_version"));
|
list.add(binf);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//批量升级前验证升级的设备必须处于在线监测状态(9100state的workstate为0)
|
public List judgeStation(Object obj){
|
List<Integer> list=(List<Integer>) obj;
|
String sql=" select distinct dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationname3 from db_ram_db.tb_fbs9100_state,db_battinf.tb_battinf " +
|
" where db_ram_db.tb_fbs9100_state.dev_id=db_battinf.tb_battinf.fBSDeviceId and dev_workstate=0 and dev_id in(";
|
String devSql="";
|
Object[] object=new Object[list.size()];
|
//System.out.println(list.size());
|
if(list!=null&&list.size()>0){
|
for (int i = 0; i <list.size(); i++) {
|
if(i==(list.size()-1)){
|
devSql+="?)";
|
}else{
|
devSql+="?,";
|
}
|
object[i]=list.get(i);
|
}
|
}
|
sql+=devSql;
|
String endSql=" order by dev_id";
|
sql+=endSql;
|
List listAll=DAOHelper.executeQuery(sql, DBUtil.getConn(), object, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
BattInf binf=new BattInf();
|
binf.setFBSDeviceId(rs.getInt("dev_id"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setStationName3(rs.getString("stationName3"));
|
list.add(binf);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return listAll;
|
}
|
//升级确认
|
public boolean update(Object obj) {
|
Fbs9100s_dfu_state dfu=(Fbs9100s_dfu_state) obj;
|
String sql="update db_ram_db.tb_fbs9100s_dfu_state set dfu_en=true,dfu_wr_stat=1, dfu_data_blocknum=1 where dev_id=?";
|
boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{dfu.getDev_id()});
|
return bl;
|
}
|
//批量升级确认
|
public boolean updatePro(Object obj) {
|
List<Fbs9100s_dfu_state> list=(List<Fbs9100s_dfu_state>) obj;
|
List<User_log> listU=new ArrayList<User_log>();//存放user_log
|
ArrayList sql_str=new ArrayList();
|
if(list!=null&&list.size()>0){
|
for (int i = 0; i < list.size(); i++) {
|
Fbs9100s_dfu_state dfu=list.get(i);
|
String sql="update db_ram_db.tb_fbs9100s_dfu_state set dfu_en=true,dfu_wr_stat=1, dfu_data_blocknum=1,dfu_file='"+dfu.getDfu_file()+"' where dev_id="+dfu.getDev_id();
|
sql_str.add(sql);
|
{
|
String msg="升级"+dfu.getDev_id()+"设备";
|
User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Increase, msg);
|
listU.add(ulog);
|
}
|
}
|
}
|
boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
|
(new User_logService()).addPro(listU);//将用户的操作记录下来
|
return bl;
|
}
|
public boolean del(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
//查询出所有处于升级的设备
|
public List searchAll() {
|
String sql=" select distinct db_ram_db.tb_fbs9100s_dfu_state.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationId,db_battinf.tb_battinf.fBSDeviceName " +
|
",sysVersion_new,softVersion_new,sysVersion_dev,softVersion_dev,dfu_file,dfu_en,dfu_wr_stat,dfu_data_blocknum,dfu_data_blocklen,dfu_file_len " +
|
",db_ram_db.tb_fbs9100_state.dev_version" +
|
" from db_ram_db.tb_fbs9100s_dfu_state,db_battinf.tb_battinf,db_ram_db.tb_fbs9100_state " +
|
" where db_ram_db.tb_fbs9100s_dfu_state.dev_id=db_battinf.tb_battinf.fBSDeviceId " +
|
" and db_ram_db.tb_fbs9100s_dfu_state.dev_id=db_ram_db.tb_fbs9100_state.dev_id " +
|
" and dfu_en=1";
|
List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null , new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Fbs9100s_dfu_state dfu=new Fbs9100s_dfu_state();
|
dfu.setDev_id(rs.getInt("dev_id"));
|
dfu.setSysVersion_new(rs.getInt("sysVersion_new"));
|
dfu.setSoftVersion_new(rs.getInt("softVersion_new"));
|
dfu.setSysVersion_dev(rs.getInt("sysVersion_dev"));
|
dfu.setSoftVersion_dev(rs.getInt("softVersion_dev"));
|
dfu.setDfu_file(rs.getString("dfu_file"));
|
dfu.setDfu_en(rs.getInt("dfu_en"));
|
dfu.setDfu_wr_stat(rs.getInt("dfu_wr_stat"));
|
dfu.setDfu_data_blocknum(rs.getInt("dfu_data_blocknum"));
|
dfu.setDfu_file_len(rs.getInt("dfu_file_len"));
|
dfu.setDfu_data_blocklen(rs.getInt("dfu_data_blocklen"));
|
dfu.setStationName(rs.getString("stationName"));
|
dfu.setStationId(rs.getString("stationId"));
|
dfu.setfBSDeviceName(rs.getString("fBSDeviceName"));
|
dfu.setNote(rs.getString("dev_version"));
|
list.add(dfu);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return list;
|
}
|
//升级界面实时刷新
|
public List serchByCondition(Object obj) {
|
List<Integer> list=(List<Integer>) obj;
|
String sql=" select * from db_ram_db.tb_fbs9100s_dfu_state " +
|
" where dev_id in(";
|
String devSql="";
|
Object[] object=new Object[list.size()];
|
//System.out.println(list.size());
|
if(list!=null&&list.size()>0){
|
for (int i = 0; i <list.size(); i++) {
|
if(i==(list.size()-1)){
|
devSql+="?)";
|
}else{
|
devSql+="?,";
|
}
|
object[i]=list.get(i);
|
}
|
}
|
sql+=devSql;
|
String endSql=" order by dev_id";
|
sql+=endSql;
|
//System.out.println(sql);
|
List listAll=DAOHelper.executeQuery(sql, DBUtil.getConn(), object, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Fbs9100s_dfu_state dfu=new Fbs9100s_dfu_state();
|
dfu.setDev_id(rs.getInt("dev_id"));
|
dfu.setSysVersion_new(rs.getInt("sysVersion_new"));
|
dfu.setSoftVersion_new(rs.getInt("softVersion_new"));
|
dfu.setSysVersion_dev(rs.getInt("sysVersion_dev"));
|
dfu.setSoftVersion_dev(rs.getInt("softVersion_dev"));
|
dfu.setDfu_file(rs.getString("dfu_file"));
|
dfu.setDfu_en(rs.getInt("dfu_en"));
|
dfu.setDfu_wr_stat(rs.getInt("dfu_wr_stat"));
|
dfu.setDfu_data_blocknum(rs.getInt("dfu_data_blocknum"));
|
dfu.setDfu_file_len(rs.getInt("dfu_file_len"));
|
dfu.setDfu_data_blocklen(rs.getInt("dfu_data_blocklen"));
|
list.add(dfu);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
return listAll;
|
}
|
|
public List serchByInfo(Object obj) {
|
return null;
|
}
|
public static void main(String[] args) {
|
Fbs9100s_dfu_stateImpl fimpl=new Fbs9100s_dfu_stateImpl();
|
List list=new ArrayList();
|
list.add(910000001);
|
/*list.add(910000577);
|
list.add(910000534);*/
|
BattInf binf=new BattInf();
|
binf.setNum(1);
|
binf.setStationName("广西省");
|
|
/*List<Fbs9100s_dfu_state> listAll=fimpl.serchByCondition(list);
|
for (Fbs9100s_dfu_state dfu : listAll) {
|
System.out.println(dfu);
|
}*/
|
/*List<BattInf> listAll=fimpl.judgeStation(list);
|
for (BattInf binf : listAll) {
|
System.out.println(binf.getStationName3()+" "+binf.getFBSDeviceId());
|
}*/
|
|
/*boolean bl=fimpl.addPro(binf);
|
System.out.println(bl);*/
|
/*List<BattInf> listAll=fimpl.serchInserStation(binf);
|
for (BattInf b : listAll) {
|
System.out.println(b.getStationName3()+" "+b.getFBSDeviceId());
|
}
|
System.out.println(listAll.size());*/
|
/*List<Fbs9100s_dfu_state> listAll=fimpl.searchAll();
|
for (Fbs9100s_dfu_state dfu : listAll) {
|
System.out.println(dfu);
|
}*/
|
List<Fbs9100s_dfu_state> listAll=fimpl.searchAll();
|
for (Fbs9100s_dfu_state dfu : listAll) {
|
System.out.println(dfu);
|
}
|
System.out.println(listAll.size());
|
}
|
}
|