📄 metertablemodel.java
字号:
/*
* MeterTableModel.java
*
* Created on 2003年9月5日, 下午1:46
*/
package collector.gui.model;
import java.util.*;
import javax.swing.table.*;
import collector.gui.method.*;
import pbs.service.defineobject.*;
import pbs.service.function.*;
import pbs.service.struct.*;
import pbs.service.vo.*;
public class MeterTableModel
extends AbstractTableModel {
String[] columnNames = new String[5];
Object[][] data = new Object[5][5];
ArrayList m_meterlist = new ArrayList();
getMeterFieldName m_gMFN = new getMeterFieldName();
meter MyMeter = null;
public MeterTableModel(ArrayList m_pMeterlist) {
super();
this.m_meterlist = m_pMeterlist;
meterDefine mDefine = new meterDefine();
columnNames = new String[20];
data = new Object[m_meterlist.size()][20];
FieldValue fv = new FieldValue();
columnNames[0] = m_gMFN.getChName(mDefine.METER_NAME_NO);
columnNames[1] = m_gMFN.getChName(mDefine.METER_NO_NO);
columnNames[2] = m_gMFN.getChName(mDefine.METER_ADDR_NO);
columnNames[3] = m_gMFN.getChName(mDefine.STATUS_NO);
columnNames[4] = m_gMFN.getChName(mDefine.CT1_NO);
columnNames[5] = m_gMFN.getChName(mDefine.PT1_NO);
columnNames[6] = m_gMFN.getChName(mDefine.CT2_NO);
columnNames[7] = m_gMFN.getChName(mDefine.PT2_NO);
columnNames[8] = m_gMFN.getChName(mDefine.METER_TYPE_ID_NO);
columnNames[9] = m_gMFN.getChName(mDefine.MANUFACTURE_DATE_NO);
columnNames[10] = m_gMFN.getChName(mDefine.PARAM_VALID_TIME_NO);
columnNames[11] = m_gMFN.getChName(mDefine.ADD_TIME_TAG_NO);
columnNames[12] = m_gMFN.getChName(mDefine.BASE_TIME_TAG_NO);
columnNames[13] = m_gMFN.getChName(mDefine.EVENT_SAMPLE_TIME_NO);
columnNames[14] = m_gMFN.getChName(mDefine.DAY_BASE_TIME_TAG_NO);
columnNames[15] = m_gMFN.getChName(mDefine.YC_TIME_TAG_NO);
columnNames[16] = m_gMFN.getChName(mDefine.PHASE_BASE_TIME_TAG_NO);
columnNames[17] = m_gMFN.getChName(mDefine.DAY_NEED_TIME_TAG_NO);
columnNames[18] = m_gMFN.getChName(mDefine.PHASE_NEED_TIME_TAG_NO);
columnNames[19] = m_gMFN.getChName(mDefine.MONTH_NEED_TIME_TAG_NO);
Object[] m_Objects = m_meterlist.toArray();
for (int i = 0; i < m_Objects.length; i++) {
try {
//meter m_meter = (meter) m_Objects[i];
meter m_meter = (meter) (m_meterlist.get(i));
this.setMeter( (meter) m_Objects[i]);
data[i][0] = this.getFieldValue(mDefine.METER_NAME_NO);
data[i][1] = this.getFieldValue(mDefine.METER_NO_NO);
data[i][2] = this.getFieldValue(mDefine.METER_ADDR_NO);
data[i][3] = this.getStatus(this.getFieldValue(mDefine.STATUS_NO));
data[i][4] = this.getFieldValue(mDefine.CT1_NO);
data[i][5] = this.getFieldValue(mDefine.PT1_NO);
data[i][6] = this.getFieldValue(mDefine.CT2_NO);
data[i][7] = this.getFieldValue(mDefine.PT2_NO);
meter_type m_metertype = m_meter.getMeterType();
if (m_metertype != null) {
data[i][8] = this.getString(m_metertype.getMeterTypeName());
}
else {
data[i][8] = "";
}
data[i][9] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.MANUFACTURE_DATE_NO))).longValue());
data[i][10] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.PARAM_VALID_TIME_NO))).longValue());
data[i][11] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.ADD_TIME_TAG_NO))).longValue());
data[i][12] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.BASE_TIME_TAG_NO))).longValue());
data[i][13] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.EVENT_SAMPLE_TIME_NO))).longValue());
data[i][14] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.DAY_BASE_TIME_TAG_NO))).longValue());
data[i][15] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.YC_TIME_TAG_NO))).longValue());
data[i][16] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.PHASE_BASE_TIME_TAG_NO))).longValue());
data[i][17] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.DAY_NEED_TIME_TAG_NO))).longValue());
data[i][18] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.PHASE_NEED_TIME_TAG_NO))).longValue());
data[i][19] = PublicMethod.StringTime( ( (Long) (this.getFieldValue(
mDefine.MONTH_NEED_TIME_TAG_NO))).longValue());
}
catch (Exception e) {
System.out.println("MeterTableModel ---------- Exception");
e.printStackTrace();
System.out.println("MeterTableModel ---------- Exception");
}
}
}
private Object getFieldValue(int no) {
meter m_meter = this.getMeter();
FieldValue fv = m_meter.getFieldValueByNo( (long) (no + 1));
Object m_Object = null;
if (fv.m_field_type == Constant.JAVA_TYPE_INT) {
m_Object = new Integer(fv.m_intValue);
}
else if (fv.m_field_type == Constant.JAVA_TYPE_DOUBLE) {
m_Object = new Double(fv.m_dblValue);
}
else if (fv.m_field_type == Constant.JAVA_TYPE_LONG) {
m_Object = new Long(fv.m_lValue);
}
else {
m_Object = fv.m_strValue;
}
return m_Object;
}
private String getString(Object m_pObject) {
if (m_pObject == null || m_pObject.equals("null")) {
return "";
}
else {
return m_pObject.toString();
}
}
private String getStatisMode(Object m_pObject) {
if (! (m_pObject instanceof Integer)) {
return " ";
}
int m_int = ( (Integer) m_pObject).intValue();
String m_String = new String();
switch (m_int) {
case 1:
m_String = "使用表码值";
break;
case 2:
m_String = "使用负荷曲线";
break;
default:
m_String = "未选";
break;
}
return m_String;
}
private String getPriceMode(Object m_pObject) {
if (! (m_pObject instanceof Integer)) {
return " ";
}
int m_int = ( (Integer) m_pObject).intValue();
String m_String = new String();
switch (m_int) {
case 1:
m_String = "一般模式";
break;
case 2:
m_String = "特殊模式";
break;
default:
m_String = "未选";
break;
}
return m_String;
}
private String getYcType(Object m_pObject) {
if (! (m_pObject instanceof Long)) {
return " ";
}
int m_int = (int) ( ( (Long) (m_pObject)).longValue());
if (m_int == 0) {
return "未选";
}
StringBuffer m_Stringbuffer = new StringBuffer("");
for (int i = 0; i < 4; i++) {
int m_value = (int) ( (m_int >> i) & 0x01);
if (m_value == 0x01) {
switch (i) {
case 0:
m_Stringbuffer.append("有功");
break;
case 1:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("无功");
break;
case 2:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("电压");
break;
case 3:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("电流");
break;
}
}
}
return m_Stringbuffer.toString();
}
private String getStatisType(Object m_pObject) {
if (! (m_pObject instanceof Long)) {
return " ";
}
int m_int = ( (Long) (m_pObject)).intValue();
if (m_int == 0) {
return "未选";
}
StringBuffer m_Stringbuffer = new StringBuffer("");
for (int i = 0; i < 5; i++) {
int m_value = (int) ( (m_int >> i) & 0x01);
if (m_value == 0x01) {
switch (i) {
case 0:
m_Stringbuffer.append("日统计");
break;
case 1:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("周统计");
break;
case 2:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("月统计");
break;
case 3:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("季统计");
break;
case 4:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("年统计");
break;
case 5:
m_Stringbuffer.append("/");
m_Stringbuffer.append("日时段统计");
break;
case 6:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("周时段统计");
break;
case 7:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("月时段统计");
break;
case 8:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("季时段统计");
break;
case 9:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("年时段统计");
break;
}
}
}
return m_Stringbuffer.toString();
}
private String getDateType(Object m_pObject) {
if (! (m_pObject instanceof Long)) {
return " ";
}
long m_long = ( (Long) (m_pObject)).longValue();
int m_int = (int) m_long;
StringBuffer m_Stringbuffer = new StringBuffer("");
for (int i = 0; i < 16; i++) {
int m_value = (int) ( (m_int >> i) & 0x01);
if (m_value == 0x01) {
switch (i) {
case 0:
m_Stringbuffer.append("负荷曲线");
break;
case 1:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("表码值");
break;
case 2:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("零点底码");
break;
case 3:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("时段底码");
break;
case 4:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("日冻结值");
break;
case 5:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("日费率");
break;
case 6:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("日需量");
break;
case 7:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("月冻结值");
break;
case 8:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("月费率");
break;
case 9:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("月需量");
break;
case 10:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("时段冻结值");
break;
case 11:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("时段费率");
break;
case 12:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("时段需量");
break;
default:
m_Stringbuffer.append("/ ");
m_Stringbuffer.append("未选");
break;
}
}
}
return m_Stringbuffer.toString();
}
//pzy 0926
//pzy 0926
private String getMeterPulseType(Object m_pObject) {
if (! (m_pObject instanceof Integer)) {
return " ";
}
int m_int = ( (Integer) (m_pObject)).intValue();
String m_String = new String();
switch (m_int) {
case 1:
m_String = "有功无功";
break;
case 2:
m_String = "有功";
break;
case 3:
m_String = "无功";
break;
case 4:
m_String = "正向有功";
break;
case 5:
m_String = "反向有功";
break;
case 6:
m_String = "正向无功";
break;
case 7:
m_String = "反向无功";
break;
default:
m_String = "未选";
break;
}
return m_String;
}
private String getPorD(Object m_pObject) {
if (! (m_pObject instanceof Integer)) {
return " ";
}
int m_int = ( (Integer) m_pObject).intValue();
String m_String = new String();
switch (m_int) {
case 1:
m_String = "数字表";
break;
case 2:
m_String = "脉冲表";
break;
default:
m_String = "未选";
break;
}
return m_String;
}
private String getStatus(Object m_pObject) {
if (! (m_pObject instanceof Long)) {
return " ";
}
int m_int = (int) ( (Long) m_pObject).longValue();
String m_String = new String();
switch (m_int) {
case 1:
m_String = "正常";
break;
case 2:
m_String = "故障";
break;
case 3:
m_String = "停用";
break;
default:
m_String = "未选";
break;
}
return m_String;
}
private String getYesNo(Object m_pObject) {
if (! (m_pObject instanceof Integer)) {
return " ";
}
int m_int = ( (Integer) m_pObject).intValue();
String m_String = new String();
switch (m_int) {
case 0:
m_String = "否";
break;
case 1:
m_String = "是";
break;
default:
m_String = "未选";
break;
}
return m_String;
}
private String getMinutes(Object m_pObject) {
if (! (m_pObject instanceof Integer)) {
return " ";
}
int minute = ( ( (Integer) m_pObject).intValue()) / 60;
String Min = (new Integer(minute)).toString();
return Min + "分";
}
public meter getMeter() {
return this.MyMeter;
}
public void setMeter(meter m_pmeter) {
this.MyMeter = m_pmeter;
}
public ArrayList getMeterList() {
return this.m_meterlist;
}
public void setMeterList(ArrayList m_pList) {
this.m_meterlist = m_pList;
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public boolean isCellEditable(int row, int col) {
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -