zoukankan      html  css  js  c++  java
  • activiti源代码的细节

    由于activiti-explorer-5.14的web演示程序使用的是vaadin服务器端ui组件,程序关键点找起来还是有些麻烦,vaadin的这种web框架,就是不需要专门美术界面人员,只需要程序员一人,就可以生成程序化的web界面,按钮、窗口什么的都比较标准化,不大可能有参与太多的创意设计以满足功能为主的一种框架,我现在讨厌这种模式。

        我需要流程定义管理、modeler模型编辑修改等代码段,终于在activiti-explorer-5.14-sources.jarorgactivitieditorui下找到这些核心工作类:

    SelectEditorComponent.java

    NewModelPopupWindow.java //新建模型

    ImportUploadReceiver.java //导入模型

    ImageStreamSource.java //流程图数据流

    EditorProcessDefinitionPage.java //编辑定义页

    EditorProcessDefinitionInfoComponent.java //编辑流程定义信息组件

    EditorProcessDefinitionDetailPanel.java //流程定义细节工具栏

    DeployModelPopupWindow.java //部署模型弹出窗口

    DeleteModelPopupWindow.java //删除模型弹出窗口

    CopyModelPopupWindow.java //拷贝模型弹出窗口

    ConvertProcessDefinitionPopupWindow.java //流程定义转换成模型类



    /**
     * 读取流程历史记录
     *
     * @return
     */
    public PaginationDto findFinishedProcessInstacesNotPage(String processInstanceId,PaginationDto pagination) {
    String sql = "select * from act_hi_actinst t where t.proc_inst_id_ = '"+processInstanceId+"' and t.act_type_ != 'exclusiveGateway' and t.act_type_ != 'endEvent' and t.END_TIME_ is not null order by END_TIME_ desc";
    List<HistoricActivityInstance> activityInstances = historyService.createNativeHistoricActivityInstanceQuery().sql(sql).list();
    int totalCount = activityInstances.size();
    PaginationDto p = new PaginationDto();
    p.setDraw(pagination.getDraw());
    p.setLength(pagination.getLength());
    p.setStart(pagination.getStart());
    p.setRecordsTotal(totalCount);
    p.setRecordsFiltered(totalCount);
    if(totalCount<1){
    p.setData(new ArrayList<Object>());
    }else{
    List<AdverseEventHistoryProcessDTO> datas = new ArrayList<AdverseEventHistoryProcessDTO>();
    for(HistoricActivityInstance activityInstance : activityInstances){
    AdverseEventHistoryProcessDTO data = new AdverseEventHistoryProcessDTO();
    //任务ID
    String taskId = activityInstance.getTaskId();
    data.setTaskId(StringUtils.defaultIfEmpty(taskId, ""));
    if(StringUtils.isNotEmpty(taskId)){
    ActHiComment coment =(ActHiComment) workFlowDAO.findEntityByHql("from ActHiComment where procInstId = '"+processInstanceId+"' and taskId = '"+taskId+"'");
    //操作状态
    data.setOperateType(coment.getType());
    //意见
    data.setMessage(coment.getMessage());
    }
    //流程启动人设置
    if(activityInstance.getActivityType().equals("startEvent")){
    List<HistoricIdentityLink> historicIdentityLinks = historyService.getHistoricIdentityLinksForProcessInstance(processInstanceId);
    for(HistoricIdentityLink historicIdentityLink : historicIdentityLinks){
    if(historicIdentityLink.getType().equals("starter")){
    data.setOperator(historicIdentityLink.getUserId());
    data.setOperatorName(workFlowDAO.getUserName(historicIdentityLink.getUserId()));
    data.setOperateType(WorkFlowOperationConstant.WORKFLOW_REPORT);
    break;
    }
    }
    }
    //执行人
    else if(StringUtils.isNotEmpty(activityInstance.getAssignee())){
    data.setOperator(activityInstance.getAssignee());
    data.setOperatorName(workFlowDAO.getUserName(activityInstance.getAssignee()));
    }else{
    data.setOperator("");
    data.setOperatorName("");
    }
    //执行环节
    data.setTaskName(activityInstance.getActivityName());
    //开始时间
    if(null != activityInstance.getStartTime()){
    data.setStartTime(TimeConversionUtils.dateToString(activityInstance.getStartTime(), "yyyy-MM-dd HH:mm:ss"));
    }
    //结束时间
    if(null != activityInstance.getEndTime()){
    data.setEndTime(TimeConversionUtils.dateToString(activityInstance.getEndTime(), "yyyy-MM-dd HH:mm:ss"));
    }
    //耗时
    if(null != activityInstance.getDurationInMillis()){
    data.setHandleTime(String.valueOf(activityInstance.getDurationInMillis()/1000));
    }
    datas.add(data);
    }
    p.setData(datas);
    }
    return p;
    }

     
    AdministrationPage的84行
  • 相关阅读:
    猎户、双子、英仙
    第二卦,还叫我保持现状?
    昨晚的第三卦,就快万劫不复了
    明天要出去办事,看看情况
    luogu P3939 数颜色 |vector
    luogu P2701 [USACO5.3]巨大的牛棚Big Barn |动态规划
    luogu P2345 奶牛集会 |排序+树状数组
    luogu P4943 密室 |最短路
    luogu P4343 [SHOI2015]自动刷题机 |二分答案
    luogu P3110 [USACO14DEC]驮运Piggy Back |最短路
  • 原文地址:https://www.cnblogs.com/maobuji/p/6560236.html
Copyright © 2011-2022 走看看