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

📄 datapursueframe.java.svn-base

📁 通讯采集软件
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
                        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: {
                        m_Meter.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);
                }
              }
              Stockup.put(new Long(m_Terminal.getTerminalId()), metertypeHash);
              m_Terminal.setEndTime(EndTime.getTime() / 1000l);
              System.out.println("************  一共设置了" + meter_list.size() +
                                 "块电表");
              m_Terminal.setMeters(meter_list);
              if (CheckBox.isSelected()) {
                m_Terminal.setPri(CollectorDefine.HIGH_PRI);
              }
              m_Terminal.setInvalidStatus( -1);
              if (SysConnCheckBox.isSelected()) {
                m_Terminal.setInvalidStatus(1);
              }

              // wj add jCheckBox1
              if (jCheckBox1.isSelected()) {
                if (m_Terminal.getInvalidStatus() == 1) {
                  m_Terminal.setInvalidStatus(3);
                }
                else {
                  m_Terminal.setInvalidStatus(2);
                }
              }

              m_Terminal.setComputerId( -1);
              if (m_channel_obj != null) {
                m_Terminal.setComputerId(m_channel_obj.getChannel().
                                         getChannelId());
                System.out.println("*********** 选中的channel = " +
                                   m_channel_obj.getChannel().getChannelName());
              }
              terminal_list.add(m_Terminal);
              meter_list = null;
            }
          }
          if (terminal_list.size() > 0) {
            Object m_obj = FailimitComboBox.getSelectedItem();
            if (m_obj != null && m_obj instanceof Integer) {

              int faillimit = ( (Integer) m_obj).intValue();
              if (faillimit > 0) {
                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(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);
                }
              }
            }

            //20061117
            //以前是多个计量单元一起发,现在是一个发一个报文,而且是直接发terminal
            for (int i = 0; i < terminal_list.size(); i++) {
              ArrayList cell_list = new ArrayList();
              terminal m_terminal = (terminal) (terminal_list.get(i));
              FrontGuiDefine.m_guimsg.sendPursueMsg(m_terminal);
              try {
                Thread.sleep(10);
              }
              catch (Exception ex) {
                ex.printStackTrace();
              }
            }
            //20061117

            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;
                          

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -