2018-09-29 09:52:11 +08:00
package nis.nms.web.actions.detection ;
import java.io.PrintWriter ;
import java.math.BigDecimal ;
import java.text.SimpleDateFormat ;
import java.util.ArrayList ;
import java.util.Date ;
import java.util.HashMap ;
import java.util.Iterator ;
import java.util.LinkedHashMap ;
import java.util.List ;
import java.util.Map ;
import java.util.Set ;
import org.apache.commons.lang.StringUtils ;
import org.apache.log4j.Logger ;
import org.apache.struts2.config.Result ;
import org.apache.struts2.config.Results ;
import com.nis.util.StringUtil ;
import net.sf.json.JSONArray ;
import nis.nms.bean.DiSysteminfo ;
import nis.nms.bean.DiSysteminfoDisk ;
import nis.nms.bean.DiSysteminfoNet ;
import nis.nms.core.Constants ;
import nis.nms.domains.CheckTypeInfo ;
import nis.nms.domains.DataPoliceRelation ;
import nis.nms.domains.DetectionInfoNew ;
import nis.nms.domains.DetectionInfoWarning ;
import nis.nms.domains.DetectionSetInfo ;
import nis.nms.domains.Metadata ;
import nis.nms.domains.MetadataDictionaryVO ;
import nis.nms.domains.NodeTable ;
import nis.nms.domains.NodegroupTable ;
import nis.nms.domains.OptionTable ;
import nis.nms.domains.VDetectionInfoNew ;
import nis.nms.service.CommonService ;
import nis.nms.util.BaseAction ;
import nis.nms.util.Constant ;
import nis.nms.util.DateUtil ;
import nis.nms.util.ExportUtils ;
import nis.nms.util.Page ;
@SuppressWarnings ( " unchecked " )
@Results ( { @Result ( name = " queryMonitorDataInfo " , value = " /page/detection/monitorData/monitorInfoList.jsp " ) ,
@Result ( name = " vqueryMonitorDataInfo " , value = " /page/detection/monitorData/vmonitorInfoList.jsp " ) ,
@Result ( name = " queryMonitorDataInfoNew " , value = " /page/detection/monitorData/monitorInfoListNew.jsp " ) ,
@Result ( name = " queryMonitorDataInfoNewTopo " , value = " /page/detection/monitorData/monitorInfoListNewTopo.jsp " ) ,
@Result ( name = " queryMonitorDataInfoChild " , value = " /page/detection/monitorData/monitorInfoListNewChild.jsp " ) ,
@Result ( name = " queryServerMonitorDataInfoNew " , value = " /page/detection/monitorData/serverMonitorInfoListNew.jsp " ) ,
@Result ( name = " queryServerMonitorDataInfoChild " , value = " /page/detection/monitorData/serverMonitorInfoListChild.jsp " ) ,
@Result ( name = " queryAbnormalSet " , value = " /page/detection/monitorData/monitorInfoList_abnormalSet.jsp " ) ,
@Result ( name = " queryAbnormalSetChild " , value = " /page/detection/monitorData/monitorInfoList_abnormalSetChild.jsp " ) ,
@Result ( name = " detailMonitorDataInfo " , value = " /page/detection/monitorData/detailMonitor.jsp " ) ,
@Result ( name = " drawMonitorInfo " , value = " /page/detection/monitorData/drawMonitorInfo.jsp " ) ,
@Result ( name = " drawSnmpMonitorInfo " , value = " /page/detection/monitorData/drawSnmpMonitorInfo.jsp " ) ,
@Result ( name = " drawSpecialMonitorInfo " , value = " /page/detection/monitorData/drawSpecialMonitorInfo.jsp " ) ,
@Result ( name = " drawSwitchportMonitorInfo " , value = " /page/detection/monitorData/drawSwitchportMonitorInfo.jsp " ) ,
@Result ( name = " queryNE " , value = " /page/detection/monitorData/monitorNEList.jsp " ) ,
@Result ( name = " queryNEChild " , value = " /page/detection/monitorData/monitorNEListChild.jsp " ) ,
@Result ( name = " showDetectionInfo " , value = " /page/detection/monitorData/detectionInfoList.jsp " ) ,
@Result ( name = " showDetectionInfoChild " , value = " /page/detection/monitorData/detectionInfoListChild.jsp " ) ,
@Result ( name = " detailWarning " , value = " /page/detection/monitorData/detailWarning.jsp " ) ,
@Result ( name = " queryEmergent " , value = " /page/detection/monitorData/queryEmergent.jsp " ) ,
@Result ( name = " queryEmergentNew " , value = " /page/detection/monitorData/queryEmergentNew.jsp " ) ,
@Result ( name = " queryEmergentChild " , value = " /page/detection/monitorData/queryEmergentChild.jsp " ) ,
@Result ( name = " select_plug " , value = " /page/detection/monitorData/select_plug.jsp " ) } )
public class MonitorDataAction extends BaseAction {
private Logger logger = Logger . getLogger ( MonitorDataAction . class ) ;
private static final long serialVersionUID = 1L ;
private CommonService commonService ;
private int pageNo = 1 ;
private int pageSize = getDefaultPageSize ( ) ; // 每页显示的记录条数
private Page page ;
private int pageNoSub = 1 ;
private int pageSizeSub = this . getDefaultPageSize ( ) ; // 每页显示的记录条数
private Page pageSub ;
private String action ;
private List < DetectionInfoNew > detectionInfoNewList ;
private Long [ ] ids ;
private DetectionInfoNew detectionInfoNew ;
private VDetectionInfoNew vdetectionInfoNew ;
private String dsiId ;
private String ctId ;
// private CheckTypeInfo checkTypeInfo;
private String jsonStr ;
private List < List > vnodeIpGroupList ;
private List < List > nodeIpGroupListNew ;
private List < CheckTypeInfo > allCheckTypeInfo ;
private List < Metadata > metadataList ;
private String metaId ;
private String nodeIp ;
private String sqId ;
// 查询条件
private String cip ;
private String nodeIpRange ; // IP段
private String nodeGroupStr ; // 节点组 名称
private List < NodegroupTable > allNodeGroupInfo = new ArrayList < NodegroupTable > ( ) ;
private String ctn ;
private Integer checkType ;
private String stateInfo ;
private String startTime ;
private String endTime ;
private String sTime ;
private String eTime ;
private String status ;
private String flag ;
private String lineNames ;
private List dataList ;
private String drIndex ;
private NodeTable nodeTable ;
// 请求类型为topo 表示来源于拓扑图展示时点击灯泡查询节点组下的节点检测情况
private String requestType ;
private String nodeGroupId ;
private String nodeGroupName = " " ;
private String nodeId ;
// 监测数据与异常设备公用详情页面、曲线图页面,返回时的标识。
// type为空: 服务器检测, type=1: 网元检测 type=2:异常网元
private String type ;
private String showHistory ;
private List < Object [ ] > detectionInfoWarningList ;
private DetectionInfoWarning detectionInfoWarning ;
// 进入告警信息列表的入口: switch, 表示从监测网元信息进入, 空则从告警菜单进入
private String entry ;
private String detectId ;
private String seqId ;
private String ip ;
private String pid ;
private String nameFlag ;
private String isLeaf ;
private String picId ;
private String queryParConditionDisplay ;
private String queryChildConditionDisplay ;
private String nodeType ;
private String tableName ;
private String pIden ;
private String dct ;
private String police_emergent ;
private String police_level ;
private int mypageNo ;
private int mypageSize ;
private String queryNEChild ;
private String detectionSetInfoId ;
/ * *
* 入口 , action = ( query queryNE queryAbnormalSet ) 几乎是统一业务逻辑 , 修改时同步修改
* /
@Override
public String executeAction ( ) throws Exception {
String resultpage = " " ;
if ( " query " . equals ( this . action ) ) {
queryCheckTypeInfo ( ) ;
// 如果是拓扑图过来的请求 走queryMonitorDataInfoNewForTopo逻辑
if ( ! StringUtil . isBlank ( requestType ) & & requestType . equals ( " topo " ) ) {
queryMonitorDataInfoNewForTopo ( ) ;
resultpage = " queryMonitorDataInfoNew " ;
} else if ( ! StringUtil . isBlank ( requestType ) & & requestType . equals ( " newTopo " ) ) {
queryMonitorDataInfoNewForTopoDetail ( ) ;
resultpage = " queryMonitorDataInfoNewTopo " ;
} else {
this . queryServerMonitorDataInfoNew ( ) ; // 服务器监测
resultpage = " queryServerMonitorDataInfoNew " ;
}
} else if ( " queryChild " . equals ( this . action ) ) {
queryCheckTypeInfo ( ) ;
if ( ! StringUtil . isBlank ( requestType ) & & requestType . equals ( " topo " ) ) {
queryMonitorDataInfoNewForTopo ( ) ;
resultpage = " queryMonitorDataInfoChild " ;
} else {
this . queryServerMonitorDataInfoNew ( ) ; // 服务器监测-自动加载
resultpage = " queryServerMonitorDataInfoChild " ;
}
} else if ( " detail " . equals ( this . action ) ) {
resultpage = this . detailMonitorDataInfo ( ) ;
} else if ( " drawPic " . equals ( this . action ) ) {
resultpage = this . ajaxDrawDateSource ( ) ;
} else if ( " queryAbnormalSet " . equals ( this . action ) ) {
// 详情、时序图页面标识监测数据与异常设备菜单
type = " 2 " ;
queryCheckTypeInfo ( ) ;
resultpage = this . queryAbnormalSet ( ) ; // 异常服务器监测查询
} else if ( " queryChildForAbnormalSet " . equals ( this . action ) ) {
type = " 2 " ;
queryCheckTypeInfo ( ) ;
resultpage = this . queryAbnormalSetChild ( ) ; // 异常服务器拖动滚动条,动态加载数据
} else if ( " queryNE " . equals ( this . action ) ) {
// 详情、时序图页面标识监测数据与异常设备菜单
type = " 1 " ;
queryCheckTypeInfo ( ) ;
this . queryNE ( ) ;
resultpage = " queryNE " ;
} else if ( " queryNEChild " . equals ( this . action ) ) {
type = " 1 " ;
queryCheckTypeInfo ( ) ;
this . queryNE ( ) ;
resultpage = " queryNEChild " ;
} else if ( " showDetectionInfo " . equals ( this . action ) ) {
if ( " warning " . equals ( flag ) | | " queryAllConfigLevel " . equals ( flag ) ) {
tableName = " detection_info_warning " ;
} else {
tableName = " detection_info " ;
}
showHistory = " history " ;
queryCheckTypeInfo ( ) ;
this . showDetectionInfo ( ) ;
resultpage = " showDetectionInfo " ;
} else if ( " showDetectionInfoChild " . equals ( this . action ) ) {
if ( " warning " . equals ( flag ) | | " queryAllConfigLevel " . equals ( flag ) ) {
tableName = " detection_info_warning " ;
} else {
tableName = " detection_info " ;
}
showHistory = " history " ;
queryCheckTypeInfo ( ) ;
this . showDetectionInfo ( ) ;
resultpage = " showDetectionInfoChild " ;
} else if ( " detailWarning " . equals ( this . action ) ) {
queryCheckTypeInfo ( ) ;
resultpage = this . detailWarning ( ) ;
} else if ( " emportCurrentXls " . equals ( this . action ) ) {
resultpage = emportCurrentXls ( ) ; // 服务器监测:导出当前页
} else if ( " emportAllXls " . equals ( this . action ) ) {
resultpage = emportAllXls ( ) ; // 服务器监测:导出所有
} else if ( " emportCurrentXlsAbnormalSet " . equals ( this . action ) ) {
resultpage = emportCurrentXlsAbnormalSet ( ) ;
} else if ( " emportAllXlsAbnormalSet " . equals ( this . action ) ) {
resultpage = emportAllXlsAbnormalSet ( ) ;
} else if ( " queryEmergent " . equals ( this . action ) ) {
// 拓扑图,查询紧急告警
queryEmergent ( ) ;
resultpage = " queryEmergent " ;
} else if ( " queryEmergentDetail " . equals ( this . action ) ) {
// 拓扑图,查询紧急告警 modify 2018/07/18 th
queryEmergentDetail ( ) ;
resultpage = " queryEmergentNew " ;
} else if ( " queryEmergentChild " . equals ( this . action ) ) {
queryEmergent ( ) ; // 拓扑图,查询紧急告警子页面
resultpage = " queryEmergentChild " ;
} else if ( " queryEmergentChildDetail " . equals ( this . action ) ) {
queryEmergentDetail ( ) ; // 拓扑图,查询紧急告警子页面 modify 2018/07/18 th
resultpage = " queryEmergentNew " ;
}
else if ( " emportCurrentXlsForTopo " . equals ( this . action ) ) {
resultpage = emportCurrentXlsForTopo ( ) ;
} else if ( " emportAllXlsForTopo " . equals ( this . action ) ) {
resultpage = emportAllXlsForTopo ( ) ;
}
/ *
* else { queryCheckTypeInfo ( ) ; resultpage =
* queryServerMonitorDataInfoNew ( ) ; }
* /
return resultpage ;
}
// 当前页导出 程辉 2013-5-8新增
public String emportCurrentXlsAbnormalSet ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,replace(din.detection_state_info,'$@$',''),to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id,ipn from NODE_TABLE) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 AND din.detectioned_state in('0','-1') " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and cti.id = " + ctn ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn ASC,cti.id ASC, dsi.id ASC " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
for ( int j = 0 ; j < detectionInfoList . size ( ) ; j + + ) {
if ( detectionInfoList . get ( j ) [ 5 ] ! = null & & detectionInfoList . get ( j ) [ 9 ] ! = null ) {
detectionInfoList . get ( j ) [ 6 ] = this . getPersistTime (
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 5 ] . toString ( ) ) ,
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 9 ] . toString ( ) ) ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " -1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 0 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.unnormal_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) ;
}
}
String [ ] title = { getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.hostname_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.checkType_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.setName_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.lastCheckTime_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.duration_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.attempt_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.stateInfo_n81i " ) } ;
String [ ] colu = { " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " } ;
ExportUtils m = new ExportUtils ( ) ;
m . setAutoSizeColumn ( true ) ;
m . exportExcel ( getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.deviceException_n81i " ) , detectionInfoList , title , colu ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
}
return null ;
}
// 导出全部 程辉 2013-5-8新增
public String emportAllXlsAbnormalSet ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,replace(din.detection_state_info,'$@$',''),to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id,ipn from NODE_TABLE) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 AND din.detectioned_state in('0','-1') " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and cti.id = " + ctn ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn ASC,cti.id ASC, dsi.id ASC " ) ;
List < Object [ ] > detectionInfoList = this . commonService . executeSQL ( sqlBuffer . toString ( ) ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
for ( int j = 0 ; j < detectionInfoList . size ( ) ; j + + ) {
if ( detectionInfoList . get ( j ) [ 5 ] ! = null & & detectionInfoList . get ( j ) [ 9 ] ! = null ) {
detectionInfoList . get ( j ) [ 6 ] = this . getPersistTime (
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 5 ] . toString ( ) ) ,
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 9 ] . toString ( ) ) ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " -1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 0 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.unnormal_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) ;
}
}
String [ ] title = { getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.hostname_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.checkType_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.setName_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.lastCheckTime_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.duration_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.attempt_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.stateInfo_n81i " ) } ;
String [ ] colu = { " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " } ;
ExportUtils m = new ExportUtils ( ) ;
m . setAutoSizeColumn ( true ) ;
m . exportExcel ( getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.deviceException_n81i " ) , detectionInfoList , title , colu ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
}
return null ;
}
// topo导出当前页面
public String emportCurrentXlsForTopo ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " ,din.police_emergent police_emergent,din.police_level police_level " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql , " t.group_id = " + nodeGroupId ) ;
/ *
* sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
* +
* " (select t.group_id from nodegroup_table t start with t.group_id = "
* + nodeGroupId +
* " connect by prior t.group_id = t.parent_group_id)) nt " ) ;
* /
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
+ " ( " + ids + " )) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " ORDER by detectioned_state, police_emergent, police_level " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
for ( int j = 0 ; j < detectionInfoList . size ( ) ; j + + ) {
if ( detectionInfoList . get ( j ) [ 5 ] ! = null & & detectionInfoList . get ( j ) [ 9 ] ! = null ) {
detectionInfoList . get ( j ) [ 6 ] = this . getPersistTime (
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 5 ] . toString ( ) ) ,
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 9 ] . toString ( ) ) ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " -1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 0 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.unnormal_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) ;
}
}
String [ ] title = { getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.hostname_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.checkType_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.setName_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.lastCheckTime_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.duration_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.attempt_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.stateInfo_n81i " ) } ;
String [ ] colu = { " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " } ;
String url = " monitorData.do?action=query&cip= " + cip + " &ctn= " + ctn + " &stateInfo= " + stateInfo
+ " &pageSize= " + pageSize + " &pageNo= " + pageNo + " &requestType=topo&nodeGroupId= " + nodeGroupId ;
ExportUtils m = new ExportUtils ( ) ;
m . setAutoSizeColumn ( true ) ;
m . exportExcel ( url , getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.detecateData_n81i " ) , detectionInfoList , title , colu ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');</script> " ) ;
}
return null ;
}
// 当前页导出 程辉 2013-5-8新增
public String emportCurrentXls ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,replace(din.detection_state_info,'$@$',''),to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE " ) ;
if ( nodeGroupStr ! = null & & ! " " . equals ( nodeGroupStr ) & & ! " null " . equals ( nodeGroupStr ) ) {
// 节点组模糊名称不为空, 则根据节点组名称, 模糊查询所有节点组, 再依次查找其下面的节点, 得到节点id
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql ,
" lower(group_name) like lower('% " + nodeGroupStr + " %') " ) ;
/ *
* sqlBuffer .
* append ( " right join (select distinct ngt.group_id from nodegroup_table ngt start with lower(ngt.group_name) like lower('% "
* + nodeGroupStr +
* " %') connect by prior group_id=parent_group_id ) ngt on node_group_id=ngt.group_id "
* ) ;
* /
sqlBuffer
. append ( " right join (select distinct ngt.group_id from nodegroup_table ngt where ngt.group_id in ( "
+ ids + " ) ) ngt on node_group_id=ngt.group_id " ) ;
}
sqlBuffer . append ( " ) nt on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
sqlBuffer . append ( " where nt.node_ip is not null AND nt.node_type = " + nodeType
+ " and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
if ( nodeIpRange ! = null & & ! " " . equals ( nodeIpRange ) & & ! " null " . equals ( nodeIpRange ) ) {
sqlBuffer . append ( " and nt.node_ip like ' " + nodeIpRange + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
// sqlBuffer.append(" and cti.id =" + ctn);
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
for ( int j = 0 ; j < detectionInfoList . size ( ) ; j + + ) {
if ( detectionInfoList . get ( j ) [ 5 ] ! = null & & detectionInfoList . get ( j ) [ 9 ] ! = null ) {
detectionInfoList . get ( j ) [ 6 ] = this . getPersistTime (
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 5 ] . toString ( ) ) ,
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 9 ] . toString ( ) ) ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " -1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 0 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.unnormal_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) ;
}
}
String [ ] title = { getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.hostname_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.checkType_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.setName_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.lastCheckTime_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.duration_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.attempt_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.stateInfo_n81i " ) } ;
String [ ] colu = { " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " } ;
String pageType = this . getRequest ( ) . getParameter ( " pageType " ) ;
String url = " " ;
if ( " query " . equals ( pageType ) ) {
url = " monitorData.do?action=query&cip= " + cip + " &nodeGroupStr= " + nodeGroupStr + " &ctn= " + ctn
+ " &stateInfo= " + stateInfo + " &pageSize= " + pageSize + " &pageNo= " + pageNo ;
} else if ( " queryNE " . equals ( pageType ) ) {
url = " monitorData.do?action=queryNE&cip= " + cip + " &ctn= " + ctn + " &stateInfo= " + stateInfo
+ " &pageSize= " + pageSize + " &pageNo= " + pageNo ;
}
ExportUtils m = new ExportUtils ( ) ;
m . setAutoSizeColumn ( true ) ;
m . exportExcel ( url , getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.detecateData_n81i " ) , detectionInfoList , title , colu ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
}
return null ;
}
public String emportAllXlsForTopo ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " ,din.police_emergent police_emergent,din.police_level police_level " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql , " t.group_id = " + nodeGroupId ) ;
/ *
* sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
* +
* " (select t.group_id from nodegroup_table t start with t.group_id = "
* + nodeGroupId +
* " connect by prior t.group_id = t.parent_group_id)) nt " ) ;
* /
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
+ " ( " + ids + " )) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " ORDER by detectioned_state, police_emergent, police_level " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
List < Object [ ] > detectionInfoList = this . commonService . executeSQL ( sqlBuffer . toString ( ) ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
for ( int j = 0 ; j < detectionInfoList . size ( ) ; j + + ) {
if ( detectionInfoList . get ( j ) [ 5 ] ! = null & & detectionInfoList . get ( j ) [ 9 ] ! = null ) {
detectionInfoList . get ( j ) [ 6 ] = this . getPersistTime (
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 5 ] . toString ( ) ) ,
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 9 ] . toString ( ) ) ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " -1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 0 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.unnormal_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) ;
}
}
String [ ] title = { getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.hostname_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.checkType_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.setName_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.lastCheckTime_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.duration_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.attempt_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.stateInfo_n81i " ) } ;
String [ ] colu = { " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " } ;
String url = " monitorData.do?action=query&cip= " + cip + " &ctn= " + ctn + " &stateInfo= " + stateInfo
+ " &pageSize= " + pageSize + " &pageNo= " + pageNo + " &requestType=topo&nodeGroupId= " + nodeGroupId ;
ExportUtils m = new ExportUtils ( ) ;
m . setAutoSizeColumn ( true ) ;
m . exportExcel ( url , getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.detecateData_n81i " ) , detectionInfoList , title , colu ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');</script> " ) ;
}
return null ;
}
// 导出全部 程辉 2013-5-8新增
public String emportAllXls ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,replace(din.detection_state_info,'$@$',''),to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE " ) ;
if ( nodeGroupStr ! = null & & ! " " . equals ( nodeGroupStr ) & & ! " null " . equals ( nodeGroupStr ) ) {
// 节点组模糊名称不为空, 则根据节点组名称, 模糊查询所有节点组, 再依次查找其下面的节点, 得到节点id
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql ,
" lower(group_name) like lower('% " + nodeGroupStr + " %') " ) ;
/ *
* sqlBuffer .
* append ( " right join (select distinct ngt.group_id from nodegroup_table ngt start with lower(ngt.group_name) like lower('% "
* + nodeGroupStr +
* " %') connect by prior group_id=parent_group_id ) ngt on node_group_id=ngt.group_id "
* ) ;
* /
sqlBuffer
. append ( " right join (select distinct ngt.group_id from nodegroup_table ngt where ngt.group_id in ( "
+ ids + " ) ) ngt on node_group_id=ngt.group_id " ) ;
}
sqlBuffer . append ( " ) nt on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
sqlBuffer . append ( " where nt.node_ip is not null AND nt.node_type = " + nodeType
+ " and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
if ( nodeIpRange ! = null & & ! " " . equals ( nodeIpRange ) & & ! " null " . equals ( nodeIpRange ) ) {
sqlBuffer . append ( " and nt.node_ip like ' " + nodeIpRange + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
// sqlBuffer.append(" and cti.id =" + ctn);
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn " ) ;
List < Object [ ] > detectionInfoList = this . commonService . executeSQL ( sqlBuffer . toString ( ) ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
for ( int j = 0 ; j < detectionInfoList . size ( ) ; j + + ) {
if ( detectionInfoList . get ( j ) [ 5 ] ! = null & & detectionInfoList . get ( j ) [ 9 ] ! = null ) {
detectionInfoList . get ( j ) [ 6 ] = this . getPersistTime (
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 5 ] . toString ( ) ) ,
DateUtil . getDateD ( detectionInfoList . get ( j ) [ 9 ] . toString ( ) ) ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " -1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 0 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.unnormal_n81i " ) ;
}
if ( detectionInfoList . get ( j ) [ 4 ] ! = null & & detectionInfoList . get ( j ) [ 4 ] . equals ( " 1 " ) ) {
detectionInfoList . get ( j ) [ 4 ] = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) ;
}
}
String [ ] title = { getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.hostname_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.checkType_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.setName_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.lastCheckTime_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.duration_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.attempt_n81i " ) ,
getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.stateInfo_n81i " ) } ;
String [ ] colu = { " 1 " , " 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 " } ;
String pageType = this . getRequest ( ) . getParameter ( " pageType " ) ;
String url = " " ;
if ( " query " . equals ( pageType ) ) {
url = " monitorData.do?action=query&cip= " + cip + " &nodeGroupStr= " + nodeGroupStr + " &ctn= " + ctn
+ " &stateInfo= " + stateInfo + " &pageSize= " + pageSize + " &pageNo= " + pageNo ;
} else if ( " queryNE " . equals ( pageType ) ) {
url = " monitorData.do?action=queryNE&cip= " + cip + " &ctn= " + ctn + " &stateInfo= " + stateInfo
+ " &pageSize= " + pageSize + " &pageNo= " + pageNo ;
}
ExportUtils m = new ExportUtils ( ) ;
m . setAutoSizeColumn ( true ) ;
m . exportExcel ( url , getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.detecateData_n81i " ) , detectionInfoList , title , colu ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
}
return null ;
}
public String [ ] checkLins ( Metadata metadata , CheckTypeInfo checkTypeInfo , Object [ ] sortFiledType , String dsiId ,
String seqId , String lines ) {
String [ ] retu = new String [ 2 ] ;
try {
String [ ] linStrings = lines . split ( " , " ) ; // 选择的端口,可能是多个
String temp = " " ;
String source = " select max(to_char(data_check_time,'yyyy-mm-dd HH24:mi')) maxTime, " + sortFiledType [ 0 ]
+ " from " + checkTypeInfo . getTableName ( ) + " t where " + metadata . getFiledName ( ) + " is not null "
// +" and t.data_check_time >= trunc(sysdate-30)"
+ " and t.detection_info_id in "
+ " (select d.id from detection_info d where d.detection_set_info_id= " + dsiId + " and d.seq_id = "
+ seqId + " ) " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-1) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " ) | | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
temp = lines . substring ( 0 , lines . length ( ) - 1 ) ;
source + = " and " + sortFiledType [ 0 ] + " in ( " + temp + " ) group by " + sortFiledType [ 0 ]
+ " order by maxTime desc " ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
for ( int i = 0 ; i < linStrings . length ; i + + ) {
temp + = " ' " + linStrings [ i ] + " ', " ;
}
temp = temp . substring ( 0 , temp . length ( ) - 1 ) ;
source + = " and " + sortFiledType [ 0 ] + " in ( " + temp + " ) group by " + sortFiledType [ 0 ]
+ " order by maxTime desc " ;
}
List lastList = this . commonService . executeSQL ( source ) ;
// ------------------以上确定最后一个数据点----------------------------
if ( lastList ! = null & & lastList . size ( ) > 0 ) {
Object [ ] row = ( Object [ ] ) lastList . get ( 0 ) ;
String lastSource = " select * from ( select to_char(data_check_time,'yyyy-mm-dd HH24:mi'), "
+ metadata . getFiledName ( ) + " from " + checkTypeInfo . getTableName ( ) + " t where "
+ metadata . getFiledName ( ) + " is not null "
// +" and t.data_check_time >= trunc(sysdate-30)"
+ " and t.detection_info_id in "
+ " (select d.id from detection_info d where d.detection_set_info_id= " + dsiId
+ " and d.seq_id = " + seqId + " ) " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
lastSource + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
lastSource + = " and t.data_check_time >= trunc(sysdate-1) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " ) | | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
lastSource + = " and " + sortFiledType [ 0 ] + " = " + row [ 1 ] + " order by data_check_time desc) ttt " ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
lastSource + = " and " + sortFiledType [ 0 ] + " = ' " + row [ 1 ] + " ' order by data_check_time desc) ttt " ;
}
/* lastSource += " where rownum < 21"; */
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
// if (Constant.IS_MYSQL) {
// lastSource = lastSource + " limit 20";
// } else {
// lastSource += " where rownum < 21 ";
// }
// System.out.println("------NoFirstInSource--------sql:" +
// lastSource);
List lineSourceList = this . commonService . executeSQL ( lastSource ) ;
Object [ ] rowLast = ( Object [ ] ) lineSourceList . get ( lineSourceList . size ( ) - 1 ) ; // 最后一个
// 返回的格式为: 第一个: name(分类标志) 2: 最小时间
retu [ 0 ] = row [ 1 ] . toString ( ) ;
retu [ 1 ] = rowLast [ 0 ] . toString ( ) ;
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
return retu ;
}
public String getSnmpSource ( ) {
String mId = this . getRequest ( ) . getParameter ( " metaId " ) ;
String dsiId = this . getRequest ( ) . getParameter ( " dId " ) ;
String ctId = this . getRequest ( ) . getParameter ( " cId " ) ;
String seqId = this . getRequest ( ) . getParameter ( " seqId " ) ;
String lines = this . getRequest ( ) . getParameter ( " lns " ) ;
String type = this . getRequest ( ) . getParameter ( " type " ) ;
String detectionSetInfoId = this . getRequest ( ) . getParameter ( " detectionSetInfoId " ) ;
System . out . println ( " mId: " + mId ) ;
System . out . println ( " dsiId: " + dsiId ) ;
System . out . println ( " ctId: " + ctId ) ;
System . out . println ( " seqId: " + seqId ) ;
System . out . println ( " lines: " + lines ) ;
System . out . println ( " type: " + type ) ;
String policeValSQL = " " ;
List policeValue = null ;
Map < String , Object > result1 = new HashMap ( ) ;
// 预警值
int policeVal = 0 ;
SimpleDateFormat sdf = new SimpleDateFormat ( " yyyy-MM-dd HH:mm " ) ;
List < Map < String , Object > > returnList = new ArrayList < Map < String , Object > > ( ) ;
NodeTable nt = null ;
try {
CheckTypeInfo checkTypeInfo = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
Long . parseLong ( ctId ) ) ;
Metadata metadata = ( Metadata ) this . commonService . get ( Metadata . class , Long . parseLong ( mId ) ) ;
List < NodeTable > nts = this . commonService . find ( " from NodeTable where seqId= " + Long . parseLong ( seqId ) ) ;
if ( nts ! = null & & nts . size ( ) > 0 ) {
nt = nts . get ( 0 ) ;
}
// 判断是否是特殊统计字段
DetectionSetInfo dsi = ( DetectionSetInfo ) this . commonService . get ( DetectionSetInfo . class ,
Long . parseLong ( dsiId ) ) ;
// public part---------------------------begin--------------------
// 预警线
policeValSQL = " select police_value from data_police_relation where detection_set_info_id= " + dsiId
+ " and metadata_id= " + metadata . getId ( ) ;
policeValue = this . commonService . executeSQL ( policeValSQL ) ;
if ( policeValue ! = null & & policeValue . size ( ) > 0 ) {
// policeVal=((BigDecimal)policeValue.get(0)).intValue();
policeVal = Integer . parseInt ( policeValue . get ( 0 ) . toString ( ) ) ;
}
// 如果预警值不等于0则画预警线
if ( policeVal ! = 0 ) {
result1 . put ( " policeVal " , policeVal ) ;
}
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
if ( nt ! = null ) {
result1 . put ( " xtitle " , nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " "
+ checkTypeInfo . getCheckTypeName1 ( ) + " : " + metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result1 . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName1 ( ) + " : "
+ metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result1 . put ( " ytitle " , metadata . getFiledComments ( ) ) ;
} else {
if ( nt ! = null ) {
result1 . put ( " xtitle " ,
nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName ( )
+ " : " + metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result1 . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName ( ) + " : "
+ metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result1 . put ( " ytitle " , metadata . getFiledName ( ) . replace ( " _ " , " " ) ) ;
}
returnList . add ( result1 ) ;
// public part---------------------------end----------------------
// 得到分类标识字段
String sort_sign = " select t.filed_name,t.filed_type from metadata t where t.check_type_id = " + ctId
+ " and t.sort_sign =0 " ;
List sortList = this . commonService . executeSQL ( sort_sign ) ;
if ( sortList ! = null & & sortList . size ( ) > 0 ) {
Object [ ] sortFiledType = ( Object [ ] ) sortList . get ( 0 ) ;
Map < String , Object > result = new HashMap ( ) ;
List < Map < String , Object > > line = new ArrayList < Map < String , Object > > ( ) ;
// 选择checkBox画图
if ( lines ! = null & & ! lines . equals ( " " ) ) {
String [ ] linStrings = lines . split ( " , " ) ;
for ( int i = 0 ; i < linStrings . length ; i + + ) {
String [ ] cbStrings = checkLins ( metadata , checkTypeInfo , sortFiledType , dsiId , seqId , linStrings [ i ] ) ;
String source = " " ;
if ( linStrings [ i ] . equals ( cbStrings [ 0 ] ) ) { // 这是最后的那个
source = " select * from ( select to_char(data_check_time,'yyyy-mm-dd HH24:mi') checkTime, "
+ metadata . getFiledName ( ) + " from " + checkTypeInfo . getTableName ( ) + " t where "
+ metadata . getFiledName ( ) + " is not null "
// +
// " and t.data_check_time >=
// to_date(to_char((sysdate-4),'yyyy-mm-dd'),'yyyy-mm-dd
// hh24:mi')"+
// +" and t.data_check_time >=
// trunc(sysdate-30)"
// + " and rownum <= 20"
+ " and t.detection_info_id in "
+ " (select d.id from detection_info d where d.detection_set_info_id= " + dsiId
+ " and d.seq_id = " + seqId + " ) " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-0) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " = " + linStrings [ i ] . toString ( )
+ " ) tttt order by checkTime desc " ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " = ' " + linStrings [ i ] . toString ( )
+ " ' ) tttt order by checkTime desc " ;
}
/* source += " where rownum < 21"; */
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
// if (Constant.IS_MYSQL) {
// source = source + " limit 20";
// } else {
// source += " where rownum < 21 ";
// }
} else {
source = " select * from ( select to_char(data_check_time,'yyyy-mm-dd HH24:mi') checkTime, "
+ metadata . getFiledName ( ) + " from " + checkTypeInfo . getTableName ( ) + " t where "
+ metadata . getFiledName ( ) + " is not null "
// +" and t.data_check_time >=
// trunc(sysdate-30)"
+ " and t.detection_info_id in "
+ " (select d.id from detection_info d where d.detection_set_info_id= " + dsiId
+ " and d.seq_id = " + seqId + " ) " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-0) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " = " + linStrings [ i ] . toString ( ) ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " = ' " + linStrings [ i ] . toString ( ) + " ' " ;
}
// 判断是否有返回 如果有则加入查询条件 如果无 则不加
if ( null ! = cbStrings [ 1 ] & & ! cbStrings [ 1 ] . equals ( " " ) ) {
/ *
* source + =
* " and t.data_check_time >= to_date(' " +
* cbStrings [ 1 ] +
* " ','yyyy-mm-dd HH24:mi') order by data_check_time desc) where rownum < 21 "
* ;
* /
source + = " and t.data_check_time >= to_date(' " + cbStrings [ 1 ]
+ " ','yyyy-mm-dd HH24:mi') ) tttt order by checkTime desc " ;
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
// if (Constant.IS_MYSQL) {
// source = source + " limit 20";
// } else {
// source += " where rownum < 21 ";
// }
} else {
/ *
* source + =
* " order by data_check_time desc) where rownum < 21 "
* ;
* /
source + = " order by data_check_time desc) tttt " ;
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
// if (Constant.IS_MYSQL) {
// source = source + " limit 20";
// } else {
// source += " where rownum < 21 ";
// }
}
}
System . out . println ( " ------NoFirstInSource--------sql: " + source ) ;
List lineSourceList = this . commonService . executeSQL ( source ) ;
List < Object [ ] > data = new ArrayList < Object [ ] > ( ) ;
// 封装一条拆线
Map < String , Object > chart = new HashMap ( ) ;
if ( lineSourceList . size ( ) > 0 ) {
for ( int j = 0 ; j < lineSourceList . size ( ) ; j + + ) {
Object [ ] row = ( Object [ ] ) lineSourceList . get ( j ) ;
Object [ ] tmp = new Object [ 2 ] ;
tmp [ 0 ] = ( sdf . parse ( ( String ) row [ 0 ] ) ) . getTime ( ) ;
if ( row [ 1 ] instanceof BigDecimal ) {
tmp [ 1 ] = ( ( BigDecimal ) row [ 1 ] ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ;
} else {
tmp [ 1 ] = row [ 1 ] ;
}
data . add ( tmp ) ;
}
}
// 封装一条折线--------------------------------------2013 1.23
chart . put ( " name " , linStrings [ i ] . toString ( ) ) ;
chart . put ( " data " , data ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
}
} else {
// 封装一条拆线
Map < String , Object > chart = new HashMap ( ) ;
// 得到数据表中所有该分类标识的值
String getAllSort = " select distinct " + sortFiledType [ 0 ] . toString ( ) + " from "
+ checkTypeInfo . getTableName ( ) + " where " + sortFiledType [ 0 ] . toString ( )
+ " is not null and seq_id= " + seqId + " and DETECTION_SET_INFO_ID= " + dsiId + " order by " + sortFiledType [ 0 ] . toString ( ) ;
dataList = this . commonService . executeSQL ( getAllSort ) ;
if ( dataList ! = null & & dataList . size ( ) > 0 ) {
String source = " select * from (select to_char(data_check_time,'yyyy-mm-dd HH24:mi') checkTime, "
+ metadata . getFiledName ( ) + " from " + checkTypeInfo . getTableName ( ) + " t where "
+ metadata . getFiledName ( ) + " is not null "
// + " and t.data_check_time >=
// trunc(sysdate-30)"
+ " and t.detection_info_id in "
+ " (select d.id from detection_info d where d.detection_set_info_id= " + dsiId
+ " and d.seq_id = " + seqId + " ) " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-0) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " = " + dataList . get ( 0 ) . toString ( )
+ " ) order by checkTime desc " ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " = ' " + dataList . get ( 0 ) . toString ( )
+ " ' ) ttt order by checkTime desc " ;
}
/* source += " where rownum < 21"; */
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
// if (Constant.IS_MYSQL) {
// source = source + " limit 20";
// } else {
// source += " where rownum < 21 ";
// }
System . out . println ( " ------source--------sql: " + source ) ;
List lineSourceList = this . commonService . executeSQL ( source ) ;
List < Object [ ] > data = new ArrayList < Object [ ] > ( ) ;
if ( lineSourceList . size ( ) > 0 ) {
for ( int j = 0 ; j < lineSourceList . size ( ) ; j + + ) {
Object [ ] row = ( Object [ ] ) lineSourceList . get ( j ) ;
Object [ ] tmp = new Object [ 2 ] ;
tmp [ 0 ] = ( sdf . parse ( ( String ) row [ 0 ] ) ) . getTime ( ) ;
if ( row [ 1 ] instanceof BigDecimal ) {
tmp [ 1 ] = ( ( BigDecimal ) row [ 1 ] ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ;
} else {
tmp [ 1 ] = row [ 1 ] ;
}
data . add ( tmp ) ;
}
}
// 封装一条折线--------------------------------------2013 1.23
chart . put ( " name " , dataList . get ( 0 ) . toString ( ) ) ;
chart . put ( " data " , data ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
} else {
// 封装一条折线--------------------------------------2013 1.23
chart . put ( " name " , " " ) ;
chart . put ( " data " , " " ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
}
}
returnList . add ( result ) ;
}
// for (int i = 0; i < dataList.size(); i++) {
// String source = "select to_char(data_check_time,'yyyy-mm-dd
// HH24:mi'),"
// + metadata.getFiledName()
// + " from "
// + checkTypeInfo.getTableName()
// + " t where "
// + metadata.getFiledName()
// + " is not null"
// +
// // " and t.data_check_time >=
// to_date(to_char((sysdate-4),'yyyy-mm-dd'),'yyyy-mm-dd hh24:mi')"+
// " and t.data_check_time >= trunc(sysdate-30)"
// + " and rownum <= 20"
// + " and t.detection_info_id in "
// + "(select d.id from detection_info d where
// d.detection_set_info_id="
// + dsiId + " and d.seq_id = " + seqId + ")";
//
// if (sortFiledType[1].toString().equals("NUMBER") ||
// sortFiledType[1].toString().equals("Number")) {
// source += " and " + sortFiledType[0] + " = "
// + dataList.get(i).toString()
// + " order by data_check_time desc";
// } else if (sortFiledType[1].toString().indexOf("VARCHAR2") != -1)
// {
// source += " and " + sortFiledType[0] + " = '"
// + dataList.get(i).toString()
// + "' order by data_check_time desc";
// } else {
//
// }
// System.out.println("------source--------sql:" + source);
// List lineSourceList = this.commonService.executeSQL(source);
//
// List<Object[]> data = new ArrayList<Object[]>();
//
// // 封装一条拆线
// Map<String, Object> chart = new HashMap();
//
// if (lineSourceList.size() > 0) {
// for (int j = 0; j < lineSourceList.size(); j++) {
// Object[] row = (Object[]) lineSourceList.get(j);
// Object[] tmp = new Object[2];
// tmp[0] = (sdf.parse((String) row[0])).getTime();
// if(row[1] instanceof BigDecimal) {
// tmp[1] = ((BigDecimal) row[1]).setScale(2,
// BigDecimal.ROUND_HALF_UP);
// }else {
// tmp[1] = row[1];
//
// }
// data.add(tmp);
// }
//
// }
// // 封装一条折线--------------------------------------2013 1.23
// chart.put("name", dataList.get(i).toString());
// chart.put("data", data);
// line.add(chart);
// result.put("lines", line);
// }
//
// returnList.add(result);
//
// }
String jsonStr = JSONArray . fromObject ( returnList ) . toString ( ) ;
System . out . println ( jsonStr ) ;
this . getResponse ( ) . setCharacterEncoding ( " utf-8 " ) ;
PrintWriter printWriter = this . getResponse ( ) . getWriter ( ) ;
printWriter . write ( jsonStr ) ;
printWriter . close ( ) ;
printWriter = null ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
if ( ! StringUtil . isBlank ( type ) & & type . equals ( " 1 " ) ) {
outHtmlString (
" <script type= \" text/javascript \" >alert('操作失败');this.location='monitorData.do?action=queryAbnormalSet'</script> " ) ;
} else {
outHtmlString (
" <script type= \" text/javascript \" >alert('操作失败');this.location='monitorData.do?action=query'</script> " ) ;
}
}
return null ;
}
private void queryMonitorDataInfoNewForTopo ( ) {
if ( mypageNo > 0 & & mypageSize > 0 ) {
pageNo = mypageNo ;
pageSize = mypageSize ;
}
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " ,din.police_emergent police_emergent,din.police_level police_level " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql , " t.group_id = " + nodeGroupId ) ;
/ *
* sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
* +
* " (select t.group_id from nodegroup_table t start with t.group_id = "
* + nodeGroupId +
* " connect by prior t.group_id = t.parent_group_id)) nt " ) ;
* /
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
+ " ( " + ids + " )) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " ORDER by detectioned_state, police_emergent, police_level " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = changeShowList ( detectionInfoList , false ) ;
if ( StringUtils . isNotBlank ( nodeGroupId ) ) {
NodegroupTable ngt = ( NodegroupTable ) this . commonService . get ( NodegroupTable . class ,
Long . parseLong ( nodeGroupId . trim ( ) ) ) ;
nodeGroupName = ngt = = null ? " " : ngt . getGroupName ( ) ;
}
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');</script> " ) ;
}
}
private String queryMonitorDataInfoNewForTopoChild ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " ,din.police_emergent police_emergent,din.police_level police_level " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql , " t.group_id = " + nodeGroupId ) ;
/ *
* sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
* +
* " (select t.group_id from nodegroup_table t start with t.group_id = "
* + nodeGroupId +
* " connect by prior t.group_id = t.parent_group_id)) nt " ) ;
* /
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
+ " ( " + ids + " )) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " ORDER by detectioned_state, police_emergent, police_level " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = changeShowList ( detectionInfoList , false ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');</script> " ) ;
}
return " queryMonitorDataInfoChild " ;
}
/ * *
*
* 拓扑图来源 , 查询紧急告警 - 服务器
*
* @author jinshujuan Jun 18 , 2013
* @version 1 . 0
* @return
* /
private void queryEmergent ( ) {
if ( mypageNo > 0 & & mypageSize > 0 ) {
pageNo = mypageNo ;
pageSize = mypageSize ;
}
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " ,din.police_emergent police_emergent,din.police_level police_level " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql , " t.group_id = " + nodeGroupId ) ;
/ *
* sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
* +
* " (select t.group_id from nodegroup_table t start with t.group_id = "
* + nodeGroupId +
* " connect by prior t.group_id = t.parent_group_id)) nt " ) ;
* /
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
+ " ( " + ids + " )) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 and din.DETECTIONED_STATE<>1 AND din.POLICE_EMERGENT=0 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " ORDER by detectioned_state, police_emergent, police_level " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = changeShowList ( detectionInfoList , false ) ;
// if(StringUtils.isNotBlank(nodeGroupId)) {
// NodegroupTable ngt =
// (NodegroupTable)this.commonService.get(NodegroupTable.class,
// Long.parseLong(nodeGroupId.trim()));
// nodeGroupName = ngt==null?"":ngt.getGroupName();
// }else {
// nodeGroupName = "";
// }
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');</script> " ) ;
}
}
/ * *
*
* TODO 为了共用页面 将结果转换为 List < List > 格式
*
* @author jinshujuan Jun 18 , 2013
* @version 1 . 0
* @param detectionInfoList
* @param b
* @return
* /
private List < List > changeShowList ( List < Object [ ] > detectionInfoList , boolean b ) {
List < List > detecInfoGroupListNew = new ArrayList < List > ( ) ;
try {
for ( Object [ ] objects : detectionInfoList ) {
List < Object [ ] > listSoNews = new ArrayList < Object [ ] > ( ) ;
objects [ 6 ] = this . getPersistTime ( DateUtil . getDateD ( objects [ 5 ] . toString ( ) ) ,
DateUtil . getDateD ( objects [ 9 ] . toString ( ) ) ) ;
listSoNews . add ( objects ) ;
detecInfoGroupListNew . add ( listSoNews ) ;
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
return detecInfoGroupListNew ;
}
private void queryNodeGroupInfo ( ) {
try {
String hql = " from NodegroupTable where 1=1 " ;
if ( ! this . getAdminMark ( ) ) { // 非admin登录时才进行权限控制
// 权限控制----------------------------------------------------begin
// 如果当前登录选择了业务系统,则只做和本业务系统相关的操作
if ( this . getSystemID ( ) ! = null ) {
hql + = " and systemId = " + this . getSystemID ( ) ;
}
// 1 发布人查看,2 发布人所在组查看,3 系统内全部人员可看
hql + = " and ( " ;
hql + = " (viewLevel=1 and createUserId= " + this . getUserID ( ) + " ) " ;
hql + = " or (viewLevel=2 and createUsergroupId in (select jsbh from XtYhJsIndex "
+ " where type=1 and yhbh=' " + this . getUser ( ) . getYhbh ( ) + " ') ) " ;
if ( this . getSystemID ( ) ! = null ) {
hql + = " or (viewLevel=3 and systemId= " + this . getSystemID ( ) + " ) " ;
} else {
hql + = " or (viewLevel=3 and systemId in "
+ " (select systemId from GorupSystemTable where userGroupId in "
+ " (select jsbh from XtYhJsIndex where type=1 and yhbh=' " + this . getUser ( ) . getYhbh ( ) + " ') "
+ " ) ) " ;
}
hql + = " ) " ;
// 权限控制----------------------------------------------------end
}
hql + = " order by groupLevel asc,showIndex asc " ;
allNodeGroupInfo = this . commonService . find ( hql . toString ( ) ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
logger . error ( e . getStackTrace ( ) ) ;
}
}
private void queryCheckTypeInfo ( ) {
try {
/ *
* String hql = " " ; if ( this . getAdminMark ( ) )
* { // 如果是admin登陆则无限制 hql = "from CheckTypeInfo where 1=1 and
* isSchedule < > 2 " ; } else { // 权限控制--------begin String sqlparam = "
* or ( t . viewLevel = 4 ) " ; hql = " from CheckTypeInfo t where 1 = 1 and
* isSchedule < > 2 and ( ( t . viewLevel = 1 and t . userId = " +
* this . getUserID ( ) + " ) " + " or ( t.viewLevel=2 and t.groupId in
* ( select x . jsbh from XtYhJsIndex x where x . yhbh = ' " +
* this . getUser ( ) . getYhbh ( ) + " ' and x.type = 1)) or (t.viewLevel=3
* and t . systemId = " + this.getSystemID() + " ) " + sqlparam + " ) " ;
* // ----------------end } hql += " and creteState = 0 order by
* isSchedule asc , createTime asc " ;
*
* allCheckTypeInfo = this . commonService . find ( hql ) ;
* /
StringBuffer hql = new StringBuffer ( ) ;
if ( this . getAdminMark ( ) ) { // 如果是admin登陆则无限制
hql . append ( " from CheckTypeInfo where isSchedule<>2 " ) ;
} else {
// 权限控制--------begin
hql . append ( " from CheckTypeInfo t where isSchedule<>2 and (( t.viewLevel=1 and t.userId= " ) ;
hql . append ( this . getUserID ( ) ) ;
hql . append ( " and t.systemId = " + this . getSystemID ( ) + " ) " ) ;
hql . append ( " or ( t.viewLevel=2 and t.groupId in (select x.jsbh from XtYhJsIndex x where x.yhbh=' " ) ;
hql . append ( this . getUser ( ) . getYhbh ( ) ) ;
hql . append ( " ' and x.type = 1) and t.systemId = " + this . getSystemID ( )
+ " ) or (t.viewLevel=3 and t.systemId = " + this . getSystemID ( ) + " ) " ) ;
hql . append ( " or (t.viewLevel=4 ) " ) ;
hql . append ( " ) " ) ;
hql . append ( " and t.id in (select dst.checkTypeInfo from DetectionSetInfo dst where dst.detectionSetState=1) " ) ;
// ----------------end
}
hql . append (
" and creteState = 0 order by decode(isSchedule,0,0,2,0,1,1,2) asc ,decode(isSnmp,2,0,null,0,1) asc, ID asc " ) ;
allCheckTypeInfo = this . commonService . find ( hql . toString ( ) ) ;
System . out . println ( " ... " ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
logger . error ( e . getStackTrace ( ) ) ;
}
}
// 添加此方法主要考虑使用HQL查询会因为表之间的关联关系而导致一条记录多次查询, 故修改为sql查询。
public void queryServerMonitorDataInfoNew ( ) {
if ( mypageNo > 0 & & mypageSize > 0 ) {
pageNo = mypageNo ;
pageSize = mypageSize ;
}
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1,nt.special_server_type " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn,special_server_type from NODE_TABLE " ) ;
if ( nodeGroupStr ! = null & & ! " " . equals ( nodeGroupStr ) & & ! " null " . equals ( nodeGroupStr ) ) {
// 节点组模糊名称不为空, 则根据节点组名称, 模糊查询所有节点组, 再依次查找其下面的节点, 得到节点id
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql ,
" lower(group_name) like lower('% " + nodeGroupStr + " %') " ) ;
/ *
* sqlBuffer .
* append ( " right join (select distinct ngt.group_id from nodegroup_table ngt start with lower(ngt.group_name) like lower('% "
* + nodeGroupStr +
* " %') connect by prior group_id=parent_group_id ) ngt on node_group_id=ngt.group_id "
* ) ;
* /
sqlBuffer
. append ( " right join (select distinct ngt.group_id from nodegroup_table ngt where ngt.group_id in ( "
+ ids + " )) ngt on node_group_id=ngt.group_id " ) ;
}
sqlBuffer . append ( " ) nt on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
sqlBuffer . append (
" where nt.node_ip is not null AND nt.node_type =0 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
// sqlBuffer.append(" and cti.id =" + ctn);
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( checkType ! = null & & checkType ! = - 1 ) {
sqlBuffer . append ( " and cti.id = " + checkType ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
// 权限控制------begin
// String sqlparam = " or (cti.view_level=4 )";
/ *
* sqlBuffer . append ( " and (( cti.view_level=1 and cti.user_id= "
* + this . getUserID ( ) + " ) " + " or ( cti.view_level=2 and
* cti . group_id in ( select x . jsbh from Xt_Yh_Js_Index x where
* x . yhbh = ' " + this.getUser().getYhbh() + " ' and x . type = 1 ) ) or
* ( cti . view_level = 3 and cti . system_id = " + this.getSystemID()
* + " ) " + sqlparam + " ) " ) ;
* /
// -------------end
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = getNodeIpGroupListNew ( detectionInfoList , false ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
}
/ * *
*
* 检测类别查询条件不为空时 对查询结果的状态特殊处理
*
* @author jinshujuan May 30 , 2013
* @version 1 . 0
* @param detectionInfoList
* @param ctn2
* /
private void changeStatus ( List < Object [ ] > detectionInfoList , String checkType ) {
try {
// 如果checkType 是握手检测则跳过
String hql = " from CheckTypeInfo where checkTypeName1 like '% " + checkType + " %' " ;
List < CheckTypeInfo > checkTypeInfos = commonService . find ( hql ) ;
if ( checkTypeInfos = = null | | checkTypeInfos . size ( ) = = 0 ) {
return ;
}
// 如果是握手检测跳过
if ( checkTypeInfos . get ( 0 ) . getCheckTypeName ( ) . equals ( " NMSClient " ) ) {
return ;
}
// 获取握手检测类别的ID
hql = " select id from CheckTypeInfo where checkTypeName='NMSClient' " ;
List idsList = commonService . find ( hql ) ;
if ( idsList = = null | | idsList . size ( ) = = 0 ) {
return ;
}
long checkTypeId = Long . parseLong ( idsList . get ( 0 ) . toString ( ) ) ;
for ( Object [ ] objects : detectionInfoList ) {
String seqId = objects [ 12 ] . toString ( ) ;
String sql = " SELECT t1.detectioned_state from DETECTION_INFO_NEW t1 WHERE t1.seq_id= " + seqId
+ " AND t1.detection_set_info_id IN (SELECT t.id from DETECTION_SET_INFO t WHERE t.check_type_id= "
+ checkTypeId + " AND t.detection_set_state=1 ) ORDER BY t1.data_arrive_time DESC " ;
List < Object > statusList = commonService . executeSQL ( sql ) ;
if ( statusList ! = null & & statusList . size ( ) > 0 ) {
// status = 1说明握手正常
String status = statusList . get ( 0 ) = = null ? " " : statusList . get ( 0 ) . toString ( ) ;
// 握手状态不正常status in (0 -1) 修改检测状态、持续时间
if ( ! status . equals ( " 1 " ) ) {
// 3是界面展示的临时状态 存在于用检测类别查询时, 该节点的握手检测异常状态时, 其状态设置为3 页面不展示
objects [ 4 ] = " 3 " ;
}
}
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
}
}
public String queryServerMonitorDataInfoChild ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn ,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE " ) ;
if ( nodeGroupStr ! = null & & ! " " . equals ( nodeGroupStr ) & & ! " null " . equals ( nodeGroupStr ) ) {
// 节点组模糊名称不为空, 则根据节点组名称, 模糊查询所有节点组, 再依次查找其下面的节点, 得到节点id
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
String groupIdSql = " select group_id from nodegroup_table t where 1=1 " ;
String ids = this . commonService . getGroupIdStartWith ( groupIdSql ,
" lower(group_name) like lower('% " + nodeGroupStr + " %') " ) ;
sqlBuffer
. append ( " right join (select distinct ngt.group_id from nodegroup_table ngt where ngt.group_id in ( "
+ ids + " ) ) ngt on node_group_id=ngt.group_id " ) ;
}
sqlBuffer . append ( " ) nt on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
sqlBuffer . append (
" where nt.node_ip is not null AND nt.node_type =0 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
// sqlBuffer.append("");
// sqlBuffer.append(" ");
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
// sqlBuffer.append(" and instr(nt.node_ip,'"+cip.trim()+"')
// <> 0");
}
if ( nodeIpRange ! = null & & ! " " . equals ( nodeIpRange ) & & ! " null " . equals ( nodeIpRange ) ) {
sqlBuffer . append ( " and nt.node_ip like ' " + nodeIpRange + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
// sqlBuffer.append(" and cti.id =" + ctn);
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = getNodeIpGroupListNew ( detectionInfoList , false ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
return " queryServerMonitorDataInfoChild " ;
}
public List < Object [ ] > changeValue ( List < Object [ ] > list , boolean falg ) throws Exception {
Map < Long , Map < Long , String > > maps = ( Map < Long , Map < Long , String > > ) this . getRequest ( ) . getSession ( )
. getServletContext ( ) . getAttribute ( " troubles " ) ;
int index = 8 ;
if ( falg ) {
index + + ;
}
if ( maps ! = null & & maps . size ( ) > 0 ) {
if ( maps . containsKey ( this . getSystemID ( ) ) ) { // 判断系统id
Map < Long , String > mapCode = maps . get ( this . getSystemID ( ) ) ; // key:
// code
// value:
// desc
Set < Long > keys = mapCode . keySet ( ) ;
for ( int j = 0 ; j < list . size ( ) ; j + + ) {
for ( Iterator it = keys . iterator ( ) ; it . hasNext ( ) ; ) {
if ( list . get ( j ) [ index ] ! = null & & ! " " . equals ( list . get ( j ) [ index ] ) ) {
if ( it . next ( ) . toString ( ) . equals ( list . get ( j ) [ index ] . toString ( ) ) ) {
list . get ( j ) [ index ] = mapCode . get ( it . next ( ) ) ;
break ;
}
} else {
list . get ( j ) [ index ] = " " ;
break ;
}
}
}
}
}
return list ;
}
public String getDrawDateSource ( ) {
return " drawMonitorInfo " ;
}
public String ajaxDrawDateSource ( ) {
String resu = " " ;
try {
String dsiId = this . getRequest ( ) . getParameter ( " dsiId " ) ;
// String ctId = this.getRequest().getParameter("checkTypeId");
// String seqId = this.getRequest().getParameter("sqId");
sqId = this . getRequest ( ) . getParameter ( " sqId " ) ;
ctId = this . getRequest ( ) . getParameter ( " checkTypeId " ) ;
detectionSetInfoId = this . getRequest ( ) . getParameter ( " detectionSetInfoId " ) ;
System . out . println ( " dsiId: " + dsiId ) ;
System . out . println ( " ctId: " + ctId ) ;
System . out . println ( " seqId: " + sqId ) ;
CheckTypeInfo checkTypeInfo = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
Long . parseLong ( ctId ) ) ;
String tString = " select * from metadata where table_name = "
+ " (select table_name from check_type_info where id= "
+ " (select check_type_id from detection_set_info where id= " + dsiId + " )) "
+ " and chart_state = '0' " ;
// " and chart_state = '0'
// or id in(select metadata_id from data_police_relation
// where police_state = '0' and detection_set_info_id="+dsiId+")";
System . out . println ( " huatu: " + tString ) ;
metadataList = this . commonService . executeSQL ( tString , Metadata . class ) ;
// 针对多项监测都使用分类标识, 所以取消判断是否为snmp监控
// if (checkTypeInfo.getIsSnmp() != null
// && (checkTypeInfo.getIsSnmp() == 0 || checkTypeInfo
// .getIsSnmp() == 1)) {
// return this.checkLineNum(ctId,dsiId,seqId);
// 得到分类标识字段
String sort_sign = " select t.filed_name,t.filed_type from metadata t where t.check_type_id = " + ctId
+ " and t.sort_sign =0 " ;
List sortList = this . commonService . executeSQL ( sort_sign ) ;
if ( sortList ! = null & & sortList . size ( ) > 0 ) {
Object [ ] sortFiledType = ( Object [ ] ) sortList . get ( 0 ) ;
// 得到数据表中所有该分类标识的值
String getAllSort = " select distinct " + sortFiledType [ 0 ] . toString ( ) + " from "
+ checkTypeInfo . getTableName ( ) + " where " + sortFiledType [ 0 ] . toString ( )
+ " is not null and seq_id = " + sqId + " and DETECTION_SET_INFO_ID= " + dsiId + " order by " + sortFiledType [ 0 ] . toString ( ) ;
// List sortValues = this.commonService.executeSQL(getAllSort);
dataList = this . commonService . executeSQL ( getAllSort ) ;
if ( checkTypeInfo . getCheckTypeName ( ) . toLowerCase ( ) . equals ( " net " ) ) {
resu = " drawSpecialMonitorInfo " ;
} else if ( checkTypeInfo . getCheckTypeName ( ) . toLowerCase ( ) . equals ( " switchport " ) ) { // 交换机监测:端口
resu = " drawSwitchportMonitorInfo " ; // drawSwitchportMonitorInfo:选择多个端口时,显示多个端口之和的一条曲线
} else {
resu = " drawSnmpMonitorInfo " ;
}
} else {
resu = " drawMonitorInfo " ;
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
logger . error ( e . getStackTrace ( ) ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='detectionSet.do?action=query&pageNo= "
+ pageNo + " &pageSize= " + pageSize + " '</script> " ) ;
}
return resu ;
}
public String getSpecialSource ( ) {
String mId = this . getRequest ( ) . getParameter ( " metaId " ) ;
String dsiId = this . getRequest ( ) . getParameter ( " dId " ) ;
String ctId = this . getRequest ( ) . getParameter ( " cId " ) ;
String seqId = this . getRequest ( ) . getParameter ( " seqId " ) ;
String lines = this . getRequest ( ) . getParameter ( " lns " ) ;
String type = this . getRequest ( ) . getParameter ( " type " ) ;
String policeValSQL = " " ;
List policeValue = null ;
Map < String , Object > result1 = new HashMap ( ) ;
// 预警值
int policeVal = 0 ;
SimpleDateFormat sdf = new SimpleDateFormat ( " yyyy-MM-dd HH:mm " ) ;
List < Map < String , Object > > returnList = new ArrayList < Map < String , Object > > ( ) ;
NodeTable nt = null ;
try {
CheckTypeInfo checkTypeInfo = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
Long . parseLong ( ctId ) ) ;
Metadata metadata = ( Metadata ) this . commonService . get ( Metadata . class , Long . parseLong ( mId ) ) ;
List < NodeTable > nts = this . commonService . find ( " from NodeTable where seqId= " + Long . parseLong ( seqId ) ) ;
if ( nts ! = null & & nts . size ( ) > 0 ) {
nt = nts . get ( 0 ) ;
}
int specialFlag = 0 ; // 0 非特殊数据 1字节速度特殊数据 2包速度特殊数据
String specialColumn = " " ;
if ( checkTypeInfo ! = null & & StringUtils . isNotBlank ( checkTypeInfo . getCheckTypeName ( ) ) ) {
if ( checkTypeInfo . getCheckTypeName ( ) . toLowerCase ( ) . equals ( " switchport " ) ) { // net监测类别
if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " inoctetsspeed " ) ) {
specialFlag = 1 ;
specialColumn = " Data_64_FLag,decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024) ifhighspeedbps, "
+ metadata . getFiledName ( ) + " ,ifInOctets " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " outoctetsspeed " ) ) {
specialFlag = 1 ;
specialColumn = " Data_64_FLag,decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024) ifhighspeedbps, "
+ metadata . getFiledName ( ) + " ,ifOutOctets " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " inpktsspeed " ) ) {
specialFlag = 2 ;
specialColumn = " Data_64_FLag,decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024) ifhighspeedbps, "
+ metadata . getFiledName ( ) + " ,ifInUcastPkts,ifInNUcastPkts,IFINOCTETS " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " outpktsspeed " ) ) {
specialFlag = 2 ;
specialColumn = " Data_64_FLag,decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024) ifhighspeedbps, "
+ metadata . getFiledName ( ) + " ,ifOutUcastPkts,ifOutNUcastPkts,IFOUTOCTETS " ;
} else {
specialFlag = 0 ;
specialColumn = metadata . getFiledName ( ) ;
}
} else if ( checkTypeInfo . getCheckTypeName ( ) . toLowerCase ( ) . equals ( " net " ) ) { // switchport
// 监测类别
if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " rx_bps " ) ) { // 输入bps( 单位: bps)
specialFlag = 1 ;
specialColumn = " 0 data64flag,decode(speed,0,0,null,0,speed*1024*1024), "
+ metadata . getFiledName ( ) + " ,rx_bytes " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " tx_bps " ) ) { // 输出bps( 单位: bps)
specialFlag = 1 ;
specialColumn = " 0 data64flag,decode(speed,0,0,null,0,speed*1024*1024), "
+ metadata . getFiledName ( ) + " ,tx_bytes " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " rx_pps " ) ) { // 输入pps( 每秒接收包数)
specialFlag = 2 ;
specialColumn = " 0 data64flag,decode(speed,0,0,null,0,speed*1024*1024), "
+ metadata . getFiledName ( ) + " ,rx_packets,0,RX_BYTES " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " tx_pps " ) ) { // 输出pps( 每秒发出包数)
specialFlag = 2 ;
specialColumn = " 0 data64flag,decode(speed,0,0,null,0,speed*1024*1024), "
+ metadata . getFiledName ( ) + " ,tx_packets,0,TX_BYTES " ;
} else {
specialFlag = 0 ;
specialColumn = metadata . getFiledName ( ) ;
}
}
}
DetectionSetInfo dsi = ( DetectionSetInfo ) this . commonService . get ( DetectionSetInfo . class ,
Long . parseLong ( dsiId ) ) ;
// public part---------------------------begin--------------------
// 预警线
policeValSQL = " select police_value from data_police_relation where detection_set_info_id= " + dsiId
+ " and metadata_id= " + metadata . getId ( ) ;
policeValue = this . commonService . executeSQL ( policeValSQL ) ;
if ( policeValue ! = null & & policeValue . size ( ) > 0 ) {
// policeVal=((BigDecimal)policeValue.get(0)).intValue();
policeVal = Integer . parseInt ( policeValue . get ( 0 ) . toString ( ) ) ;
}
// 如果预警值不等于0则画预警线
if ( policeVal ! = 0 ) {
result1 . put ( " policeVal " , policeVal ) ;
}
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
if ( nt ! = null ) {
result1 . put ( " xtitle " , nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " "
+ checkTypeInfo . getCheckTypeName1 ( ) + " : " + metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result1 . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName1 ( ) + " : "
+ metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result1 . put ( " ytitle " , metadata . getFiledComments ( ) ) ;
} else {
if ( nt ! = null ) {
result1 . put ( " xtitle " ,
nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName ( )
+ " : " + metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result1 . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName ( ) + " : "
+ metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result1 . put ( " ytitle " , metadata . getFiledName ( ) . replace ( " _ " , " " ) ) ;
}
returnList . add ( result1 ) ;
// public part---------------------------end----------------------
// 得到分类标识字段
String sort_sign = " select t.filed_name,t.filed_type from metadata t where t.check_type_id = " + ctId
+ " and t.sort_sign =0 " ;
List sortList = this . commonService . executeSQL ( sort_sign ) ;
Object [ ] objs = null ;
List < Object [ ] > dataPoint = new ArrayList < Object [ ] > ( ) ;
if ( sortList ! = null & & sortList . size ( ) > 0 ) {
Object [ ] sortFiledType = ( Object [ ] ) sortList . get ( 0 ) ;
Map < String , Object > result = new HashMap ( ) ;
List < Map < String , Object > > line = new ArrayList < Map < String , Object > > ( ) ;
// 选择checkBox画图
if ( lines ! = null & & ! lines . equals ( " " ) ) {
String [ ] linStrings = lines . split ( " , " ) ;
for ( int i = 0 ; i < linStrings . length ; i + + ) {
String [ ] cbStrings = checkLins ( metadata , checkTypeInfo , sortFiledType , dsiId , seqId , linStrings [ i ] ) ;
String source = " " ;
if ( linStrings [ i ] . equals ( cbStrings [ 0 ] ) ) { // 这是最后的那个
source = " select * from ( select data_check_time_digital , " + specialColumn + " from "
+ checkTypeInfo . getTableName ( ) + " t where " + metadata . getFiledName ( )
+ " is not null "
// +
// " and t.data_check_time >=
// to_date(to_char((sysdate-4),'yyyy-mm-dd'),'yyyy-mm-dd
// hh24:mi')"+
// +" and t.data_check_time >=
// trunc(sysdate-30)"
// + " and rownum <= 20"
+ " and t.detection_set_info_id= " + dsiId + " and t.seq_id = " + seqId + " " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-0) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " = " + linStrings [ i ] . toString ( )
+ " ) ttt " ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " = ' " + linStrings [ i ] . toString ( )
+ " ' ) ttt " ;
}
/ *
* source + =
* " where rownum < 21 order by data_check_time_digital asc "
* ;
* /
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
if ( Constant . IS_MYSQL ) {
// source = source + " order by data_check_time_digital desc limit 20";
source = source + " order by data_check_time_digital desc " ;
} else {
// source += " where rownum < 21 order by data_check_time_digital desc";
source + = " order by data_check_time_digital desc " ;
}
} else {
source = " select * from ( select data_check_time_digital, " + specialColumn + " from "
+ checkTypeInfo . getTableName ( ) + " t where " + metadata . getFiledName ( )
+ " is not null "
// +" and t.data_check_time >=
// trunc(sysdate-30)"
+ " and t.Detection_Set_Info_Id = " + dsiId + " and t.seq_id = " + seqId + " " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-0) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " = " + linStrings [ i ] . toString ( ) ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " = ' " + linStrings [ i ] . toString ( ) + " ' " ;
}
// 判断是否有返回 如果有则加入查询条件 如果无 则不加
if ( null ! = cbStrings [ 1 ] & & ! cbStrings [ 1 ] . equals ( " " ) ) {
/ *
* source + =
* " and t.data_check_time >= to_date(' " +
* cbStrings [ 1 ] +
* " ','yyyy-mm-dd HH24:mi') order by data_check_time_digital desc) where rownum < 21 order by data_check_time_digital asc "
* ;
* /
source + = " and t.data_check_time >= to_date(' " + cbStrings [ 1 ]
+ " ','yyyy-mm-dd HH24:mi') ) ttt " ;
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
if ( Constant . IS_MYSQL ) {
// source = source + " order by data_check_time_digital desc limit 20";
source = source + " order by data_check_time_digital desc " ;
} else {
// source += " where rownum < 21 order by data_check_time_digital desc";
source + = " order by data_check_time_digital desc " ;
}
} else {
/ *
* source + =
* " order by data_check_time_digital desc) where rownum < 21 order by data_check_time_digital asc "
* ;
* /
source + = " ) ttt " ;
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
if ( Constant . IS_MYSQL ) {
// source = source + " order by data_check_time_digital desc limit 20";
source = source + " order by data_check_time_digital desc " ;
} else {
// source += " where rownum < 21 order by data_check_time_digital desc";
source + = " order by data_check_time_digital desc " ;
}
}
}
source = " select * from ( " + source + " ) tt order by data_check_time_digital " ;
System . out . println ( " ------NoFirstInSource--------sql: " + source ) ;
List lineSourceList = this . commonService . executeSQL ( source ) ;
// 展示数据封装处理
if ( specialFlag = = 1 ) { // 字节特殊数据 再次处理
objs = commonService . bitSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else if ( specialFlag = = 2 ) { // 包特殊数据 再次处理
objs = commonService . pktSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else { // 整理为数据格式
if ( lineSourceList . size ( ) > 0 ) {
for ( int j = 0 ; j < lineSourceList . size ( ) ; j + + ) {
Object [ ] row = ( Object [ ] ) lineSourceList . get ( j ) ;
Object [ ] tmp = new Object [ 2 ] ;
tmp [ 0 ] = ( ( BigDecimal ) row [ 0 ] ) . longValue ( ) ;
if ( row [ 1 ] instanceof BigDecimal ) {
tmp [ 1 ] = ( ( BigDecimal ) row [ 1 ] ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ;
} else {
tmp [ 1 ] = row [ 1 ] ;
}
dataPoint . add ( tmp ) ;
}
}
}
this . getRequest ( ) . setAttribute ( " lineStr " , linStrings [ i ] . toString ( ) ) ;
// 封装一条拆线
Map < String , Object > specialchart1 = new HashMap ( ) ;
specialchart1 . put ( " name " , linStrings [ i ] . toString ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.avg_n81i " ) ) ;
specialchart1 . put ( " data " , objs ! = null ? objs [ 0 ] : null ) ;
// 封装一条拆线
Map < String , Object > specialchart2 = new HashMap ( ) ;
specialchart2 . put ( " name " , getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.moment_n81i " ) ) ;
specialchart2 . put ( " data " , objs ! = null ? objs [ 1 ] : null ) ;
// 封装一条拆线
Map < String , Object > chart = new HashMap ( ) ;
// 封装一条折线--------------------------------------2013 1.23
chart . put ( " name " , linStrings [ i ] . toString ( ) ) ;
chart . put ( " data " , dataPoint ) ;
line . add ( specialchart1 ) ;
line . add ( specialchart2 ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
}
} else {
// 封装一条拆线
Map < String , Object > chart = new HashMap ( ) ;
// 得到数据表中所有该分类标识的值
String getAllSort = " select distinct " + sortFiledType [ 0 ] . toString ( ) + " from "
+ checkTypeInfo . getTableName ( ) + " where " + sortFiledType [ 0 ] . toString ( )
+ " is not null and seq_id= " + seqId + " and DETECTION_SET_INFO_ID= " + dsiId + " order by " + sortFiledType [ 0 ] . toString ( ) ;
dataList = this . commonService . executeSQL ( getAllSort ) ;
if ( dataList ! = null & & dataList . size ( ) > 0 ) {
String source = " select * from (select data_check_time_digital, " + specialColumn + " from "
+ checkTypeInfo . getTableName ( ) + " t where " + metadata . getFiledName ( ) + " is not null "
// + " and t.data_check_time >=
// trunc(sysdate-30)"
+ " and t.Detection_Set_Info_Id = " + dsiId + " and t.seq_id = " + seqId ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-0) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " = " + dataList . get ( 0 ) . toString ( )
+ " ) " ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " = ' " + dataList . get ( 0 ) . toString ( )
+ " ' ) " ;
}
/ *
* source + =
* " where rownum < 21 order by data_check_time_digital asc "
* ;
* /
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
if ( Constant . IS_MYSQL ) {
// source = source + " order by data_check_time_digital asc limit 20";
source = source + " order by data_check_time_digital asc " ;
} else {
// source += " where rownum < 21 order by data_check_time_digital asc";// 查询最近时间的21条数据
source + = " order by data_check_time_digital asc " ; // 查询最近时间的21条数据
}
source = " select * from ( " + source + " ) tt order by data_check_time_digital " ;
System . out . println ( " ------source--------sql: " + source ) ;
List lineSourceList = this . commonService . executeSQL ( source ) ;
// 展示数据封装处理
if ( specialFlag = = 1 ) { // 字节特殊数据 再次处理
objs = commonService . bitSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else if ( specialFlag = = 2 ) { // 包特殊数据 再次处理
objs = commonService . pktSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else { // 整理为数据格式
for ( int j = 0 ; j < lineSourceList . size ( ) ; j + + ) {
Object [ ] row = ( Object [ ] ) lineSourceList . get ( j ) ;
Object [ ] tmp = new Object [ 2 ] ;
tmp [ 0 ] = ( ( BigDecimal ) row [ 0 ] ) . longValue ( ) ;
if ( row [ 1 ] instanceof BigDecimal ) {
tmp [ 1 ] = ( ( BigDecimal ) row [ 1 ] ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ;
} else {
tmp [ 1 ] = row [ 1 ] ;
}
dataPoint . add ( tmp ) ;
}
}
this . getRequest ( ) . setAttribute ( " lineStr " , dataList . get ( 0 ) . toString ( ) ) ;
// 封装一条拆线
Map < String , Object > specialchart1 = new HashMap ( ) ;
specialchart1 . put ( " name " , dataList . get ( 0 ) . toString ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.avg_n81i " ) ) ;
specialchart1 . put ( " data " , objs ! = null ? objs [ 0 ] : null ) ;
// 封装一条拆线
Map < String , Object > specialchart2 = new HashMap ( ) ;
specialchart2 . put ( " name " , getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.moment_n81i " ) ) ;
specialchart2 . put ( " data " , objs ! = null ? objs [ 1 ] : null ) ;
// 封装一条折线--------------------------------------2013 1.23
chart . put ( " name " , dataList . get ( 0 ) . toString ( ) ) ;
chart . put ( " data " , dataPoint ) ;
line . add ( specialchart1 ) ;
line . add ( specialchart2 ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
} else {
// 封装一条折线--------------------------------------2013 1.23
chart . put ( " name " , " " ) ;
chart . put ( " data " , " " ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
}
}
returnList . add ( result ) ;
}
// for (int i = 0; i < dataList.size(); i++) {
// String source = "select to_char(data_check_time,'yyyy-mm-dd
// HH24:mi'),"
// + metadata.getFiledName()
// + " from "
// + checkTypeInfo.getTableName()
// + " t where "
// + metadata.getFiledName()
// + " is not null"
// +
// // " and t.data_check_time >=
// to_date(to_char((sysdate-4),'yyyy-mm-dd'),'yyyy-mm-dd hh24:mi')"+
// " and t.data_check_time >= trunc(sysdate-30)"
// + " and rownum <= 20"
// + " and t.detection_info_id in "
// + "(select d.id from detection_info d where
// d.detection_set_info_id="
// + dsiId + " and d.seq_id = " + seqId + ")";
//
// if (sortFiledType[1].toString().equals("NUMBER") ||
// sortFiledType[1].toString().equals("Number")) {
// source += " and " + sortFiledType[0] + " = "
// + dataList.get(i).toString()
// + " order by data_check_time desc";
// } else if (sortFiledType[1].toString().indexOf("VARCHAR2") != -1)
// {
// source += " and " + sortFiledType[0] + " = '"
// + dataList.get(i).toString()
// + "' order by data_check_time desc";
// } else {
//
// }
// System.out.println("------source--------sql:" + source);
// List lineSourceList = this.commonService.executeSQL(source);
//
// List<Object[]> data = new ArrayList<Object[]>();
//
// // 封装一条拆线
// Map<String, Object> chart = new HashMap();
//
// if (lineSourceList.size() > 0) {
// for (int j = 0; j < lineSourceList.size(); j++) {
// Object[] row = (Object[]) lineSourceList.get(j);
// Object[] tmp = new Object[2];
// tmp[0] = (sdf.parse((String) row[0])).getTime();
// if(row[1] instanceof BigDecimal) {
// tmp[1] = ((BigDecimal) row[1]).setScale(2,
// BigDecimal.ROUND_HALF_UP);
// }else {
// tmp[1] = row[1];
//
// }
// data.add(tmp);
// }
//
// }
// // 封装一条折线--------------------------------------2013 1.23
// chart.put("name", dataList.get(i).toString());
// chart.put("data", data);
// line.add(chart);
// result.put("lines", line);
// }
//
// returnList.add(result);
//
// }
this . getRequest ( ) . setAttribute ( " specialFlag " , specialFlag ) ; // 0
// 非特殊字段
// 1
// 特殊字段
String jsonStr = JSONArray . fromObject ( returnList ) . toString ( ) ;
System . out . println ( jsonStr ) ;
this . getResponse ( ) . setCharacterEncoding ( " utf-8 " ) ;
PrintWriter printWriter = this . getResponse ( ) . getWriter ( ) ;
printWriter . write ( jsonStr ) ;
printWriter . close ( ) ;
printWriter = null ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
if ( ! StringUtil . isBlank ( type ) & & type . equals ( " 1 " ) ) {
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=queryAbnormalSet'</script> " ) ;
} else {
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
}
return null ;
}
public static void main ( String [ ] args ) {
Date a = new Date ( 1381383780091l ) ;
System . out . println ( a ) ;
Date b = new Date ( 1381384080092l ) ;
System . out . println ( b ) ;
}
/ * *
* 逻辑 : 网元监测列表 , 只针对switchport监测 一个节点 + 一个监测类别 + 一个监测设置 + 一个字段 + 一个分类标识的多个值
* 1 . 根据当前字段 , 组织查询的内容 2 . 告警线 : 查询当前字段是否有告警值 , 如果有 , 且不为0 , 则画告警线 3 . 查询分类字段 ( 只有一个字段 ) : 端口名
*
* returnList : result1 ( 告警线 ) + result ( 数据线 )
*
* @author hyx Sep 23 , 2013
* /
public String getSwitchportSource ( ) {
String mId = this . getRequest ( ) . getParameter ( " metaId " ) ;
String dsiId = this . getRequest ( ) . getParameter ( " dId " ) ;
String ctId = this . getRequest ( ) . getParameter ( " cId " ) ;
String seqId = this . getRequest ( ) . getParameter ( " seqId " ) ;
String lines = this . getRequest ( ) . getParameter ( " lns " ) ; // 选中端口: 未选中端口时, 为undefined
if ( " undefined " . equalsIgnoreCase ( lines ) | | " null " . equalsIgnoreCase ( lines ) ) {
lines = " " ;
}
List < Map < String , Object > > returnList = new ArrayList < Map < String , Object > > ( ) ; // 最终返回的数据
try {
CheckTypeInfo checkTypeInfo = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
Long . parseLong ( ctId ) ) ; // 监测类别
DetectionSetInfo dsi = ( DetectionSetInfo ) this . commonService . get ( DetectionSetInfo . class ,
Long . parseLong ( dsiId ) ) ;
Metadata metadata = ( Metadata ) this . commonService . get ( Metadata . class , Long . parseLong ( mId ) ) ; // 展示的字段
List < NodeTable > nts = this . commonService . find ( " from NodeTable where seqId= " + Long . parseLong ( seqId ) ) ; // 当前节点
NodeTable nt = ( nts ! = null & & nts . size ( ) > 0 ) ? nts . get ( 0 ) : null ;
if ( checkTypeInfo ! = null & & dsi ! = null & & metadata ! = null & & nt ! = null ) {
// 根据当前展示曲线的字段,组织查询的内容
int specialFlag = 0 ; // 0 非特殊数据 1字节速度特殊数据 2包速度特殊数据
String specialColumn = " " ;
if ( StringUtils . isNotBlank ( metadata . getFiledName ( ) ) ) {
if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " inoctetsspeed " ) ) { // 输入速度
specialFlag = 1 ;
specialColumn = " Data_64_FLag,sum(decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024)) ifhighspeedbps,sum( "
+ metadata . getFiledName ( ) + " ),sum(ifInOctets) " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " outoctetsspeed " ) ) { // 输出速度
specialFlag = 1 ;
specialColumn = " Data_64_FLag,sum(decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024)) ifhighspeedbps,sum( "
+ metadata . getFiledName ( ) + " ),sum(ifOutOctets) " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " inpktsspeed " ) ) { // 收包速率
specialFlag = 2 ;
specialColumn = " Data_64_FLag,sum(decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024)) ifhighspeedbps,sum( "
+ metadata . getFiledName ( ) + " ),sum(ifInUcastPkts),sum(ifInNUcastPkts),sum(IFINOCTETS) " ;
} else if ( metadata . getFiledName ( ) . toLowerCase ( ) . equals ( " outpktsspeed " ) ) { // 发包速率
specialFlag = 2 ;
specialColumn = " Data_64_FLag,sum(decode(Ifhighspeed,null,ifspeed,0,ifspeed,ifhighspeed*1024*1024)) ifhighspeedbps,sum( "
+ metadata . getFiledName ( )
+ " ),sum(ifOutUcastPkts),sum(ifOutNUcastPkts),sum(IFOUTOCTETS) " ;
} else {
specialFlag = 0 ;
specialColumn = " sum( " + metadata . getFiledName ( ) + " ) " ;
}
}
// 预警线 public
// part---------------------------begin--------------------
String policeValSQL = " select police_value from data_police_relation where detection_set_info_id= "
+ dsiId + " and metadata_id= " + metadata . getId ( ) ;
List policeValue = this . commonService . executeSQL ( policeValSQL ) ;
Map < String , Object > result1 = new HashMap ( ) ; // 预警线数据
if ( policeValue ! = null & & policeValue . size ( ) > 0 ) {
int policeVal = Integer . parseInt ( policeValue . get ( 0 ) . toString ( ) ) ;
result1 . put ( " policeVal " , policeVal ) ; // 之前为什么预警值为0的时候不画线? 如果设置的值就是0呢?
}
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
if ( nt ! = null ) {
result1 . put ( " xtitle " , nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " "
+ checkTypeInfo . getCheckTypeName1 ( ) + " : " + metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result1 . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName1 ( ) + " : "
+ metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result1 . put ( " ytitle " , metadata . getFiledComments ( ) ) ;
} else {
if ( nt ! = null ) {
result1 . put ( " xtitle " ,
nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName ( )
+ " : " + metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result1 . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName ( ) + " : "
+ metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result1 . put ( " ytitle " , metadata . getFiledName ( ) . replace ( " _ " , " " ) ) ;
}
returnList . add ( result1 ) ;
// 预警线 public
// part---------------------------end----------------------
// 得到分类标识字段
String sort_sign = " select t.filed_name,t.filed_type from metadata t where t.check_type_id = " + ctId
+ " and t.sort_sign =0 " ;
List sortList = this . commonService . executeSQL ( sort_sign ) ;
Object [ ] objs = null ;
List < Object [ ] > dataPoint = new ArrayList < Object [ ] > ( ) ;
if ( sortList ! = null & & sortList . size ( ) > 0 ) {
Object [ ] sortFiledType = ( Object [ ] ) sortList . get ( 0 ) ;
Map < String , Object > result = new HashMap ( ) ;
List < Map < String , Object > > line = new ArrayList < Map < String , Object > > ( ) ;
// 选择checkBox画图
if ( lines ! = null & & ! lines . equals ( " " ) ) {
if ( lines . endsWith ( " , " ) ) {
lines = lines . substring ( 0 , lines . length ( ) - 1 ) ;
}
String [ ] linStrings = lines . split ( " , " ) ;
// 其实就是为了统一多条曲线时,曲线的起始时间点:先找到监测时间最新的端口, 再找到这个端口的一天内的21条数据内的最小时间, 其它端口的起始时间取自于这个最小时间
String [ ] cbStrings = checkLins ( metadata , checkTypeInfo , sortFiledType , dsiId , seqId , lines ) ; // 选中端口的最新的监测时间的端口的,最远的监测时间
String linesLink = linkToString ( linStrings , " , " , " ' " ) ; // lines要在checkLins方法后再做加单引号的处理, 因为checkLins方法里单个处理了
// for (int i = 0; i < linStrings.length; i++) {
String source = " " ;
source = " select * from ( select data_check_time_digital , " + specialColumn + " from "
+ checkTypeInfo . getTableName ( ) + " t where " + metadata . getFiledName ( ) + " is not null "
+ " and t.detection_set_info_id= " + dsiId + " and t.seq_id = " + seqId + " " ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-1) " ;
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " in( " + linesLink + " ) " ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " in ( " + linesLink + " ) " ;
}
// -------------------
// 判断是否有返回 如果有则加入查询条件 如果无 则不加;其实就是为了统一多条曲线时,曲线的起始时间点
if ( null ! = cbStrings [ 1 ] & & ! cbStrings [ 1 ] . equals ( " " ) ) {
source + = " and t.data_check_time >= to_date(' " + cbStrings [ 1 ] + " ','yyyy-mm-dd HH24:mi') " ;
}
if ( specialFlag = = 1 | | specialFlag = = 2 ) {
source + = " group by t.data_check_time_digital,t.data_64_flag " ;
} else if ( specialFlag = = 0 ) {
source + = " group by t.data_check_time_digital " ;
}
/ *
* source + =
* " order by data_check_time_digital desc) where rownum < 21 order by data_check_time_digital asc "
* ;
* /
source + = " order by data_check_time_digital desc) tttt " ;
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
if ( Constant . IS_MYSQL ) {
source = source + " order by data_check_time_digital asc limit 20 " ;
} else {
source + = " where rownum < 21 order by data_check_time_digital asc " ; // 查询最近时间的21条数据
}
System . out . println ( " ------NoFirstInSource--------sql: " + source ) ;
List lineSourceList = this . commonService . executeSQL ( source ) ;
// 展示数据封装处理
if ( specialFlag = = 1 ) { // 字节特殊数据 再次处理
objs = commonService . bitSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else if ( specialFlag = = 2 ) { // 包特殊数据 再次处理
objs = commonService . pktSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else { // 整理为数据格式
if ( lineSourceList . size ( ) > 0 ) {
for ( int j = 0 ; j < lineSourceList . size ( ) ; j + + ) {
Object [ ] row = ( Object [ ] ) lineSourceList . get ( j ) ;
Object [ ] tmp = new Object [ 2 ] ;
tmp [ 0 ] = ( ( BigDecimal ) row [ 0 ] ) . longValue ( ) ;
if ( row [ 1 ] instanceof BigDecimal ) {
tmp [ 1 ] = ( ( BigDecimal ) row [ 1 ] ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ;
} else {
tmp [ 1 ] = row [ 1 ] ;
}
dataPoint . add ( tmp ) ;
}
}
}
this . getRequest ( ) . setAttribute ( " lineStr " , lines ) ;
// 封装一条拆线
Map < String , Object > specialchart1 = new HashMap ( ) ;
if ( lines . length ( ) > 80 ) {
lines = lines . substring ( 0 , lines . indexOf ( " , " , 50 ) ) + " ... " ;
}
String avgStr = " " ;
String pointStr = " " ;
String charStr = " " ;
if ( lines . contains ( " , " ) ) { // 多个端口
avgStr = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.avgStr_n81i " ) ;
pointStr = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.pointStr_n81i " ) ;
charStr = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.charStr_n81i " ) ;
} else {
avgStr = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.avg_n81i " ) ;
pointStr = getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.moment_n81i " ) ;
}
specialchart1 . put ( " name " , lines + avgStr ) ;
specialchart1 . put ( " data " , objs ! = null ? objs [ 0 ] : null ) ;
// 封装一条拆线
Map < String , Object > specialchart2 = new HashMap ( ) ;
specialchart2 . put ( " name " , pointStr ) ;
specialchart2 . put ( " data " , objs ! = null ? objs [ 1 ] : null ) ;
// 封装一条拆线
Map < String , Object > chart = new HashMap ( ) ;
// 封装一条折线--------------------------------------2013 1.23
chart . put ( " name " , lines + charStr ) ;
chart . put ( " data " , dataPoint ) ;
line . add ( specialchart1 ) ;
line . add ( specialchart2 ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
// }
} else { // 界面未选择多选框时,默认取第一个端口的曲线图
// 封装一条拆线
Map < String , Object > chart = new HashMap ( ) ;
// 得到数据表中所有该分类标识的值:对于交换机端口监测,即所有的端口名称
String getAllSort = " select distinct " + sortFiledType [ 0 ] . toString ( ) + " from "
+ checkTypeInfo . getTableName ( ) + " where " + sortFiledType [ 0 ] . toString ( )
+ " is not null and seq_id= " + seqId + " and DETECTION_SET_INFO_ID= " + dsiId + " order by " + sortFiledType [ 0 ] . toString ( ) ;
dataList = this . commonService . executeSQL ( getAllSort ) ;
if ( dataList ! = null & & dataList . size ( ) > 0 ) {
String source = " select * from (select data_check_time_digital, " + specialColumn + " from "
+ checkTypeInfo . getTableName ( ) + " t where " + metadata . getFiledName ( )
+ " is not null " + " and t.Detection_Set_Info_Id = " + dsiId + " and t.seq_id = "
+ seqId ;
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
source + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
source + = " and t.data_check_time >= trunc(sysdate-1) " ; // 默认查询一天的数据
}
if ( sortFiledType [ 1 ] . toString ( ) . equals ( " NUMBER " )
| | sortFiledType [ 1 ] . toString ( ) . equals ( " Number " ) ) {
source + = " and " + sortFiledType [ 0 ] + " = " + dataList . get ( 0 ) . toString ( ) ;
} else if ( sortFiledType [ 1 ] . toString ( ) . indexOf ( " VARCHAR2 " ) ! = - 1 ) {
source + = " and " + sortFiledType [ 0 ] + " = ' " + dataList . get ( 0 ) . toString ( ) + " ' " ;
}
if ( specialFlag = = 1 | | specialFlag = = 2 ) {
source + = " group by t.data_check_time_digital,t.data_64_flag " ;
} else if ( specialFlag = = 0 ) {
source + = " group by t.data_check_time_digital " ;
}
source + = " order by data_check_time_digital desc) " ;
/ *
* source + =
* " where rownum < 21 order by data_check_time_digital asc "
* ; //查询最近时间的21条数据
* /
// @2018年4月10日18:45:00 fang 修改rownum 适配 mysql
if ( Constant . IS_MYSQL ) {
source = source + " order by data_check_time_digital asc limit 20 " ;
} else {
source + = " where rownum < 21 order by data_check_time_digital asc " ; // 查询最近时间的21条数据
}
System . out . println ( " ------source--------sql: " + source ) ;
List lineSourceList = this . commonService . executeSQL ( source ) ;
// 展示数据封装处理
if ( specialFlag = = 1 ) { // 字节特殊数据 再次处理
objs = commonService . bitSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else if ( specialFlag = = 2 ) { // 包特殊数据 再次处理
objs = commonService . pktSpeedSourceList ( lineSourceList , dsi . getCheckGap ( ) * 60 * 1000 ) ;
} else { // 整理为数据格式
for ( int j = 0 ; j < lineSourceList . size ( ) ; j + + ) {
Object [ ] row = ( Object [ ] ) lineSourceList . get ( j ) ;
Object [ ] tmp = new Object [ 2 ] ;
tmp [ 0 ] = ( ( BigDecimal ) row [ 0 ] ) . longValue ( ) ;
if ( row [ 1 ] instanceof BigDecimal ) {
tmp [ 1 ] = ( ( BigDecimal ) row [ 1 ] ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ;
} else {
tmp [ 1 ] = row [ 1 ] ;
}
dataPoint . add ( tmp ) ;
}
}
this . getRequest ( ) . setAttribute ( " lineStr " , dataList . get ( 0 ) . toString ( ) ) ;
// 封装一条拆线
Map < String , Object > specialchart1 = new HashMap ( ) ;
specialchart1 . put ( " name " , dataList . get ( 0 ) . toString ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.avg_n81i " ) ) ;
specialchart1 . put ( " data " , objs ! = null ? objs [ 0 ] : null ) ;
// 封装一条拆线
Map < String , Object > specialchart2 = new HashMap ( ) ;
specialchart2 . put ( " name " , getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.moment_n81i " ) ) ;
specialchart2 . put ( " data " , objs ! = null ? objs [ 1 ] : null ) ;
// 封装一条折线--------------------------------------2013
// 1.23
chart . put ( " name " , dataList . get ( 0 ) . toString ( ) ) ;
chart . put ( " data " , dataPoint ) ;
line . add ( specialchart1 ) ;
line . add ( specialchart2 ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
} else {
// 封装一条折线--------------------------------------2013
// 1.23
chart . put ( " name " , " " ) ;
chart . put ( " data " , " " ) ;
line . add ( chart ) ;
result . put ( " lines " , line ) ;
}
}
returnList . add ( result ) ;
}
this . getRequest ( ) . setAttribute ( " specialFlag " , specialFlag ) ; // 0
// 非特殊字段,
// 1
// 特殊字段
}
String jsonStr = JSONArray . fromObject ( returnList ) . toString ( ) ;
System . out . println ( jsonStr ) ;
this . getResponse ( ) . setCharacterEncoding ( " utf-8 " ) ;
PrintWriter printWriter = this . getResponse ( ) . getWriter ( ) ;
printWriter . write ( jsonStr ) ;
printWriter . close ( ) ;
printWriter = null ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) , e ) ;
}
return null ;
}
/ * *
* 将map中的key所对应的值用linkSymbol拼接 , 并在每个值的两边加mark , 如 'a' , 'd' , 'v'
*
* @param strGroup
* @param linkSymbol
* @param mark : 添加到每一个值两边的 , 如单引号
* @return
* /
private String linkToString ( String [ ] strGroup , String linkSymbol , String mark ) {
StringBuffer str = new StringBuffer ( ) ;
String linkedStr = " " ;
for ( String strTmp : strGroup ) {
if ( StringUtils . isNotBlank ( strTmp ) ) {
str . append ( mark ) . append ( strTmp ) . append ( mark ) . append ( linkSymbol ) ;
}
}
if ( str . toString ( ) . contains ( linkSymbol ) ) {
linkedStr = str . substring ( 0 , str . length ( ) - linkSymbol . length ( ) ) ;
}
System . out . println ( " 连接后的字符串: " + linkedStr ) ;
return linkedStr ;
}
public String getSource ( ) {
String mId = this . getRequest ( ) . getParameter ( " metaId " ) ;
String dsiId = this . getRequest ( ) . getParameter ( " dId " ) ;
String ctId = this . getRequest ( ) . getParameter ( " cId " ) ;
String seqId = this . getRequest ( ) . getParameter ( " seqId " ) ;
// System.out.println("mId:" + mId);
// System.out.println("dsiId:" + dsiId);
// System.out.println("ctId:" + ctId);
// System.out.println("seqId:" + seqId);
List sourceList = null ;
String driwSQL = " " ;
String policeValSQL = " " ;
SimpleDateFormat sdf = new SimpleDateFormat ( " yyyy-MM-dd HH:mm " ) ;
List < Map < String , Object > > returnList = new ArrayList < Map < String , Object > > ( ) ;
NodeTable nt = null ;
try {
CheckTypeInfo checkTypeInfo = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
Long . parseLong ( ctId ) ) ;
Metadata metadata = ( Metadata ) this . commonService . get ( Metadata . class , Long . parseLong ( mId ) ) ;
List < NodeTable > nts = this . commonService . find ( " from NodeTable where seqId= " + Long . parseLong ( seqId ) ) ;
if ( nts ! = null & & nts . size ( ) > 0 ) {
nt = nts . get ( 0 ) ;
}
DetectionSetInfo dsi = ( DetectionSetInfo ) this . commonService . get ( DetectionSetInfo . class ,
Long . parseLong ( dsiId ) ) ;
Map < String , Object > result = new HashMap ( ) ;
List < Object [ ] > data = new ArrayList < Object [ ] > ( ) ;
List < Map < String , Object > > line = new ArrayList < Map < String , Object > > ( ) ;
// 封装一条拆线
Map < String , Object > chart = new HashMap ( ) ;
List policeValue = null ;
// 预警值
int policeVal = 0 ;
driwSQL = " select to_char(data_check_time,'yyyy-mm-dd HH24:mi') ctime, " + metadata . getFiledName ( ) + " from "
+ metadata . getTableName ( ) + " t where " + metadata . getFiledName ( ) + " is not null "
// " and t.data_check_time >=
// to_date(to_char((sysdate-4),'yyyy-mm-dd'),'yyyy-mm-dd
// hh24:mi')"+
// + " and t.data_check_time >= trunc(sysdate-30)"
+ " and t.detection_info_id in "
+ " (select d.id from detection_info d where d.detection_set_info_id= " + dsiId + " and d.seq_id = "
+ seqId + " ) " ;
// + " order by data_check_time";
if ( null ! = startTime & & ! startTime . equals ( " " ) & & null ! = endTime & & ! endTime . equals ( " " ) ) {
driwSQL + = " and to_char(data_check_time,'yyyy-mm-dd')>= ' " + startTime
+ " ' and to_char(data_check_time,'yyyy-mm-dd')<=' " + endTime + " ' " ;
} else {
driwSQL + = " and t.data_check_time >= trunc(sysdate-1) " ;
}
driwSQL + = " order by data_check_time " ;
// System.out.println("driwSQL:" + driwSQL);
sourceList = this . commonService . executeSQL ( driwSQL ) ;
/* 2013-03-04 绘制展示图增加图断点判断 Edit by zg begin */
long gapTime = dsi . getCheckGap ( ) ; // 单位: 分钟
gapTime = gapTime * 60 * 1000 ; // 分钟 变毫秒
long pointTime = 0 ;
/* 2013-03-04 绘制展示图增加图断点判断 Edit by zg end */
if ( sourceList . size ( ) > 0 ) {
for ( int i = 0 ; i < sourceList . size ( ) ; i + + ) {
Object [ ] row = ( Object [ ] ) sourceList . get ( i ) ;
Object [ ] tmp = new Object [ 2 ] ;
/* 2013-03-04 绘制展示图增加图断点判断 Edit by zg begin */
long rowTime = ( sdf . parse ( ( String ) row [ 0 ] ) ) . getTime ( ) ;
if ( pointTime = = 0 ) {
pointTime = rowTime ;
}
if ( pointTime + gapTime * 2 < rowTime ) { // 即上一时间点数据到当前时间点数据时间间隔超过两个周期
// 增加断
Object [ ] tmp0 = new Object [ ] { pointTime + gapTime * 2 , null } ;
data . add ( tmp0 ) ;
}
pointTime = rowTime ;
tmp [ 0 ] = rowTime ;
// tmp[0] = (sdf.parse((String) row[0])).getTime();
/* 2013-03-04 绘制展示图增加图断点判断 Edit by zg end */
// tmp[1] = ((BigDecimal) row[1]).intValue();
if ( row [ 1 ] instanceof BigDecimal ) {
tmp [ 1 ] = ( ( BigDecimal ) row [ 1 ] ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) ;
} else {
tmp [ 1 ] = row [ 1 ] ;
}
data . add ( tmp ) ;
}
// 封装一条折线
chart . put ( " name " , metadata . getFiledComments ( ) ) ;
chart . put ( " data " , data ) ;
line . add ( chart ) ;
// 预警线
policeValSQL = " select police_value from data_police_relation where detection_set_info_id= " + dsiId
+ " and metadata_id= " + metadata . getId ( ) ;
policeValue = this . commonService . executeSQL ( policeValSQL ) ;
if ( policeValue ! = null & & policeValue . size ( ) > 0 ) {
// policeVal=((BigDecimal)policeValue.get(0)).intValue();
policeVal = Integer . parseInt ( policeValue . get ( 0 ) . toString ( ) ) ;
}
// 如果预警值不等于0则画预警线
if ( policeVal ! = 0 ) {
result . put ( " policeVal " , policeVal ) ;
}
result . put ( " lines " , line ) ;
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
if ( nt ! = null ) {
result . put ( " xtitle " , nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " "
+ checkTypeInfo . getCheckTypeName1 ( ) + " : " + metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName1 ( ) + " : "
+ metadata . getFiledComments ( ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result . put ( " ytitle " , metadata . getFiledComments ( ) ) ;
} else {
if ( nt ! = null ) {
result . put ( " xtitle " ,
nt . getNodeIp ( ) + " _ " + dsi . getProcessIdenName ( ) + " "
+ checkTypeInfo . getCheckTypeName1 ( ) + " : "
+ metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
} else {
result . put ( " xtitle " , dsi . getProcessIdenName ( ) + " " + checkTypeInfo . getCheckTypeName1 ( ) + " : "
+ metadata . getFiledName ( ) . replace ( " _ " , " " ) + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.cartogram_n81i " ) ) ;
}
result . put ( " ytitle " , metadata . getFiledName ( ) . replace ( " _ " , " " ) ) ;
}
returnList . add ( result ) ;
String jsonStr = JSONArray . fromObject ( returnList ) . toString ( ) ;
// System.out.println(jsonStr);
this . getResponse ( ) . setCharacterEncoding ( " utf-8 " ) ;
PrintWriter printWriter = this . getResponse ( ) . getWriter ( ) ;
printWriter . write ( jsonStr ) ;
printWriter . close ( ) ;
printWriter = null ;
}
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
if ( ! StringUtil . isBlank ( type ) & & type . equals ( " 1 " ) ) {
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=queryAbnormalSet'</script> " ) ;
} else {
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
}
return null ;
}
public String getSnmpLineSource ( ) {
metaId = this . getRequest ( ) . getParameter ( " metaId " ) ;
dsiId = this . getRequest ( ) . getParameter ( " dId " ) ;
ctId = this . getRequest ( ) . getParameter ( " cId " ) ;
sqId = this . getRequest ( ) . getParameter ( " seqId " ) ;
drIndex = this . getRequest ( ) . getParameter ( " drIndex " ) ;
try {
CheckTypeInfo checkTypeInfo = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
Long . parseLong ( ctId ) ) ;
// 得到分类标识字段
String sort_sign = " select t.filed_name,t.filed_type from metadata t where t.check_type_id = " + ctId
+ " and t.sort_sign =0 " ;
List sortList = this . commonService . executeSQL ( sort_sign ) ;
if ( sortList ! = null & & sortList . size ( ) > 0 ) {
Object [ ] sortFiledType = ( Object [ ] ) sortList . get ( 0 ) ;
// 得到数据表中所有该分类标识的值
String getAllSort = " select distinct " + sortFiledType [ 0 ] . toString ( ) + " from "
+ checkTypeInfo . getTableName ( ) + " where " + sortFiledType [ 0 ] . toString ( ) + " is not null " ;
// List sortValues = this.commonService.executeSQL(getAllSort);
dataList = this . commonService . executeSQL ( getAllSort ) ;
// for (int i = 0; i < dataList.size(); i++) {
// Object[] obj = new
// Object[]{dataList.get(i).toString(),dataList.get(i).toString()};
// dataList.set(i, obj);
// }
// String jsonStr = JSONArray.fromObject(sortValues).toString();
// System.out.println(jsonStr);
// this.getResponse().setCharacterEncoding("utf-8");
// PrintWriter printWriter = this.getResponse().getWriter();
// printWriter.write(jsonStr);
// printWriter.close();
// printWriter = null;
}
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
return " select_plug " ;
}
public String detailMonitorDataInfo ( ) {
String findFiledSql = " " ;
String filedComm = " " ;
List mapList = new ArrayList ( ) ;
String ctId = this . getRequest ( ) . getParameter ( " cId " ) ; // 监测类别Id
try {
if ( ids ! = null & & ids . length > 0 ) {
// 根据id获得最新监控数据
List list = this . commonService . find ( " from DetectionInfoNew where id=? " , ids [ 0 ] ) ;
if ( list ! = null & & list . size ( ) > 0 ) {
detectionInfoNew = ( DetectionInfoNew ) list . get ( 0 ) ;
}
String tempDSInfo = truncateInfo ( detectionInfoNew . getDetectionStateInfo ( ) ) ;
detectionInfoNew . setDetectionStateInfo ( tempDSInfo ) ;
String tempPD = truncateInfo ( detectionInfoNew . getPerformaceData ( ) ) ;
detectionInfoNew . setPerformaceData ( tempPD ) ;
// 根据seq_id获得节点详细信息
Long seqIdLong = detectionInfoNew . getSeqId ( ) ;
String ipSql = " select distinct nt.node_ip from node_table nt where nt.seq_id = " + seqIdLong ;
List ipList = this . commonService . executeSQL ( ipSql ) ;
if ( ipList ! = null & & ipList . size ( ) > 0 ) {
nodeIp = ipList . get ( 0 ) . toString ( ) ;
}
List not = this . commonService . findByProperty ( NodeTable . class , " seqId " , seqIdLong ) ;
if ( not ! = null & & not . size ( ) > 0 ) {
nodeTable = ( NodeTable ) not . get ( 0 ) ;
}
// 根据监测类别,获得当前类别的独有的监测项
CheckTypeInfo cti = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
detectionInfoNew . getDetectionSetInfo ( ) . getCheckTypeInfo ( ) . getId ( ) ) ;
List < Metadata > mList = this . commonService . find ( " from Metadata where checkTypeInfo.id=? and state =0 " ,
cti . getId ( ) ) ;
String sql = " " ;
Map < String , MetadataDictionaryVO > mapDictionaryMap = new HashMap < String , MetadataDictionaryVO > ( ) ;
if ( mList ! = null & & mList . size ( ) > 0 ) {
for ( int j = 0 ; j < mList . size ( ) ; j + + ) {
Metadata metadata = ( Metadata ) mList . get ( j ) ;
if ( metadata . getTypeId ( ) ! = null ) {
sql = " select * from option_table t where t.TYPE_IDENTITY = (select mt.type_id from metadata mt where mt.id= "
+ metadata . getId ( ) + " ) " ;
List < OptionTable > optionList = this . commonService . executeSQL ( sql , OptionTable . class ) ;
MetadataDictionaryVO mdv = new MetadataDictionaryVO ( ) ;
mdv . setListOT ( optionList ) ;
mdv . setmId ( metadata . getId ( ) ) ;
mdv . setFiledComments ( metadata . getFiledComments ( ) ) ;
mapDictionaryMap . put ( metadata . getFiledComments ( ) , mdv ) ;
}
if ( j ! = mList . size ( ) - 1 ) {
findFiledSql + = metadata . getFiledName ( ) + " , " ;
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
filedComm + = metadata . getFiledComments ( ) + " , " ;
} else {
filedComm + = metadata . getFiledName ( ) + " , " ;
}
} else {
findFiledSql + = metadata . getFiledName ( ) ;
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
filedComm + = metadata . getFiledComments ( ) ;
} else {
filedComm + = metadata . getFiledName ( ) ;
}
}
}
if ( StringUtils . isNotBlank ( findFiledSql ) ) {
Metadata md = new Metadata ( ) ;
md . setFiledComments ( getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.state_n81i " ) ) ;
mList . add ( md ) ;
findFiledSql + = " ,decode(detectioned_state,1,' " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) + " ',0,' " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) + " ',-1,' " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.doFaild_n81i " ) + " ','') detectioned_state " ;
}
if ( StringUtils . isNotBlank ( filedComm ) ) {
filedComm + = " , " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.state_n81i " ) ;
}
}
// --------2013-4-12 hyx------start
// 由于每个详细监测信息表添加了ID字段, 且一个detection_info_id对应多条记录, 所以可以直接从detection_info_new表获取detection_info表对应的id, 修改如下
// 获得监测类别、监测对象唯一标识、监测数据获取时间
// Long detectionSetInfoId = detectionInfoNew
// .getDetectionSetInfo().getId();
// Long seqId = detectionInfoNew.getSeqId();
// Date checkTime = detectionInfoNew.getDatacheckTime();
// String checkTimeStr = new SimpleDateFormat(
// "yyyy-MM-dd HH:mm:ss").format(checkTime);// 日期转换为字符串
// 根据获得的监测类别、监测对象唯一标识、监测数据获取时间, 在detection_info表中找出所有记录( 可能为一条或多条) 的id---sql语句
// String detectionInfoIds = "select ID from DETECTION_INFO
// where
// DETECTION_SET_INFO_ID="
// + detectionSetInfoId
// + " and SEQ_ID="
// + seqId
// + " and DATA_CHECK_TIME=to_date('"
// + checkTimeStr
// + "','yyyy-MM-dd HH24:mi:ss')";
Long detectionInfoId = detectionInfoNew . getDetectionInfoId ( ) ;
String detectionInfoIds = detectionInfoId = = null ? " " : detectionInfoId . toString ( ) ;
// --------2013-4-12 hyx------end
// 从当前监测类别对应的表中取出自己独有的信息
String tableName = cti . getTableName ( ) ;
// 判断数据表是否存在
/ *
* String sql2 =
* " SELECT COUNT(*) from user_tables where table_name = ' " +
* tableName . trim ( ) . toUpperCase ( ) + " ' " ; List list2 =
* this . commonService . executeSQL ( sql2 ) ; int num2 =
* Integer . parseInt ( list2 . get ( 0 ) . toString ( ) ) ;
* /
// @2018-3-8 11:22:10 mysql适配
int num2 = this . commonService . isTableExist ( tableName ) ;
if ( num2 = = 0 ) {
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.noTable_n81i');this.location='monitorData.do?action=query'</script> " ) ;
return null ;
}
String serchSql = " select " + findFiledSql + " from " + tableName + " t where t.detection_info_id in ( "
+ detectionInfoIds + " ) order by t.detection_info_id desc " ;
// List listInfo=this.commonService.executeSQL(serchSql);
System . out . println ( serchSql ) ;
/ *
* pageSub = this . commonService . findByPageForSql ( serchSql ,
* pageNoSub , pageSizeSub , null ) ;
* /
List listInfo = this . commonService . executeSQL ( serchSql ) ;
String [ ] filedCommArr = filedComm . split ( " , " ) ;
// this.getRequest().setAttribute("titleList", filedCommArr);
this . getRequest ( ) . setAttribute ( " titleList " , mList ) ;
if ( listInfo ! = null & & listInfo . size ( ) > 0 ) {
for ( int i = 0 ; i < listInfo . size ( ) ; i + + ) {
Object [ ] resu = ( Object [ ] ) listInfo . get ( i ) ;
if ( resu ! = null & & filedCommArr ! = null & & resu . length > = filedCommArr . length ) {
Map mapTemp = new LinkedHashMap ( ) ;
for ( int k = 0 ; k < filedCommArr . length ; k + + ) {
mapTemp . put ( filedCommArr [ k ] , resu [ k ] ) ;
}
// for (int k = 0; k < mList.size(); k++) {
// if(mapDictionaryMap.containsKey(mList.get(k).getId())){//如果包含meta
// List<OptionTable> lOp =
// mapDictionaryMap.get(mList.get(k).getId()).getListOT();
// for(int o =0;o<lOp.size();o++){
// if(lOp.get(o).getTypeCode().equals(resu[k])){//如果typeCode等于resu[k],则将resu[k]变成typeValue
// resu[k]= lOp.get(o).getTypeValue();
// }else{
// continue;
// }
// }
// }
// mapTemp.put(filedCommArr[k], resu[k]);
// }
mapList . add ( mapTemp ) ;
}
}
}
// 将取出的监测信息和告警值进行比较,看是否为告警信息
List policeList = this . commonService . find ( " from DataPoliceRelation where detectionSetInfo.id=? " ,
detectionInfoNew . getDetectionSetInfo ( ) . getId ( ) ) ;
if ( policeList ! = null & & policeList . size ( ) > 0 ) {
for ( int j = 0 ; j < policeList . size ( ) ; j + + ) {
DataPoliceRelation dpr = ( DataPoliceRelation ) policeList . get ( j ) ;
String keyString = " " ;
if ( dpr . getMetadata ( ) . getFiledComments ( ) ! = null
& & ! " " . equals ( dpr . getMetadata ( ) . getFiledComments ( ) ) ) {
keyString = dpr . getMetadata ( ) . getFiledComments ( ) . toUpperCase ( ) ;
} else {
keyString = dpr . getMetadata ( ) . getFiledName ( ) . toUpperCase ( ) ;
}
String filedType = dpr . getMetadata ( ) . getFiledType ( ) ;
if ( filedType = = null | | ! " NUMBER " . equalsIgnoreCase ( filedType ) | | keyString = = null ) {
continue ;
}
for ( int k = 0 ; k < mapList . size ( ) ; k + + ) {
Map map = ( LinkedHashMap ) mapList . get ( k ) ;
if ( map . containsKey ( keyString ) ) {
Float num = new Float ( 0 . 0 ) ;
try {
Object key = map . get ( keyString ) ;
String value = dpr . getPoliceValue ( ) ;
//System.out.println(key+" -- > " + value);
num = Float . parseFloat ( key . toString ( ) ) - Float . parseFloat ( value ) ;
} catch ( Exception e ) {
logger . error ( " " , e ) ;
}
if ( num > 0 ) {
map . put ( keyString , map . get ( keyString )
+ "     <font color='#FF0000'>i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.outWarning_n81i " + num + " </font> " ) ;
}
}
mapList . set ( k , map ) ; // ?????????????
}
}
}
this . getRequest ( ) . setAttribute ( " checkId " , ctId ) ;
this . getRequest ( ) . setAttribute ( " infoMapList " , mapList ) ;
this . getRequest ( ) . setAttribute ( " dictionMap " , mapDictionaryMap ) ;
// 判断监测类别是否为系统基础信息
if ( ctId . equals ( " 0 " ) ) {
String didString = detectionInfoNew . getDetectionInfoId ( ) . toString ( ) ;
DiSysteminfo dsinfo = commonService . findSysteminfo ( didString ) ;
List < DiSysteminfoDisk > dsiDiskList = commonService . findSysteminfoDisk ( didString ) ;
List < DiSysteminfoNet > dsiNetList = commonService . findSysteminfoNet ( didString ) ;
this . getRequest ( ) . setAttribute ( " dsinfo " , dsinfo ) ;
this . getRequest ( ) . setAttribute ( " dsiDiskList " , dsiDiskList ) ;
this . getRequest ( ) . setAttribute ( " dsiNetList " , dsiNetList ) ;
}
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
logger . error ( e . getStackTrace ( ) ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
return " detailMonitorDataInfo " ;
}
private String truncateInfo ( String truncateStr ) {
if ( ! StringUtil . isBlank ( truncateStr ) ) {
int i18nIndex = truncateStr . lastIndexOf ( " i18n " ) ;
int n81iIndex = truncateStr . lastIndexOf ( " n81i " ) ;
if ( n81iIndex < i18nIndex ) {
return truncateStr . substring ( 0 , i18nIndex ) ;
}
}
return truncateStr ;
}
/ * *
*
* 检测设置历史记录的详细信息
*
* @author jinshujuan Jun 18 , 2013
* @version 1 . 0
* @return
* /
private String detailWarning ( ) {
String findFiledSql = " " ;
String filedComm = " " ;
List mapList = new ArrayList ( ) ;
String ctId = this . getRequest ( ) . getParameter ( " cId " ) ; // 监测类别Id
try {
if ( ids ! = null & & ids . length > 0 ) {
// 根据id获得最新监控数据
List list = this . commonService . find ( " from DetectionInfoWarning where id=? " , ids [ 0 ] ) ;
if ( list ! = null & & list . size ( ) > 0 ) {
detectionInfoWarning = ( DetectionInfoWarning ) list . get ( 0 ) ;
}
// 根据seq_id获得节点详细信息
Long seqIdLong = detectionInfoWarning . getSeqId ( ) ;
String ipSql = " select distinct nt.node_ip from node_table nt where nt.seq_id = " + seqIdLong ;
List ipList = this . commonService . executeSQL ( ipSql ) ;
if ( ipList ! = null & & ipList . size ( ) > 0 ) {
nodeIp = ipList . get ( 0 ) . toString ( ) ;
}
List not = this . commonService . findByProperty ( NodeTable . class , " seqId " , seqIdLong ) ;
if ( not ! = null & & not . size ( ) > 0 ) {
nodeTable = ( NodeTable ) not . get ( 0 ) ;
}
// 根据监测类别,获得当前类别的独有的监测项
CheckTypeInfo cti = ( CheckTypeInfo ) this . commonService . get ( CheckTypeInfo . class ,
detectionInfoWarning . getDetectionSetInfo ( ) . getCheckTypeInfo ( ) . getId ( ) ) ;
List < Metadata > mList = this . commonService . find ( " from Metadata where checkTypeInfo.id=? and state =0 " ,
cti . getId ( ) ) ;
String sql = " " ;
Map < String , MetadataDictionaryVO > mapDictionaryMap = new HashMap < String , MetadataDictionaryVO > ( ) ;
if ( mList ! = null & & mList . size ( ) > 0 ) {
for ( int j = 0 ; j < mList . size ( ) ; j + + ) {
Metadata metadata = ( Metadata ) mList . get ( j ) ;
if ( metadata . getTypeId ( ) ! = null ) {
sql = " select * from option_table t where t.TYPE_IDENTITY = (select mt.type_id from metadata mt where mt.id= "
+ metadata . getId ( ) + " ) " ;
List < OptionTable > optionList = this . commonService . executeSQL ( sql , OptionTable . class ) ;
MetadataDictionaryVO mdv = new MetadataDictionaryVO ( ) ;
mdv . setListOT ( optionList ) ;
mdv . setmId ( metadata . getId ( ) ) ;
mdv . setFiledComments ( metadata . getFiledComments ( ) ) ;
mapDictionaryMap . put ( metadata . getFiledComments ( ) , mdv ) ;
}
if ( j ! = mList . size ( ) - 1 ) {
findFiledSql + = metadata . getFiledName ( ) + " , " ;
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
filedComm + = metadata . getFiledComments ( ) + " , " ;
} else {
filedComm + = metadata . getFiledName ( ) + " , " ;
}
} else {
findFiledSql + = metadata . getFiledName ( ) ;
if ( metadata . getFiledComments ( ) ! = null & & ! " " . equals ( metadata . getFiledComments ( ) ) ) {
filedComm + = metadata . getFiledComments ( ) ;
} else {
filedComm + = metadata . getFiledName ( ) ;
}
}
}
if ( StringUtils . isNotBlank ( findFiledSql ) ) {
Metadata md = new Metadata ( ) ;
md . setFiledComments ( getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ) ;
mList . add ( md ) ;
findFiledSql + = " ,decode(detectioned_state,1,' " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.normal_n81i " ) + " ',0,' " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.exception_n81i " ) + " ',-1,' " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.doFaild_n81i " ) + " ','') detectioned_state " ;
}
if ( StringUtils . isNotBlank ( filedComm ) ) {
filedComm + = " , " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.title.state_n81i " ) ;
}
}
this . getRequest ( ) . setAttribute ( " titleList " , mList ) ;
// --------2013-4-12 hyx------start
// 由于每个详细监测信息表添加了ID字段, 且一个detection_info_id对应多条记录, 所以可以直接从detection_info_new表获取detection_info表对应的id, 修改如下
// 获得监测类别、监测对象唯一标识、监测数据获取时间
Long detectionInfoId = detectionInfoWarning . getDetectionInfoId ( ) ;
String detectionInfoIds = detectionInfoId = = null ? " " : detectionInfoId . toString ( ) ;
// --------2013-4-12 hyx------end
if ( ! StringUtil . isBlank ( detectionInfoIds ) ) {
// 从当前监测类别对应的表中取出自己独有的信息
String tableName = cti . getTableName ( ) ;
// 判断数据表是否存在
/ *
* String sql2 =
* " SELECT COUNT(*) from user_tables where table_name = ' " +
* tableName . trim ( ) . toUpperCase ( ) + " ' " ; List list2 =
* this . commonService . executeSQL ( sql2 ) ; int num2 =
* Integer . parseInt ( list2 . get ( 0 ) . toString ( ) ) ;
* /
// @2018-3-8 11:22:10 mysql适配
int num2 = this . commonService . isTableExist ( tableName ) ;
if ( num2 = = 0 ) {
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.noTable_n81i');this.location='monitorData.do?action=showDetectionInfo'</script> " ) ;
return null ;
}
String serchSql = " select " + findFiledSql + " from " + tableName
+ " t where t.detection_info_id in ( " + detectionInfoIds
+ " ) order by t.detection_info_id desc " ;
System . out . println ( serchSql ) ;
pageSub = this . commonService . findByPageForSql ( serchSql , pageNoSub , pageSizeSub , null ) ;
List listInfo = ( List < Object [ ] > ) pageSub . getResult ( ) ;
String [ ] filedCommArr = filedComm . split ( " , " ) ;
if ( listInfo ! = null & & listInfo . size ( ) > 0 ) {
for ( int i = 0 ; i < listInfo . size ( ) ; i + + ) {
Object [ ] resu = ( Object [ ] ) listInfo . get ( i ) ;
if ( resu ! = null & & filedCommArr ! = null & & resu . length > = filedCommArr . length ) {
Map mapTemp = new LinkedHashMap ( ) ;
for ( int k = 0 ; k < filedCommArr . length ; k + + ) {
mapTemp . put ( filedCommArr [ k ] , resu [ k ] ) ;
}
mapList . add ( mapTemp ) ;
}
}
}
}
// 将取出的监测信息和告警值进行比较,看是否为告警信息
List policeList = this . commonService . find ( " from DataPoliceRelation where detectionSetInfo.id=? " ,
detectionInfoWarning . getDetectionSetInfo ( ) . getId ( ) ) ;
if ( policeList ! = null & & policeList . size ( ) > 0 ) {
for ( int j = 0 ; j < policeList . size ( ) ; j + + ) {
DataPoliceRelation dpr = ( DataPoliceRelation ) policeList . get ( j ) ;
String keyString = " " ;
if ( dpr . getMetadata ( ) . getFiledComments ( ) ! = null
& & ! " " . equals ( dpr . getMetadata ( ) . getFiledComments ( ) ) ) {
keyString = dpr . getMetadata ( ) . getFiledComments ( ) . toUpperCase ( ) ;
} else {
keyString = dpr . getMetadata ( ) . getFiledName ( ) . toUpperCase ( ) ;
}
for ( int k = 0 ; k < mapList . size ( ) ; k + + ) {
Map map = ( LinkedHashMap ) mapList . get ( k ) ;
if ( map . containsKey ( keyString ) ) {
Float num = Float . parseFloat ( map . get ( keyString ) . toString ( ) )
- Float . parseFloat ( String . valueOf ( dpr . getPoliceValue ( ) ) ) ;
if ( num > 0 ) {
map . put ( keyString , map . get ( keyString )
+ "     <font color='#FF0000'>i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.outWarning_n81i " + num + " </font> " ) ;
}
}
mapList . set ( k , map ) ; // ?????????????
}
}
}
this . getRequest ( ) . setAttribute ( " checkId " , ctId ) ;
this . getRequest ( ) . setAttribute ( " infoMapList " , mapList ) ;
this . getRequest ( ) . setAttribute ( " dictionMap " , mapDictionaryMap ) ;
// 判断监测类别是否为系统基础信息
if ( ctId . equals ( " 0 " ) ) {
String didString = detectionInfoWarning . getDetectionInfoId ( ) . toString ( ) ;
DiSysteminfo dsinfo = commonService . findSysteminfo ( didString ) ;
List < DiSysteminfoDisk > dsiDiskList = commonService . findSysteminfoDisk ( didString ) ;
List < DiSysteminfoNet > dsiNetList = commonService . findSysteminfoNet ( didString ) ;
this . getRequest ( ) . setAttribute ( " dsinfo " , dsinfo ) ;
this . getRequest ( ) . setAttribute ( " dsiDiskList " , dsiDiskList ) ;
this . getRequest ( ) . setAttribute ( " dsiNetList " , dsiNetList ) ;
}
}
} catch ( Exception e ) {
e . printStackTrace ( ) ;
logger . error ( e . getStackTrace ( ) ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=showDetectionInfo'</script> " ) ;
}
return " detailWarning " ;
}
public List < List > getNodeIpGroupList ( ) throws Exception {
List < List > detecInfoGroupList = new ArrayList < List > ( ) ;
String nip1 = " " ;
String nip2 = " " ;
for ( int i = 0 ; i < detectionInfoNewList . size ( ) ; i + + ) {
List < DetectionInfoNew > listSoNews = new ArrayList < DetectionInfoNew > ( ) ;
for ( int j = i ; j < detectionInfoNewList . size ( ) ; j + + ) {
nip1 = detectionInfoNewList . get ( i ) . getNodeIp ( ) ;
nip2 = detectionInfoNewList . get ( j ) . getNodeIp ( ) ;
if ( nip1 = = null )
nip1 = " " ;
if ( nip2 = = null )
nip2 = " " ;
if ( nip1 . equals ( nip2 ) ) {
listSoNews . add ( detectionInfoNewList . get ( j ) ) ;
i = j ;
} else {
i = j - 1 ;
break ;
}
}
detecInfoGroupList . add ( listSoNews ) ;
}
return detecInfoGroupList ;
}
public List < List > vgetNodeIpGroupList ( List < VDetectionInfoNew > vdetectionInfoNewList ) throws Exception {
List < List > vdetecInfoGroupList = new ArrayList < List > ( ) ;
String nip1 = " " ;
String nip2 = " " ;
if ( vdetectionInfoNewList ! = null & & vdetectionInfoNewList . size ( ) > 0 ) {
for ( int i = 0 ; i < vdetectionInfoNewList . size ( ) ; i + + ) {
List < VDetectionInfoNew > listSoNews = new ArrayList < VDetectionInfoNew > ( ) ;
for ( int j = i ; j < vdetectionInfoNewList . size ( ) ; j + + ) {
vdetectionInfoNewList . get ( j )
. setPersistTime ( this . getPersistTime ( vdetectionInfoNewList . get ( j ) . getDatacheckTime ( ) ,
vdetectionInfoNewList . get ( j ) . getStartTime ( ) ) ) ;
nip1 = vdetectionInfoNewList . get ( i ) . getNodeIp ( ) ;
nip2 = vdetectionInfoNewList . get ( j ) . getNodeIp ( ) ;
if ( nip1 = = null )
nip1 = " " ;
if ( nip2 = = null )
nip2 = " " ;
if ( nip1 . equals ( nip2 ) ) {
listSoNews . add ( vdetectionInfoNewList . get ( j ) ) ;
i = j ;
} else {
i = j - 1 ;
break ;
}
}
vdetecInfoGroupList . add ( listSoNews ) ;
}
}
return vdetecInfoGroupList ;
}
/ * *
*
* @author jinshujuan May 30 , 2013
* @version 1 . 0
* @param detectionInfoList
* @param flag
* true 代表获取最新检测数据 , 在数据多一列最新判断 , index 都需要 + 1
* @return
* @throws Exception
* /
public List < List > getNodeIpGroupListNew ( List < Object [ ] > detectionInfoList , boolean flag ) throws Exception {
// List<Object[]>
// sqlBuffer.append(" select
// din.id,nt.node_ip,cti.check_type_name,dsi.PROCESS_IDEN,din.detectioned_state");
// sqlBuffer.append("'',din.data_check_time,din.current_times,din.detection_state_info,din.start_time");
int index1 = 1 ; // ip
int index2 = 2 ; // check_type_name
int index4 = 4 ; // detectioned_state
int index5 = 5 ;
int index6 = 6 ;
int index9 = 9 ;
if ( flag ) {
index1 + + ;
index2 + + ;
index4 + + ;
index5 + + ;
index6 + + ;
index9 + + ;
}
List < List > detecInfoGroupListNew = new ArrayList < List > ( ) ;
String nip1 = " " ;
String nip2 = " " ;
if ( detectionInfoList ! = null & & detectionInfoList . size ( ) > 0 ) {
for ( int i = 0 ; i < detectionInfoList . size ( ) ; i + + ) {
List < Object [ ] > listSoNews = new ArrayList < Object [ ] > ( ) ;
for ( int j = i ; j < detectionInfoList . size ( ) ; j + + ) {
if ( detectionInfoList . get ( j ) [ index5 ] ! = null & & detectionInfoList . get ( j ) [ index9 ] ! = null ) {
detectionInfoList . get ( j ) [ index6 ] = this . getPersistTime (
DateUtil . getDateD ( detectionInfoList . get ( j ) [ index5 ] . toString ( ) ) ,
DateUtil . getDateD ( detectionInfoList . get ( j ) [ index9 ] . toString ( ) ) ) ;
}
if ( detectionInfoList . get ( i ) [ index1 ] ! = null ) {
nip1 = detectionInfoList . get ( i ) [ index1 ] . toString ( ) ;
}
if ( detectionInfoList . get ( j ) [ index1 ] ! = null ) {
nip2 = detectionInfoList . get ( j ) [ index1 ] . toString ( ) ;
}
if ( nip1 = = null )
nip1 = " " ;
if ( nip2 = = null )
nip2 = " " ;
if ( nip1 . equals ( nip2 ) ) {
if ( detectionInfoList . get ( j ) [ index2 ] ! = null
& & detectionInfoList . get ( j ) [ index2 ] . toString ( ) . equals ( getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.shakehands_n81i " ) ) ) {
listSoNews . add ( 0 , detectionInfoList . get ( j ) ) ;
} else {
listSoNews . add ( detectionInfoList . get ( j ) ) ;
}
i = j ;
} else {
i = j - 1 ;
break ;
}
}
// ------20130618---hyx---由于分页导致监测状态显示有误
if ( listSoNews . size ( ) > 0 ) { // 因为order by ctiId1
// ASC, 且握手的citId1为-1, 所以如果有握手的话, 会排在第0个
Object [ ] objs = listSoNews . get ( 0 ) ;
String ip = objs [ index1 ] = = null ? " " : objs [ index1 ] . toString ( ) ;
String nmsClientStr = objs [ index2 ] = = null ? " " : objs [ index2 ] . toString ( ) ;
String state = " " ;
int initK = 1 ; // 默认第一个为握手监测, 其它监测从1开始取
2018-10-12 18:56:36 +08:00
if ( ! " i18n_check_type_info.NMSClient.CHECK_TYPE_NAME1_n81i " . equals ( nmsClientStr ) & & StringUtils . isNotBlank ( ip ) ) { // 如果ip没有握手监测, 则从数据库中进行查询
2018-09-29 09:52:11 +08:00
String sql = " select din.detectioned_state " + " from DETECTION_INFO_NEW din "
+ " left join DETECTION_SET_INFO dsi on din.detection_set_info_id = dsi.id "
+ " left join check_type_info cti on dsi.check_type_id = cti.id "
+ " where lower(cti.check_type_name)='nmsclient' "
+ " and din.seq_id = (select distinct seq_id from node_table where node_ip=' " + ip
+ " ') " + " and dsi.DETECTION_SET_STATE=1 "
+ " and (dsi.system_id=-1 or dsi.view_level=4 or (node_groups_id is null and node_ips_id is null)) "
+ // 此行条件目的就是找到全局的握手监测:握手监测只允许有一个监测设置(全局的),admin新建的, 或者查看权限为全局
" order by dsi.id asc " ;
List stateList = this . commonService . executeSQL ( sql ) ;
if ( stateList ! = null & & stateList . size ( ) > 0 ) {
state = stateList . get ( 0 ) . toString ( ) ; // 查询握手监测的状态-----------?和直接在数据库查询得到的值不同---使用的数据库不同,呵呵
}
initK = 1 ;
} else {
state = objs [ index4 ] = = null ? " " : objs [ index4 ] . toString ( ) ;
}
if ( ! " 1 " . equals ( state ) ) { // 握手监测异常, 则其它监测的state为空
for ( int k = initK ; k < listSoNews . size ( ) ; k + + ) {
Object [ ] tmpObj = listSoNews . get ( k ) ;
tmpObj [ index4 ] = " " ; // 清空state后, jsp页面不显示状态图标
}
}
}
// ------20130618---hyx---由于分页导致监测状态显示有误
detecInfoGroupListNew . add ( listSoNews ) ;
}
}
return detecInfoGroupListNew ;
}
public int getCheckTypeNum ( ) throws Exception {
String sql = " select count(*) from check_type_info " ;
List l = this . commonService . executeSQL ( sql ) ;
return Integer . parseInt ( l . get ( 0 ) . toString ( ) ) ;
}
// 得到持续时间
public String getPersistTime ( Date datacheckTime , Date startTime ) throws Exception {
StringBuffer dateStr = new StringBuffer ( ) ;
if ( datacheckTime ! = null & & startTime ! = null ) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat ( " yyyy-MM-dd HH:mm:ss " ) ;
datacheckTime = simpleDateFormat . parse ( simpleDateFormat . format ( datacheckTime ) ) ;
startTime = simpleDateFormat . parse ( simpleDateFormat . format ( startTime ) ) ;
if ( datacheckTime . getTime ( ) - startTime . getTime ( ) > 0 ) {
long l = datacheckTime . getTime ( ) - startTime . getTime ( ) ;
long day = l / ( 24 * 60 * 60 * 1000 ) ;
long hour = ( l / ( 60 * 60 * 1000 ) - day * 24 ) ;
long min = ( ( l / ( 60 * 1000 ) ) - day * 24 * 60 - hour * 60 ) ;
long s = ( l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60 ) ;
if ( day ! = 0 ) {
dateStr . append ( day + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.day_n81i " ) + " " ) ;
}
if ( hour ! = 0 ) {
dateStr . append ( hour + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.hour_n81i " ) + " " ) ;
}
if ( min ! = 0 ) {
dateStr . append ( min + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.minute_n81i " ) + " " ) ;
}
if ( s ! = 0 ) {
dateStr . append ( s + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.second_n81i " ) + " " ) ;
}
}
}
return dateStr . toString ( ) ;
}
// 得到持续时间
public void getPersistTime ( ) throws Exception {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat ( " yyyy-MM-dd HH:mm:ss " ) ;
Date datacheckTime = null ;
Date startTime = null ;
for ( int i = 0 ; i < detectionInfoNewList . size ( ) ; i + + ) {
StringBuffer dateStr = new StringBuffer ( ) ;
if ( detectionInfoNewList . get ( i ) . getDatacheckTime ( ) ! = null
& & detectionInfoNewList . get ( i ) . getStatusChangeTime ( ) ! = null ) {
datacheckTime = simpleDateFormat
. parse ( simpleDateFormat . format ( detectionInfoNewList . get ( i ) . getDatacheckTime ( ) ) ) ;
startTime = simpleDateFormat
. parse ( simpleDateFormat . format ( detectionInfoNewList . get ( i ) . getStatusChangeTime ( ) ) ) ;
if ( datacheckTime . getTime ( ) - startTime . getTime ( ) > 0 ) {
long l = datacheckTime . getTime ( ) - startTime . getTime ( ) ;
long day = l / ( 24 * 60 * 60 * 1000 ) ;
long hour = ( l / ( 60 * 60 * 1000 ) - day * 24 ) ;
long min = ( ( l / ( 60 * 1000 ) ) - day * 24 * 60 - hour * 60 ) ;
long s = ( l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60 ) ;
if ( day ! = 0 ) {
dateStr . append ( day + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.day_n81i " ) + " " ) ;
}
if ( hour ! = 0 ) {
dateStr . append ( hour + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.hour_n81i " ) + " " ) ;
}
if ( min ! = 0 ) {
dateStr . append ( min + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.minute_n81i " ) + " " ) ;
}
if ( s ! = 0 ) {
dateStr . append ( s + " " + getI18nText ( " i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.second_n81i " ) + " " ) ;
}
}
} else {
dateStr . append ( " " ) ;
}
detectionInfoNewList . get ( i ) . setPersistTime ( dateStr . toString ( ) ) ;
}
}
/ * *
*
* 获取异常设备监测信息
*
* @author jinshujuan May 13 , 2013
* @version 1 . 0
* @return
* /
private String queryAbnormalSet ( ) {
try {
/ * StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append ( " select * from (select row_number() over (PARTITION BY newTable.ip,newTable.iden order by newTable.dctime desc, newTable.ip) LEV, newTable.* FROM ( " ) ;
sqlBuffer . append ( " select distinct din.id,nt.node_ip ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME iden,din.detectioned_state " ) ;
sqlBuffer . append ( " ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss') dctime,'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append ( " ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn, din.police_level police_level,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id,ipn from NODE_TABLE) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append ( " (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
// 99表示告警恢复, 但是有的告警, 没有设置告警级别, 默认就会是99, 但是监测状态异常, 此时要显示: police_level!=99
// or police_level=99 and detectioned_state!=1
sqlBuffer . append ( " where (police_level!=99 or police_level=99 and detectioned_state!=1) and nt.node_ip is not null AND nt.node_type =1 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 AND din.detectioned_state in('0','-1') " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
// sqlBuffer.append("");
// sqlBuffer.append(" ");
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
// sqlBuffer.append(" and instr(nt.node_ip,'"+cip.trim()+"')
// <> 0");
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and cti.id = " + ctn ) ;
}
if ( ! this . getAdminMark ( ) ) {
// 权限控制------begin
// String sqlparam = " or (cti.view_level=4 )";
// -------------end
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by police_level ASC, ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
sqlBuffer . append ( " ) newTable ) WHERE LEV =1 " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
* /
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append ( " select distinct 1 LEV, din.id,nt.node_ip ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME iden,din.detectioned_state " ) ;
sqlBuffer . append ( " ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss') dctime,'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append ( " ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn, din.police_level police_level,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 " ) ;
sqlBuffer . append ( " from (select seq_id,detection_set_info_id,max(data_check_time) data_check_time from DETECTION_INFO_NEW d where d.valid = 1 group by seq_id,detection_set_info_id) dmax " ) ;
sqlBuffer . append ( " left join DETECTION_INFO_NEW din on din.seq_id = dmax.seq_id and din.detection_set_info_id = dmax.detection_set_info_id and din. data_check_time = dmax.data_check_time " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id,ipn from NODE_TABLE) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append ( " (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
// 99表示告警恢复, 但是有的告警, 没有设置告警级别, 默认就会是99, 但是监测状态异常, 此时要显示: police_level!=99
// or police_level=99 and detectioned_state!=1
sqlBuffer . append ( " where (police_level!=99 or police_level=99 and detectioned_state!=1) and nt.node_ip is not null AND nt.node_type =1 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 AND din.detectioned_state in('0','-1') " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and cti.id = " + ctn ) ;
}
if ( ! this . getAdminMark ( ) ) {
// 权限控制------begin
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by police_level ASC, ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , true ) ;
nodeIpGroupListNew = getNodeIpGroupListNew ( detectionInfoList , true ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
return " queryAbnormalSet " ;
}
/ * *
*
* 异常设备的动态刷新方法
*
* @author jinshujuan May 13 , 2013
* @version 1 . 0
* @return
* /
private String queryAbnormalSetChild ( ) {
try {
/ *
* StringBuffer sqlBuffer = new StringBuffer ( ) ; sqlBuffer .
* append ( " select * from (select row_number() over (PARTITION BY newTable.ip,newTable.iden order by newTable.dctime desc, newTable.ip) LEV, newTable.* FROM ( "
* ) ; sqlBuffer .
* append ( " select distinct din.id,nt.node_ip ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME iden,din.detectioned_state "
* ) ; sqlBuffer .
* append ( " ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss') dctime,'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') "
* ) ; sqlBuffer .
* append ( " ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn, din.police_level police_level,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 "
* ) ; sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
* sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
* sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
* sqlBuffer . append ( " left join check_type_info cti " ) ;
* sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ; sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id,ipn from NODE_TABLE) nt "
* ) ; sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ; //
* 对于无统计字段的监测类型 , 在监测数据列表里不显示折线图链接 - - - - - - - - - - - - - - - - - - start
* sqlBuffer . append ( " left join " ) ; sqlBuffer .
* append ( " (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState "
* ) ; sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ; //
* 对于无统计字段的监测类型 , 在监测数据列表里不显示折线图链接 - - - - - - - - - - - - - - - - - - end
*
* // sqlBuffer.append(""); sqlBuffer.
* append ( " where (police_level!=99 or police_level=99 and detectioned_state!=1) and nt.node_ip is not null AND nt.node_type =1 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 AND din.detectioned_state in('0','-1') "
* ) ; // 只显示有效的数据: din.valid=1 if
* ( ! this . getAdminMark ( ) ) {
* sqlBuffer . append ( " and nt.system_id = " ) ;
* sqlBuffer . append ( this . getSystemID ( ) ) ; } if ( cip ! = null & &
* ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
* sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ; } if ( ctn ! =
* null & & ! " " . equals ( ctn ) ) { sqlBuffer . append ( " and cti.id = " +
* ctn ) ;
*
* } if ( ! this . getAdminMark ( ) ) {
* sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
* sqlBuffer . append ( this . getUserID ( ) ) ; sqlBuffer . append ( " ) " ) ;
* sqlBuffer .
* append ( " or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' "
* ) ; sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ; sqlBuffer .
* append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = "
* ) ; sqlBuffer . append ( this . getSystemID ( ) ) ; sqlBuffer . append ( " ) " ) ;
* sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
* sqlBuffer . append ( " ) " ) ;
*
* sqlBuffer .
* append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
* sqlBuffer . append ( this . getUserID ( ) ) ; sqlBuffer . append ( " ) " ) ;
* sqlBuffer .
* append ( " or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' "
* ) ; sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ; sqlBuffer .
* append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = "
* ) ; sqlBuffer . append ( this . getSystemID ( ) ) ; sqlBuffer . append ( " ) " ) ;
* sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ; sqlBuffer .
* append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 "
* ) ; } sqlBuffer .
* append ( " order by police_level ASC,ipn ASC,ctiId1 ASC, dsi.id ASC "
* ) ; sqlBuffer . append ( " ) newTable ) WHERE LEV =1 " ) ;
* System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
* /
// @ 2018年4月10日 fang 经对比 与 queryAbnormalSet() 方法中 sql 语句一致,以上注释为
// 修改之前语句
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append ( " select distinct 1 LEV, din.id,nt.node_ip ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME iden,din.detectioned_state " ) ;
sqlBuffer . append ( " ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss') dctime,'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append ( " ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn, din.police_level police_level,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 " ) ;
sqlBuffer . append ( " from (select seq_id,detection_set_info_id,max(data_check_time) data_check_time from DETECTION_INFO_NEW d where d.valid = 1 group by seq_id,detection_set_info_id) dmax " ) ;
sqlBuffer . append ( " left join DETECTION_INFO_NEW din on din.seq_id = dmax.seq_id and din.detection_set_info_id = dmax.detection_set_info_id and din. data_check_time = dmax.data_check_time " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id,ipn from NODE_TABLE) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append ( " (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
// 99表示告警恢复, 但是有的告警, 没有设置告警级别, 默认就会是99, 但是监测状态异常, 此时要显示: police_level!=99
// or police_level=99 and detectioned_state!=1
sqlBuffer . append ( " where (police_level!=99 or police_level=99 and detectioned_state!=1) and nt.node_ip is not null AND nt.node_type =1 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 AND din.detectioned_state in('0','-1') " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and cti.id = " + ctn ) ;
}
if ( ! this . getAdminMark ( ) ) {
// 权限控制------begin
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by police_level ASC, ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , true ) ;
nodeIpGroupListNew = getNodeIpGroupListNew ( detectionInfoList , true ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=queryAbnormalSet'</script> " ) ;
}
return " queryAbnormalSetChild " ;
}
/ * *
*
* 网元检测菜单
*
* @author jinshujuan Jun 17 , 2013
* @version 1 . 0
* @return
* /
private String queryNE ( ) {
if ( mypageNo > 0 & & mypageSize > 0 ) {
pageNo = mypageNo ;
pageSize = mypageSize ;
}
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
sqlBuffer . append (
" where nt.node_ip is not null AND nt.node_type =1 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( checkType ! = null & & ! " " . equals ( checkType ) & & checkType > = 0 ) {
sqlBuffer . append ( " and cti.id= " + checkType ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = getNodeIpGroupListNew ( detectionInfoList , false ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
return " queryNE " ;
}
/ * *
*
* TODO 网元检测菜单 - 子查询
*
* @author jinshujuan Jun 17 , 2013
* @version 1 . 0
* @return
* /
private String queryNEChild ( ) {
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn ,decode(cti.check_type_name,'NMSClient',-1,cti.id) ctiId1 " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
sqlBuffer . append (
" left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id,ipn from NODE_TABLE) nt " ) ;
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
sqlBuffer . append (
" where nt.node_ip is not null AND nt.node_type =1 and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip = ' " + cip + " ' " ) ;
}
if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " order by ipn ASC,ctiId1 ASC, dsi.id ASC " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = getNodeIpGroupListNew ( detectionInfoList , false ) ;
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=query'</script> " ) ;
}
return " queryNEChild " ;
}
/ * *
*
* 查询检测设置的历史记录
*
* @author jinshujuan Jun 18 , 2013
* @version 1 . 0
* @return
* /
public void showDetectionInfo ( ) {
try {
String sqlStr = " " ;
if ( ! StringUtils . isBlank ( flag ) & & ( " queryAllConfigLevel " . equals ( flag ) | | " warning " . equals ( flag ) ) ) {
sqlStr = " diw.PERFORMACE_DATA " ;
} else {
sqlStr = " diw.detection_state_info " ;
}
StringBuffer sql = new StringBuffer (
" SELECT nt.node_ip,cti.check_type_name1,dsi.process_iden_name,diw.detectioned_state, "
+ " TO_CHAR(diw.data_check_time, 'yyyy-MM-dd HH24:mi:Ss'),diw.current_times, " + sqlStr + " , "
+ " diw.id diwId,diw.seq_id,dsi.id dsiId,cti.id ctiId,nt.node_type,nt.node_system_type,nt.ipn,NVL(md.chartNum, 0) chartNum "
+ " from " + tableName
+ " diw LEFT JOIN detection_set_info dsi ON diw.detection_set_info_id=dsi.id "
+ " LEFT JOIN check_type_info cti ON cti.id = dsi.check_type_id "
+ " LEFT JOIN ( SELECT DISTINCT t.node_ip,t.seq_id,t.node_type,t.node_system_type,t.ipn from node_table t) nt ON nt.seq_id=diw.seq_id "
+ " LEFT JOIN (SELECT check_type_id ctid,COUNT(*) AS chartNum from metadata WHERE chart_state=0 GROUP BY check_type_id) md ON md.ctid=cti.id "
+ " WHERE diw.detection_set_info_id= " + dsiId + " AND diw.seq_id= " + sqId ) ;
// 默认取一定的开始时间(暂时为当前天的前n天) 到
// 当前最新的时间, 第一次进入监测数据历史列表时, sTime和eTime为null, 之后查询, 如果sTime和eTime为空, 则为""
if ( eTime = = null & & sTime = = null ) {
sTime = DateUtil . getShortDateStrByMinusDay ( Constants . DEFAULT_SEARCH_DAY ) ;
}
if ( ! StringUtil . isBlank ( sTime ) ) {
sql . append ( " AND diw.data_check_time >= TO_DATE(' " + sTime + " 00:00:00', 'yyyy-MM-dd HH24:mi:Ss') " ) ;
}
if ( ! StringUtil . isBlank ( eTime ) ) {
sql . append ( " AND diw.data_check_time <= TO_DATE(' " + eTime + " 23:59:59', 'yyyy-MM-dd HH24:mi:Ss') " ) ;
}
if ( ! StringUtil . isBlank ( status ) ) {
if ( " 1 " . equals ( status ) ) {
sql . append ( " AND diw.detectioned_state = ' " + status + " ' " ) ;
} else if ( " -1,0 " . equals ( status ) ) {
sql . append ( " AND (diw.detectioned_state = '-1' or diw.detectioned_state = '0') " ) ;
} else {
sql . append ( " AND diw.detectioned_state IN ( " + status + " ) " ) ;
}
}
sql . append ( " ORDER by diw.data_check_time DESC " ) ;
page = commonService . findByPageForSql ( sql . toString ( ) , pageNo , pageSize ) ;
detectionInfoWarningList = ( List < Object [ ] > ) page . getResult ( ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
logger . info ( " 设置名称查看异常! " , e ) ;
outHtmlString (
" <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');this.location='monitorData.do?action=queryNE&pageNo= "
+ pageNo + " &pageSize= " + pageSize + " '</script> " ) ;
}
}
/ * *
*
* 拓扑图来源 , 查询服务器状态信息
*
* @author tanghao 07 17 , 2018
* queryMonitorDataInfoNewForTopo ( ) 方法修改
* @return
* /
private void queryMonitorDataInfoNewForTopoDetail ( ) {
if ( mypageNo > 0 & & mypageSize > 0 ) {
pageNo = mypageNo ;
pageSize = mypageSize ;
}
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " ,din.police_emergent police_emergent,din.police_level police_level " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
StringBuffer queryIds = null ;
if ( nodeType ! = null & & Integer . parseInt ( nodeType ) = = 1 ) {
queryIds = new StringBuffer ( ) ;
String groupIdSql = " select node_id from node_table where "
+ " node_id not in (select type_id from topo_node_info where type=2) and node_state=0 and node_group_id = " + nodeGroupId ;
List nodeGroupIds = this . commonService . executeSQL ( groupIdSql ) ;
if ( ! nis . nms . util . StringUtil . objectIsNUll ( nodeGroupIds ) ) {
for ( int i = 0 ; i < nodeGroupIds . size ( ) ; i + + ) {
if ( i = = nodeGroupIds . size ( ) - 1 ) {
queryIds . append ( nodeGroupIds . get ( i ) ) ;
} else {
queryIds . append ( nodeGroupIds . get ( i ) ) ;
queryIds . append ( " , " ) ;
}
}
} else {
queryIds . append ( - 1 ) ;
}
}
/ *
* sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
* +
* " (select t.group_id from nodegroup_table t start with t.group_id = "
* + nodeGroupId +
* " connect by prior t.group_id = t.parent_group_id)) nt " ) ;
* /
//判断如果是单个节点
if ( nodeType ! = null & & Integer . parseInt ( nodeType ) = = 2 ) {
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_id = "
+ nodeId + " ) nt " ) ;
} else {
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_id in "
+ " ( " + queryIds . toString ( ) + " )) nt " ) ;
}
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
// sqlBuffer.append("");
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
/ * if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
} * /
if ( checkType ! = null & & checkType ! = - 1 ) {
sqlBuffer . append ( " and cti.id= " + checkType ) ;
}
if ( StringUtils . isNotBlank ( stateInfo ) ) {
sqlBuffer . append ( " and din.detection_state_info like '% " + stateInfo + " %' " ) ;
}
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " ORDER by detectioned_state, police_emergent, police_level " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = changeShowList ( detectionInfoList , false ) ;
if ( StringUtils . isNotBlank ( nodeGroupId ) ) {
NodegroupTable ngt = ( NodegroupTable ) this . commonService . get ( NodegroupTable . class ,
Long . parseLong ( nodeGroupId . trim ( ) ) ) ;
nodeGroupName = ngt = = null ? " " : ngt . getGroupName ( ) ;
} else if ( StringUtils . isNotBlank ( nodeId ) ) {
NodeTable ngt = ( NodeTable ) this . commonService . get ( NodeTable . class ,
Long . parseLong ( nodeId . trim ( ) ) ) ;
nodeGroupName = ngt = = null ? " " : ngt . getNodeIp ( ) ;
}
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');</script> " ) ;
}
}
/ * *
*
* 拓扑图来源 , 查询紧急告警 - 服务器
*
* @author tanghao 07 17 , 2018
* queryEmergent ( ) 方法修改
* @return
* /
private void queryEmergentDetail ( ) {
if ( mypageNo > 0 & & mypageSize > 0 ) {
pageNo = mypageNo ;
pageSize = mypageSize ;
}
try {
StringBuffer sqlBuffer = new StringBuffer ( ) ;
sqlBuffer . append (
" select distinct din.id,nt.node_ip,cti.check_type_name1,dsi.PROCESS_IDEN_NAME,din.detectioned_state detectioned_state " ) ;
sqlBuffer . append (
" ,to_char(din.data_check_time,'yyyy-MM-dd HH24:mi:Ss'),'',din.current_times,din.detection_state_info,to_char(din.status_change_time,'yyyy-MM-dd HH24:mi:Ss') " ) ;
sqlBuffer . append (
" ,dsi.id dsiiId,cti.id ctiId,din.seq_id sqId,nt.node_system_type nodeSysType,nvl(checkTypeCharState.charStateNum,0) charStateNum,nt.node_type nodeType,nt.ipn ipn " ) ;
sqlBuffer . append ( " ,din.police_emergent police_emergent,din.police_level police_level " ) ;
sqlBuffer . append ( " from DETECTION_INFO_NEW din " ) ;
sqlBuffer . append ( " left join DETECTION_SET_INFO dsi " ) ;
sqlBuffer . append ( " on din.detection_set_info_id = dsi.id " ) ;
sqlBuffer . append ( " left join check_type_info cti " ) ;
sqlBuffer . append ( " on dsi.check_type_id = cti.id " ) ;
// @2018-3-9 fang 修改 首先查询符合条件的id, 在拼接sql, 适配mysql
StringBuffer queryIds = null ;
if ( nodeType ! = null & & Integer . parseInt ( nodeType ) = = 1 ) {
queryIds = new StringBuffer ( ) ;
String groupIdSql = " select node_id from node_table where "
+ " node_id not in (select type_id from topo_node_info where type=2) and node_state=0 and node_group_id = " + nodeGroupId ;
List nodeGroupIds = this . commonService . executeSQL ( groupIdSql ) ;
if ( ! nis . nms . util . StringUtil . objectIsNUll ( nodeGroupIds ) ) {
for ( int i = 0 ; i < nodeGroupIds . size ( ) ; i + + ) {
if ( i = = nodeGroupIds . size ( ) - 1 ) {
queryIds . append ( nodeGroupIds . get ( i ) ) ;
} else {
queryIds . append ( nodeGroupIds . get ( i ) ) ;
queryIds . append ( " , " ) ;
}
}
}
}
/ *
* sqlBuffer .
* append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_group_id in "
* +
* " (select t.group_id from nodegroup_table t start with t.group_id = "
* + nodeGroupId +
* " connect by prior t.group_id = t.parent_group_id)) nt " ) ;
* /
if ( nodeType ! = null & & Integer . parseInt ( nodeType ) = = 2 ) {
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_id = "
+ nodeId + " ) nt " ) ;
} else {
sqlBuffer
. append ( " left join (select distinct node_ip,seq_id,node_system_type,node_type,node_state,system_id ,ipn from NODE_TABLE WHERE node_id in "
+ " ( " + queryIds . toString ( ) + " )) nt " ) ;
}
sqlBuffer . append ( " on din.seq_id = nt.seq_id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------start
sqlBuffer . append ( " left join " ) ;
sqlBuffer . append (
" (select md.check_type_id as ctId,count(*) as charStateNum from metadata md where md.chart_state=0 group by md.check_type_id) checkTypeCharState " ) ;
sqlBuffer . append ( " on checkTypeCharState.ctId=cti.id " ) ;
// ------------2013-1-23 hyx
// 对于无统计字段的监测类型,在监测数据列表里不显示折线图链接------------------end
sqlBuffer . append (
" where nt.node_ip is not null and nt.node_state = 0 and dsi.detection_set_state ='1' and cti.crete_state=0 and din.valid=1 and din.DETECTIONED_STATE<>1 AND din.POLICE_EMERGENT=0 " ) ; // 只显示有效的数据: din.valid=1
if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and nt.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
}
if ( cip ! = null & & ! " " . equals ( cip ) & & ! " null " . equals ( cip ) ) {
sqlBuffer . append ( " and nt.node_ip like '% " + cip . trim ( ) + " %' " ) ;
}
if ( checkType ! = null & & checkType ! = - 1 ) {
sqlBuffer . append ( " and cti.id = " + checkType ) ;
}
/ * if ( ctn ! = null & & ! " " . equals ( ctn ) ) {
sqlBuffer . append ( " and Upper(cti.Check_Type_Name1) like '% " + ctn . toUpperCase ( ) + " %' " ) ;
}
* / if ( ! this . getAdminMark ( ) ) {
sqlBuffer . append ( " and (((( cti.view_level=1 and cti.user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( cti.view_level=2 and cti.group_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or cti.view_level=3 ) and cti.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (cti.view_level=4 ) " ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " and (((( dsi.view_level=1 and dsi.create_user_id= " ) ;
sqlBuffer . append ( this . getUserID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append (
" or ( dsi.view_level=2 and dsi.create_usergroup_id in (select x.jsbh from Xt_Yh_Js_Index x where x.yhbh=' " ) ;
sqlBuffer . append ( this . getUser ( ) . getYhbh ( ) ) ;
sqlBuffer . append ( " ' and x.type = 1)) or dsi.view_level=3 ) and dsi.system_id = " ) ;
sqlBuffer . append ( this . getSystemID ( ) ) ;
sqlBuffer . append ( " ) " ) ;
sqlBuffer . append ( " or (dsi.view_level=4 ) " ) ;
sqlBuffer . append ( " ) and dsi.detection_set_state=1 and cti.crete_state=0 " ) ;
}
sqlBuffer . append ( " ORDER by detectioned_state, police_emergent, police_level " ) ;
System . out . println ( " sqlBuffer: " + sqlBuffer . toString ( ) ) ;
page = this . commonService . findByPageForSql ( sqlBuffer . toString ( ) , pageNo , pageSize , null ) ;
List < Object [ ] > detectionInfoList ; // 最新状态信息集合
detectionInfoList = ( List < Object [ ] > ) page . getResult ( ) ;
detectionInfoList = changeValue ( detectionInfoList , false ) ;
// 检测类别查询条件不为空时 查询出来的结果,先判断握手是否成功,如果握手状态异常则查出来的状态也是异常
if ( ! StringUtil . isBlank ( ctn ) ) {
changeStatus ( detectionInfoList , ctn ) ;
}
nodeIpGroupListNew = changeShowList ( detectionInfoList , false ) ;
// if(StringUtils.isNotBlank(nodeGroupId)) {
// NodegroupTable ngt =
// (NodegroupTable)this.commonService.get(NodegroupTable.class,
// Long.parseLong(nodeGroupId.trim()));
// nodeGroupName = ngt==null?"":ngt.getGroupName();
// }else {
// nodeGroupName = "";
// }
} catch ( Exception e ) {
logger . error ( e . getStackTrace ( ) ) ;
e . printStackTrace ( ) ;
outHtmlString ( " <script type= \" text/javascript \" >alert('i18n_MonitorDataAction.emportCurrentXlsAbnormalSet.faild_n81i');</script> " ) ;
}
}
public CommonService getCommonService ( ) {
return commonService ;
}
public void setCommonService ( CommonService commonService ) {
this . commonService = commonService ;
}
public int getPageNo ( ) {
return pageNo ;
}
public void setPageNo ( int pageNo ) {
this . pageNo = pageNo ;
}
public int getPageSize ( ) {
return pageSize ;
}
public void setPageSize ( int pageSize ) {
this . pageSize = pageSize ;
}
public Page getPage ( ) {
return page ;
}
public void setPage ( Page page ) {
this . page = page ;
}
public String getAction ( ) {
return action ;
}
public void setAction ( String action ) {
this . action = action ;
}
public Long [ ] getIds ( ) {
return ids ;
}
public void setIds ( Long [ ] ids ) {
this . ids = ids ;
}
public String getCip ( ) {
return cip ;
}
public void setCip ( String cip ) {
this . cip = cip ;
}
public List < DetectionInfoNew > getDetectionInfoNewList ( ) {
return detectionInfoNewList ;
}
public void setDetectionInfoNewList ( List < DetectionInfoNew > detectionInfoNewList ) {
this . detectionInfoNewList = detectionInfoNewList ;
}
public DetectionInfoNew getDetectionInfoNew ( ) {
return detectionInfoNew ;
}
public void setDetectionInfoNew ( DetectionInfoNew detectionInfoNew ) {
this . detectionInfoNew = detectionInfoNew ;
}
public String getDsiId ( ) {
return dsiId ;
}
public void setDsiId ( String dsiId ) {
this . dsiId = dsiId ;
}
// public CheckTypeInfo getCheckTypeInfo() {
// return checkTypeInfo;
// }
//
// public void setCheckTypeInfo(CheckTypeInfo checkTypeInfo) {
// this.checkTypeInfo = checkTypeInfo;
// }
public String getJsonStr ( ) {
return jsonStr ;
}
public void setJsonStr ( String jsonStr ) {
this . jsonStr = jsonStr ;
}
/ *
* public List < VDetectionInfoNew > getVdetectionInfoNewList ( ) { return
* vdetectionInfoNewList ; }
*
* public void setVdetectionInfoNewList ( List < VDetectionInfoNew >
* vdetectionInfoNewList ) { this . vdetectionInfoNewList =
* vdetectionInfoNewList ; }
* /
public VDetectionInfoNew getVdetectionInfoNew ( ) {
return vdetectionInfoNew ;
}
public void setVdetectionInfoNew ( VDetectionInfoNew vdetectionInfoNew ) {
this . vdetectionInfoNew = vdetectionInfoNew ;
}
public List < List > getVnodeIpGroupList ( ) {
return vnodeIpGroupList ;
}
public void setVnodeIpGroupList ( List < List > vnodeIpGroupList ) {
this . vnodeIpGroupList = vnodeIpGroupList ;
}
public List < List > getNodeIpGroupListNew ( ) {
return nodeIpGroupListNew ;
}
public void setNodeIpGroupListNew ( List < List > nodeIpGroupListNew ) {
this . nodeIpGroupListNew = nodeIpGroupListNew ;
}
public String getCtn ( ) {
return ctn ;
}
public void setCtn ( String ctn ) {
this . ctn = ctn ;
}
public String getStateInfo ( ) {
return stateInfo ;
}
public void setStateInfo ( String stateInfo ) {
this . stateInfo = stateInfo ;
}
public List < CheckTypeInfo > getAllCheckTypeInfo ( ) {
return allCheckTypeInfo ;
}
public void setAllCheckTypeInfo ( List < CheckTypeInfo > allCheckTypeInfo ) {
this . allCheckTypeInfo = allCheckTypeInfo ;
}
public List < Metadata > getMetadataList ( ) {
return metadataList ;
}
public void setMetadataList ( List < Metadata > metadataList ) {
this . metadataList = metadataList ;
}
public String getMetaId ( ) {
return metaId ;
}
public void setMetaId ( String metaId ) {
this . metaId = metaId ;
}
public String getNodeIp ( ) {
return nodeIp ;
}
public void setNodeIp ( String nodeIp ) {
this . nodeIp = nodeIp ;
}
public String getSqId ( ) {
return sqId ;
}
public void setSqId ( String sqId ) {
this . sqId = sqId ;
}
public int getPageNoSub ( ) {
return pageNoSub ;
}
public void setPageNoSub ( int pageNoSub ) {
this . pageNoSub = pageNoSub ;
}
public int getPageSizeSub ( ) {
return pageSizeSub ;
}
public void setPageSizeSub ( int pageSizeSub ) {
this . pageSizeSub = pageSizeSub ;
}
public Page getPageSub ( ) {
return pageSub ;
}
public void setPageSub ( Page pageSub ) {
this . pageSub = pageSub ;
}
public String getLineNames ( ) {
return lineNames ;
}
public void setLineNames ( String lineNames ) {
this . lineNames = lineNames ;
}
public String getCtId ( ) {
return ctId ;
}
public void setCtId ( String ctId ) {
this . ctId = ctId ;
}
public List getDataList ( ) {
return dataList ;
}
public void setDataList ( List dataList ) {
this . dataList = dataList ;
}
public String getDrIndex ( ) {
return drIndex ;
}
public void setDrIndex ( String drIndex ) {
this . drIndex = drIndex ;
}
public NodeTable getNodeTable ( ) {
return nodeTable ;
}
public void setNodeTable ( NodeTable nodeTable ) {
this . nodeTable = nodeTable ;
}
public String getStartTime ( ) {
return startTime ;
}
public void setStartTime ( String startTime ) {
this . startTime = startTime ;
}
public String getEndTime ( ) {
return endTime ;
}
public void setEndTime ( String endTime ) {
this . endTime = endTime ;
}
public String getType ( ) {
return type ;
}
public void setType ( String type ) {
this . type = type ;
}
public String getRequestType ( ) {
return requestType ;
}
public void setRequestType ( String requestType ) {
this . requestType = requestType ;
}
public String getNodeGroupId ( ) {
return nodeGroupId ;
}
public void setNodeGroupId ( String nodeGroupId ) {
this . nodeGroupId = nodeGroupId ;
}
public List < Object [ ] > getDetectionInfoWarningList ( ) {
return detectionInfoWarningList ;
}
public void setDetectionInfoWarningList ( List < Object [ ] > detectionInfoWarningList ) {
this . detectionInfoWarningList = detectionInfoWarningList ;
}
public String getEntry ( ) {
return entry ;
}
public void setEntry ( String entry ) {
this . entry = entry ;
}
public String getDetectId ( ) {
return detectId ;
}
public void setDetectId ( String detectId ) {
this . detectId = detectId ;
}
public String getSeqId ( ) {
return seqId ;
}
public void setSeqId ( String seqId ) {
this . seqId = seqId ;
}
public String getNameFlag ( ) {
return nameFlag ;
}
public void setNameFlag ( String nameFlag ) {
this . nameFlag = nameFlag ;
}
public String getPid ( ) {
return pid ;
}
public void setPid ( String pid ) {
this . pid = pid ;
}
public String getIsLeaf ( ) {
return isLeaf ;
}
public void setIsLeaf ( String isLeaf ) {
this . isLeaf = isLeaf ;
}
public String getPicId ( ) {
return picId ;
}
public void setPicId ( String picId ) {
this . picId = picId ;
}
public String getQueryParConditionDisplay ( ) {
return queryParConditionDisplay ;
}
public void setQueryParConditionDisplay ( String queryParConditionDisplay ) {
this . queryParConditionDisplay = queryParConditionDisplay ;
}
public String getQueryChildConditionDisplay ( ) {
return queryChildConditionDisplay ;
}
public void setQueryChildConditionDisplay ( String queryChildConditionDisplay ) {
this . queryChildConditionDisplay = queryChildConditionDisplay ;
}
public String getIp ( ) {
return ip ;
}
public void setIp ( String ip ) {
this . ip = ip ;
}
public String getStatus ( ) {
return status ;
}
public void setStatus ( String status ) {
this . status = status ;
}
public DetectionInfoWarning getDetectionInfoWarning ( ) {
return detectionInfoWarning ;
}
public void setDetectionInfoWarning ( DetectionInfoWarning detectionInfoWarning ) {
this . detectionInfoWarning = detectionInfoWarning ;
}
public String getSTime ( ) {
return sTime ;
}
public void setSTime ( String time ) {
sTime = time ;
}
public String getETime ( ) {
return eTime ;
}
public void setETime ( String time ) {
eTime = time ;
}
public String getShowHistory ( ) {
return showHistory ;
}
public void setShowHistory ( String showHistory ) {
this . showHistory = showHistory ;
}
public String getNodeType ( ) {
return nodeType ;
}
public void setNodeType ( String nodeType ) {
this . nodeType = nodeType ;
}
public String getNodeIpRange ( ) {
return nodeIpRange ;
}
public void setNodeIpRange ( String nodeIpRange ) {
this . nodeIpRange = nodeIpRange ;
}
public String getNodeGroupStr ( ) {
return nodeGroupStr ;
}
public void setNodeGroupStr ( String nodeGroupStr ) {
this . nodeGroupStr = nodeGroupStr ;
}
public List < NodegroupTable > getAllNodeGroupInfo ( ) {
return allNodeGroupInfo ;
}
public void setAllNodeGroupInfo ( List < NodegroupTable > allNodeGroupInfo ) {
this . allNodeGroupInfo = allNodeGroupInfo ;
}
public String getFlag ( ) {
return flag ;
}
public void setFlag ( String flag ) {
this . flag = flag ;
}
public String getNodeGroupName ( ) {
return nodeGroupName ;
}
public void setNodeGroupName ( String nodeGroupName ) {
this . nodeGroupName = nodeGroupName ;
}
public String getPIden ( ) {
return pIden ;
}
public void setPIden ( String iden ) {
pIden = iden ;
}
public String getDct ( ) {
return dct ;
}
public void setDct ( String dct ) {
this . dct = dct ;
}
public String getPolice_emergent ( ) {
return police_emergent ;
}
public void setPolice_emergent ( String police_emergent ) {
this . police_emergent = police_emergent ;
}
public String getPolice_level ( ) {
return police_level ;
}
public void setPolice_level ( String police_level ) {
this . police_level = police_level ;
}
public int getMypageNo ( ) {
return mypageNo ;
}
public void setMypageNo ( int mypageNo ) {
this . mypageNo = mypageNo ;
}
public int getMypageSize ( ) {
return mypageSize ;
}
public void setMypageSize ( int mypageSize ) {
this . mypageSize = mypageSize ;
}
public String getQueryNEChild ( ) {
return queryNEChild ;
}
public void setQueryNEChild ( String queryNEChild ) {
this . queryNEChild = queryNEChild ;
}
public String getNodeId ( ) {
return nodeId ;
}
public void setNodeId ( String nodeId ) {
this . nodeId = nodeId ;
}
public Integer getCheckType ( ) {
return checkType ;
}
public void setCheckType ( Integer checkType ) {
this . checkType = checkType ;
}
public String getDetectionSetInfoId ( ) {
return detectionSetInfoId ;
}
public void setDetectionSetInfoId ( String detectionSetInfoId ) {
this . detectionSetInfoId = detectionSetInfoId ;
}
}