package com.fgkj.dao.impl.Ld9;
|
|
import java.sql.Connection;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import com.fgkj.dao.AlarmDaoFactory;
|
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.BadBatt_mon;
|
import com.fgkj.dto.BattInf;
|
import com.fgkj.dto.BattMap_information;
|
import com.fgkj.dto.Batt_Maint_Dealarm;
|
import com.fgkj.dto.Page;
|
import com.fgkj.dto.User_inf;
|
|
public class BadLd9_monImpl implements BaseDAO,CallBack{
|
|
public List getResults(ResultSet rs) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
|
public boolean add(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
public boolean update(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
public boolean del(Object obj) {
|
// TODO Auto-generated method stub
|
return false;
|
}
|
|
public List searchAll() {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
//9.1根据stationid查询机房的落后单体总数
|
public int serchByStationId(Object obj) {
|
BattMap_information binformation=(BattMap_information) obj;
|
String sql="select count(num) as nums from web_site.tb_badld9_mon " +
|
"where " +
|
"battgroupid in (select distinct battgroupid from db_battinf.tb_battinf where stationid=? ) " +
|
"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;
|
}
|
//9.1根据机房stationid查询机房下电池组单体落后情况
|
public String serchMonBad(Object obj){
|
BattInf binf=(BattInf) obj;
|
String sql="select battgroupid,group_concat(distinct mon_num) as mon_nums from web_site.tb_badld9_mon " +
|
" where " +
|
" battgroupid =? " +
|
" group by battgroupid limit 1";
|
//System.out.println(sql);
|
List<BadBatt_mon> list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{binf.getBattGroupId()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
BadBatt_mon bdmon=new BadBatt_mon();
|
bdmon.setBattGroupid(rs.getInt("battGroupid"));
|
bdmon.setNote(rs.getString("mon_nums"));
|
list.add(bdmon);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
String monBads="";//存放指定电池组落后单体信息
|
if(list!=null&&list.size()>0){
|
monBads=list.get(list.size()-1).getNote();
|
}
|
return monBads;
|
|
}
|
//查询落后单体总数
|
public int searchNums(Object obj) {
|
User_inf uinf=(User_inf) obj;
|
String sql="select count(num) as nums " +
|
" from web_site.tb_badld9_mon " +
|
" where web_site.tb_badld9_mon.battgroupid in(select distinct db_battinf.tb_battinf.battgroupid " +
|
" from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf " +
|
" where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId " +
|
" and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id " +
|
" and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid " +
|
" and db_user.tb_user_inf.uid=? )" +
|
" limit 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();
|
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;//最后的结果
|
if(list!=null&&list.size()>0){
|
nums=(Integer) list.get(list.size()-1);
|
}
|
return nums;
|
}
|
public List serchByCondition(Object obj) {
|
// TODO Auto-generated method stub
|
return null;
|
}
|
//落后单体查询:根据条件查询落后单体(用户管理的电池组)
|
public List serchByInfo(Object obj) {
|
Batt_Maint_Dealarm bmd = (Batt_Maint_Dealarm) obj;
|
BattInf binf = bmd.getBinf();
|
User_inf uinf=bmd.getUinf();
|
Page page=bmd.getPage();
|
Connection conn=DBUtil.getConn();
|
String numberSql=" SELECT FOUND_ROWS() number";
|
String sql="";
|
String baseSql=" SELECT SQL_CALC_FOUND_ROWS distinct web_site.tb_badld9_mon.battgroupid,web_site.tb_badld9_mon.mon_num,web_site.tb_badld9_mon.real_cap,web_site.tb_badld9_mon.stdcap,web_site.tb_badld9_mon.note " +
|
",db_battinf.tb_battinf.stationname1,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.battproducer,db_battinf.tb_battinf.battinusedate" +
|
",db_battinf.tb_battinf.monvolstd,db_battinf.tb_battinf.battgroupname " +
|
"FROM web_site.tb_badld9_mon " +
|
"LEFT OUTER JOIN db_battinf.tb_battinf ON web_site.tb_badld9_mon.battgroupid=db_battinf.tb_battinf.BattGroupId " +
|
"where test_starttime>=? and test_starttime<=? ";
|
|
//选取蓄电池组条件
|
String idSqlT=" and db_battinf.tb_battinf.battgroupid!=? ";
|
String idSqlF=" and db_battinf.tb_battinf.battgroupid=? ";
|
if(binf.getBattGroupId()==0){
|
baseSql+=idSqlT;
|
}else{
|
baseSql+=idSqlF;
|
}
|
//用于用户管理的电池组的筛选
|
String userSql=" and web_site.tb_badld9_mon.battgroupid in(select distinct db_battinf.tb_battinf.battgroupid " +
|
" from db_battinf.tb_battinf,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr,db_user.tb_user_inf " +
|
" where db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=db_battinf.tb_battinf.BattGroupId " +
|
" and db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id=db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id " +
|
" and db_user.tb_user_inf.uid=db_user.tb_user_battgroup_baojigroup_usr.uid " +
|
" and db_user.tb_user_inf.uid=? " +
|
" and db_battinf.tb_battinf.stationname1 like ? and db_battinf.tb_battinf.stationname like ?)";
|
baseSql+=userSql;
|
|
String endSql=" ORDER BY web_site.tb_badld9_mon.battgroupid asc ";
|
String limitSql=" limit ?,? ";
|
sql=baseSql+endSql+limitSql;
|
//System.out.println(sql);
|
List<Batt_Maint_Dealarm> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{
|
binf.getBattProductDate(),binf.getBattProductDate1(),
|
binf.getBattGroupId(),uinf.getUId(),"%"+binf.getStationName1()+"%","%"+binf.getStationName()+"%",
|
(page.getPageCurr()-1)*page.getPageSize(),page.getPageSize()}, new CallBack() {
|
|
public List getResults(ResultSet rs) {
|
List list=new ArrayList();
|
try {
|
while(rs.next()){
|
Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm();
|
BattInf binf=new BattInf();
|
binf.setStationName1(rs.getString("stationName1"));
|
binf.setStationName(rs.getString("stationName"));
|
binf.setBattProducer(rs.getString("battProducer"));
|
if(rs.getString("battInUseDate")!=null)
|
binf.setBattInUseDate(rs.getDate("battInUseDate"));
|
binf.setMonVolStd(rs.getFloat("monVolStd"));
|
binf.setBattGroupName(rs.getString("battGroupName"));
|
bmd.setBinf(binf);
|
BadBatt_mon bdmon=new BadBatt_mon();
|
bdmon.setBattGroupid(rs.getInt("battGroupid"));
|
bdmon.setMon_num(rs.getInt("mon_num"));
|
bdmon.setReal_cap(rs.getFloat("real_cap"));
|
bdmon.setStdcap(rs.getFloat("stdcap"));
|
if(Integer.parseInt(rs.getString("note"))==AlarmDaoFactory.Alarm_CapAlarm){
|
bdmon.setNote("告警");
|
}else if(Integer.parseInt(rs.getString("note"))==AlarmDaoFactory.Alarm_CapChange){
|
bdmon.setNote("更换");
|
}else{
|
bdmon.setNote("--");
|
}
|
bmd.setBdmon(bdmon);
|
Page page=new Page();
|
bmd.setPage(page);
|
list.add(bmd);
|
}
|
} catch (SQLException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
return list;
|
}
|
});
|
//去掉limit条件后的总数
|
int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
|
if(list!=null&&list.size()>0){
|
list.get(list.size()-1).getPage().setPageAll(number);
|
}
|
return list;
|
}
|
|
}
|