From 7f953d9aa0e7d4fcbe3c366c7f9f0b3f847f12bd Mon Sep 17 00:00:00 2001 From: hdw <hdw@192.168.137.1> Date: 星期六, 19 一月 2019 09:16:08 +0800 Subject: [PATCH] Merge branch 'dev_lxw' of https://gitlab.com/whyclxw1/gx_tieta.git into dev_lxw --- gx_tieta/src/com/fgkj/dao/impl/Batt_enduranceImpl.java | 192 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 178 insertions(+), 14 deletions(-) diff --git a/gx_tieta/src/com/fgkj/dao/impl/Batt_enduranceImpl.java b/gx_tieta/src/com/fgkj/dao/impl/Batt_enduranceImpl.java index 0f02da4..79b8943 100644 --- a/gx_tieta/src/com/fgkj/dao/impl/Batt_enduranceImpl.java +++ b/gx_tieta/src/com/fgkj/dao/impl/Batt_enduranceImpl.java @@ -1,5 +1,6 @@ package com.fgkj.dao.impl; +import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; @@ -8,8 +9,12 @@ 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{ @@ -38,19 +43,29 @@ // 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,real_cap,tb_batt_endurance.moncapstd,real_curr,endurance_theory_timelong,endurance_actual_timelong,is_out_stand " + - ",db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.StationName1,db_battinf.tb_battinf.StationName2 " + + 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 ? and db_battinf.tb_battinf.StationName1 like ? and db_battinf.tb_battinf.StationName2 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 timelongSqlT=" and endurance_actual_timelong<=? ";//灏忎簬鏌愪竴鏃堕棿 - String timelongSqlF=" and endurance_actual_timelong!=? ";//鍏ㄩ儴 + String timelongSqlF=" and endurance_actual_timelong>-1? ";//鍏ㄩ儴 if(bendurance.getEndurance_actual_timelong()==0){ sql+=timelongSqlF; }else{ @@ -65,10 +80,16 @@ sql+=is_out_standSqlF; } //鎺掑簭鏃堕棿 - String orderSql=" order by endurance_actual_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.getStationName()+"%","%"+bendurance.getStationName1()+"%","%"+bendurance.getStationName2()+"%",bendurance.getEndurance_actual_timelong(),bendurance.getIs_out_stand()}, 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(); @@ -81,11 +102,17 @@ b.setReal_cap(rs.getFloat("real_cap")); b.setMoncapstd(rs.getFloat("moncapstd")); b.setReal_curr(rs.getFloat("real_curr")); - b.setEndurance_theory_timelong(rs.getInt("endurance_theory_timelong")); - b.setEndurance_actual_timelong(rs.getInt("endurance_actual_timelong")); + 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) { @@ -95,23 +122,160 @@ 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.setNum(1002); ben.setStationName(""); ben.setStationName1(""); ben.setStationName2(""); ben.setEndurance_actual_timelong(120); ben.setIs_out_stand(100); - List list=bimpl.serchByCondition(ben); - System.out.println(list.size()); + 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); } + + } -- Gitblit v1.9.1