81041
2018-12-11 5c9ff4d11524b55914d8edf7f1ca776c6e0cb62e
gx_tieta/src/com/fgkj/dao/impl/BattInfImpl.java
@@ -12,11 +12,13 @@
import javax.persistence.Id;
import javax.sql.ConnectionEvent;
import javax.swing.text.StyledEditorKit.BoldAction;
import sun.security.action.GetBooleanAction;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.BattinfGroupFactory;
import com.fgkj.dao.CallBack;
import com.fgkj.dao.DAOHelper;
import com.fgkj.dao.FBS9100_ComBase;
@@ -30,9 +32,11 @@
import com.fgkj.dto.Batt_Maint_Dealarm;
import com.fgkj.dto.Batt_maint_inf;
import com.fgkj.dto.Batt_maintenance_inf;
import com.fgkj.dto.Battinf_ex;
import com.fgkj.dto.Batttestdata;
import com.fgkj.dto.Batttestdata_inf;
import com.fgkj.dto.Batttestdatastop;
import com.fgkj.dto.Database_backup;
import com.fgkj.dto.Limit;
import com.fgkj.dto.Page;
import com.fgkj.dto.RoleLimit;
@@ -41,6 +45,7 @@
import com.fgkj.dto.User_log;
import com.fgkj.dto.User_task_batt_template;
import com.fgkj.services.User_logService;
import com.sun.org.apache.bcel.internal.generic.LSTORE;
public class BattInfImpl implements BaseDAO, CallBack {
   //添加新的电池组(多个)
@@ -51,11 +56,12 @@
      //获取当前最大的stationid和battgroupid
      int maxs=42000000;//最大stationid
      int maxb=1000001;//最大battgroupid
      List maxList=(new BattInfImpl()).searchMaxId();
      if(maxList!=null&&maxList.size()>0){
       maxs=BattinfGroupFactory.searchStationId();
       maxb=BattinfGroupFactory.searchMaxBattgroupId();
      /*if(maxList!=null&&maxList.size()>0){
         maxs=(Integer) maxList.get(0)+1;
         maxb=(Integer) maxList.get(1)+1;
      }
         //maxb=(Integer) maxList.get(1)+1;
      }*/
      if(list!=null && list.size()>0){
         for (int i = 0; i < list.size(); i++) {
            BattInf binf=list.get(i);
@@ -70,12 +76,12 @@
            String sql = "insert into db_battinf.tb_battinf(" +
                  "StationId,StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp,FbsDeviceIp_YM,FbsDeviceIp_WG,"
                  + "FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
                  ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,DisCurrMax,station_phone" +
                  ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,install_user,DisCurrMax,station_phone,Station_install" +
                  ") values('"+binf.getStationId()+"','"+binf.getStationName()+"','"+binf.getStationName1()+"','"+binf.getStationName2()+"','"+binf.getStationName3()+"','"+binf.getStationName4()+"','"+binf.getStationName5()+
                  "','"+binf.getStationIp()+"',"+binf.getFBSDeviceId()+",'"+binf.getFbsDeviceIp()+"','"+binf.getFbsDeviceIp_YM()+"','"+binf.getFbsDeviceIp_WG()+"','"+binf.getFBSDeviceName()+"',"+binf.getGroupIndexInFBSDevice()+
                  ","+binf.getBattGroupId()+","+binf.getBattGroupNum()+",'"+binf.getBattGroupName()+"',"+binf.getFloatVolLevel()+","+binf.getOfflineVolLevel()+","+binf.getBattFloatCurrent()+
                  ","+binf.getMonCount()+","+binf.getMonCapStd()+","+binf.getMonVolStd()+","+binf.getMonResStd()+","+binf.getMonSerStd()+","+binf.getMonVolLowToAvg()+
                  ",'"+binf.getBattProducer()+"','"+binf.getBattModel()+"','"+DAOHelper.sdf.format(binf.getBattProductDate())+"','"+DAOHelper.sdf.format(binf.getBattInUseDate())+"',"+binf.getLoad_curr()+","+binf.getDisCurrMax()+",'"+binf.getStation_phone()+"')";
                  ",'"+binf.getBattProducer()+"','"+binf.getBattModel()+"','"+DAOHelper.sdf.format(binf.getBattProductDate())+"','"+DAOHelper.sdf.format(binf.getBattInUseDate())+"',"+binf.getLoad_curr()+",'"+binf.getInstall_user()+"',"+binf.getDisCurrMax()+",'"+binf.getStation_phone()+"',"+binf.getStation_install()+")";
            
            if(binf.getStationId().equals(maxs)){
               maxs++;
@@ -89,7 +95,13 @@
             }
         }
      }
      boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      Boolean bl=false;
      boolean en=BattinfGroupFactory.backup_battinf();
      if(en){
         bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      }else{
         return false;
      }
      (new User_logService()).addPro(listU);//将用户的操作记录下来
      return bl;
   
@@ -108,16 +120,17 @@
               binf.setStationId((String) listS.get(listS.size()-1));
            }else{
               //获取当前最大的stationid
               List maxList=(new BattInfImpl()).searchMaxId();
               if(maxList!=null&&maxList.size()>0){
               int maxs=BattinfGroupFactory.searchStationId();
               binf.setStationId(String.valueOf(maxs));
               /*if(maxList!=null&&maxList.size()>0){
                  int maxs=(Integer) maxList.get(0)+1;
                  binf.setStationId(String.valueOf(maxs));
               }
               }*/
            }
            String sql = "update db_battinf.tb_battinf set StationId='"+binf.getStationId()+"',StationName='"+binf.getStationName()+"',StationName1='"+binf.getStationName1()+"',StationName2='"+binf.getStationName2()+"',StationName3='"+binf.getStationName3()+"',StationName4='"+binf.getStationName4()+"',StationName5='"+binf.getStationName5()+"',StationIp='"+binf.getStationIp()+"',FBSDeviceId="+binf.getFBSDeviceId()+",FbsDeviceIp='"+binf.getFbsDeviceIp()+"',"
                  + "FBSDeviceName='"+binf.getFBSDeviceName()+"',GroupIndexInFBSDevice="+binf.getGroupIndexInFBSDevice()+",BattGroupNum="+binf.getBattGroupNum()+",BattGroupName='"+binf.getBattGroupName()+"',FloatVolLevel="+binf.getFloatVolLevel()+",OfflineVolLevel="+binf.getOfflineVolLevel()+",BattFloatCurrent="+binf.getBattFloatCurrent()+"," +
                    "MonCount="+binf.getMonCount()+",MonCapStd="+binf.getMonCapStd()+",monVolStd="+binf.getMonVolStd()+",monResStd="+binf.getMonResStd()+",MonSerStd="+binf.getMonSerStd()+",MonVolLowToAvg="+binf.getMonVolLowToAvg()+",BattProducer='"+binf.getBattProducer()+"',BattModel='"+binf.getBattModel()+"',BattProductDate='"+DAOHelper.sdf.format(binf.getBattProductDate())+"',BattInUseDate='"+DAOHelper.sdf.format(binf.getBattInUseDate())+"', "
                   +" Load_curr="+binf.getLoad_curr()+",DisCurrMax="+binf.getDisCurrMax()+",station_phone='"+binf.getStation_phone()+"'  where battgroupId="+binf.getBattGroupId();
                   +" Load_curr="+binf.getLoad_curr()+",install_user='"+binf.getInstall_user()+"',DisCurrMax="+binf.getDisCurrMax()+",station_phone='"+binf.getStation_phone()+"',Station_install="+binf.getStation_install()+"  where battgroupId="+binf.getBattGroupId();
            sql_str.add(sql);
            {
               String msg="修改"+binf.getStationName()+"机房"+binf.getBattGroupId()+"电池组的信息";
@@ -126,8 +139,16 @@
             }
         }
      }
      Boolean bl=false;
      boolean en=BattinfGroupFactory.backup_battinf();
      if(en){
         bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      }else{
         return false;
      }
      (new User_logService()).addPro(listU);//将用户的操作记录下来
      Boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      return bl;
   }
    //修改电池信息配置(ip地址,掩码和网关)
@@ -137,7 +158,13 @@
      boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, null);
      return bl;
   }
   //设置电池组充电电流阈值
   public boolean update_charge(Object obj){
      BattInf binf=(BattInf) obj;
      String sql = "update db_battinf.tb_battinf set  charge_curr_max=? where BattGroupId=?";
      boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{binf.getCharge_curr_max(),binf.getBattGroupId()});
      return bl;
   }
   //删除电池组(多个)
   public boolean del(Object obj) {
      List<BattInf> list=(List<BattInf>) obj;
@@ -155,8 +182,14 @@
             }
         }
      }
      Boolean bl=false;
      boolean en=BattinfGroupFactory.backup_battinf();
      if(en){
         bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      }else{
         return false;
      }
      (new User_logService()).addPro(listU);//将用户的操作记录下来
      Boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
      return bl;
   }
    //根据维护区和机房名称查询电池组信息(电池组信息配置)
@@ -166,9 +199,9 @@
      Page page=bmd.getPage();
      Connection conn= DBUtil.getConn();
      String numberSql=" SELECT FOUND_ROWS() number";
      String sql="select SQL_CALC_FOUND_ROWS distinct(StationId),StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp_YM,FbsDeviceIp_WG,FbsDeviceIp,"
      String sql="select SQL_CALC_FOUND_ROWS distinct(StationId),StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp_YM,FbsDeviceIp_WG,FbsDeviceIp,"
            + "FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,DisCurrMax,station_phone  " +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,Load_curr,install_user,DisCurrMax,station_phone,Station_install  " +
             " From db_battinf.tb_battinf " +
             " Where StationName like ? and StationName1 like ? and StationName2 like ?  and StationName5 like ? " +
             " order by StationId  " +
@@ -183,6 +216,7 @@
               while (rs.next()) {
                  BattInf binf = new BattInf();
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
@@ -213,8 +247,10 @@
                  binf.setBattProductDate(rs.getDate("battProductDate"));
                  binf.setBattInUseDate(rs.getDate("battInUseDate"));
                  binf.setLoad_curr(rs.getFloat("load_curr"));
                  binf.setInstall_user(rs.getString("install_user"));
                        binf.setDisCurrMax(rs.getFloat("disCurrMax"));
                        binf.setStation_phone(rs.getString("station_phone"));
                        binf.setStation_install(rs.getInt("station_install"));
                  list.add(binf);
               }
@@ -231,6 +267,76 @@
      }
      return list;
   }
   //根据维护区和机房名称查询电池组信息(电池组信息配置)<-------跨域----------->
   public List searchInform_ky(){
      String sql="select  distinct(StationId),StationId_ex,StationName,StationName1,StationName2,StationName3,StationName4,StationName5,StationIp,FBSDeviceId,FbsDeviceIp_YM,FbsDeviceIp_WG,FbsDeviceIp,"
            + "FBSDeviceName,GroupIndexInFBSDevice,battgroupId,BattGroupNum,BattGroupName,FloatVolLevel,OfflineVolLevel,BattFloatCurrent" +
             ",MonCount,MonCapStd,monVolStd,monResStd,MonSerStd,MonVolLowToAvg,BattProducer,BattModel,BattProductDate,BattInUseDate,battGuarantDayCount,SignalId,CInterFaceId,Load_curr,install_user,DisCurrMax,SignalName,Station_install,station_phone  " +
             " From db_battinf.tb_battinf " +
             " order by StationId  ";
      List<BattInf> list=DAOHelper.executeQueryLimit(sql,DBUtil.getConn(), null,new CallBack() {
         public List getResults(ResultSet rs) {
            List list = new ArrayList<BattInf>();
            int id=0;
            try {
               while (rs.next()) {
                  BattInf binf = new BattInf();
                  binf.setStationId(rs.getString("stationId"));
                  binf.setStationId_ex(rs.getString("stationId_ex"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
                  binf.setStationName4(rs.getString("stationName4"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setStationIp(rs.getString("stationIp"));
                  binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                  binf.setFbsDeviceIp(rs.getString("fbsDeviceIp"));
                  binf.setFbsDeviceIp_YM(rs.getString("fbsDeviceIp_YM"));
                  binf.setFbsDeviceIp_WG(rs.getString("fbsDeviceIp_WG"));
                  binf.setFBSDeviceName(rs.getString("fBSDeviceName"));
                  binf.setGroupIndexInFBSDevice(rs.getInt("groupIndexInFBSDevice"));
                  binf.setBattGroupId(rs.getInt("battGroupId"));
                  binf.setBattGroupNum(rs.getInt("battGroupNum"));
                  binf.setBattGroupName(rs.getString("battGroupName"));
                  binf.setFloatVolLevel(rs.getFloat("floatVolLevel"));
                  binf.setOfflineVolLevel(rs.getFloat("offlineVolLevel"));
                  binf.setBattFloatCurrent(rs.getFloat("battFloatCurrent"));
                  binf.setMonCount(rs.getInt("monCount"));
                  binf.setMonCapStd(rs.getFloat("monCapStd"));
                  binf.setMonVolStd(rs.getFloat("monVolStd"));
                  binf.setMonResStd(rs.getFloat("monResStd"));
                  binf.setMonSerStd(rs.getFloat("monSerStd"));
                  binf.setMonVolLowToAvg(rs.getFloat("monVolLowToAvg"));
                  binf.setBattProducer(rs.getString("battProducer"));
                  binf.setBattModel(rs.getString("battModel"));
                  binf.setBattProductDate(rs.getDate("battProductDate"));
                  binf.setBattInUseDate(rs.getDate("battInUseDate"));
                  binf.setBattGuarantDayCount(rs.getInt("battGuarantDayCount"));
                  binf.setSignalId(rs.getString("signalId"));
                  binf.setCInterFaceId(rs.getInt("cInterFaceId"));
                  binf.setStation_install(rs.getInt("station_install"));
                  binf.setLoad_curr(rs.getFloat("load_curr"));
                  binf.setInstall_user(rs.getString("install_user"));
                        binf.setDisCurrMax(rs.getFloat("disCurrMax"));
                        binf.setStation_phone(rs.getString("station_phone"));
                  list.add(binf);
               }
            } catch (SQLException e) {
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   //根据维护区和机房名称查询电池组信息(电池组信息配置)
   public List searchInform1(Object obj){
      Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
@@ -238,7 +344,7 @@
      Page page=bmd.getPage();
      Connection conn= DBUtil.getConn();
      String numberSql=" SELECT FOUND_ROWS() number";
      String sql="select SQL_CALC_FOUND_ROWS distinct(StationId),StationId_ex,StationName1,StationName2,StationName3,StationName,FBSDeviceId  " +
      String sql="select SQL_CALC_FOUND_ROWS distinct(StationId),StationId_ex,StationName1,StationName2,StationName3,StationName5,StationName,FBSDeviceId  " +
             " From db_battinf.tb_battinf " +
             " limit ?,?";
      List<BattInf> list=DAOHelper.executeQueryLimit(sql,conn, new Object[]{(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()},new CallBack() {
@@ -254,6 +360,7 @@
                  binf.setStationName1(rs.getString("stationName1"));
                  binf.setStationName2(rs.getString("stationName2"));
                  binf.setStationName3(rs.getString("stationName3"));
                  binf.setStationName5(rs.getString("stationName5"));
                  binf.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                  binf.setStationName(rs.getString("stationName"));
                  binf.setStationId_ex(rs.getString("stationId_ex"));
@@ -274,8 +381,8 @@
      return list;
   }
   //添加电池组时查询出最大的机房id和电池组id
   public List searchMaxId(){
      String sql="select max(stationid) as maxs,max(battgroupid) as maxb from db_battinf.tb_battinf limit 1";
   public int searchMaxId(){
      String sql="SELECT GREATEST((select max(StationId) from db_battinf.tb_battinf) ,(select max(StationId) from db_battinf.tb_battinf_apply)) as id";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -283,16 +390,16 @@
            try {
               
               while(rs.next()){
                  int maxs=42000000;
                  int maxb=1000001;
                  if(rs.getString("maxs") != null){
                     maxs=Integer.parseInt(rs.getString("maxs"));
                  int maxs=42010000;
                  //int maxb=1000001;
                  if(rs.getString("id") != null){
                     maxs=Integer.parseInt(rs.getString("id"));
                  }
                  if(rs.getInt("maxb")!=0){
                  /*if(rs.getInt("maxb")!=0){
                     maxb=rs.getInt("maxb");
                  }
                  }*/
                  list.add(maxs);
                  list.add(maxb);
                  //list.add(maxb);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
@@ -301,7 +408,38 @@
            return list;
         }
      });
      return list;
      int stationid=0;
      if(list!=null&&list.size()>0){
         stationid=(Integer) list.get(list.size()-1);
      }
      return stationid;
   }
   //查询出当前存在内存中最大的设备的id(很重要**********)
   public int searchMaxdevId_binf(){
      String sql="select max(FbsDeviceId) as id from db_battinf.tb_battinf  limit 1";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), null, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  int dev_id=0;
                  if(rs.getString("id")!=null){}
                  dev_id=rs.getInt("id");
                  list.add(dev_id);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      int dev_id=0;
      if(list!=null&&list.size()>0){
         dev_id=(Integer) list.get(list.size()-1);
      }
      return dev_id;
   }
    //判断新增的电池组是否存在
   public List judgeBatt(Object obj){
@@ -387,11 +525,11 @@
      return list;
   }
   
   //5.3添加选取电池组或者机房或者维护区
   //5.3添加选取电池组或者机房或者维护区或者全区县
   public List serchBatt(Object obj) {
      BattInf binf=(BattInf) obj;
      String sql="";
      String baseSql="select distinct(battgroupid),stationid,stationname,stationname1,battgroupname from db_battinf.tb_battinf " +
      String baseSql="select distinct(battgroupid),stationid,stationname,stationname1,stationname2,stationname5,battgroupname from db_battinf.tb_battinf " +
            "where ";
       //用于维护区
      String station1SqlT=" stationname1!=? ";//全部
@@ -408,6 +546,14 @@
         baseSql+=station2SqlT;
      }else{
         baseSql+=station2SqlF;
      }
      //用于区县
      String station5SqlT=" and stationname5!=? ";//全部
      String station5SqlF=" and stationname5=? ";
      if(binf.getStationName5().equals("")){
         baseSql+=station5SqlT;
      }else{
         baseSql+=station5SqlF;
      }
      //用于机房站点
      String stationSqlT=" and stationname!=? ";//全部
@@ -428,7 +574,7 @@
      String endSql=" order by stationid ";
      sql=baseSql+endSql;
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getStationName1(),binf.getStationName2(),binf.getStationName(),binf.getBattGroupId()}, new CallBack() {
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getStationName1(),binf.getStationName2(),binf.getStationName5(),binf.getStationName(),binf.getBattGroupId()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
@@ -439,6 +585,8 @@
               binf.setStationId(rs.getString("StationId"));
               binf.setStationName(rs.getString("stationName"));
               binf.setStationName1(rs.getString("stationName1"));
               binf.setStationName2(rs.getString("stationName2"));
               binf.setStationName5(rs.getString("stationName5"));
               binf.setBattGroupName(rs.getString("battGroupName"));
               list.add(binf);
               }
@@ -963,7 +1111,7 @@
      return list;
   }
   //查设备总数
   //查设备总数(已经安装)
   /*public int serchByDeviceId(){
      String sql=" SELECT COUNT(DISTINCT fbsdeviceid) number FROM db_battinf.tb_battinf  limit 1";
      List<BattInf> list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{}, new CallBack() {
@@ -993,11 +1141,11 @@
   public int serchByDeviceId(Object obj){
      User_inf uinf=(User_inf) obj;
      String sql=" SELECT COUNT(DISTINCT fbsdeviceid) number FROM db_battinf.tb_battinf  " +
                " left outer join db_user.tb_user_battgroup_baojigroup_battgroup on db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId " +
               " left outer join db_user.tb_user_battgroup_baojigroup_usr on db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id " +
               " left outer join db_user.tb_user_inf on tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid " +
               " where db_user.tb_user_inf.uid=? " +
                " limit 1";
               " where StationId in(" +
               " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  " +
               " and db_user.tb_user_battgroup_baojigroup_usr.uId=? " +
               " ) " +
               " and db_battinf.tb_battinf.station_install=1";
      List<BattInf> list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
         
         public List getResults(ResultSet rs) {
@@ -1021,6 +1169,93 @@
         number=list.get(list.size()-1).getNum();
      }
      return number;
   }
   //查单体总数(已安装的单体)
   public int serchByInstall_count(Object obj){
      User_inf uinf=(User_inf) obj;
      String sql=" SELECT sum(moncount) as nums FROM db_battinf.tb_battinf  " +
               " where StationId in(" +
               " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  " +
               " and db_user.tb_user_battgroup_baojigroup_usr.uId=? " +
               " ) " +
               " and db_battinf.tb_battinf.station_install=1";
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            int nums=0;//单体总数
            try {
               while(rs.next()){
                  nums=rs.getInt("nums");
                  list.add(nums);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      int number=0;//存放总数
      if(list!=null&&list.size()>0){
         number=(Integer) list.get(list.size()-1);
      }
      return number;
   }
   //查询设备总数(全部)
   public List serchByDeviceId_all(Object obj){
      User_inf uinf=(User_inf) obj;
      String sql=" SELECT DISTINCT fbsdeviceid,station_install,monvolstd FROM db_battinf.tb_battinf  " +
               "  where StationId in(" +
               " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  " +
               " and db_user.tb_user_battgroup_baojigroup_usr.uId=? " +
               " ) ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            int num_2_install=0;//2v已安装
            int num_2=0;//2v全部
            int num_12_install=0;//12v已安装
            int num_12=0;//12v全部
            int num_install=0;//已安装
            int num=0;//全部
            try {
               while(rs.next()){
                  int insatll=rs.getInt("station_install");
                  float monvolstd=rs.getFloat("monvolstd");
                  if(insatll==1){
                     num_install+=1;
                     if(monvolstd==2.0){
                        num_2_install+=1;
                     }else{
                        num_12_install+=1;
                     }
                  }
                  if(monvolstd==2.0){
                     num_2+=1;
                  }else{
                     num_12+=1;
                  }
                  num+=1;
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            list.add(num_2_install);
            list.add(num_2);
            list.add(num_12_install);
            list.add(num_12);
            list.add(num_install);
            list.add(num);
            return list;
         }
      });
      return list;
   }
   //-----------根据蓄电池组查不重复的MonCount(monNum)(单体编号)
   public List serchByMonNum(Object obj){
@@ -1049,7 +1284,7 @@
      });
      return list;
   }
   //实时历史机历卡
   public List serchByBattgroupId(Object obj){
      BattInf binf=(BattInf)obj;
      String sql="select * from db_battinf.tb_battinf where battgroupid=?";
@@ -1057,104 +1292,106 @@
         
         public List getResults(ResultSet rs) { List list = new ArrayList();
           try {
              while (rs.next()) { BattInf batt = new BattInf();
              batt.setNum(Integer.parseInt(rs.getString("num")));
              batt.setStationId((rs.getString("StationId")));
              batt.setStationName(rs.getString("StationName"));
              batt.setStationName1(rs.getString("StationName1"));
              batt.setStationName2(rs.getString("StationName2"));
              batt.setStationName3(rs.getString("StationName3"));
              batt.setStationName4(rs.getString("StationName4"));
              batt.setStationName5(rs.getString("StationName5"));
              batt.setStationName6(rs.getString("StationName6"));
              batt.setStationName7(rs.getString("StationName7"));
              batt.setStationName8(rs.getString("StationName8"));
              batt.setStationName9(rs.getString("StationName9"));
              batt.setStationIp(rs.getString("StationIp"));
              batt.setFBSDeviceId(Integer.parseInt(rs.getString("FBSDeviceId")));
              batt.setFbsDeviceIp(rs.getString("FbsDeviceIp"));
              batt.setFBSDeviceName(rs.getString("FBSDeviceName"));
              batt.setGroupIndexInFBSDevice(Integer.parseInt(rs.getString(
              "GroupIndexInFBSDevice")));
              batt.setBattModel(rs.getString("BattModel"));
              batt.setBattGroupId(Integer.parseInt(rs.getString("BattGroupId")));
              batt.setBattGroupNum(Integer.parseInt(rs.getString("BattGroupNum")));
              batt.setBattGroupName(rs.getString("BattGroupName"));
              batt.setBattGroupName1(rs.getString("BattGroupName1"));
              batt.setBattGroupName2(rs.getString("BattGroupName2"));
              batt.setBattGroupName3(rs.getString("BattGroupName3"));
              batt.setBattGroupName4(rs.getString("BattGroupName4"));
              batt.setBattGroupName5(rs.getString("BattGroupName5"));
              batt.setBattGroupName6(rs.getString("BattGroupName6"));
              batt.setFloatVolLevel(Float.parseFloat(rs.getString("FloatVolLevel")));
              batt.setOfflineVolLevel(Float.parseFloat(rs.getString("OfflineVolLevel"))) ;
              batt.setBattFloatCurrent(Float.parseFloat(rs.getString("BattFloatCurrent")));
              batt.setDeviceId(rs.getString("DeviceId"));
              batt.setDeviceName(rs.getString("DeviceName"));
              batt.setMonCount(Integer.parseInt(rs.getString("MonCount")));
              batt.setMonCapStd(Float.parseFloat(rs.getString("MonCapStd")));
              batt.setMonResStd(Float.parseFloat(rs.getString("MonResStd")));
              batt.setMonSerStd(Float.parseFloat(rs.getString("MonSerStd")));
              batt.setMonTmpStd(Float.parseFloat(rs.getString("MonTmpStd")));
              batt.setMonVolStd(Float.parseFloat(rs.getString("MonVolStd")));
              batt.setMonVolLowToAvg(Float.parseFloat(rs.getString("MonVolLowToAvg")));
              batt.setMonNum(Integer.parseInt(rs.getString("MonNum")));
              batt.setBattProducer(rs.getString("BattProducer"));
              batt.setBattProductDate((Date) rs.getObject("BattProductDate"));
              batt.setBattInUseDate((Date) rs.getObject("BattInUseDate"));
              batt.setSignalId(rs.getString("SignalId"));
              batt.setCInterFaceId(Integer.parseInt(rs.getString("CInterFaceId")));
              batt.setSignalName(rs.getString("SignalName"));
              int BattGuarantDayCount=rs.getInt("BattGuarantDayCount")-ActionUtil.daysBetween(rs.getDate("BattInUseDate"), new Date());//剩余保修天数
              batt.setBattGuarantDayCount(BattGuarantDayCount);
              list.add(batt); } } catch (SQLException e) { e.printStackTrace(); }
              while (rs.next()) {
                 BattInf batt = new BattInf();
                 batt.setNum(Integer.parseInt(rs.getString("num")));
                 batt.setStationId((rs.getString("StationId")));
                 batt.setStationName(rs.getString("StationName"));
                 batt.setStationName1(rs.getString("StationName1"));
                 batt.setStationName2(rs.getString("StationName2"));
                 batt.setStationName3(rs.getString("StationName3"));
                 batt.setStationName4(rs.getString("StationName4"));
                 batt.setStationName5(rs.getString("StationName5"));
                 batt.setStationName6(rs.getString("StationName6"));
                 batt.setStationName7(rs.getString("StationName7"));
                 batt.setStationName8(rs.getString("StationName8"));
                 batt.setStationName9(rs.getString("StationName9"));
                 batt.setStationIp(rs.getString("StationIp"));
                 batt.setFBSDeviceId(Integer.parseInt(rs.getString("FBSDeviceId")));
                 batt.setFbsDeviceIp(rs.getString("FbsDeviceIp"));
                 batt.setFBSDeviceName(rs.getString("FBSDeviceName"));
                 batt.setGroupIndexInFBSDevice(Integer.parseInt(rs.getString(
                 "GroupIndexInFBSDevice")));
                 batt.setBattModel(rs.getString("BattModel"));
                 batt.setBattGroupId(Integer.parseInt(rs.getString("BattGroupId")));
                 batt.setBattGroupNum(Integer.parseInt(rs.getString("BattGroupNum")));
                 batt.setBattGroupName(rs.getString("BattGroupName"));
                 batt.setBattGroupName1(rs.getString("BattGroupName1"));
                 batt.setBattGroupName2(rs.getString("BattGroupName2"));
                 batt.setBattGroupName3(rs.getString("BattGroupName3"));
                 batt.setBattGroupName4(rs.getString("BattGroupName4"));
                 batt.setBattGroupName5(rs.getString("BattGroupName5"));
                 batt.setBattGroupName6(rs.getString("BattGroupName6"));
                 batt.setFloatVolLevel(Float.parseFloat(rs.getString("FloatVolLevel")));
                 batt.setOfflineVolLevel(Float.parseFloat(rs.getString("OfflineVolLevel"))) ;
                 batt.setBattFloatCurrent(Float.parseFloat(rs.getString("BattFloatCurrent")));
                 batt.setDeviceId(rs.getString("DeviceId"));
                 batt.setDeviceName(rs.getString("DeviceName"));
                 batt.setMonCount(Integer.parseInt(rs.getString("MonCount")));
                 batt.setMonCapStd(Float.parseFloat(rs.getString("MonCapStd")));
                 batt.setMonResStd(Float.parseFloat(rs.getString("MonResStd")));
                 batt.setMonSerStd(Float.parseFloat(rs.getString("MonSerStd")));
                 batt.setMonTmpStd(Float.parseFloat(rs.getString("MonTmpStd")));
                 batt.setMonVolStd(Float.parseFloat(rs.getString("MonVolStd")));
                 batt.setMonVolLowToAvg(Float.parseFloat(rs.getString("MonVolLowToAvg")));
                 batt.setMonNum(Integer.parseInt(rs.getString("MonNum")));
                 batt.setBattProducer(rs.getString("BattProducer"));
                 batt.setBattProductDate((Date) rs.getObject("BattProductDate"));
                 batt.setBattInUseDate((Date) rs.getObject("BattInUseDate"));
                 batt.setSignalId(rs.getString("SignalId"));
                 batt.setCInterFaceId(Integer.parseInt(rs.getString("CInterFaceId")));
                 batt.setInstall_user(rs.getString("install_user"));
                 batt.setSignalName(rs.getString("SignalName"));
                 int BattGuarantDayCount=rs.getInt("BattGuarantDayCount")-ActionUtil.daysBetween(rs.getDate("BattInUseDate"), new Date());//剩余保修天数
                 batt.setBattGuarantDayCount(BattGuarantDayCount);
                 list.add(batt);
              } } catch (SQLException e) { e.printStackTrace(); }
              return list; }
      });
@@ -3232,7 +3469,7 @@
            " where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId   " +
            " and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id  " +
            " and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid  " +
            " and db_user.tb_user_inf.uid=?" +
            " and db_user.tb_user_inf.uid=? and db_battinf.tb_battinf.Station_install=1 " +
            "  limit 1";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
         
@@ -3452,7 +3689,7 @@
            " FROM db_battinf.tb_battinf " +
            " where StationName1 like ? and StationName2 like ?  " +
            " ORDER BY CONVERT( StationName USING gbk ) COLLATE gbk_chinese_ci ASC ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getNum(),"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%"},new CallBack() {
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%"},new CallBack() {
         
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
@@ -3747,7 +3984,7 @@
            " from db_battinf.tb_battinf " +
            " left outer join (select * from db_battinf.tb_battinf_rebuild where tb_battinf_rebuild.rebuild_clear_type=1 ) as battinf_re " +
            " on BattGroupId=battinf_re.new_battgroupid or BattGroupId=battinf_re.old_battgroupid " +
            " where stationname2 like ?  stationname5 like ?  ";
            " where stationname2 like ?  and stationname5 like ?  ";
      //用户管理
      String userSql=" and StationId in(" +
            " select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=?" +
@@ -3893,7 +4130,181 @@
      });
      return list;
   }
   //首页上根据stationid查询电池组的机历卡
   public List serchBattAllInfoByStationId(Object obj){
      BattInf binf=(BattInf) obj;
      String sql="select * from db_battinf.tb_battinf " +
            " left outer join  db_battinf.tb_battinf_ex on db_battinf.tb_battinf.stationId=db_battinf.tb_battinf_ex.stationid " +
            " where db_battinf.tb_battinf.stationId=? " +
            " order by db_battinf.tb_battinf.battgroupid";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getStationId()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                    BattInf batt = new BattInf();
                    batt.setStationId((rs.getString("StationId")));
                    batt.setStationId_ex(rs.getString("stationId_ex"));
                    batt.setStationName(rs.getString("StationName"));
                    batt.setStationName1(rs.getString("StationName1"));
                    batt.setStationName2(rs.getString("StationName2"));
                    batt.setStationName3(rs.getString("StationName3"));
                    batt.setStationName4(rs.getString("StationName4"));
                    batt.setStationName5(rs.getString("StationName5"));
                    batt.setStationName6(rs.getString("StationName6"));
                    batt.setStationName7(rs.getString("StationName7"));
                    batt.setStationName8(rs.getString("StationName8"));
                    batt.setStationName9(rs.getString("StationName9"));
                    batt.setStationIp(rs.getString("StationIp"));
                    batt.setFBSDeviceId(Integer.parseInt(rs.getString("FBSDeviceId")));
                    batt.setFbsDeviceIp(rs.getString("FbsDeviceIp"));
                    batt.setFBSDeviceName(rs.getString("FBSDeviceName"));
                    batt.setGroupIndexInFBSDevice(Integer.parseInt(rs.getString(
                    "GroupIndexInFBSDevice")));
                    batt.setBattModel(rs.getString("BattModel"));
                    batt.setBattGroupId(Integer.parseInt(rs.getString("BattGroupId")));
                    batt.setBattGroupNum(Integer.parseInt(rs.getString("BattGroupNum")));
                    batt.setBattGroupName(rs.getString("BattGroupName"));
                    batt.setBattGroupName1(rs.getString("BattGroupName1"));
                    batt.setBattGroupName2(rs.getString("BattGroupName2"));
                    batt.setBattGroupName3(rs.getString("BattGroupName3"));
                    batt.setBattGroupName4(rs.getString("BattGroupName4"));
                    batt.setBattGroupName5(rs.getString("BattGroupName5"));
                    batt.setBattGroupName6(rs.getString("BattGroupName6"));
                    batt.setFloatVolLevel(Float.parseFloat(rs.getString("FloatVolLevel")));
                    batt.setOfflineVolLevel(Float.parseFloat(rs.getString("OfflineVolLevel"))) ;
                    batt.setBattFloatCurrent(Float.parseFloat(rs.getString("BattFloatCurrent")));
                    batt.setDeviceId(rs.getString("DeviceId"));
                    batt.setDeviceName(rs.getString("DeviceName"));
                    batt.setMonCount(Integer.parseInt(rs.getString("MonCount")));
                    batt.setMonCapStd(Float.parseFloat(rs.getString("MonCapStd")));
                    batt.setMonResStd(Float.parseFloat(rs.getString("MonResStd")));
                    batt.setMonSerStd(Float.parseFloat(rs.getString("MonSerStd")));
                    batt.setMonTmpStd(Float.parseFloat(rs.getString("MonTmpStd")));
                    batt.setMonVolStd(Float.parseFloat(rs.getString("MonVolStd")));
                    batt.setMonVolLowToAvg(Float.parseFloat(rs.getString("MonVolLowToAvg")));
                    batt.setMonNum(Integer.parseInt(rs.getString("MonNum")));
                    batt.setBattProducer(rs.getString("BattProducer"));
                    batt.setBattProductDate((Date) rs.getObject("BattProductDate"));
                    batt.setBattInUseDate((Date) rs.getObject("BattInUseDate"));
                    batt.setSignalId(rs.getString("SignalId"));
                    batt.setCInterFaceId(Integer.parseInt(rs.getString("CInterFaceId")));
                    batt.setInstall_user(rs.getString("install_user"));
                    batt.setSignalName(rs.getString("SignalName"));
                    int BattGuarantDayCount=rs.getInt("BattGuarantDayCount")-ActionUtil.daysBetween(rs.getDate("BattInUseDate"), new Date());//剩余保修天数
                    batt.setBattGuarantDayCount(BattGuarantDayCount);
                    Battinf_ex binf_ex=new Battinf_ex();
                     binf_ex.setStationId(rs.getString("stationId"));
                     binf_ex.setFBSDeviceId(rs.getInt("fBSDeviceId"));
                     binf_ex.setStationName(rs.getString("stationName"));
                     binf_ex.setStationCode(rs.getString("stationCode"));
                     binf_ex.setStationRegion(rs.getString("stationRegion"));
                     binf_ex.setKeyWords(rs.getString("keyWords"));
                     binf_ex.setAffiliation(rs.getString("affiliation"));
                     binf_ex.setDataSources(rs.getString("dataSources"));
                     binf_ex.setStationType(rs.getString("stationType"));
                     binf_ex.setLongitude(rs.getDouble("longitude"));
                     binf_ex.setLatitude(rs.getInt("latitude"));
                     binf_ex.setStationAddr(rs.getString("stationAddr"));
                     binf_ex.setStationLevel(rs.getString("stationLevel"));
                     binf_ex.setMaintenanceState(rs.getString("maintenanceState"));
                     binf_ex.setBlockedState(rs.getString("blockedState"));
                     binf_ex.setMaintenanceCompany(rs.getString("maintenanceCompany"));
                     binf_ex.setBusinessScenario(rs.getString("businessScenario"));
                     binf_ex.setCoverScenario(rs.getString("coverScenario"));
                     binf_ex.setSiteTerrain(rs.getString("siteTerrain"));
                     binf_ex.setPropertyRights(rs.getString("propertyRights"));
                     binf_ex.setPropertyUnit(rs.getString("propertyUnit"));
                     binf_ex.setIsShare(rs.getString("isShare"));
                     binf_ex.setUseUnit(rs.getString("useUnit"));
                     binf_ex.setSiteCode(rs.getString("siteCode"));
                     binf_ex.setHistorySiteCode(rs.getString("historySiteCode"));
                     binf_ex.setSiteInternalNumber(rs.getString("siteInternalNumber"));
                     binf_ex.setSitePinyinReferred(rs.getString("sitePinyinReferred"));
                     binf_ex.setSiteChineseReferred(rs.getString("siteChineseReferred"));
                     binf_ex.setSiteMergeRecord(rs.getString("siteMergeRecord"));
                     binf_ex.setIsOpenBusiness(rs.getString("isOpenBusiness"));
                     binf_ex.setSchoolPersonnel(rs.getString("schoolPersonnel"));
                     binf_ex.setEntryTime(rs.getString("entryTime"));
                     binf_ex.setModifyPeople(rs.getString("modifyPeople"));
                     binf_ex.setModifyTime(rs.getString("modifyTime"));
                     binf_ex.setNote(rs.getString("note"));
                     binf_ex.setSiteReceivesMark(rs.getString("siteReceivesMark"));
                     binf_ex.setSiteValidity(rs.getString("siteValidity"));
                     binf_ex.setSiteNameCMCC(rs.getString("siteNameCMCC"));
                     binf_ex.setSiteNameCUCC(rs.getString("siteNameCUCC"));
                     binf_ex.setSiteNameCTC(rs.getString("siteNameCTC"));
                     binf_ex.setProducer(rs.getString("producer"));
                     binf_ex.setLastTimeLong(rs.getDouble("lastTimeLong"));
                     binf_ex.setLastTimeType(rs.getString("lastTimeType"));
                     binf_ex.setLastTimeDate(rs.getTimestamp("lastTimeDate"));
                     binf_ex.setShareInfo(rs.getString("shareInfo"));
                     binf_ex.setElectPowerCMCC(rs.getInt("electPowerCMCC"));
                     binf_ex.setElectPowerCUCC(rs.getInt("electPowerCUCC"));
                     binf_ex.setElectPowerCTC(rs.getInt("electPowerCTC"));
                     binf_ex.setIsCanElectPower(rs.getInt("isCanElectPower"));
                     binf_ex.setUpperStationRoute(rs.getDouble("upperStationRoute"));
                     binf_ex.setUpperStationDifficult(rs.getString("upperStationDifficult"));
                     binf_ex.setClienteleErrorService(rs.getString("clienteleErrorService"));
                     batt.setBinf_ex(binf_ex);
                      list.add(batt);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   
   public static void main(String[] args) throws ParseException {
      //new BattInfImpl().searchAll();
@@ -3908,6 +4319,7 @@
      binf.setStationName3("");
      binf.setBattGroupName("");
      binf.setBattProducer("1");
      binf.setStationId("42000575");
      User_inf uinf=new User_inf();
      uinf.setUId(1002);
      
@@ -3935,11 +4347,15 @@
      //List<BattInf> list=biml.serchMakeGroup(binf);
      //List<BattInf> list=biml.serchGroupByInfor(binf);
      //List<BattInf> list=biml.searchInform1(bmd);
      List<BattInf> list=biml.serchStationName5(binf);
      /*for (BattInf b : list) {
      //<BattInf> list=biml.serchStationName5(binf);
      /*List<BattInf> list=biml.serchBattAllInfoByStationId(binf);
      //List<BattInf> list=biml.searchInform_ky();
      for (BattInf b : list) {
         System.out.println(b);
      }*/
      System.out.println(list.size());
      }
      System.out.println(list.size());*/
      int nums=biml.serchByInstall_count(uinf);
      System.out.println(nums);
   }
   
    public List getResults(ResultSet rs) {
@@ -3973,7 +4389,7 @@
            binf.setBattProducer(rs.getString("battProducer"));
            binf.setBattProductDate(rs.getDate("battProductDate"));
            binf.setBattInUseDate(rs.getDate("battInUseDate"));
            //minf.setFault_type(rs.getString("fault_type"));
            if (rs.getString("maint_done_time") != null)
               mainf.setMaint_done_time(DAOHelper.sdf.parse(rs