ReportManage.java
2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package com.sitech.jmx.manage;
import com.sitech.base.Config;
import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;
import com.sitech.ismp.messageObject.PerformanceObject;
import com.sitech.util.DateFormater;
import com.sitech.util.mq.DataTunnel;
import com.sitech.util.mq.TunnelFactory;
import java.util.Date;
import java.util.Vector;
/**
* Created with IntelliJ IDEA.
* User: linxc
* Date: 14-1-10
* Time: 上午11:43
* To change this template use File | Settings | File Templates.
*/
public class ReportManage {
public static void reportKPI(Vector<TblATO_KPIDETAIL> kpis){
for(TblATO_KPIDETAIL kpi : kpis){
reportKPI(kpi);
};
}
public static void reportKPI(TblATO_KPIDETAIL kpi) {
PerformanceObject kpidetail = new PerformanceObject();
kpidetail.setUnitId(kpi.UNIT_ID);
kpidetail.setKpiId(kpi.KPI_ID);
kpidetail.setKpiValue(kpi.KPI_VALUE);
kpidetail.setCllTime(kpi.CLL_TIME == null? new Date() : kpi.CLL_TIME);
kpidetail.setCllTimeStr(kpi.CLL_TIME_STR == null ? DateFormater.datetimeToString(new Date()) : kpi.CLL_TIME_STR);
kpidetail.setExtUnitId(getExtUnitId(kpi.UNIT_ID));
reportKPI(kpidetail);
}
public static void reportKPI(PerformanceObject kpi){
TunnelFactory.getTunnel(Config.Q_PERFORMANCE).writeData(kpi);
}
/**
* 获得扩展UNIT_ID,如:10-10-20:deviceId
* @throws
* @since Ver 1.1
*/
public static String getExtUnitId(String unitId){
String extUnitId = "";
if (unitId.startsWith("10")) {
String[] elem = unitId.split(":");
if(elem.length >=2){
String[] kbp = elem[0].split("-");
if (kbp.length >= 3) {
extUnitId = kbp[0] + "-" + kbp[1] + "-" + kbp[2];
}else{
extUnitId = elem[0];
}
String deviceId = elem[1].split("-")[0];
extUnitId += ":" + deviceId;
} else {
extUnitId = "n/r";
}
}else{
// 业务类的EXT_UNIT_ID
String[] elem = unitId.split(":");
extUnitId = elem[0];
}
return extUnitId;
}
}