From 35fefed0792c40cb99b8d15fa5811bbb5992bff9 Mon Sep 17 00:00:00 2001 From: D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore <chenjingjing@LAPTOP-E51P2139> Date: 星期一, 21 一月 2019 10:42:24 +0800 Subject: [PATCH] 修改 --- gx_tieta/src/com/fgkj/dao/impl/ram/Bts_station_stateImpl.java | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 332 insertions(+), 6 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 c0dd585..0df18be 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 @@ -1,10 +1,21 @@ package com.fgkj.dao.impl.ram; +import java.sql.Connection; import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; import java.util.List; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.CallBack; +import com.fgkj.dao.DAOHelper; +import com.fgkj.dao.LimitNumberFactory; +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; public class Bts_station_stateImpl implements BaseDAO,CallBack{ @@ -35,17 +46,332 @@ } //鏌ヨ鏈烘埧瀹炴椂鐘舵�� public List serchByCondition(Object obj) { - Bts_station_state bs=(Bts_station_state) obj; - String sql="select distinct station_id,dev_id,record_datetime,station_stat,station_poff_start_time,station_poff_tlong,station_fadian_start_time,station_fadian_tlong" + - " ,station_diaozhan_start_time,station_diaozhan_tlong,station_temp,station_damp,station_dooropen_start_time,station_dooropen_tlong " + - " from db_ram_db.tb_bts_station_station_state " + - " where "; - return null; + BattInf binf=(BattInf) obj; + Page p=binf.getPage(); + Connection conn=DBUtil.getConn(); + 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,station_xuhang_end_time" + + " ,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_battinf.stationname1 like ? and tb_battinf.stationname2 like ? and tb_battinf.stationname3 like ? and tb_battinf.stationname5 like ? " + + " and stationid like ? and Station_install=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=? 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(); + try { + while(rs.next()){ + Bts_station_state b=new Bts_station_state(); + b.setStation_id(rs.getString("station_id")); + b.setDev_id(rs.getInt("dev_id")); + b.setRecord_datetime(rs.getTimestamp("record_datetime")); + b.setStation_stat(rs.getInt("station_stat")); + if(((b.getStation_stat()>>5)&1)==1){ + b.setStation_stat_diaozhan(1);//鎺夌珯 + } + if(((b.getStation_stat()>>4)&1)==1){ + b.setStation_stat_dooropen(1);//寮�闂� + } + if(((b.getStation_stat()>>3)&1)==1){ + b.setStation_stat_fadian(1); //鍙戠數 + } + if(((b.getStation_stat()>>2)&1)==1){ + b.setStation_stat_xuhang(1);//缁埅 + } + if(((b.getStation_stat()>>1)&1)==1){ + b.setStation_stat_poff(1); //鍋滅數 + } + b.setStation_poff_start_time(rs.getTimestamp("station_poff_start_time")); + b.setStation_fadian_start_time(rs.getTimestamp("station_fadian_start_time")); + b.setStation_diaozhan_start_time(rs.getTimestamp("station_diaozhan_start_time")); + b.setStation_temp(rs.getFloat("station_temp")); + b.setStation_damp(rs.getFloat("station_damp")); + b.setStation_dooropen_start_time(rs.getTimestamp("station_dooropen_start_time")); + b.setStation_xuhang_start_time(rs.getTimestamp("station_xuhang_start_time")); + b.setStation_xuhang_end_time(rs.getTimestamp("station_xuhang_end_time")); + b.setStationName(rs.getString("stationName")); + 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); + } + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + 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 int serchByState(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&2>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=? and 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()){ + 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; + } + //鏌ヨ褰撳墠鏈烘埧鎺夋垬鏁� + 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=? and 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()){ + 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; + } + //鏌ヨ鍏蜂綋鏌愭満鎴挎帀绔欐暟(鏍规嵁station_id ) + public int serchByStationId_diaozhan(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&32>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; + } + + //鏌ヨ璁惧SD鍗$殑瀹炴椂鐘舵�� + public int serchSDCard(Object obj) { + BattInf binf=(BattInf) obj; + String sql=" select distinct station_stat from db_ram_db.tb_bts_station_state where station_id=? "; + List list=DAOHelper.executeQuery(sql, DBUtil.getConn(),new Object[] {binf.getStationId()} , new CallBack() { + + @Override + public List getResults(ResultSet rs) { + List list=new ArrayList(); + try { + while(rs.next()) { + int station_stat=rs.getInt("station_stat"); + if((station_stat&2048)>1) { + list.add(1); + }else { + list.add(0); + } + } + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return list; + } + }); + int station_stat=1; + if(list!=null&&list.size()>0) { + station_stat=(int) list.get(list.size()-1); + } + return station_stat; + } + public List serchByInfo(Object obj) { // TODO Auto-generated method stub return null; } + public static void main(String[] args) { + Bts_station_stateImpl bimpl=new Bts_station_stateImpl(); + BattInf binf=new BattInf(); + binf.setNum(1002); + binf.setStationName1(""); + binf.setStationName2(""); + binf.setStationName3(""); + binf.setStationName5(""); + binf.setStationId("42000408"); + binf.setBattGroupNum(62); + User_inf uinf=new User_inf(); + uinf.setUId(1002); + Page p=new Page(); + p.setPageCurr(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); + }*/ + //System.out.println(list.size()); + //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); + /*BattMap_information bm=new BattMap_information(); + bm.setStationId("42000366"); + int nums=bimpl.serchByStationId_diaozhan(bm);*/ + int station_state=bimpl.serchSDCard(binf); + System.out.println(station_state); + } + } -- Gitblit v1.9.1