| | |
| | | package com.fgkj.dao.impl;
|
| | |
|
| | | import java.sql.Connection;
|
| | | import java.sql.ResultSet;
|
| | | import java.sql.SQLException;
|
| | | import java.util.ArrayList;
|
| | |
| | | import com.fgkj.dao.BaseDAO;
|
| | | import com.fgkj.dao.CallBack;
|
| | | import com.fgkj.dao.DAOHelper;
|
| | | import com.fgkj.dao.LimitNumberFactory;
|
| | | import com.fgkj.db.DBUtil;
|
| | | import com.fgkj.dto.BattMap_information;
|
| | | import com.fgkj.dto.Batt_endurance;
|
| | | import com.fgkj.dto.Page;
|
| | | import com.fgkj.dto.User_inf;
|
| | | import com.mysql.fabric.xmlrpc.base.Array;
|
| | |
|
| | | public class Batt_enduranceImpl implements BaseDAO,CallBack{
|
| | |
| | | // TODO Auto-generated method stub
|
| | | return null;
|
| | | }
|
| | | //续航时间的查询
|
| | | //续航时间的查询
|
| | | public List serchByCondition(Object obj) {
|
| | | Batt_endurance bendurance=(Batt_endurance) obj;
|
| | | String sql="select distinct tb_batt_endurance.num,tb_batt_endurance.deviceid,tb_batt_endurance.stationid,endurance_state,real_cap,tb_batt_endurance.moncapstd,real_curr,endurance_timelong " +
|
| | | ",db_battinf.tb_battinf.StationName " +
|
| | | Page page=bendurance.getPage();
|
| | | Connection conn=DBUtil.getConn();
|
| | | String numberSql=" SELECT FOUND_ROWS() number";
|
| | | String sql="select SQL_CALC_FOUND_ROWS distinct tb_batt_endurance.num,tb_batt_endurance.deviceid,tb_batt_endurance.stationid,real_cap,tb_batt_endurance.moncapstd,real_curr,endurance_theory_timelong,endurance_actual_timelong,endurance_actual_timelong_max,endurance_actual_timelong_min,is_out_stand " +
|
| | | ",db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.StationName1,db_battinf.tb_battinf.StationName2,db_battinf.tb_battinf.StationName5 " +
|
| | | " from web_site.tb_batt_endurance,db_battinf.tb_battinf " +
|
| | | " where tb_batt_endurance.stationid=db_battinf.tb_battinf.stationid " ;
|
| | | " where tb_batt_endurance.stationid=db_battinf.tb_battinf.stationid "+
|
| | | " and tb_batt_endurance.stationid in (" +
|
| | | " select distinct db_battinf.tb_battinf.stationid " +
|
| | | " from db_battinf.tb_battinf " +
|
| | | " left outer join db_user.tb_user_battgroup_baojigroup_battgroup on db_user.tb_user_battgroup_baojigroup_battgroup.stationid=db_battinf.tb_battinf.stationid " +
|
| | | " 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=? and db_battinf.tb_battinf.station_install=1 ) " ;
|
| | | //机房筛选
|
| | | String stationSql=" and db_battinf.tb_battinf.StationName like ?";
|
| | | String stationSql=" and db_battinf.tb_battinf.StationName like ? and db_battinf.tb_battinf.StationName1 like ? and db_battinf.tb_battinf.StationName2 like ? and db_battinf.tb_battinf.StationName5 like ?";
|
| | | sql+=stationSql;
|
| | | //续航状态
|
| | | String enduranceSqlT=" and endurance_state=? ";
|
| | | String enduranceSqlF=" and endurance_state!=? ";//全部
|
| | | if(bendurance.getEndurance_state()==0){
|
| | | sql+=enduranceSqlF;
|
| | | }else{
|
| | | sql+=enduranceSqlT;
|
| | | }
|
| | | //续航时间
|
| | | String timelongSqlT=" and endurance_timelong<=? ";//小于某一时间
|
| | | String timelongSqlF=" and endurance_timelong!=?";//全部
|
| | | if(bendurance.getEndurance_timelong()==0){
|
| | | //实际续航时间
|
| | | String timelongSqlT=" and endurance_actual_timelong<=? ";//小于某一时间
|
| | | String timelongSqlF=" and endurance_actual_timelong>-1? ";//全部
|
| | | if(bendurance.getEndurance_actual_timelong()==0){
|
| | | sql+=timelongSqlF;
|
| | | }else{
|
| | | sql+=timelongSqlT;
|
| | | }
|
| | | //是否掉站
|
| | | String is_out_standSqlT=" and is_out_stand!=? ";//全部
|
| | | String is_out_standSqlF=" and is_out_stand=? ";
|
| | | if(bendurance.getIs_out_stand()==100){
|
| | | sql+=is_out_standSqlT;
|
| | | }else{
|
| | | sql+=is_out_standSqlF;
|
| | | }
|
| | | //排序时间
|
| | | String orderSql=" order by endurance_timelong asc";
|
| | | String orderSql=" order by endurance_actual_timelong,tb_batt_endurance.deviceid asc ";
|
| | | sql+=orderSql;
|
| | | //分页
|
| | | String limitSql=" limit ?,? ";
|
| | | sql+=limitSql;
|
| | | |
| | | |
| | | //System.out.println(sql);
|
| | | List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+bendurance.getNote()+"%",bendurance.getEndurance_state(),bendurance.getEndurance_timelong()}, new CallBack() {
|
| | | List<Batt_endurance> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{bendurance.getNum(),"%"+bendurance.getStationName()+"%","%"+bendurance.getStationName1()+"%","%"+bendurance.getStationName2()+"%","%"+bendurance.getStationName5()+"%",bendurance.getEndurance_actual_timelong(),bendurance.getIs_out_stand()
|
| | | ,(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
|
| | |
|
| | | public List getResults(ResultSet rs) {
|
| | | List list=new ArrayList();
|
| | |
| | | b.setNum(rs.getInt("num"));
|
| | | b.setDeviceId(rs.getInt("deviceId"));
|
| | | b.setStationid(rs.getString("stationid"));
|
| | | b.setEndurance_state(rs.getInt("endurance_state"));
|
| | | b.setReal_cap(rs.getFloat("real_cap"));
|
| | | b.setMoncapstd(rs.getFloat("moncapstd"));
|
| | | b.setReal_curr(rs.getFloat("real_curr"));
|
| | | b.setEndurance_timelong(rs.getInt("endurance_timelong"));
|
| | | b.setNote(rs.getString("stationname"));
|
| | | b.setEndurance_theory_timelong(rs.getFloat("endurance_theory_timelong"));
|
| | | b.setEndurance_actual_timelong(rs.getFloat("endurance_actual_timelong"));
|
| | | b.setEndurance_actual_timelong_max(rs.getFloat("endurance_actual_timelong_max"));
|
| | | b.setEndurance_actual_timelong_min(rs.getFloat("endurance_actual_timelong_min"));
|
| | | b.setIs_out_stand(rs.getInt("is_out_stand"));
|
| | | b.setStationName(rs.getString("stationname"));
|
| | | b.setStationName1(rs.getString("stationname1"));
|
| | | b.setStationName2(rs.getString("stationname2"));
|
| | | b.setStationName5(rs.getString("stationname5"));
|
| | | Page p=new Page();
|
| | | b.setPage(p);
|
| | | list.add(b);
|
| | | }
|
| | | } catch (SQLException e) {
|
| | |
| | | return list;
|
| | | }
|
| | | });
|
| | | //去掉limit条件后的总数
|
| | | int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
|
| | | //System.out.println("number: "+number);
|
| | | if(list!=null&&list.size()>0){
|
| | | list.get(list.size()-1).getPage().setPageAll(number);
|
| | | }
|
| | | return list;
|
| | | }
|
| | |
|
| | | public List serchByInfo(Object obj) {
|
| | | //续航不足1小时,2小时等的饼状图
|
| | | public List serchByState_xuhang(Object obj) {
|
| | | User_inf uinf=(User_inf) obj;
|
| | | String sql="select distinct tb_batt_endurance.deviceid,tb_batt_endurance.stationid,endurance_theory_timelong,endurance_actual_timelong " +
|
| | | " from web_site.tb_batt_endurance " +
|
| | | " where tb_batt_endurance.stationid in (" +
|
| | | " select distinct db_battinf.tb_battinf.stationid " +
|
| | | " from db_battinf.tb_battinf " +
|
| | | " left outer join db_user.tb_user_battgroup_baojigroup_battgroup on db_user.tb_user_battgroup_baojigroup_battgroup.stationid=db_battinf.tb_battinf.stationid " +
|
| | | " 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=? 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 num_hour=0;//续航一小时内的
|
| | | int num_two=0;//续航一小时到两个小时的
|
| | | int num_three=0;//续航两小时到三小时内的
|
| | | int num_other=0;//续航三小时以上
|
| | | try {
|
| | | while(rs.next()){
|
| | | int actual_timelong=rs.getInt("endurance_actual_timelong");
|
| | | if(actual_timelong<=60){
|
| | | num_hour+=1;
|
| | | }else if(actual_timelong<=120){
|
| | | num_two+=1;
|
| | | }else if(actual_timelong<=180){
|
| | | num_three+=1;
|
| | | }else{
|
| | | num_other+=1;
|
| | | }
|
| | | }
|
| | | list.add(num_hour);
|
| | | list.add(num_two);
|
| | | list.add(num_three);
|
| | | list.add(num_other);
|
| | | } catch (SQLException e) {
|
| | | // TODO Auto-generated catch block
|
| | | e.printStackTrace();
|
| | | }
|
| | | return list;
|
| | | }
|
| | | });
|
| | | return list;
|
| | | }
|
| | | //导航上续航不足3小时的个数
|
| | | public int serchxuhangNotInThree(Object obj) {
|
| | | User_inf uinf=(User_inf) obj;
|
| | | String sql="select count(distinct tb_batt_endurance.deviceid) as nums from web_site.tb_batt_endurance " +
|
| | | " where endurance_actual_timelong<180 " +
|
| | | " and tb_batt_endurance.stationid in (" +
|
| | | " select distinct db_battinf.tb_battinf.stationid " +
|
| | | " from db_battinf.tb_battinf " +
|
| | | " left outer join db_user.tb_user_battgroup_baojigroup_battgroup on db_user.tb_user_battgroup_baojigroup_battgroup.stationid=db_battinf.tb_battinf.stationid " +
|
| | | " 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=? and db_battinf.tb_battinf.station_install=1) " ;
|
| | | List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()}, new CallBack() {
|
| | | |
| | | public List getResults(ResultSet rs) {
|
| | | List list=new ArrayList();
|
| | | try {
|
| | | while(rs.next()){
|
| | | int nums=rs.getInt("nums");
|
| | | list.add(nums);
|
| | | }
|
| | | } catch (SQLException e) {
|
| | | // TODO Auto-generated catch block
|
| | | e.printStackTrace();
|
| | | }
|
| | | return list;
|
| | | }
|
| | | });
|
| | | int nums=0;//续航不足3小时数
|
| | | if(list!=null&&list.size()>0){
|
| | | nums=(Integer) list.get(list.size()-1);
|
| | | }
|
| | | return nums;
|
| | | }
|
| | | //根据机房id查询该机房续航不足的数
|
| | | public int serchxuhangNotInThree_stationid(Object obj) {
|
| | | BattMap_information binformation=(BattMap_information) obj;
|
| | | String sql="select count(distinct tb_batt_endurance.deviceid) as nums from web_site.tb_batt_endurance " +
|
| | | " where endurance_actual_timelong<180 and tb_batt_endurance.stationid=? " ;
|
| | | List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binformation.getStationId()}, new CallBack() {
|
| | | |
| | | public List getResults(ResultSet rs) {
|
| | | List list=new ArrayList();
|
| | | try {
|
| | | while(rs.next()){
|
| | | int nums=rs.getInt("nums");
|
| | | list.add(nums);
|
| | | }
|
| | | } catch (SQLException e) {
|
| | | // TODO Auto-generated catch block
|
| | | e.printStackTrace();
|
| | | }
|
| | | return list;
|
| | | }
|
| | | });
|
| | | int nums=0;//续航不足3小时数
|
| | | if(list!=null&&list.size()>0){
|
| | | nums=(Integer) list.get(list.size()-1);
|
| | | }
|
| | | return nums;
|
| | | }
|
| | | public List serchByInfo(Object obj) {
|
| | | // TODO Auto-generated method stub
|
| | | return null;
|
| | | }
|
| | | public static void main(String[] args) {
|
| | | Batt_enduranceImpl bimpl=new Batt_enduranceImpl();
|
| | | Batt_endurance ben=new Batt_endurance();
|
| | | ben.setNote("");
|
| | | ben.setEndurance_state(0);
|
| | | ben.setEndurance_timelong(0);
|
| | | List list=bimpl.serchByCondition(ben);
|
| | | System.out.println(list.size());
|
| | | ben.setNum(1002);
|
| | | ben.setStationName("");
|
| | | ben.setStationName1("");
|
| | | ben.setStationName2("");
|
| | | ben.setEndurance_actual_timelong(120);
|
| | | ben.setIs_out_stand(100);
|
| | | Page page=new Page();
|
| | | page.setPageCurr(1);
|
| | | page.setPageSize(10);
|
| | | ben.setPage(page);
|
| | | /*List<Batt_endurance> list=bimpl.serchByCondition(ben);
|
| | | for (Batt_endurance b : list) {
|
| | | System.out.println(b);
|
| | | }
|
| | | System.out.println(list.size());*/
|
| | | |
| | | User_inf uinf=new User_inf();
|
| | | uinf.setUId(1002);
|
| | | /*List<Integer> list=bimpl.serchByState_xuhang(uinf);
|
| | | for (int num : list) {
|
| | | System.out.println(num);
|
| | | }*/
|
| | | //System.out.println(list.size());
|
| | | /*int nums=bimpl.serchxuhangNotInThree(uinf);
|
| | | System.out.println(nums);*/
|
| | | BattMap_information binformation=new BattMap_information();
|
| | | binformation.setStationId("42000530");
|
| | | int nums=bimpl.serchxuhangNotInThree_stationid(binformation);
|
| | | System.out.println(nums);
|
| | | }
|
| | | |
| | |
|
| | |
|
| | | }
|