⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataanalys.java.svn-base

📁 通讯采集软件
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
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 + -