hdw
2018-11-28 954fc81fa128640249f8b4ba0c2cba6bd5ed4e87
gx_tieta/src/com/fgkj/dao/impl/ram/Fbs9100_battparamImpl.java
@@ -1,5 +1,7 @@
package com.fgkj.dao.impl.ram;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
@@ -8,6 +10,7 @@
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.ram.Fbs9100_battparam;
import com.mysql.fabric.xmlrpc.base.Array;
@@ -23,10 +26,15 @@
      // TODO Auto-generated method stub
      return false;
   }
    //修改参数
   public boolean update(Object obj) {
      // TODO Auto-generated method stub
      return false;
      Fbs9100_battparam bparam=(Fbs9100_battparam) obj;
      /*String sql=" update db_ram_db.tb_fbs9100_battparam set STD_CAP=?,STD_RES=?,BattGroupCount=?,EachGroupBattCount=?,MonomerVol=?,GroupVol=?,BattTemp=?,FloatChargeVol=?,FloatChargeCurr=?,OnlineVolLow=?,GroupConnType=? " +
            " where dev_id=? ";*/
      String sql=" replace into db_ram_db.tb_fbs9100_battparam(dev_id,dev_ip,STD_CAP,STD_RES,BattGroupCount,EachGroupBattCount,MonomerVol,GroupVol,BattTemp,FloatChargeVol,FloatChargeCurr,OnlineVolLow,GroupConnType) values(?,?,?,?,?,?,?,?,?,?,?,?,?)";
      boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{bparam.getDev_id(),bparam.getDev_ip(),bparam.getSTD_CAP(),bparam.getSTD_RES(),bparam.getBattGroupCount(),bparam.getEachGroupBattCount(),bparam.getMonomerVol(),bparam.getGroupVol()
         ,bparam.getBattTemp(),bparam.getFloatChargeVol(),bparam.getFloatChargeCurr(),bparam.getOnlineVolLow(),bparam.getGroupConnType()});
      return bl;
   }
   public boolean del(Object obj) {
@@ -41,7 +49,7 @@
    //根据设备id查询电池参数信息
   public List serchByCondition(Object obj) {
      Fbs9100_battparam bparam=(Fbs9100_battparam) obj;
      String sql=" select distinct num,dev_ip,dev_id,op_cmd,STD_CAP,STD_RES,BattGroupCount,EachGroupBattCount,MonomerVol,GroupVol,BattTemp,FloatChargeVol,FloatChargeCurr,OnlineVolLow,GroupConnType " +
      String sql=" select distinct dev_id, dev_ip,op_cmd,STD_CAP,STD_RES,BattGroupCount,EachGroupBattCount,MonomerVol,GroupVol,BattTemp,FloatChargeVol,FloatChargeCurr,OnlineVolLow,GroupConnType " +
            " ,db_battinf.tb_battinf.DeviceName,StationName,StationName1,StationName2,StationName3,StationName5,StationId " +
            " from db_ram_db.tb_fbs9100_battparam,db_battinf.tb_battinf  " +
            " where dev_id=? and db_ram_db.tb_fbs9100_battparam.dev_id=db_battinf.tb_battinf.fbsdeviceid" +
@@ -53,7 +61,6 @@
            try {
               while(rs.next()){
                  Fbs9100_battparam b=new Fbs9100_battparam();
                  b.setNum(rs.getInt("num"));
                  b.setDev_ip(rs.getString("dev_ip"));
                  b.setDev_id(rs.getInt("dev_id"));
                  b.setOp_cmd(rs.getInt("op_cmd"));
@@ -63,18 +70,81 @@
                  b.setEachGroupBattCount(rs.getInt("eachGroupBattCount"));
                  b.setMonomerVol(rs.getFloat("monomerVol"));
                  b.setGroupVol(rs.getFloat("groupVol"));
                  b.setBattTemp(rs.getFloat("battTemp"));
                  b.setFloatChargeVol(rs.getFloat("floatChargeVol"));
                  b.setFloatChargeCurr(rs.getFloat("floatChargeCurr"));
                  b.setOnlineVolLow(rs.getFloat("onlineVolLow"));
                  b.setGroupConnType(rs.getInt("groupConnType"));
                  b.setDeviceName(rs.getString("deviceName"));
                  b.setStationName(rs.getString("stationName"));
                  b.setStationName1(rs.getString("stationName1"));
                  b.setStationName2(rs.getString("stationName2"));
                  b.setStationName3(rs.getString("stationName3"));
                  b.setStationName5(rs.getString("stationName5"));
                  b.setStationId(rs.getString("stationId"));
                  list.add(b);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return null;
            return list;
         }
      });
      return null;
      return list;
   }
   //电池参数命令操作设备时的cmd和ack校验
   public boolean sendCmdToBattparam(int cmd,int dev_id)
   {
      int m_cmd = cmd;
      int m_cmd_ack = cmd;
      switch(m_cmd) {
         case FBS9100_ComBase.CMD_GetBattParam: m_cmd_ack = FBS9100_ComBase.CMD_GetBattParamACK; break;
         case FBS9100_ComBase.CMD_SetBattParam: m_cmd_ack = FBS9100_ComBase.CMD_SetBattParamACK; break;
         default: return false;
      }
      String sql_end = "";
      boolean res_exe = false;
      String sql = "UPDATE db_ram_db.tb_fbs9100_battparam  SET "
                  + " op_cmd=? " + sql_end
                  + " 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_fbs9100_battparam "+
                  " 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;
   }
   public List serchByInfo(Object obj) {
      // TODO Auto-generated method stub
      return null;