zoukankan      html  css  js  c++  java
  • activiti当前任务高亮(解决乱码问题)

    package com.xinwei;
    
    import java.io.File;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.activiti.bpmn.model.BpmnModel;
    import org.activiti.engine.ProcessEngine;
    import org.activiti.engine.ProcessEngines;
    import org.activiti.engine.TaskService;
    import org.activiti.engine.task.Task;
    import org.activiti.image.ProcessDiagramGenerator;
    import org.apache.commons.io.FileUtils;
    import org.apache.commons.io.IOUtils;
    
    public class TraceProcessInstaceUtil {
        public static void main(String[] args) {
            generateImage("42501");
        }
        public static byte[] generateImage(String processInstanceId){
              //1.创建核心引擎流程对象processEngine
          ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
            TaskService taskService = processEngine.getTaskService();
            Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
            //流程定义
            BpmnModel bpmnModel = processEngine.getRepositoryService().getBpmnModel(task.getProcessDefinitionId()); 
            
            //正在活动节点
            List<String> activeActivityIds = processEngine.getRuntimeService().getActiveActivityIds(task.getExecutionId());
    
            ProcessDiagramGenerator pdg = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator();
          
           //得到图片输出流(这样加可防止生成的流程图片乱码)
          InputStream inputStream = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator()
                   .generateDiagram(bpmnModel, "png", activeActivityIds, new ArrayList(),
                            processEngine.getProcessEngineConfiguration().getActivityFontName(),
                            processEngine.getProcessEngineConfiguration().getLabelFontName(), null, 1.0);
          try {  
              //生成本地图片
              File file = new File("D:/test1.png");
              FileUtils.copyInputStreamToFile(inputStream, file);
              System.out.println("生成流程图成功");
              return IOUtils.toByteArray(inputStream);  
           } catch (Exception e) {  
               throw new RuntimeException("生成流程图异常!", e);  
           } finally {  
               IOUtils.closeQuietly(inputStream); 
           }  
        }
    }

    附:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jee="http://www.springframework.org/schema/jee"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
           http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
    
        <bean id="processEngineConfiguration"
            class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
            <!-- 连接数据的配置 -->
            <property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
            <property name="jdbcUrl"
                value="jdbc:mysql://localhost:3306/activitidemo?useUnicode=true&amp;characterEncoding=utf8"></property>
            <property name="jdbcUsername" value="root"></property>
            <property name="jdbcPassword" value="xinwei"></property>
            <property name="activityFontName" value="宋体" />
            <property name="labelFontName" value="宋体" />
            <!-- 没有表创建表 -->
            <property name="databaseSchemaUpdate" value="true"></property>
        </bean>
    
    </beans>
  • 相关阅读:
    P4936 题解
    初赛
    洛谷P2763题解
    探秘最小生成树&&洛谷P2126题解
    洛谷P2630 题解
    洛谷P2125 题解
    洛谷P1510 题解
    洛谷P3572题解
    Codeforces 448C Painting Fence(分治法)
    Codeforces 999F Cards and Joy(二维DP)
  • 原文地址:https://www.cnblogs.com/alamps/p/6210266.html
Copyright © 2011-2022 走看看