| | |
| | | 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 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) values (?,?,?,?)";
|
| | | boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{dfu.getDev_id(),dfu.getDfu_file(),dfu.getDfu_wr_stat(),dfu.getDfu_data_blocknum()});
|
| | | 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=?;";
|
| | | 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() {
|
| | | // TODO Auto-generated method stub
|
| | | return null;
|
| | | 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) {
|
| | |
| | | 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);
|
| | | }
|
| | |
| | | });
|
| | | return listAll;
|
| | | }
|
| | |
|
| | | |
| | | public List serchByInfo(Object obj) {
|
| | | // TODO Auto-generated method stub
|
| | | return null;
|
| | | }
|
| | | public static void main(String[] args) {
|
| | | public static void main(String[] args) {
|
| | | Fbs9100s_dfu_stateImpl fimpl=new Fbs9100s_dfu_stateImpl();
|
| | | List list=new ArrayList();
|
| | | list.add(910000013);
|
| | | list.add(910000577);
|
| | | list.add(910000534);
|
| | | List<Fbs9100s_dfu_state> listAll=fimpl.serchByCondition(list);
|
| | | 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());
|
| | | }
|
| | | }
|