From 50114c2feb0ae955bfaf1da8ce7be62344ebc110 Mon Sep 17 00:00:00 2001
From: 81041 <81041@192.168.10.25>
Date: 星期三, 21 十一月 2018 12:35:22 +0800
Subject: [PATCH] 停电掉站饼状图修改

---
 gx_tieta/src/com/fgkj/dao/impl/ram/Bts_station_stateImpl.java |  143 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 134 insertions(+), 9 deletions(-)

diff --git a/gx_tieta/src/com/fgkj/dao/impl/ram/Bts_station_stateImpl.java b/gx_tieta/src/com/fgkj/dao/impl/ram/Bts_station_stateImpl.java
index d1bd387..26ef434 100644
--- a/gx_tieta/src/com/fgkj/dao/impl/ram/Bts_station_stateImpl.java
+++ b/gx_tieta/src/com/fgkj/dao/impl/ram/Bts_station_stateImpl.java
@@ -13,6 +13,7 @@
 import com.fgkj.dao.UinfDaoFactory;
 import com.fgkj.db.DBUtil;
 import com.fgkj.dto.BattInf;
+import com.fgkj.dto.BattMap_information;
 import com.fgkj.dto.Page;
 import com.fgkj.dto.User_inf;
 import com.fgkj.dto.ram.Bts_station_state;
@@ -51,19 +52,76 @@
 		String numberSql="SELECT FOUND_ROWS() number";//瀛樻斁鎬绘暟
 		String sql="select SQL_CALC_FOUND_ROWS distinct station_id,dev_id,record_datetime,station_stat,station_poff_start_time,station_fadian_start_time" +
 				   " ,station_diaozhan_start_time,station_temp,station_damp,station_dooropen_start_time,station_xuhang_start_time" +
-				   " ,tb_battinf.stationname,tb_battinf.stationname1,tb_battinf.stationname2,tb_battinf.stationname3 " +
+				   " ,tb_battinf.stationname,tb_battinf.stationname1,tb_battinf.stationname2,tb_battinf.stationname3,tb_battinf.stationname5 " +
 				   " from db_ram_db.tb_bts_station_state,db_battinf.tb_battinf  " +
 				   " where  tb_bts_station_state.dev_id=db_battinf.tb_battinf.FBSDeviceId  " +
-				   "  and tb_bts_station_state.station_id in (" +
+				   " and tb_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ?  and tb_battinf.stationname5 like ?   " +
+				   " and stationid like ? " ;
+				   /*"  and tb_bts_station_state.station_id 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 tb_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ? " +
-				   " and stationid like ?  limit ? ,? ";
-		List<Bts_station_state> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{binf.getNum(),"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationId()+"%",(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()},new CallBack() {
+				   "  where db_user.tb_user_inf.uid=?  and tb_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ? ) " +
+				   " and stationid like ?  " ;*/
+		//鐢ㄦ埛绠$悊
+		String userSql=" and StationId in(" +
+				" select distinct db_user.tb_user_battgroup_baojigroup_battgroup.StationId from db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id  and db_user.tb_user_battgroup_baojigroup_usr.uId=?" +
+				" ) ";
+		sql+=userSql;
+		if(binf.getBattGroupNum()>1){
+			sql+=" and ( ";
+		}  
+		//鎺夌珯
+		String diaozhanSql="  ((station_stat&32)>1) ";
+		if((binf.getBattGroupNum()&32)>1){
+			sql+=diaozhanSql;
+		}
+		if((binf.getBattGroupNum()&16)>1&&(binf.getBattGroupNum()>32)){
+			sql+=" or ";
+		}
+		//寮�闂�
+		String dooropenSql="  ((station_stat&16)>1) ";
+		if((binf.getBattGroupNum()&16)>1){
+			sql+=dooropenSql;
+		}
+		if((binf.getBattGroupNum()&8)>1&&(binf.getBattGroupNum()>16)){
+			sql+=" or ";
+		}
+		//鍙戠數
+		String fadianSql="  ((station_stat&8)>1) ";
+		if((binf.getBattGroupNum()&8)>1){
+			sql+=fadianSql;
+		}
+		if((binf.getBattGroupNum()&4)>1&&(binf.getBattGroupNum()>8)){
+			sql+=" or ";
+		}
+		//缁埅
+		String xuhangSql="  ((station_stat&4)>1) ";
+		if((binf.getBattGroupNum()&4)>1){
+			sql+=xuhangSql;
+		}
+		if((binf.getBattGroupNum()&2)>1&&(binf.getBattGroupNum()>4)){
+			sql+=" or ";
+		}
+		//鍋滅數
+		String poffSql="  ((station_stat&2)>1) ";
+		if((binf.getBattGroupNum()&2)>1){
+			sql+=poffSql;
+		}
+		
+		if(binf.getBattGroupNum()>1){
+			sql+=" ) ";
+		}
+		if(binf.getBattGroupNum()==0){
+			sql+=" and station_stat<0 ";			//褰撴病鏈夐�夋嫨鎯宠鏌ョ湅鐨勬満鎴垮紓甯哥姸鎬佹槸绛涢��
+		}
+		//鍒嗛〉
+		String orderSql=" limit ? ,? ";
+		sql+=orderSql;
+		//System.out.println(sql);
+		List<Bts_station_state> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+binf.getStationName1()+"%","%"+binf.getStationName2()+"%","%"+binf.getStationName3()+"%","%"+binf.getStationName5()+"%","%"+binf.getStationId()+"%",binf.getNum(),(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()},new CallBack() {
 			
 			public List getResults(ResultSet rs) {
 				List list=new ArrayList();
@@ -100,6 +158,7 @@
 						b.setStationName1(rs.getString("stationName1"));
 						b.setStationName2(rs.getString("stationName2"));
 						b.setStationName3(rs.getString("stationName3"));
+						b.setStationName5(rs.getString("stationName5"));
 						Page page=new Page();
 						b.setPage(page);
 						list.add(b);
@@ -151,6 +210,67 @@
 		}
 		return nums;
 	}
+	//鏌ヨ褰撳墠鏈烘埧鎺夋垬鏁�
+	public int serchByState_diaozhan(Object obj) {
+		User_inf uinf=(User_inf) obj;
+		String sql=" select count(*) as nums from db_ram_db.tb_bts_station_state where station_stat&32>1  " +
+				   "  and tb_bts_station_state.station_id 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=?  ) " ;
+		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()){
+						list.add(rs.getInt("nums"));
+					}
+				} catch (SQLException e) {
+					// TODO Auto-generated catch block
+					e.printStackTrace();
+				}
+				return list;
+			}
+		});
+		int nums=0;//鎬绘暟
+		if(list!=null&&list.size()>0){
+			nums=(Integer) list.get(list.size()-1);
+		}
+		return nums;
+	}
+	//鏌ヨ褰撳墠鏈烘埧鍋滅數鏁�(鏍规嵁station_id )
+	public int serchByStationId(Object obj) {
+		BattMap_information binformation=(BattMap_information) obj;
+		String sql="select count(num) as nums  from db_ram_db.tb_bts_station_state " +
+				" where  station_stat&2>1  " +
+				" and station_id=?  " +
+				" limit 1 ";
+		//System.out.println(sql);
+		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) {
+					e.printStackTrace();
+				}
+				return list;
+			}
+		});
+		int nums=0;//鏈�鍚庣殑缁撴灉
+		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;
@@ -163,19 +283,24 @@
 		binf.setStationName2("");
 		binf.setStationName3("");
 		binf.setStationId("");
+		binf.setBattGroupNum(36);
 		User_inf uinf=new User_inf();
 		uinf.setUId(1002);
 		Page p=new Page();
 		p.setPageCurr(1);
-		p.setPageSize(1);
+		p.setPageSize(10);
 		binf.setPage(p);
 		List<Bts_station_state> list=bimpl.serchByCondition(binf);
 		for (Bts_station_state bs : list) {
 			//System.out.println(bs.getStation_stat_diaozhan()+"  "+bs.getStation_stat_dooropen()+"  "+bs.getStation_stat_fadian()+"   "+bs.getStation_stat_xuhang()+"  "+bs.getStation_stat_poff());
 		    System.out.println(bs);
 		}
-		/*int nums=bimpl.serchByState(uinf);
-		System.out.println(nums);*/
+		/*int nums=bimpl.serchByState(uinf);*/
+		/*BattMap_information bm=new BattMap_information();
+		bm.setStationId("42000570");
+		int nums=bimpl.serchByStationId(bm);*/
+		int nums=bimpl.serchByState_diaozhan(uinf);
+		System.out.println(nums);
 	}
 
 	

--
Gitblit v1.9.1