private void init() {

    UIUtilities.asyncInvoke(
        new DefaultInvokeHandler<List<SearchCondition>>() {

          public List<SearchCondition> execute() throws Exception {

            List<SearchCondition> needDisplaySearchConditonList =
                SearchConditionUtil.getNeedDisplaySearchConditonListJoinRole(
                    WorkEnv.getInstance().getCurrUserId(),
                    ZcSettingConstants.TAB_ID_ZC_EB_EVAL_REPORT);

            return needDisplaySearchConditonList;
          }

          public void success(List<SearchCondition> needDisplaySearchConditonList) {

            List<TableDisplay> showingDisplays =
                SearchConditionUtil.getNeedDisplayTableDisplay(needDisplaySearchConditonList);

            init(createDataDisplay(showingDisplays), null); // 调用父类方法

            revalidate();

            repaint();
          }
        });
  }
    @Override
    protected void handleTableDisplayActived(
        AbstractSearchConditionItem[] searchConditionItems, final TableDisplay tableDisplay) {

      elementConditionDto.setWfcompoId(getCompoId());

      elementConditionDto.setExecutor(WorkEnv.getInstance().getCurrUserId());

      elementConditionDto.setNd(WorkEnv.getInstance().getTransNd());

      elementConditionDto.setStatus(tableDisplay.getStatus());

      elementConditionDto.setZcText0("offLine");

      for (AbstractSearchConditionItem item : searchConditionItems) {

        item.putToElementConditionDto(elementConditionDto);
      }

      final Container c = tableDisplay.getTable().getParent();

      UIUtilities.asyncInvoke(
          new DefaultInvokeHandler<TableModel>() {

            @Override
            public void before() {

              assert c != null;

              installLoadingComponent(c);
            }

            @Override
            public void after() {

              assert c != null;

              unInstallLoadingComponent(c);

              c.add(tableDisplay.getTable());
            }

            public TableModel execute() throws Exception {

              return new ZcEbEvalReportToTableModelConverter()
                  .convertToTableModel(
                      self.zcEbEvalServiceDelegate.getZcEbEvalReportList(
                          elementConditionDto, requestMeta));
            }

            public void success(TableModel model) {

              tableDisplay.setTableModel(model);

              setButtonsVisiable();
            }
          });
    }
  private void doSuggestPass() {

    List ZcEbEvalReportList = getCheckedList();

    if (ZcEbEvalReportList.size() == 0) {

      JOptionPane.showMessageDialog(this, "请选择需要送审的数据!", "提示", JOptionPane.INFORMATION_MESSAGE);

      return;
    }

    boolean success = true;

    try {

      GkCommentDialog commentDialog =
          new GkCommentDialog(this.getParentWindow(), ModalityType.APPLICATION_MODAL);

      if (commentDialog.cancel) {

        return;
      }

      String comment = commentDialog.getComment();

      for (int i = 0; i < ZcEbEvalReportList.size(); i++) {

        ZcEbEvalReport zcEbEvalReport = (ZcEbEvalReport) ZcEbEvalReportList.get(i);

        zcEbEvalReport.setComment(comment);

        if (WorkEnv.getInstance().containRole(AsOptionMeta.getOptVal("OPT_ZC_CGZX_FZR_ROLE"))) {

          zcEbEvalReport.setIsGoonAudit(0);
        }
      }

      requestMeta.setFuncId(this.suggestPassButton.getFuncId());

      zcEbEvalServiceDelegate.auditFN(ZcEbEvalReportList, requestMeta);

    } catch (BaseException ex) {

      success = false;

      UIUtilities.showStaickTraceDialog(ex, this, "错误", ex.getMessage());
    }

    if (success) {

      JOptionPane.showMessageDialog(this, "处理成功!", "提示", JOptionPane.INFORMATION_MESSAGE);

      refreshCurrentTabData();
    }
  }
  private void doDelete() {

    if (getCheckedList().size() == 0) {

      JOptionPane.showMessageDialog(this, "请选择需要删除的数据!", "提示", JOptionPane.INFORMATION_MESSAGE);

      return;
    }

    int result =
        JOptionPane.showConfirmDialog(self, "是否要删除选中的数据?", "删除确认", JOptionPane.YES_NO_OPTION);

    if (result != JOptionPane.YES_OPTION) {

      return;
    }

    boolean success = true;

    try {

      zcEbEvalServiceDelegate.deleteZcEbEvalReportFN(getCheckedList(), requestMeta);

    } catch (BaseException ex) {

      success = false;

      UIUtilities.showStaickTraceDialog(ex, this, "错误", ex.getMessage());
    }

    if (success) {

      JOptionPane.showMessageDialog(this, "处理成功!", "提示", JOptionPane.INFORMATION_MESSAGE);

      refreshCurrentTabData();
    }
  }
  public void doUnTread() {

    List ZcEbEvalReportList = getCheckedList();

    if (ZcEbEvalReportList.size() == 0) {

      JOptionPane.showMessageDialog(this, "请选择需要退回的数据!", "提示", JOptionPane.INFORMATION_MESSAGE);

      return;
    }

    boolean success = true;

    try {

      requestMeta.setFuncId(unTreadButton.getFuncId());

      GkCommentUntreadDialog commentDialog =
          new GkCommentUntreadDialog(this.getParentWindow(), ModalityType.APPLICATION_MODAL);

      if (commentDialog.cancel) {

        return;
      }

      String comment = commentDialog.getComment();

      for (int i = 0; i < ZcEbEvalReportList.size(); i++) {

        ZcEbEvalReport zcEbEvalReport = (ZcEbEvalReport) ZcEbEvalReportList.get(i);

        zcEbEvalReport.setComment(comment);
      }

      zcEbEvalServiceDelegate.untreadFN(ZcEbEvalReportList, requestMeta);

    } catch (BaseException ex) {

      success = false;

      logger.error(ex.getStackTraceMessage(), ex);

      success = false;

      UIUtilities.showStaickTraceDialog(ex, this, "错误", ex.getMessage());

    } catch (OtherException ex) {

      success = false;

      logger.error(ex.getStackTraceMessage(), ex);

      success = false;

      UIUtilities.showStaickTraceDialog(ex, this, "错误", ex.getMessage());

    } catch (Exception ex) {

      success = false;

      logger.error(ex.getMessage(), ex);

      UIUtilities.showStaickTraceDialog(ex, this, "错误", ex.getMessage());
    }

    if (success) {

      JOptionPane.showMessageDialog(this, "处理成功!", "提示", JOptionPane.INFORMATION_MESSAGE);

      refreshCurrentTabData();
    }
  }
package com.ufgov.zc.client.zc.auditsheet;