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

📄 areatreecontrol.java

📁 公司自己开发的工作流引擎
💻 JAVA
字号:
package cn.com.iaspec.workflow.manage.business;

import java.util.*;
import cn.com.iaspec.workflow.vo.db.*;

public class AreaTreeControl{
  private ArrayList list=null;
  public AreaTreeControl(ArrayList list){
    this.list=list;
  }

  public void deleteList(){
    this.list=null;
  }

  /**
   * 按照ID取得下一层的信息
   * @param gID int
   * @return TreeExample[]
   */
  public WfArea[] getByKeyField(String id){
    WfArea[] arrArea=null;
    ArrayList areaList=null;
    if(list!=null&&list.size()>0){
      if(id!=null&&id.equals("-1")){
        areaList=getFirstLevelInfo();
        if(areaList!=null){
          arrArea=new WfArea[areaList.size()];
          arrArea=(WfArea[])areaList.toArray(arrArea);
        }
        return arrArea;
      }
      areaList=getAreaInfo(id);
      arrArea=new WfArea[areaList.size()];
      arrArea=(WfArea[])areaList.toArray(arrArea);
    }
    return arrArea;
  }

  /**
   * 取得树的第一层节点信息
   */
  private ArrayList getFirstLevelInfo(){
    ArrayList array=new ArrayList();
    if(!(list.size()==0)){
      Iterator it=list.iterator();
      while(it.hasNext()){
        WfArea area=(WfArea)it.next();
        if(!checkExistParentNode(area)){
          array.add(area);
        }
      }
    }
    return array;
  }

  /**
   * 检查由id指定的节点的父节点是否在list中存在
   * @return boolean
   */
  private boolean checkExistParentNode(WfArea area){
    boolean bResult=false;
    if(!(list.size()==0)&&area!=null){
      Iterator it=list.iterator();
      while(it.hasNext()){
        WfArea area1=(WfArea)it.next();
        if(area1.getAreaId().equals(area.getUpAreaId())){
          bResult=true;
          break;
        }
      }
    }
    return bResult;
  }

  /**
   * 按照ID取得下一层的信息
   * @param gID int
   * @return ArrayList
   */
  public ArrayList getAreaInfo(String id){
    ArrayList array=new ArrayList();
    if(!(list.size()==0)){
      Iterator it=list.iterator();
      while(it.hasNext()){
        WfArea area=(WfArea)it.next();
        if(area.getUpAreaId().equals(id)){
          array.add(area);
        }
      }
    }
    Collections.sort(array);
    return array;
  }

  public WfArea queryArea(String id){
    WfArea area=new WfArea();
    if(list!=null&&list.size()>0){
      Iterator it=list.iterator();
      while(it.hasNext()){
        WfArea area1=(WfArea)it.next();
        if(area1.getAreaId().equals(id)){
          area=area1;
          break;
        }
      }
    }
    return area;
  }

  /**
   * 判断是否还有子节点
   * @param id String
   * @return boolean
   */
  public boolean existChildren(String id){
    boolean lExist=false;
    ArrayList al=getAreaInfo(id);
    if(!(al.size()==0)){
      lExist=true;
    }
    return lExist;
  }

}

⌨️ 快捷键说明

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