📄 dataanalys.java.svn-base
字号:
package collector.gui.model;
import java.text.*;
import java.util.*;
import collector.common.*;
import collector.gui.method.*;
import pbs.service.function.*;
import pbs.service.struct.*;
import pbs.service.vo.*;
public class DataAnalys {
public DataAnalys() {
}
public ArrayList AnalysData(Object p_Object) {
if (! (p_Object instanceof meterData)) {
return null;
}
ArrayList m_list = new ArrayList();
meterData m_meterData = (meterData) p_Object;
//int termNo = m_meterData.getTerminalNo();
int DataType = m_meterData.getDataType();
if (DataType == Constant.HIS_DATA_TYPE_YC) {
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_AP - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_AP, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_IP - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_IP, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_UA - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_UA, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_IA - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_IA, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_UB - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_UB, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_IB - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_IB, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_UC - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_UC, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_IC - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_IC, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.YC_TYPE_PFACTOR - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.YC_TYPE_PFACTOR, -1);
m_list.add(data);
}
}
else if (DataType == Constant.METER_DATA_TYPE_DAY_BASE ||
DataType == Constant.METER_DATA_TYPE_DAY_NEED
|| DataType == Constant.METER_DATA_TYPE_MONTH_NEED) {
Object[] data = this.getData(m_meterData, DataType, -1);
m_list.add(data);
}
else if (DataType == Constant.METER_DATA_TYPE_PHASE_BASE ||
DataType == Constant.METER_DATA_TYPE_PHASE_BASE_WIN
|| DataType == Constant.METER_DATA_TYPE_PHASE_NEED ||
DataType == Constant.METER_DATA_TYPE_MONTH_PHASE_NEED) {
ArrayList datalist = new ArrayList();
for (int i = 0; i < Constant.TOTAL_PHASE_TYPE_NUM; i++) {
Object[] data = this.getData(m_meterData, DataType, i);
datalist.add(data);
}
m_list.add(datalist);
}
else if (DataType == Constant.HIS_IP_TYPE_ADD_VALUE ||
DataType == Constant.HIS_IP_TYPE_BASE_VALUE
|| DataType == Constant.HIS_IP_TYPE_BASE_WIN_VALUE ||
DataType == Constant.METER_IP_TYPE_DAY_BASE) {
if ( ( (m_meterData.getDataInStruct() >> (Constant.IP_TYPE_IP1 - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.IP_TYPE_IP1, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.IP_TYPE_IP2 - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.IP_TYPE_IP2, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.IP_TYPE_IP3 - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.IP_TYPE_IP3, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >> (Constant.IP_TYPE_IP4 - 1)) &
0x01) == 1) {
Object[] data = this.getData(m_meterData, Constant.IP_TYPE_IP4, -1);
m_list.add(data);
}
}
else {
if ( ( (m_meterData.getDataInStruct() >>
(Constant.PULSE_TYPE_POSITIVE_AP - 1)) & 0x01) == 1) {
Object[] data = this.getData(m_meterData,
Constant.PULSE_TYPE_POSITIVE_AP, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >>
(Constant.PULSE_TYPE_REVERSE_AP - 1)) & 0x01) == 1) {
Object[] data = this.getData(m_meterData,
Constant.PULSE_TYPE_REVERSE_AP, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >>
(Constant.PULSE_TYPE_POSITIVE_IP - 1)) & 0x01) == 1) {
Object[] data = this.getData(m_meterData,
Constant.PULSE_TYPE_POSITIVE_IP, -1);
m_list.add(data);
}
if ( ( (m_meterData.getDataInStruct() >>
(Constant.PULSE_TYPE_REVERSE_IP - 1)) & 0x01) == 1) {
Object[] data = this.getData(m_meterData,
Constant.PULSE_TYPE_REVERSE_IP, -1);
m_list.add(data);
}
}
return m_list;
}
private Object[] getData(meterData m_meterData, int type, int phase_type) {
Object[] data = new Object[11];
long termId = m_meterData.getTerminalId();
terminal m_terminal = null;
Object[] m_terms = CollectorDefine.m_HashTerminal.values().toArray();
for (int i = 0; i < m_terms.length; i++) {
if ( ( (terminal) m_terms[i]).getTerminalId() == termId) {
m_terminal = (terminal) m_terms[i];
break;
}
}
if (m_terminal == null) {
data[0] = "无";
}
else {
String term_name = m_terminal.getTerminalName();
data[0] = term_name;
}
long meterId = m_meterData.getMeterId();
meter Mymeter = null;
if (m_terminal != null) {
Collection meters = m_terminal.getMeters();
Object[] meterArray = meters.toArray();
for (int j = 0; j < meterArray.length; j++) {
meter m_meter = (meter) meterArray[j];
String meterName = m_meter.getMeterName();
if (m_meter.getMeterId() == meterId) {
data[1] = meterName;
break;
}
}
}
else if (m_terminal == null || Mymeter == null) {
data[1] = "无";
}
int DataType = m_meterData.getDataType();
String TypeName = "";
TypeName = CollectorDefine.data_nameLable[DataType];
data[3] = TypeName;
data[10] = "";
data[9] = "";
if (DataType == Constant.HIS_DATA_TYPE_YC) {
switch (type) {
case Constant.YC_TYPE_AP:
data[2] = Constant.METER_YC_TYPE_AP_NAME;
break;
case Constant.YC_TYPE_IP:
data[2] = Constant.METER_YC_TYPE_IP_NAME;
break;
case Constant.YC_TYPE_UA:
data[2] = Constant.METER_YC_TYPE_UA_NAME;
break;
case Constant.YC_TYPE_IA:
data[2] = Constant.METER_YC_TYPE_IA_NAME;
break;
case Constant.YC_TYPE_UB:
data[2] = Constant.METER_YC_TYPE_UB_NAME;
break;
case Constant.YC_TYPE_IB:
data[2] = Constant.METER_YC_TYPE_IB_NAME;
break;
case Constant.YC_TYPE_UC:
data[2] = Constant.METER_YC_TYPE_UC_NAME;
break;
case Constant.YC_TYPE_IC:
data[2] = Constant.METER_YC_TYPE_IC_NAME;
break;
case Constant.YC_TYPE_PFACTOR:
data[2] = Constant.METER_YC_TYPE_PFACTOR_NAME;
break;
}
//data[5] = new Double(m_meterData.getYcValue(type));
data[5] = this.FormatDouble(m_meterData.getYcValue(type));
//data[6] = new Long(m_meterData.getYcStatus(type));
data[6] = Long.toBinaryString(m_meterData.getYcStatus(type));
data[7] = "";
data[8] = "";
}
else if (DataType == Constant.METER_DATA_TYPE_DAY_BASE) {
//data[2] = "日电量底码";
if ( ( (m_meterData.getDataInStruct() >>
(Constant.PULSE_TYPE_POSITIVE_AP - 1)) & 0x01) == 1) {
data[2] = "正向有功";
data[5] = this.FormatDouble(m_meterData.getDayBaseRawValue(Constant.
PULSE_TYPE_POSITIVE_AP));
//data[6] = new Long(m_meterData.getDayBaseRawStatus(Constant.PULSE_TYPE_POSITIVE_AP));
data[6] = Long.toBinaryString(m_meterData.getDayBaseRawStatus(Constant.
PULSE_TYPE_POSITIVE_AP));
data[7] = FormatDouble(m_meterData.getDayBaseValue(Constant.
PULSE_TYPE_POSITIVE_AP));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -