From fd1f11f6d7a75c52a7c2db5fe9a39e129216b96a Mon Sep 17 00:00:00 2001
From: 星伟 <星伟@192.168.10.27>
Date: 星期日, 30 九月 2018 11:20:38 +0800
Subject: [PATCH] 电池组配租加容量百分比

---
 gx_tieta/src/com/fgkj/dao/impl/Batt_enduranceImpl.java |   85 ++++++++++++++++++++++++++++++++----------
 1 files changed, 64 insertions(+), 21 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..0357c75 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,10 @@
 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.Batt_endurance;
+import com.fgkj.dto.Page;
 import com.mysql.fabric.xmlrpc.base.Array;
 
 public class Batt_enduranceImpl implements BaseDAO,CallBack{
@@ -38,35 +41,46 @@
 		// 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,is_out_stand " +
+				",db_battinf.tb_battinf.StationName,db_battinf.tb_battinf.StationName1,db_battinf.tb_battinf.StationName2 " +
 				" from web_site.tb_batt_endurance,db_battinf.tb_battinf " +
 				" where tb_batt_endurance.stationid=db_battinf.tb_battinf.stationid " ;
 		//鏈烘埧绛涢��
-		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 ?";
 		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 asc ";
+		sql+=orderSql;
+		//鍒嗛〉
+		String limitSql=" limit ?,? ";
+		sql+=limitSql;
+		
+		
+		//System.out.println(sql);
+		List<Batt_endurance> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+bendurance.getStationName()+"%","%"+bendurance.getStationName1()+"%","%"+bendurance.getStationName2()+"%",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 +90,16 @@
 						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.getInt("endurance_theory_timelong"));
+						b.setEndurance_actual_timelong(rs.getInt("endurance_actual_timelong"));
+						b.setStationName(rs.getString("stationname"));
+						b.setStationName1(rs.getString("stationname1"));
+						b.setStationName2(rs.getString("stationname2"));
+						Page p=new Page();
+						b.setPage(p);
 						list.add(b);
 					}
 				} catch (SQLException e) {
@@ -91,6 +109,12 @@
 				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;
 	}
 
@@ -98,5 +122,24 @@
 		// 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.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());
+	}
+
 
 }

--
Gitblit v1.9.1