From 8410662678ad065a8b270a9c9cbdfde8461f424d Mon Sep 17 00:00:00 2001
From: hdw <496960745@qq.com>
Date: 星期二, 11 十二月 2018 13:22:05 +0800
Subject: [PATCH] 自动获取最大设备id
---
gx_tieta/src/com/fgkj/dao/impl/Batt_enduranceImpl.java | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 203 insertions(+), 24 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 146d94b..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,35 +43,53 @@
// TODO Auto-generated method stub
return null;
}
- //缁埅鏃堕棿鐨勬煡璇�
+ //缁埅鏃堕棿鐨勬煡璇�
public List serchByCondition(Object obj) {
Batt_endurance bendurance=(Batt_endurance) obj;
- String sql="select distinct num,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 tb_batt_endurance.stationid 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";
- List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{"%"+bendurance.getStationid()+"%",bendurance.getEndurance_state(),bendurance.getEndurance_timelong()}, new CallBack() {
+ String orderSql=" order by endurance_actual_timelong,tb_batt_endurance.deviceid asc ";
+ sql+=orderSql;
+ //鍒嗛〉
+ String limitSql=" limit ?,? ";
+ sql+=limitSql;
+
+
+ //System.out.println(sql);
+ 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();
@@ -76,12 +99,20 @@
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) {
@@ -91,12 +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);
+ 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