📄 复件 datapursueframe.java.txt.svn-base
字号:
m_term.setCurStatus(faillimit);
terminal_list.set(i, m_term);
}
}
else {
System.out.println("&&&&&&&&&&&&&&&& faillimit = " + faillimit);
for (int i = 0; i < terminal_list.size(); i++) {
terminal m_term = (terminal) (terminal_list.get(i));
m_term.setCurStatus( -1);
terminal_list.set(i, m_term);
}
}
}
FrontGuiDefine.m_guimsg.sendPursueMsg(terminal_list);
int rowcount = m_model.getRowCount();
for (int i = 0; i < rowcount; i++) {
m_model.removeRow(0);
}
String message = "成功发送 " + terminal_list.size() + " 个追补任务!";
String title = "注意";
JOptionPane.showMessageDialog(this, message, title,
JOptionPane.WARNING_MESSAGE);
m_obj = FailimitComboBox.getSelectedItem();
if (m_obj != null && m_obj instanceof Integer) {
int faillimit = ( (Integer) m_obj).intValue();
if (faillimit > 0) {
for (int i = 0; i < terminal_list.size(); i++) {
terminal tmp_term = (terminal) (terminal_list.get(i));
terminal m_term = (terminal) (CollectorDefine.m_HashTerminal.
get(new Long(tmp_term.
getTerminalId())));
m_term.setCurStatus( -1);
}
}
}
this.SendTermList = terminal_list;
terminal_list = null;
if (Stockup.keySet() != null) {
Object[] term_id_Array = Stockup.keySet().toArray();
for (int m = 0; m < term_id_Array.length; m++) {
terminal needreset_term = (terminal) (CollectorDefine.
m_HashTerminal.get( (Long) term_id_Array[m]));
if (needreset_term.getUnitType() ==
CollectorDefine.TERMINAL_TYPE) {
Long tasktype = (Long) (Stockup.get( (Long) term_id_Array[m]));
if (tasktype != null) {
(needreset_term.getTermDevice()).setTaskType(tasktype.
longValue());
}
}
else {
Collection resetmeters = needreset_term.getMeters();
if (resetmeters != null) {
Object[] meters_array = resetmeters.toArray();
for (int h = 0; h < meters_array.length; h++) {
meter reset_meter = (meter) (meters_array[h]);
if (reset_meter != null) {
meter_type reset_metertype = reset_meter.getMeterType();
if (reset_metertype != null) {
long id = reset_metertype.getMeterTypeId();
HashMap metertype_hash = (HashMap) (Stockup.get( (
Long) term_id_Array[m]));
Integer reset_int = (Integer) (metertype_hash.get(new
Long(id)));
if (reset_int != null) {
reset_metertype.setPulseItem(reset_int.intValue());
}
}
}
}
}
}
}
}
}
}
else if (PursueTypeTabbedPane.getSelectedIndex() == 1) { //按电表追补
terminal_list = new ArrayList();
HashMap Stockup = new HashMap();
HashMap terminal_id_hash = new HashMap();
System.out.println("选中的电表一共有 " + m_model.getRowCount() + " 块");
for (int i = 0; i < m_model.getRowCount(); i++) {
m_MyMeterListElement = (MyMeterListElement) (m_model.
getValueAt(i, 1));
meter m_meter = m_MyMeterListElement.getMeter();
long terminal_id = m_meter.getTerminalId();
if (terminal_id_hash.get(new Long(terminal_id)) == null) {
ArrayList meterlist = new ArrayList();
meterlist.add(m_meter);
terminal_id_hash.put(new Long(terminal_id), meterlist);
}
else if (terminal_id_hash.get(new Long(terminal_id)) != null) {
ArrayList meterlist = (ArrayList) (terminal_id_hash.get(new Long(
terminal_id)));
meterlist.add(m_meter);
terminal_id_hash.put(new Long(terminal_id), meterlist);
}
}
if (terminal_id_hash.size() > 0) {
Object[] keyset = terminal_id_hash.keySet().toArray();
System.out.println("这些电表分别属于 " + keyset.length + " 个终端");
for (int i = 0; i < keyset.length; i++) {
Long term_id = (Long) (keyset[i]);
terminal m_terminal = (terminal) (CollectorDefine.m_HashTerminal.
get(term_id));
System.out.println("第 " + new Integer(i + 1).toString() +
" 个终端名: " + m_terminal.getTerminalName());
if (m_terminal != null) {
ArrayList meterlist = (ArrayList) (terminal_id_hash.get(term_id));
if (meterlist != null && meterlist.size() > 0) {
meter_Array = meterlist.toArray(); //一个终端下面的选中的电表///////////
UnitType = m_terminal.getUnitType();
StartTime = (Date) (m_model.getValueAt(i, 3));
EndTime = (Date) (m_model.getValueAt(i, 4));
m_FuncListObject = (FuncListObject) (m_model.getValueAt(i, 2));
func_code = m_FuncListObject.getFuncCode();
if (UnitType == CollectorDefine.TERMINAL_TYPE) {
meter_list = new ArrayList();
m_termdevice = m_terminal.getTermDevice();
long temp_type_long;
if (m_termdevice != null) {
System.out.println("************ 终端类型:" +
m_terminal.getTerminalName() +
" func_code = " +
m_FuncListObject.toString());
long type_long = 0;
for (int k = 0; k < func_code.length; k++) {
type_long += new Double(Math.pow(2, func_code[k])).
longValue();
}
System.out.println("");
System.out.println("************ type_long = " +
type_long);
int Inttype = new Long(type_long).intValue();
System.out.println("************ type_long bin = " +
Integer.toBinaryString(Inttype));
temp_type_long = m_termdevice.getTaskType();
Stockup.put(new Long(m_terminal.getTerminalId()),
new Long(temp_type_long));
m_termdevice.setTaskType(type_long);
m_terminal.setTermDevice(m_termdevice);
int meters_length = meter_Array.length;
System.out.println("一共有 " + meter_Array.length + " 块电表");
for (int m = 0; m < func_code.length; m++) {
for (int j = 0; j < meters_length; j++) {
m_Meter = (meter) (meter_Array[j]);
m_time = StartTime.getTime() / 1000l;
switch (func_code[m]) {
case Constant.HIS_DATA_TYPE_ADD_VALUE:
m_Meter.setAddTimeTag(m_time);
break;
case Constant.HIS_DATA_TYPE_BASE_VALUE:
m_Meter.setBaseTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_DAY_BASE:
m_Meter.setDayBaseTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_PHASE_BASE:
m_Meter.setPhaseBaseTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_DAY_NEED:
m_Meter.setDayNeedTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_PHASE_NEED:
m_Meter.setPhaseNeedTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_MONTH_NEED:
m_Meter.setMonthNeedTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_MONTH_PHASE_NEED:
m_Meter.setMonthPhaseNeedTimeTag(m_time);
break;
case Constant.HIS_DATA_TYPE_YC:
m_Meter.setYcTimeTag(m_time);
break;
case Constant.METER_EVENT: {
if (m_termdevice != null) {
m_termdevice.setEventSampleTime(m_time);
}
break;
}
case Constant.HIS_IP_TYPE_ADD_VALUE:
m_Meter.setIpTimeTag(m_time);
break;
case Constant.HIS_IP_TYPE_BASE_VALUE:
m_Meter.setIpBaseTimeTag(m_time);
break;
case Constant.METER_IP_TYPE_DAY_BASE:
break;
default:
break;
}
meter_list.add(m_Meter);
}
}
m_terminal.setEndTime(EndTime.getTime() / 1000l);
m_terminal.setMeters(meter_list);
if (CheckBox.isSelected()) {
m_terminal.setPri(CollectorDefine.HIGH_PRI);
}
m_terminal.setInvalidStatus( -1); //m_Terminal.setInvalidStatus( -1);
if (SysConnCheckBox.isSelected()) {
m_terminal.setInvalidStatus(1); //m_Terminal.setInvalidStatus(1);
}
else {
m_terminal.setInvalidStatus( -1); //m_Terminal.setInvalidStatus( -1);
}
terminal_list.add(m_terminal);
meter_list = null;
}
}
else { //非终端类型
System.out.println("************ 非终端类型: " +
m_terminal.getTerminalName() +
" func_code = " +
m_FuncListObject.toString());
meter_list = new ArrayList();
int meters_length = meter_Array.length;
System.out.println("meters_length = " + meters_length);
HashMap metertypeHash = new HashMap();
for (int j = 0; j < meters_length; j++) {
m_Meter = (meter) (meter_Array[j]);
if (m_Meter != null) {
m_MeterType = m_Meter.getMeterType();
if (m_MeterType == null) {
continue;
}
else {
System.out.println("************ 第" + j + "块电表 " +
m_Meter.getMeterName());
long type_long = 0;
for (int k = 0; k < func_code.length; k++) {
type_long += new Double(Math.pow(2, func_code[k])).
longValue();
}
metertypeHash.put(new Long(m_MeterType.getMeterTypeId()),
new Integer(m_MeterType.
getPulseItem()));
m_MeterType.setPulseItem(new Long(type_long).intValue());
m_Meter.setMeterType(m_MeterType);
System.out.println(
"************ 设置过以后的meter中的PulseItem :" +
(m_Meter.getMeterType()).getPulseItem());
}
m_time = StartTime.getTime() / 1000l;
for (int m = 0; m < func_code.length; m++) {
switch (func_code[m]) {
case Constant.HIS_DATA_TYPE_ADD_VALUE:
m_Meter.setAddTimeTag(m_time);
break;
case Constant.HIS_DATA_TYPE_BASE_VALUE:
m_Meter.setBaseTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_DAY_BASE:
m_Meter.setDayBaseTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_PHASE_BASE:
m_Meter.setPhaseBaseTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_DAY_NEED:
m_Meter.setDayNeedTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_PHASE_NEED:
m_Meter.setPhaseNeedTimeTag(m_time);
break;
case Constant.METER_DATA_TYPE_MONTH_NEED:
m_Meter.setMonthNeedTimeTag(m_time);
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -