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

📄 stringdepartmentiteratorhandle.java

📁 基于java的组号查询模块
💻 JAVA
字号:
/*
 * package com.lily.dap.service.organize.impl.facade;
 * class StringDepartmentIteratorHandle
 * 
 * 创建日期 2005-10-29
 *
 * 开发者 zouxuemo
 *
 * 淄博百合电子有限公司版权所有
 */
package com.lily.dap.service.organize.impl;

import com.lily.dap.Constants;
import com.lily.dap.model.organize.Department;
import com.lily.dap.model.organize.Person;
import com.lily.dap.model.organize.Post;
import com.lily.dap.service.organize.DepartmentIteratorHandle;

/**
 * 生成组织机构树所需数据的组织机构遍历事件处理器<br>
 * <br>
 * 初始化数据格式如下定义:<br>
 * id1~type1~code1~name1~parent_type1~parent_id1|id2~type2~code2~name2~parent_type2~parent_id2|...}<br>
 * 定义这样的组织结构:<br>
 * id1<br>
 * |--id11<br>
 * |   |--id111<br>
 * |   \--id112<br>
 * \--id12<br>
 * 则初始化数据如下:<br>
 * id1~type1~code1~name1~''~0|id11~type11~code11~name11~type1~id1|id111~type111~code111~name111~type11~id11|id112~type112~code112~name112~type11~id11|id12~type12~code12~name12~type1~id1
 * 
 * @author zouxuemo
 *
 */
public class StringDepartmentIteratorHandle implements DepartmentIteratorHandle {
    private StringBuffer buf;
    
    /* (非 Javadoc)
     * @see com.lily.dap.service.organize.facade.DepartmentIteratorHandle#iteratorBegin()
     */
    public void iteratorBegin() {
        buf = new StringBuffer();
    }

    /* (非 Javadoc)
     * @see com.lily.dap.service.organize.facade.DepartmentIteratorHandle#iteratorEnd()
     */
    public void iteratorEnd() {
        // TODO 自动生成方法存根

    }

    /* (非 Javadoc)
     * @see com.lily.dap.service.organize.facade.DepartmentIteratorHandle#iteratorRoot(com.lily.dap.model.organize.Department)
     */
    public void iteratorRoot(Department node) {
        buf.append(node.getId());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(node));
        buf.append(Constants.STRING_SEPARATOR2).append(node.getCode());
        buf.append(Constants.STRING_SEPARATOR2).append(node.getName());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(node));
        buf.append(Constants.STRING_SEPARATOR2).append(node.getId());
    }

    /* (非 Javadoc)
     * @see com.lily.dap.service.organize.facade.DepartmentIteratorHandle#iteratorDepartment(com.lily.dap.model.organize.Department)
     */
    public void iteratorDepartment(Department node, Department parent) {
        buf.append(Constants.STRING_SEPARATOR1).append(node.getId());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(node));
        buf.append(Constants.STRING_SEPARATOR2).append(node.getCode());
        buf.append(Constants.STRING_SEPARATOR2).append(node.getName());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(parent));
        buf.append(Constants.STRING_SEPARATOR2).append(parent.getId());
    }

    /* (非 Javadoc)
     * @see com.lily.dap.service.organize.facade.DepartmentIteratorHandle#iteratorPost(com.lily.dap.model.organize.Post)
     */
    public void iteratorPost(Post node, Department parent) {
        buf.append(Constants.STRING_SEPARATOR1).append(node.getId());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(node));
        buf.append(Constants.STRING_SEPARATOR2).append(node.getCode());
        buf.append(Constants.STRING_SEPARATOR2).append(node.getName());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(parent));
        buf.append(Constants.STRING_SEPARATOR2).append(parent.getId());
    }

    /* (非 Javadoc)
     * @see com.lily.dap.service.organize.facade.DepartmentIteratorHandle#iteratorPerson(com.lily.dap.model.organize.Person)
     */
    public void iteratorPerson(Person node, Post parent) {
        buf.append(Constants.STRING_SEPARATOR1).append(node.getId());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(node));
        buf.append(Constants.STRING_SEPARATOR2).append("000");
        buf.append(Constants.STRING_SEPARATOR2).append(node.getName());
        buf.append(Constants.STRING_SEPARATOR2).append(organizeType(parent));
        buf.append(Constants.STRING_SEPARATOR2).append(parent.getId());
    }

    public String toString() {
        return buf.toString();
    }
    
    protected String organizeType(Object obj) {
        if (obj instanceof Department) {
            return "department";
        } else if (obj instanceof Post) {
            return "post";
        } else {
            return "person";
        }
    }
}

⌨️ 快捷键说明

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