workflowhelper.java

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

JAVA
392
字号
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        PrivilegeEJB ejb = handle.getPrivileEJB();
        List result = ejb.getUserFirstFuncInfo(userId);
        logger.info("Execution getUserFirstFuncInfo time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
        return result;
    }

    /**
     * 取得指定用户、指定菜单下用户有权限办理的功能菜单的id(不包含指定的菜单ID)
     * @param userId String
     * @param funcId String
     * @throws SQLException
     * @return List
     */
    public List getUserSubFuncInfo(String userId, String funcId) throws
            Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        PrivilegeEJB ejb = handle.getPrivileEJB();
        List result = ejb.getUserSubFuncInfo(userId, funcId);
        logger.info("Execution getUserSubFuncInfo time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
        return result;
    }

    /**
     * 创建工作流后对工作流进行保存,将业务与工作流建立起关联
     * @param wfProInfo 工作流处理信息对象
     * @param businessId 业务id
     * @throws Exception
     */
    public void newAndSaveWorkflow(WorkflowProcessInfo wfProInfo,
                                   String businessId) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        ejb.newAndSaveWorkflow(wfProInfo, businessId);
        logger.info("Execution newAndSaveWorkflow time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");

    }

    /**
     * 已办任务查询
     * @param condition TaskQueryCondition
     * @param page PageInfo
     * @throws Exception
     * @return List
     */
    public List queryCaseTask(TaskQueryCondition condition,
                              cn.com.iaspec.workflow.data.PageInfo page) throws
            Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        List result = ejb.queryCaseTask(condition, page);
        logger.info("Execution queryCaseTask time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
        return result;
    }

    /**
     * 取得待办任务
     * @param queryList List
     * @param condition TaskListQueryCondition
     * @return List
     */
    public ArrayList getTaskListByUser(UserInfo userInfo) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        ArrayList result = ejb.getTaskListByUser(userInfo);
        logger.info("Execution getTaskListByUser time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
        return result;
    }

    /**
     * 根据工作流流程定义id启动工作流
     * @param processDefineId long 流程定义id
     * @param businessName String 业务名称
     * @param businessType String 业务类型
     * @param userInfo UserInfo
     * @return StartedProcessInfo 工作流启动返回信息
     */
    public StartedProcessInfo createAndStartProcess(long processDefineId,
            String businessName, String businessType, UserInfo userInfo,
            ArrayList prcesseVars) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        StartedProcessInfo result = ejb.createAndStartProcess(processDefineId,
                businessName, businessType, userInfo, prcesseVars);
        logger.info("Execution createAndStartProcess time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
        return result;
    }

    /**
     * 根据工作流流程定义名称启动工作流
     * @param processDefineName String 流程定义名称
     * @param businessName String 业务名称
     * @param businessType String 业务类型
     * @param userInfo UserInfo
     * @return StartedProcessInfo 工作流启动返回信息
     */
    public StartedProcessInfo createAndStartProcess(String processDefineName,
            String businessName, String businessType, UserInfo userInfo,
            ArrayList prcesseVars) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        StartedProcessInfo result = ejb.createAndStartProcess(processDefineName,
                businessName, businessType, userInfo, prcesseVars);
        logger.info("Execution createAndStartProcess time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
        return result;
    }

    /**
     * 根据流程实例id更新对应的项目标题
     * @param title long 标题
     * @param processInstanceId String 流程实例id
     */
    public void updateProcessTitle(String title, long processInstanceId) throws
            Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        ejb.updateProcessTitle(title, processInstanceId);
        logger.info("Execution updateProcessTitle time: " +
                    (System.currentTimeMillis() -
                     startTime) + " ms.");
    }

    /**
     * 更新项目标题
     * @param title String 标题
     * @param projectId String 项目id
     */
    public void updatePublicProjectTitle(String title, long projectId) throws
            Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        ejb.updatePublicProjectTitle(title, projectId);
        logger.info("Execution updatePublicProjectTitle time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
    }

    /**
     * 根据查询条件和当前用户信息,获取待办任务
     * @param taskQryForm 查询form(发送人、标题、任务名称和用户信息)及与页码等
     */
    public PageInfo getNeedExecuteTask(PageInfo pageVars) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handler = new WorkflowEJBHandle();

        TaskEJB ejb = handler.getTaskEJB();
        PageInfo pageResult = ejb.getNeedExecuteTask(pageVars);

        return pageResult;
    }

    public void setEngineConnectInfo(String hostName, String portName,
                                     String dbType) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handler = new WorkflowEJBHandle();

        EngineEJB engineEjb = handler.getEngineEJB();
        engineEjb.setEngineConnectInfo(hostName, portName, dbType);
    }

    /**
     * 取得活动的代理信息
     * @param activitys 活动uid数组
     * @return HashMap
     */
    public HashMap getActivityAgenInfo(String[] activityUids) throws Exception {
        long startTime = System.currentTimeMillis();
        WorkflowEJBHandle handle = new WorkflowEJBHandle();
        EngineEJB ejb = handle.getEngineEJB();
        HashMap result = ejb.getActivityAgenInfo(activityUids);
        logger.info("Execution getActivityAgenInfo time: " +
                    (System.currentTimeMillis() - startTime) + " ms.");
        return result;
    }

}

⌨️ 快捷键说明

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