81041
2020-01-06 dc4e90ff7d720a78dba3aa72d868b89f69eafff7
Device_Manage/src/com/fgkj/dao/impl/Batt_rtstateImpl.java
@@ -1,179 +1,185 @@
package com.fgkj.dao.impl;
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.db.DBUtil;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.Batt_rtstate;
public class Batt_rtstateImpl implements BaseDAO,CallBack{
   @Override
   public List getResults(ResultSet rs) {
      // TODO Auto-generated method stub
      return null;
   }
   @Override
   public boolean add(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   @Override
   public boolean update(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   @Override
   public boolean del(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   @Override
   public List searchAll() {
      // TODO Auto-generated method stub
      return null;
   }
    //根据电池组信息查询组端信息
   @Override
   public List serchByCondition(Object obj) {
      BattInf binf=(BattInf) obj;
      String sql=" select * from db_ram_db.tb_batt_rtstate where BattGroupId=? ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{binf.getBattGroupId()}, new CallBack() {
         @Override
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batt_rtstate rt=new Batt_rtstate();
                  rt.setBattGroupId(rs.getInt("battGroupId"));
                  rt.setBatt_count(rs.getInt("batt_count"));
                  rt.setRec_datetime(rs.getTimestamp("rec_datetime"));
                  rt.setOnline_vol(rs.getFloat("online_vol"));
                  rt.setGroup_vol(rs.getFloat("group_vol"));
                  rt.setGroup_curr(rs.getFloat("group_curr"));
                  rt.setBatt_state(rs.getInt("batt_state"));
                  rt.setBatt_test_type(rs.getInt("batt_test_type"));
                  rt.setBatt_test_starttime(rs.getTimestamp("batt_test_starttime"));
                  rt.setBatt_test_recordtime(rs.getTimestamp("batt_test_recordtime"));
                  rt.setBatt_test_tlong(rs.getInt("batt_test_tlong"));
                  rt.setBatt_test_cap(rs.getFloat("batt_test_cap"));
                  rt.setBatt_real_cap(rs.getFloat("batt_real_cap"));
                  rt.setBatt_rest_cap(rs.getFloat("batt_rest_cap"));
                  list.add(rt);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
    //测试数据——实时查询充放电统计
   public List serchDisOrChargrNew(){
      String sql=" select sum(if(batt_test_type=2,1,0)) as charge,sum(if(batt_test_type=3,1,0)) as discharge  from db_ram_db.tb_batt_rtstate where batt_test_type IN(2,3)  "
            + "  GROUP BY batt_test_type  ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),null, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            int charge=0;
            int dischar=0;
            try {
               while(rs.next()){
                  if(rs.getInt("charge")!=0){
                     charge=rs.getInt("charge");
                  }
                  if(rs.getInt("discharge")!=0){
                     dischar=rs.getInt("discharge");
                  }
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            list.add(charge);
            list.add(dischar);
            return list;
         }
      });
      return list;
   }
   //查看实时充放电信息
   @Override
   public List serchByInfo(Object obj) {
      BattInf binf=(BattInf) obj;
      String sql=" select db_ram_db.tb_batt_rtstate.battGroupId,batt_count,rec_datetime,online_vol,group_vol,group_curr"
            + " ,batt_state,batt_test_type,batt_test_starttime,batt_test_recordtime,batt_test_tlong,batt_test_cap,batt_real_cap,batt_rest_cap"
            + " ,FBSDeviceId,BattGroupName "
            + " from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf "
            + " where  db_ram_db.tb_batt_rtstate.battGroupId=db_battinf.tb_battinf.battGroupId ";
      //判断是充电还是放电
      String chargeSqlT="  and batt_state!=? ";
      String chargeSqlF="  and batt_state=? ";
      if(binf.getNum()==100){
         sql+=chargeSqlT;
      }else{
         sql+=chargeSqlF;
      }
      String endsql=" order by batt_test_starttime desc";
      sql+=endsql;
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getNum()}, new CallBack() {
         @Override
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batt_rtstate rt=new Batt_rtstate();
                  rt.setBattGroupId(rs.getInt("battGroupId"));
                  rt.setBatt_count(rs.getInt("batt_count"));
                  rt.setRec_datetime(rs.getTimestamp("rec_datetime"));
                  rt.setOnline_vol(rs.getFloat("online_vol"));
                  rt.setGroup_vol(rs.getFloat("group_vol"));
                  rt.setGroup_curr(rs.getFloat("group_curr"));
                  rt.setBatt_state(rs.getInt("batt_state"));
                  rt.setBatt_test_type(rs.getInt("batt_test_type"));
                  rt.setBatt_test_starttime(rs.getTimestamp("batt_test_starttime"));
                  rt.setBatt_test_recordtime(rs.getTimestamp("batt_test_recordtime"));
                  rt.setBatt_test_tlong(rs.getInt("batt_test_tlong"));
                  rt.setBatt_test_cap(rs.getFloat("batt_test_cap"));
                  rt.setBatt_real_cap(rs.getFloat("batt_real_cap"));
                  rt.setBatt_rest_cap(rs.getFloat("batt_rest_cap"));
                  rt.setNum(rs.getInt("FBSDeviceId"));
                  rt.setNote(rs.getString("BattGroupName"));
                  list.add(rt);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   public static void main(String[] args) {
      Batt_rtstateImpl bimpl=new Batt_rtstateImpl();
      BattInf binf=new BattInf();
      binf.setNum(100);
      List<Integer> list=bimpl.serchDisOrChargrNew();
      for (Integer num : list) {
            System.out.println(num);
      }
   }
}
package com.fgkj.dao.impl;
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.db.DBUtil;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.Batt_rtstate;
public class Batt_rtstateImpl implements BaseDAO,CallBack{
   @Override
   public List getResults(ResultSet rs) {
      // TODO Auto-generated method stub
      return null;
   }
   @Override
   public boolean add(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   @Override
   public boolean update(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   @Override
   public boolean del(Object obj) {
      // TODO Auto-generated method stub
      return false;
   }
   @Override
   public List searchAll() {
      // TODO Auto-generated method stub
      return null;
   }
    //根据电池组信息查询组端信息
   @Override
   public List serchByCondition(Object obj) {
      BattInf binf=(BattInf) obj;
      String sql=" select * from db_ram_db.tb_batt_rtstate where BattGroupId=? ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{binf.getBattGroupId()}, new CallBack() {
         @Override
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batt_rtstate rt=new Batt_rtstate();
                  rt.setBattGroupId(rs.getInt("battGroupId"));
                  rt.setBatt_count(rs.getInt("batt_count"));
                  rt.setRec_datetime(rs.getTimestamp("rec_datetime"));
                  rt.setOnline_vol(rs.getFloat("online_vol"));
                  rt.setGroup_vol(rs.getFloat("group_vol"));
                  rt.setGroup_curr(rs.getFloat("group_curr"));
                  rt.setBatt_state(rs.getInt("batt_state"));
                  rt.setBatt_test_type(rs.getInt("batt_test_type"));
                  rt.setBatt_test_starttime(rs.getTimestamp("batt_test_starttime"));
                  rt.setBatt_test_recordtime(rs.getTimestamp("batt_test_recordtime"));
                  rt.setBatt_test_tlong(rs.getInt("batt_test_tlong"));
                  rt.setBatt_test_cap(rs.getFloat("batt_test_cap"));
                  rt.setBatt_real_cap(rs.getFloat("batt_real_cap"));
                  rt.setBatt_rest_cap(rs.getFloat("batt_rest_cap"));
                  list.add(rt);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
    //测试数据——实时查询充放电统计
   public List serchDisOrChargrNew(Object obj){
      BattInf binf=(BattInf) obj;
      String sql=" select sum(if(batt_test_type=2,1,0)) as charge,sum(if(batt_test_type=3,1,0)) as discharge  "
            + "  from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf "
            + "  where db_alarm.tb_battalarm_data.battGroupId=db_battinf.tb_battinf.battGroupId  "
            + "  and batt_test_type IN(2,3)  "
            + "  and db_battinf.tb_battinf.FBSDeviceId=? "
            + "  GROUP BY batt_test_type  ";
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[]{binf.getFBSDeviceId()}, new CallBack() {
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            int charge=0;
            int dischar=0;
            try {
               while(rs.next()){
                  if(rs.getInt("charge")!=0){
                     charge=rs.getInt("charge");
                  }
                  if(rs.getInt("discharge")!=0){
                     dischar=rs.getInt("discharge");
                  }
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            list.add(charge);
            list.add(dischar);
            return list;
         }
      });
      return list;
   }
   //查看实时充放电信息
   @Override
   public List serchByInfo(Object obj) {
      BattInf binf=(BattInf) obj;
      String sql=" select db_ram_db.tb_batt_rtstate.battGroupId,batt_count,rec_datetime,online_vol,group_vol,group_curr"
            + " ,batt_state,batt_test_type,batt_test_starttime,batt_test_recordtime,batt_test_tlong,batt_test_cap,batt_real_cap,batt_rest_cap"
            + " ,FBSDeviceId,BattGroupName "
            + " from db_ram_db.tb_batt_rtstate,db_battinf.tb_battinf "
            + " where  db_ram_db.tb_batt_rtstate.battGroupId=db_battinf.tb_battinf.battGroupId "
            + " and db_battinf.tb_battinf.FBSDeviceId=?  ";
      //判断是充电还是放电
      String chargeSqlT="  and batt_state!=? ";
      String chargeSqlF="  and batt_state=? ";
      if(binf.getNum()==100){
         sql+=chargeSqlT;
      }else{
         sql+=chargeSqlF;
      }
      String endsql=" order by batt_test_starttime desc";
      sql+=endsql;
      //System.out.println(sql);
      List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getFBSDeviceId(),binf.getNum()}, new CallBack() {
         @Override
         public List getResults(ResultSet rs) {
            List list=new ArrayList();
            try {
               while(rs.next()){
                  Batt_rtstate rt=new Batt_rtstate();
                  rt.setBattGroupId(rs.getInt("battGroupId"));
                  rt.setBatt_count(rs.getInt("batt_count"));
                  rt.setRec_datetime(rs.getTimestamp("rec_datetime"));
                  rt.setOnline_vol(rs.getFloat("online_vol"));
                  rt.setGroup_vol(rs.getFloat("group_vol"));
                  rt.setGroup_curr(rs.getFloat("group_curr"));
                  rt.setBatt_state(rs.getInt("batt_state"));
                  rt.setBatt_test_type(rs.getInt("batt_test_type"));
                  rt.setBatt_test_starttime(rs.getTimestamp("batt_test_starttime"));
                  rt.setBatt_test_recordtime(rs.getTimestamp("batt_test_recordtime"));
                  rt.setBatt_test_tlong(rs.getInt("batt_test_tlong"));
                  rt.setBatt_test_cap(rs.getFloat("batt_test_cap"));
                  rt.setBatt_real_cap(rs.getFloat("batt_real_cap"));
                  rt.setBatt_rest_cap(rs.getFloat("batt_rest_cap"));
                  rt.setNum(rs.getInt("FBSDeviceId"));
                  rt.setNote(rs.getString("BattGroupName"));
                  list.add(rt);
               }
            } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }
            return list;
         }
      });
      return list;
   }
   public static void main(String[] args) {
      Batt_rtstateImpl bimpl=new Batt_rtstateImpl();
      BattInf binf=new BattInf();
      binf.setNum(100);
      List<Integer> list=bimpl.serchDisOrChargrNew(binf);
      for (Integer num : list) {
            System.out.println(num);
      }
   }
}