package com.fgkj.services;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
import com.fgkj.actions.ActionUtil;
|
import com.fgkj.dao.BaseDAO;
|
import com.fgkj.dao.BaseDAOFactory;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.dao.impl.BadBatt_monImpl;
|
import com.fgkj.dao.impl.BattDischarge_planImpl;
|
import com.fgkj.dao.impl.BattInfImpl;
|
import com.fgkj.dao.impl.BattMap_informationImpl;
|
import com.fgkj.dao.impl.Batt_enduranceImpl;
|
import com.fgkj.dao.impl.Batt_rtstateDAOImpl;
|
import com.fgkj.dao.impl.Battalarm_dataDAOImpl;
|
import com.fgkj.dao.impl.ram.Bts_station_stateImpl;
|
import com.fgkj.dao.impl.ram.Fbs9100_stateImpl;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.dto.BattInf;
|
import com.fgkj.dto.BattMap_information;
|
import com.fgkj.dto.ServiceModel;
|
|
public class BattMap_informationService {
|
private BaseDAO dao;
|
private ServiceModel model;
|
|
public BattMap_informationService() {
|
dao = BaseDAOFactory.getBaseDAO(BaseDAO.BATTMAP_INFORMATION);
|
model = new ServiceModel();;
|
}
|
|
//9.1录入机房信息
|
public ServiceModel add(Object obj){
|
Boolean bl=dao.add(obj);
|
if(bl){
|
model.setCode(1);
|
model.setMsg("添加成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("添加失败!");
|
}
|
return model;
|
}
|
//9.1录入机房信息(手机端)
|
public ServiceModel replace(Object obj){
|
Boolean bl=((BattMap_informationImpl)dao).replace(obj);
|
if(bl){
|
model.setCode(1);
|
model.setMsg("添加成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("添加失败!");
|
}
|
return model;
|
}
|
public ServiceModel update(Object obj){
|
Boolean bl=dao.update(obj);
|
if(bl){
|
model.setCode(1);
|
model.setMsg("修改成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("修改失败!");
|
}
|
return model;
|
}
|
|
//从地图上删除定位信息
|
public ServiceModel del(Object obj){
|
Boolean bl=dao.del(obj);
|
if(bl){
|
model.setCode(1);
|
model.setMsg("删除成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("删除失败!");
|
}
|
return model;
|
}
|
|
//9.1百度地图定位查询电池组信息
|
public List searchAll(){
|
List<BattMap_information> list =dao.searchAll();
|
List listAll=new ArrayList();//存放最后的结果
|
if(list!=null&&list.size()>0){
|
for(int i=0;i<list.size();i++){
|
ServiceModel model=new ServiceModel();
|
BattMap_information binformation=list.get(i);
|
int numAlarm=(new Battalarm_dataDAOImpl()).serchByStationId(binformation);
|
int numBadBatt=(new BadBatt_monImpl()).serchByStationId(binformation);
|
int numPlan=(new BattDischarge_planImpl()).serchByStationId(binformation);
|
model.setData(list.get(i));
|
model.setCode(numAlarm); //告警总数
|
model.setSum(numBadBatt); //落后总数
|
model.setNewsum(numPlan); //延时总数
|
listAll.add(model);
|
}
|
}
|
return listAll;
|
}
|
//首页上查询用户管理的已经设置过位置的机房信息(用户管理的,l查询全部打开页面)
|
public ServiceModel searchUserManageStation(Object obj){
|
List list = ((BattMap_informationImpl)dao).serchInBattMapByUid(obj);
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//首页上查询用户管理的已经设置过位置的机房信息(用户管理的,分页刷新)
|
public List searchUserManageStation2(Object obj){
|
List<BattMap_information> list = ((BattMap_informationImpl)dao).serchInBattMapByUid2(obj);
|
List listAll=new ArrayList();//存放最后的结果
|
String state="";
|
int numBadBatt=0;
|
int numAlarm=0;
|
int numPlan=0;
|
int numPoff=0;
|
int dianzhanNum=0;
|
int xuhangNum=0;
|
if(list!=null&&list.size()>0){
|
for(int i=0;i<list.size();i++){
|
state="item-normal";
|
ServiceModel model=new ServiceModel();
|
BattMap_information binformation = list.get(i);
|
if(binformation.getFBSDeviceId()/100000==6185){
|
BattInf binf=new BattInf();
|
binf.setFBSDeviceId(binformation.getFBSDeviceId());
|
state=(new Fbs9100_stateImpl().seachDevNow(binf));
|
}else{
|
xuhangNum=(new Batt_enduranceImpl()).serchxuhangNotInThree_stationid(binformation);//续航不足3小时数
|
numPoff=(new Bts_station_stateImpl()).serchByStationId(binformation); //停电数
|
dianzhanNum=(new Bts_station_stateImpl()).serchByStationId_diaozhan(binformation); //掉站数
|
numBadBatt=(new BadBatt_monImpl()).serchByStationId(binformation); //落后总数
|
numAlarm=(new Battalarm_dataDAOImpl()).serchByStationId(binformation); //告警总数
|
//numPlan=(new BattDischarge_planImpl()).serchByStationId(binformation); //延迟总数
|
if(dianzhanNum>0){
|
state="item-timeout"; //掉站
|
}else{
|
if(numPoff>0){
|
state="item-poff"; //停电
|
|
}else{
|
if(xuhangNum>0){
|
state="item-xuhang"; //续航不足
|
}else{
|
if(numBadBatt>0){
|
state="item-behind"; //落后机房
|
}else{
|
if(numAlarm > 0){
|
state="item-warn"; //告警机房
|
}
|
}
|
}
|
}
|
}
|
}
|
if("0".equals(list.get(i).getInformation())){
|
state="item-install"; //若机房未安装将指定的机房设置成灰色的
|
}
|
model.setData(list.get(i));
|
model.setMsgO(String.valueOf(numPoff)); //停电数
|
model.setCode(numAlarm); //告警总数
|
model.setSum(numBadBatt); //落后总数
|
//model.setNewsum(numPlan); //延时总数
|
model.setMsgT(String.valueOf(dianzhanNum)); //掉站
|
model.setMsgV(String.valueOf(xuhangNum));//续航不足
|
model.setMsg(state); //61850状态
|
model.setMsgN(binformation.getFBSDeviceId().toString());
|
listAll.add(model);
|
}
|
}
|
return listAll;
|
}
|
//首页上查询用户管理的已经设置过位置的机房信息(用户管理的,3.根据具体id查询告警信息等)
|
public List searchUserManageStation3(Object obj){
|
List<BattMap_information> list = ((BattMap_informationImpl)dao).serchInBattMapByUid3(obj);
|
List listAll=new ArrayList();//存放最后的结果
|
String state="";
|
int numBadBatt=0;
|
int numAlarm=0;
|
int numPlan=0;
|
int numPoff=0;
|
int dianzhanNum=0;
|
int xuhangNum=0;
|
if(list!=null&&list.size()>0){
|
for(int i=0;i<list.size();i++){
|
state="item-normal";
|
ServiceModel model=new ServiceModel();
|
BattMap_information binformation = list.get(i);
|
if(binformation.getFBSDeviceId()/100000==6185){
|
BattInf binf=new BattInf();
|
binf.setFBSDeviceId(binformation.getFBSDeviceId());
|
state=(new Fbs9100_stateImpl().seachDevNow(binf));
|
}else{
|
xuhangNum=(new Batt_enduranceImpl()).serchxuhangNotInThree_stationid(binformation);//续航不足3小时数
|
numPoff=(new Bts_station_stateImpl()).serchByStationId(binformation); //停电数
|
dianzhanNum=(new Bts_station_stateImpl()).serchByStationId_diaozhan(binformation); //掉站数
|
numBadBatt=(new BadBatt_monImpl()).serchByStationId(binformation); //落后总数
|
numAlarm=(new Battalarm_dataDAOImpl()).serchByStationId(binformation); //告警总数
|
//numPlan=(new BattDischarge_planImpl()).serchByStationId(binformation); //延迟总数
|
if(dianzhanNum>0){
|
state="item-timeout"; //掉站
|
}else{
|
if(numPoff>0){
|
state="item-poff"; //停电
|
|
}else{
|
if(xuhangNum>0){
|
state="item-xuhang"; //续航不足
|
}else{
|
if(numBadBatt>0){
|
state="item-behind"; //落后机房
|
}else{
|
if(numAlarm > 0){
|
state="item-warn"; //告警机房
|
}
|
}
|
}
|
}
|
}
|
}
|
model.setData(list.get(i));
|
model.setMsgO(String.valueOf(numPoff)); //停电数
|
model.setCode(numAlarm); //告警总数
|
model.setSum(numBadBatt); //落后总数
|
//model.setNewsum(numPlan); //延时总数
|
model.setMsgT(String.valueOf(dianzhanNum)); //掉站
|
model.setMsgV(String.valueOf(xuhangNum));//续航不足
|
model.setMsg(state); //61850状态
|
model.setMsgN(binformation.getFBSDeviceId().toString());
|
listAll.add(model);
|
}
|
}
|
return listAll;
|
}
|
//9.1百度地图定位根据省份查询所有该区域的机房
|
public List serchByCondition(Object obj){
|
List<BattMap_information> list =dao.serchByCondition(obj);
|
List listAll=new ArrayList();//存放最后的结果
|
if(list!=null&&list.size()>0){
|
for(int i=0;i<list.size();i++){
|
ServiceModel model=new ServiceModel();
|
BattMap_information binformation=list.get(i);
|
int numAlarm=(new Battalarm_dataDAOImpl()).serchByStationId(binformation);
|
int numBadBatt=(new BadBatt_monImpl()).serchByStationId(binformation);
|
int numPlan=(new BattDischarge_planImpl()).serchByStationId(binformation);
|
int numPoff=(new Bts_station_stateImpl()).serchByStationId(binformation); //停电数
|
int dianzhanNum=(new Bts_station_stateImpl()).serchByStationId_diaozhan(binformation); //掉站数
|
int xuhangNum=(new Batt_enduranceImpl()).serchxuhangNotInThree_stationid(binformation);//续航不足3小时数
|
model.setData(list.get(i));
|
model.setCode(numAlarm); //告警总数
|
model.setSum(numBadBatt); //落后总数
|
model.setNewsum(numPlan); //延时总数
|
model.setMsgO(String.valueOf(numPoff)); //停电数
|
model.setMsgT(String.valueOf(dianzhanNum)); //掉站
|
model.setMsgV(String.valueOf(xuhangNum));//续航不足
|
listAll.add(model);
|
}
|
}
|
return listAll;
|
}
|
|
//9.1机房详情显示机房具体落后和告警的信息(机房信息内容画图)
|
public List serchMonNum(Object obj){
|
List<BattInf> list=(new BattInfImpl()).serchMonNum(obj);
|
List listAll=new ArrayList();//存放指定机房的信息
|
if(list!=null&&list.size()>0){
|
for(int i=0;i<list.size();i++){
|
BattInf binf=list.get(i);
|
ServiceModel model=new ServiceModel();
|
model.setCode(binf.getMonCount());//电池组单体个数
|
model.setNewsum(binf.getBattGroupId());
|
model.setMsg(binf.getBattGroupName());//电池组名称
|
String monBads=(new BadBatt_monImpl()).serchMonBad(binf);
|
String monAlarms=(new Battalarm_dataDAOImpl()).serchMonAlarm(binf);
|
model.setMsgN(monBads);
|
model.setMsgO(monAlarms);
|
listAll.add(model);
|
}
|
}
|
return listAll;
|
}
|
|
//9.1电池寿命管理
|
public ServiceModel serchByStationid(Object obj){
|
List<BattInf> list=(new BattInfImpl()).serchByStationid(obj);
|
List listAll=new ArrayList();//存放指定机房的信息
|
if(list!=null && list.size()>0){
|
for(int i=0;i<list.size();i++){
|
BattInf binf=list.get(i);
|
Date battinusedate=binf.getBattInUseDate();
|
int dayM=ActionUtil.battInuseMonth(battinusedate);
|
binf.setNum(dayM);
|
}
|
model.setCode(1);
|
model.setData(list);
|
}else{
|
model.setCode(0);
|
model.setMsg("删除失败!");
|
}
|
return model;
|
}
|
|
//9.1查询未添加物理信息的机房
|
public ServiceModel serchNotInBattMap(){
|
List list=((BattMap_informationImpl)dao).serchNotInBattMap();
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setMsg("查询成功!");
|
model.setData(list);
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
//System.out.println(model);
|
return model;
|
}
|
//9.1查询未添加物理信息的机房(用户管理的)
|
public ServiceModel serchNotInBattMapByUid(Object obj) {
|
List list=((BattMap_informationImpl)dao).serchNotInBattMapByUid(obj);
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setMsg("查询成功!");
|
model.setData(list);
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
//System.out.println(model);
|
return model;
|
}
|
|
//9.1查询已经添加物理信息的机房(用户管理的)
|
public ServiceModel serchInBattMapByUid(Object obj) {
|
List list=((BattMap_informationImpl)dao).serchInBattMapByUid(obj);
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setMsg("查询成功!");
|
model.setData(list);
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
//System.out.println(model);
|
return model;
|
}
|
|
//9.1查询机房所在的所有省份
|
public ServiceModel serchStationName1(){
|
List list=((BattMap_informationImpl)dao).serchStationName1();
|
//System.out.println(list.size());
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//9.1根据省份查询机房所在的所有城市
|
public ServiceModel serchStationName2(Object obj){
|
List list=((BattMap_informationImpl)dao).serchStationName2(obj);
|
//System.out.println(list.size());
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//9.1根据省份和城市查询机房所在的所有机房
|
public ServiceModel serchStationName(Object obj){
|
List list=((BattMap_informationImpl)dao).serchStationName(obj);
|
//System.out.println(list.size());
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//9.1地图上根据维护区查询机房经纬度
|
public ServiceModel serchByInfo(Object obj) {
|
List list=dao.serchByInfo(obj);
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//9.1首页上查询已经添加物理信息的机房(用户管理的,根据12项查询条件筛选)
|
public ServiceModel serchBattInMapFilter(Object obj,int condition) {
|
List list = ((BattMap_informationImpl)dao).serchBattInMapFilter(obj,condition);
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
|
public static void main(String[] args) {
|
new BattMap_informationService().serchNotInBattMap();
|
|
}
|
}
|