workflowhelper.java

来自「公司自己开发的工作流引擎」· Java 代码 · 共 392 行 · 第 1/2 页

JAVA
392
字号
package cn.com.iaspec.workflow.helper;

import java.sql.*;
import java.util.*;
import org.apache.log4j.*;
import cn.com.iaspec.workflow.engine.*;
import cn.com.iaspec.workflow.engine.ejb.*;
import cn.com.iaspec.workflow.exception.*;
import cn.com.iaspec.workflow.manage.ejb.*;
import cn.com.iaspec.workflow.organize.dao.*;
import cn.com.iaspec.workflow.organize.ejb.*;
import cn.com.iaspec.workflow.privilege.ejb.*;
import cn.com.iaspec.workflow.vo.db.*;
import cn.com.iaspec.workflow.vo.workflow.*;
import cn.com.iaspec.workflow.extbusiness.task.ejb.TaskEJB;
import cn.com.iaspec.workflow.extbusiness.pagemanage.vo.PageInfo;

/**
 *
 * <p>Title:工作流助手类 </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: IASPEC Technologies</p>
 * @author xiesonglin
 * @version 1.0
 */
public class WorkflowHelper {
    private static Logger logger = Logger.getLogger(CaseWorkflowHelper.class);
    public WorkflowHelper() {

    }

    /**
     * 登录验证
     * @param userId String 用户id
     * @param password String 密码
     * @return UserInfo 用户信息对象
     */
    public UserInfo login(String loginName, String password) throws
            Exception {//IncorrectLoginIdException, IncorrectPasswordException,
        long startTime = System.currentTimeMillis();

            WorkflowEJBHandle handle = new WorkflowEJBHandle();
            try{
            PrivilegeEJB ejb = handle.getPrivileEJB();
            UserInfo result = ejb.login(loginName, password);
            System.out.println("Execution login time: " +
                               (System.currentTimeMillis() - startTime) +
                               " ms.");
            logger.info("Execution login time: " +
                        (System.currentTimeMillis() - startTime) +
                        " ms.");
            return result;

        }
        catch(Exception e)
        {
            throw new Exception(e.getMessage());
        }



    }

    /**
     * 查询组织信息
     * @param org LaOrganization
     * @throws SQLException
     * @return List
     */
    public List queryOrgnization(WfOrganization org) throws SQLException {
        long startTime = System.currentTimeMillis();
        WfOrganizationDAO dao = new WfOrganizationDAO();
        List result = dao.query(org);
        logger.info("Execution queryOrgnization time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
        return result;
    }

    /**
     * 取得工作项的相关变量信息
     * @param workItemId int
     * @param userInfo UserInfo
     * @return WMTAttribute[]
     */
    public ActivityVariable[] getWorkItemAllVariableValue(long workItemId,
            UserInfo userInfo) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        ActivityVariable[] result = ejb.getWorkItemAllVariableValue(workItemId,
                userInfo);
        logger.info("Execution getWorkItemAllVariableValue time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
        return result;

    }

    /**
     *  返回活动节点的对象NextActivityInfod对象(根据userinfo和工作项的ID:workItemID查询)
     * @param userinfo UserInfo
     * @param workItemID long
     * @return NextActivityInfo
     */
    public NextActivityInfo getNextActivityInfo(UserInfo userInfo,
                                                long workItemId) throws
            Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        NextActivityInfo result = ejb.getNextActivityInfo(userInfo, workItemId);
        logger.info("Execution getNextActivityInfo time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
        return result;
    }

    public ProcessDefine startPorcessDefine(UserInfo userInfo,
                                            long processDefineId,
                                            String procInstName, String desc) throws
            CreateInstanceException, Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        ProcessDefine result = ejb.startPorcessDefine(userInfo, processDefineId,
                procInstName, desc);
        logger.info("Execution startPorcessDefine time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
        return result;
    }

    /**
     * 检出的工作项
     * @param userInfo UserInfo
     * @param workItemId long
     * @throws Exception
     */
    public void checkOutWorkItem(UserInfo userInfo, long workItemId) throws
            Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        ejb.checkOutWorkItem(userInfo, workItemId);
        logger.info("Execution checkOutWorkItem time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
    }

    /**
     * 取得组织树信息
     * @param userinfo UserInfo 当前用户
     * @param orgRels String 部门所属关系
     * @param actorSelModes String 用户选择类型
     * @param caseAreaId String 所属行政区
     * @param activityId String 活动定义id
     * @return ArrayList 由TreeExample组成的list;
     */
    public ArrayList getOrgCollectionData(UserInfo userInfo, String orgRels,
                                          String actorSelModes,
                                          String caseAreaId, String activityId) throws
            Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        OrganizationInfoEJB ejb = handle.getOrganizationInfoEJB();
        ArrayList result = ejb.getOrgCollectionData(userInfo, orgRels,
                actorSelModes,
                caseAreaId, activityId);
        logger.info("Execution getOrgCollectionData time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
        return result;
    }

    /**
     * 取得待办任务个数
     * @param proInstanceID long
     * @return Task
     * @throws GetTaskBaseInfoException
     */
    public long getTaskListCount(UserInfo userInfo) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        long result = ejb.getTaskListCount(userInfo);
        logger.info("Execution getTaskListCount time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
        return result;
    }

    /**
     * 取得用户有权限办理的一级菜单信息
     * @param userId String 用户id
     * @return List
     */
    public List getUserFirstFuncInfo(String userId) throws Exception {

⌨️ 快捷键说明

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