zdd преди 3 години
родител
ревизия
3a9f73c5b3
променени са 41 файла, в които са добавени 63 реда и са изтрити 4285 реда
  1. 2 2
      README.md
  2. 28 11
      pom.xml
  3. 0 62
      src/main/java/com/activiti6/Activiti6DemoApplication.java
  4. 0 17
      src/main/java/com/activiti6/common/exception/MyControllerAdvice.java
  5. 0 4
      src/main/java/com/activiti6/common/sadsa.java
  6. 0 68
      src/main/java/com/activiti6/common/utils/MultipartFileToFile.java
  7. 0 42
      src/main/java/com/activiti6/config/MyFilter.java
  8. 0 50
      src/main/java/com/activiti6/config/ScanConfig.java
  9. 0 33
      src/main/java/com/activiti6/config/WebMvcConfigurer.java
  10. 0 37
      src/main/java/com/activiti6/controller/BaseController.java
  11. 0 357
      src/main/java/com/activiti6/controller/ModelerController.java
  12. 0 191
      src/main/java/com/activiti6/controller/ZipFileController.java
  13. 0 119
      src/main/java/com/activiti6/controller/editor/ModelEditorJsonRestResource.java
  14. 0 88
      src/main/java/com/activiti6/controller/editor/ModelSaveRestResource.java
  15. 0 33
      src/main/java/com/activiti6/controller/editor/StencilsetRestResource.java
  16. 0 290
      src/main/java/com/activiti6/controller/image/LeaveNewController.java
  17. 0 492
      src/main/java/com/activiti6/controller/image/MyBaseProcessDefinitionDiagramLayoutResource.java
  18. 0 28
      src/main/java/com/activiti6/controller/image/MyProcessDefinitionDiagramLayoutResource.java
  19. 0 30
      src/main/java/com/activiti6/controller/image/MyProcessInstanceDiagramLayoutResource.java
  20. 0 252
      src/main/java/com/activiti6/controller/image/MyProcessInstanceHighlightsResource.java
  21. 0 24
      src/main/java/com/activiti6/entity/ActivitiUser.java
  22. 0 42
      src/main/java/com/activiti6/entity/AjaxEntityVo.java
  23. 0 23
      src/main/java/com/activiti6/entity/GroupActiviti.java
  24. 0 148
      src/main/java/com/activiti6/entity/MyFormData.java
  25. 0 1051
      src/main/java/com/activiti6/entity/MyFormDataExample.java
  26. 0 149
      src/main/java/com/activiti6/entity/MyFormDataZip.java
  27. 0 22
      src/main/java/com/activiti6/entity/SelectVo.java
  28. 0 148
      src/main/java/com/activiti6/entity/editor/AbstractModel.java
  29. 0 31
      src/main/java/com/activiti6/entity/editor/SaveModel.java
  30. 0 33
      src/main/java/com/activiti6/mapper/MyFormDataMapper.java
  31. 0 5
      src/main/java/com/activiti6/service/ModelService.java
  32. 0 98
      src/main/java/com/activiti6/service/impl/ActivitiService.java
  33. 0 62
      src/main/java/com/activiti6/service/impl/ModelServiceImpl.java
  34. 0 217
      src/main/java/com/activiti6/test/TestActiviti.java
  35. 3 3
      src/main/resources/application-dev.yml
  36. 1 1
      src/main/resources/application.yml
  37. 9 9
      src/main/resources/mapper/MyFormDataMapper.xml
  38. 14 12
      src/main/resources/static/diagram-viewer/index.html
  39. 3 0
      src/main/resources/static/editor-app/configuration/toolbar-default-actions.js
  40. 3 0
      src/main/resources/static/editor-app/toolbar-controller.js
  41. 0 1
      src/main/resources/templates/modeler.ftl

+ 2 - 2
README.md

@@ -1,5 +1,5 @@
-# Activiti6-modeler-demo
-spring boot 1.5.8整合Activiti6.0及其Activiti-modeler
+# Activiti5.22-modeler
+spring boot 1.5.8整合Activiti5.22及其Activiti-modeler
 
 启动项目注意事项:  
 1、修改yml文件数据库地址及其用户名、密码。  

+ 28 - 11
pom.xml

@@ -10,7 +10,7 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>1.5.8.RELEASE</version>
+        <version>1.5.22.RELEASE</version>
         <relativePath/>
     </parent>
 
@@ -27,16 +27,28 @@
     </properties>
 
     <profiles>
+        <!--  配置文件  id 名字    properties 参数   -->
         <profile>
-            <id>test</id>
+            <id>dev</id>
             <!--默认激活当前配置-->
             <activation>
                 <activeByDefault>true</activeByDefault>
             </activation>
             <properties>
-                <profiles.active>test</profiles.active>
+                <profiles.active>dev</profiles.active>
+                <!--  众多参数配置 -->
                 <!-- Docker 配置 -->
-                <docker.dockerHost>http://172.16.90.64:22375</docker.dockerHost>
+                <docker.dockerHost>http://172.16.90.201:22375</docker.dockerHost>
+                <docker.serviceId>DockerHub</docker.serviceId>
+                <docker.image.version>1.0.0</docker.image.version>
+            </properties>
+        </profile>
+        <profile>
+            <id>pro</id>
+            <properties>
+                <profiles.active>pro</profiles.active>
+                <!--  众多参数配置 -->
+                <docker.dockerHost>http://139.186.205.160:22375</docker.dockerHost>
                 <docker.serviceId>DockerHub</docker.serviceId>
                 <docker.image.version>1.0.0</docker.image.version>
             </properties>
@@ -169,6 +181,17 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
+                <!-- 同时发布本地引用包 -->
+                <configuration>
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
@@ -183,14 +206,8 @@
                 <artifactId>docker-maven-plugin</artifactId>
                 <version>1.2.2</version>
                 <configuration>
-<!--
                     <serverId>${docker.serviceId}</serverId>
--->
                     <dockerHost>${docker.dockerHost}</dockerHost>
-                    <!--指定标签-->
-                    <imageTags>
-                        <imageTag>${docker.image.version}</imageTag>
-                    </imageTags>
                     <imageName>docker.io/${project.artifactId}:${docker.image.version}</imageName>
                     <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
                     <resources>
@@ -205,4 +222,4 @@
         </plugins>
     </build>
 
-</project>
+</project>

+ 0 - 62
src/main/java/com/activiti6/Activiti6DemoApplication.java

@@ -1,62 +0,0 @@
-package com.activiti6;
-
-import org.activiti.rest.common.application.ContentTypeResolver;
-import org.activiti.rest.common.application.DefaultContentTypeResolver;
-import org.activiti.rest.service.api.RestResponseFactory;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.FilterRegistrationBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
-import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-@RestController
-@SpringBootApplication(exclude = {
-        org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
-        org.activiti.spring.boot.SecurityAutoConfiguration.class,
-})
-@MapperScan("com.activiti6.mapper")
-//@ComponentScan(basePackages = {"org.activiti.rest"})
-public class Activiti6DemoApplication extends WebMvcConfigurerAdapter {
-    @Override
-    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
-        configurer.favorPathExtension(false);
-    }
-
-    public static void main(String[] args) {
-        SpringApplication.run(Activiti6DemoApplication.class, args);
-    }
-
-    @Bean
-    public RestResponseFactory createRestResponseFactory() {
-        return new RestResponseFactory();
-    }
-
-    @Bean
-    public ContentTypeResolver createContentTypeResolver() {
-        return new DefaultContentTypeResolver();
-    }
-
-    @Bean
-    public FilterRegistrationBean corsFilter() {
-        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-        CorsConfiguration config = new CorsConfiguration();
-        config.setAllowCredentials(true);
-//        config.addAllowedOrigin("http://localhost:8081");
-        config.addAllowedOrigin("*");
-        config.addAllowedHeader("*");
-        config.addAllowedMethod("*");
-        source.registerCorsConfiguration("/**", config); // CORS 配置对所有接口都有效
-        FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
-        bean.setOrder(0);
-        return bean;
-    }
-
-
-}

+ 0 - 17
src/main/java/com/activiti6/common/exception/MyControllerAdvice.java

@@ -1,17 +0,0 @@
-package com.activiti6.common.exception;
-
-import com.activiti6.entity.AjaxEntityVo;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.RestControllerAdvice;
-
-@RestControllerAdvice
-public class MyControllerAdvice {
-
-    @ExceptionHandler(value = Exception.class)
-    public AjaxEntityVo success(Exception e){
-        AjaxEntityVo ajaxEntityVo=new AjaxEntityVo();
-        ajaxEntityVo.setCode(1);
-        ajaxEntityVo.setMsg(e.getMessage());
-        return  ajaxEntityVo;
-    }
-}

+ 0 - 4
src/main/java/com/activiti6/common/sadsa.java

@@ -1,4 +0,0 @@
-package com.activiti6.common;
-
-public class sadsa {
-}

+ 0 - 68
src/main/java/com/activiti6/common/utils/MultipartFileToFile.java

@@ -1,68 +0,0 @@
-package com.activiti6.common.utils;
-
-
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.*;
-
-/**
- * @ClassName MultipartFileToFile
- * @Description MultipartFile转fie
- * @Author zdd
- * @Date 2019/6/19 13:48
- **/
-public class MultipartFileToFile {
-
-    /**
-     * MultipartFile 转 File
-     *
-     * @param file
-     * @throws Exception
-     */
-    public static File multipartFileToFile(MultipartFile file)  {
-
-        File toFile = null;
-        if (file.equals("") || file.getSize() <= 0) {
-            file = null;
-        } else {
-            InputStream ins = null;
-            try{
-                ins = file.getInputStream();
-                toFile = new File(file.getOriginalFilename());
-                inputStreamToFile(ins, toFile);
-                ins.close();
-            }catch (IOException e){
-                e.printStackTrace();
-            }
-
-        }
-        return toFile;
-    }
-
-    //获取流文件
-    private static void inputStreamToFile(InputStream ins, File file) {
-        try {
-            OutputStream os = new FileOutputStream(file);
-            int bytesRead = 0;
-            byte[] buffer = new byte[8192];
-            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
-                os.write(buffer, 0, bytesRead);
-            }
-            os.close();
-            ins.close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    /**
-     * 删除本地临时文件
-     * @param file
-     */
-    public static void delteTempFile(File file) {
-        if (file != null) {
-            File del = new File(file.toURI());
-            del.delete();
-        }
-    }
-}

+ 0 - 42
src/main/java/com/activiti6/config/MyFilter.java

@@ -1,42 +0,0 @@
-package com.activiti6.config;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-import javax.servlet.*;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-import java.util.Map;
-
-@Component
-public class MyFilter implements Filter {
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Override
-    public void init(FilterConfig filterConfig) throws ServletException {
-        System.out.println(" myfilter init");
-    }
-
-    @Override
-    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
-        HttpServletRequest request= (HttpServletRequest) servletRequest;
-        String requestURI = request.getRequestURI();
-        String method = request.getMethod();
-        logger.info("******目标访问参数******");
-        logger.info("目标访问路径:" + requestURI);
-        logger.info("目标访问提交方式:" + method);
-        Map<String, String[]> map = request.getParameterMap();
-        map.forEach((k, v) -> {
-            logger.info("请求参数-- " + k + ": " + v[0]);
-        });
-        logger.info("************************");
-        filterChain.doFilter(servletRequest, servletResponse);
-
-    }
-
-    @Override
-    public void destroy() {
-        System.out.println("myfilter destroy");
-    }
-}

+ 0 - 50
src/main/java/com/activiti6/config/ScanConfig.java

@@ -1,50 +0,0 @@
-package com.activiti6.config;
-
-import org.activiti.engine.ProcessEngineConfiguration;
-import org.activiti.engine.impl.history.HistoryLevel;
-import org.activiti.spring.SpringProcessEngineConfiguration;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.FilterType;
-import org.springframework.transaction.PlatformTransactionManager;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.sql.DataSource;
-
-
-@Configuration
-@ComponentScan(basePackages = {"org.activiti.rest.diagram", "org.activiti.rest"}, includeFilters = {
-        @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = {
-                RestController.class})}, useDefaultFilters = false, lazyInit = false)
-public class ScanConfig {
-    @Autowired
-    private DataSource dataSource;
-    @Autowired
-    private PlatformTransactionManager transactionManager;
-
-    /**
-     * 初始化配置
-     *
-     * @return
-     */
-    @Bean
-    public SpringProcessEngineConfiguration processEngineConfiguration() {
-        SpringProcessEngineConfiguration configuration = new SpringProcessEngineConfiguration();
-        // 执行工作流对应的数据源
-        configuration.setDataSource(dataSource);
-        // 是否自动创建流程引擎表
-        configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);
-        configuration.setAsyncExecutorActivate(false);
-        // 流程历史等级
-        configuration.setHistoryLevel(HistoryLevel.FULL);
-        // 流程图字体
-        configuration.setActivityFontName("宋体");
-        configuration.setAnnotationFontName("宋体");
-        configuration.setLabelFontName("宋体");
-        configuration.setTransactionManager(transactionManager);
-        return configuration;
-
-    }
-}

+ 0 - 33
src/main/java/com/activiti6/config/WebMvcConfigurer.java

@@ -1,33 +0,0 @@
-package com.activiti6.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.Ordered;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
-/**
- * 加载静态资源类
- * liuzhize 2019年3月7日下午3:25:49
- */
-@Configuration
-public class WebMvcConfigurer extends WebMvcConfigurerAdapter {
-
-    @Override
-    public void addResourceHandlers(ResourceHandlerRegistry registry) {
-        String[] resourceHandler={"/static/**","/templates/**"};
-        String[] resourceLocations={"classpath:/static/","classpath:/templates/"};
-        registry.addResourceHandler(resourceHandler)
-                .addResourceLocations(resourceLocations);
-        super.addResourceHandlers(registry);
-    }
-
-    @Override
-    public void addViewControllers(ViewControllerRegistry registry) {
-        registry.addViewController("/").setViewName("forward:/index");
-        registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
-        super.addViewControllers(registry);
-    }
-
-
-}

+ 0 - 37
src/main/java/com/activiti6/controller/BaseController.java

@@ -1,37 +0,0 @@
-package com.activiti6.controller;
-
-import com.activiti6.entity.AjaxEntityVo;
-
-public class BaseController {
-    public AjaxEntityVo success(){
-        AjaxEntityVo ajaxEntityVo=new AjaxEntityVo();
-        ajaxEntityVo.setCode(0);
-        ajaxEntityVo.setMsg("success");
-        return  ajaxEntityVo;
-    }
-
-    public AjaxEntityVo success(Object data){
-        AjaxEntityVo ajaxEntityVo=new AjaxEntityVo();
-        ajaxEntityVo.setCode(0);
-        ajaxEntityVo.setMsg("success");
-        ajaxEntityVo.setData(data);
-        return  ajaxEntityVo;
-    }
-
-    public AjaxEntityVo success(Integer count,Object data){
-        AjaxEntityVo ajaxEntityVo=new AjaxEntityVo();
-        ajaxEntityVo.setCode(0);
-        ajaxEntityVo.setMsg("success");
-        ajaxEntityVo.setData(data);
-        ajaxEntityVo.setCount(count);
-        return  ajaxEntityVo;
-    }
-
-    public AjaxEntityVo error(String msg){
-        AjaxEntityVo ajaxEntityVo=new AjaxEntityVo();
-        ajaxEntityVo.setCode(1);
-        ajaxEntityVo.setMsg(msg);
-        return  ajaxEntityVo;
-    }
-
-}

+ 0 - 357
src/main/java/com/activiti6/controller/ModelerController.java

@@ -1,357 +0,0 @@
-package com.activiti6.controller;
-
-import com.activiti6.controller.editor.ModelSaveRestResource;
-import com.activiti6.entity.AjaxEntityVo;
-import com.activiti6.service.ModelService;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.bpmn.converter.BpmnXMLConverter;
-import org.activiti.bpmn.model.BpmnModel;
-import org.activiti.bpmn.model.Process;
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.editor.language.json.converter.BpmnJsonConverter;
-import org.activiti.engine.HistoryService;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.RuntimeService;
-import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.repository.Model;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URLEncoder;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 流程控制器
- * liuzhize 2019年3月7日下午3:28:14
- */
-@Controller
-public class ModelerController extends BaseController {
-
-    private static final Logger logger = LoggerFactory.getLogger(ModelerController.class);
-
-    @Autowired
-    private RepositoryService repositoryService;
-    @Autowired
-    private ObjectMapper objectMapper;
-
-    @RequestMapping("index")
-    public ModelAndView index(ModelAndView modelAndView) {
-        modelAndView.setViewName("index");
-        modelAndView.addObject("modelList", repositoryService.createModelQuery().list());
-        return modelAndView;
-    }
-
-    @RequestMapping("list")
-    @ResponseBody
-    public AjaxEntityVo list(ModelAndView modelAndView) {
-        List<Model> list = repositoryService.createModelQuery().list();
-        return success(list.size(), list);
-    }
-
-
-    /**
-     * 跳转编辑器页面
-     *
-     * @return
-     */
-    @GetMapping("editor")
-    public String editor() {
-        return "modeler";
-    }
-
-
-    /**
-     * 创建模型
-     *
-     * @param response
-     * @param name     模型名称
-     * @param key      模型key
-     */
-    @RequestMapping("/create")
-    public void create(HttpServletResponse response, String name, String key, String description) throws IOException {
-        logger.info("创建模型入参name:{},key:{}", name, key);
-        Model model = repositoryService.newModel();
-        ObjectNode modelNode = objectMapper.createObjectNode();
-        //模型名称
-        modelNode.put(ModelDataJsonConstants.MODEL_NAME, name);
-        //模型备注
-        modelNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
-        modelNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
-        model.setName(name);
-        model.setKey(key);
-        model.setMetaInfo(modelNode.toString());
-        repositoryService.saveModel(model);
-        createObjectNode(model.getId());
-        response.sendRedirect("/editor?modelId=" + model.getId());
-        logger.info("创建模型结束,返回模型ID:{}", model.getId());
-    }
-
-    /**
-     * 创建模型时完善ModelEditorSource
-     *
-     * @param modelId
-     */
-    @SuppressWarnings("deprecation")
-    private void createObjectNode(String modelId) {
-        logger.info("创建模型完善ModelEditorSource入参模型ID:{}", modelId);
-        ObjectNode editorNode = objectMapper.createObjectNode();
-        editorNode.put("id", "canvas");
-        editorNode.put("resourceId", "canvas");
-        ObjectNode stencilSetNode = objectMapper.createObjectNode();
-        stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
-        editorNode.put("stencilset", stencilSetNode);
-        try {
-            repositoryService.addModelEditorSource(modelId, editorNode.toString().getBytes("utf-8"));
-        } catch (Exception e) {
-            logger.info("创建模型时完善ModelEditorSource服务异常:{}", e);
-        }
-        logger.info("创建模型完善ModelEditorSource结束");
-    }
-
-    /**
-     * 发布流程
-     *
-     * @param modelId 模型ID
-     * @return
-     */
-    @ResponseBody
-    @RequestMapping("/publish")
-    public Object publish(String modelId) {
-        logger.info("流程部署入参modelId:{}", modelId);
-        try {
-            Model modelData = repositoryService.getModel(modelId);
-            ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));
-            byte[] bpmnBytes = null;
-            BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode);
-            bpmnBytes = new BpmnXMLConverter().convertToXML(model);
-            String processName = modelData.getName() + ".bpmn20.xml";
-            Deployment deployment = repositoryService.createDeployment().name(modelData.getName()).addString(processName, new String(bpmnBytes)).deploy();
-        } catch (Exception e) {
-            logger.info("部署modelId:{}模型服务异常:{}", modelId, e);
-            return error(e.getMessage());
-        }
-        return success();
-    }
-
-    /**
-     * 根据模型id导出模型图
-     *
-     * @param response
-     * @param modelId
-     */
-    @GetMapping("export/{modelId}")
-    @ResponseBody
-    public void exportModel(HttpServletResponse response, @PathVariable String modelId) {
-        BufferedOutputStream bos = null;
-        try {
-            Model modelData = repositoryService.getModel(modelId);
-            byte[] modelEditorSource = repositoryService
-                    .getModelEditorSource(modelData.getId());
-            JsonNode editorNode = new ObjectMapper().readTree(modelEditorSource);
-            BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
-            BpmnModel model = jsonConverter.convertToBpmnModel(editorNode);
-            byte[] bpmnBytes;
-            try {
-                bpmnBytes = new BpmnXMLConverter().convertToXML(model);
-            } catch (Exception e) {
-                bpmnBytes = new byte[10];
-            }
-
-            // 封装输出流
-            bos = new BufferedOutputStream(response.getOutputStream());
-            bos.write(bpmnBytes);// 写入流
-            String filename = modelData.getName();
-            if (StringUtils.isNoneBlank(filename) && filename.length() > 20) {
-                filename = filename.substring(0, 20);
-            }
-            filename = modelData.getKey() + ".bpmn";
-            response.setContentType("application/x-msdownload;");
-            response.setHeader("Content-Disposition",
-                    "attachment; filename=" + URLEncoder.encode(filename, "UTF-8"));
-            response.flushBuffer();
-        } catch (Exception e) {
-            logger.error("下载模板失败:" + modelId + "erro:" + e);
-        } finally {
-            try {
-                bos.flush();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            try {
-                bos.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * 撤销流程定义
-     *
-     * @param modelId 模型ID
-     * @param
-     * @return
-     */
-    @ResponseBody
-    @RequestMapping("/revokePublish")
-    public Object revokePublish(String modelId) {
-        logger.info("撤销发布流程入参modelId:{}", modelId);
-        Map<String, String> map = new HashMap<String, String>();
-        Model modelData = repositoryService.getModel(modelId);
-        if (null != modelData) {
-            try {
-                /**
-                 * 参数不加true:为普通删除,如果当前规则下有正在执行的流程,则抛异常
-                 * 参数加true:为级联删除,会删除和当前规则相关的所有信息,包括历史
-                 */
-                repositoryService.deleteDeployment(modelData.getDeploymentId(), true);
-                map.put("code", "SUCCESS");
-            } catch (Exception e) {
-                logger.error("撤销已部署流程服务异常:{}", e);
-                map.put("code", "FAILURE");
-            }
-        }
-        logger.info("撤销发布流程出参map:{}", map);
-        return map;
-    }
-
-
-    @Autowired
-    private ModelService modelService;
-
-    /**
-     * 删除流程实例
-     *
-     * @param modelId 模型ID
-     * @param
-     * @return
-     */
-    @ResponseBody
-    @RequestMapping("/delete")
-    public Object deleteProcessInstance(String modelId) {
-        modelService.deleteProcessInstance(modelId);
-        return success();
-    }
-
-
-    @Autowired
-    private ModelSaveRestResource modelSaveRestResource;
-
-    protected BpmnXMLConverter bpmnXmlConverter = new BpmnXMLConverter();
-
-    protected BpmnJsonConverter bpmnJsonConverter = new BpmnJsonConverter();
-
-    @ResponseBody
-    @PostMapping("upload")
-    public AjaxEntityVo importProcessModel(HttpServletRequest request, @RequestParam("file") MultipartFile file) {
-        try {
-            convertInputStreamToModel(file.getInputStream());
-        } catch (Exception e) {
-            return error(e.getMessage());
-        }
-        return success();
-    }
-
-    public void convertInputStreamToModel(InputStream is) throws Exception {
-        String modelId = null;
-
-        XMLInputFactory xif = XMLInputFactory.newInstance();
-        InputStreamReader isr = null;
-        XMLStreamReader xtr = null;
-        try {
-            isr = new InputStreamReader(is, "utf-8");
-            xtr = xif.createXMLStreamReader(isr);
-            BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr);
-            // 处理异常
-            if (bpmnModel.getMainProcess() == null
-                    || bpmnModel.getMainProcess().getId() == null) {
-                throw new Exception("模板文件可能存在问题,请检查后重试!");
-            }
-
-            ObjectNode modelNode = new BpmnJsonConverter().convertToJson(bpmnModel);
-            Model modelData = repositoryService.newModel();
-            org.activiti.bpmn.model.Process process = bpmnModel.getMainProcess();
-            String key = process.getId();
-            checkName(process);
-            String name = process.getName();
-            String description = process.getDocumentation();
-            modelData.setKey(key);
-            modelData.setName(name);
-
-            ObjectNode modelObjectNode = new ObjectMapper().createObjectNode();
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
-            modelData.setMetaInfo(modelObjectNode.toString());
-            repositoryService.saveModel(modelData);
-            repositoryService.addModelEditorSource(modelData.getId(), modelNode.toString().getBytes("utf-8"));
-
-            modelId = modelData.getId();
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new Exception(e.getMessage());
-        } finally {
-            try {
-                xtr.close();
-            } catch (XMLStreamException e) {
-                e.printStackTrace();
-            }
-            try {
-                isr.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            try {
-                is.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    private void checkName(Process process) {
-        String key = process.getId();
-        List<Model> list = repositoryService.createModelQuery().modelKey(key).list();
-        if (list.size() > 0) {
-            throw new RuntimeException("该流程文件已存在无法上传");
-        }
-    }
-
-    private Model uploadModel(String name, String key, String description) {
-        logger.info("创建模型入参name:{},key:{}", name, key);
-        Model model = repositoryService.newModel();
-        ObjectNode modelNode = objectMapper.createObjectNode();
-        //模型名称
-        modelNode.put(ModelDataJsonConstants.MODEL_NAME, name);
-        //模型备注
-        modelNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
-        modelNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
-        model.setName(name);
-        model.setKey(key);
-        model.setMetaInfo(modelNode.toString());
-        repositoryService.saveModel(model);
-        createObjectNode(model.getId());
-        return model;
-    }
-
-
-}

+ 0 - 191
src/main/java/com/activiti6/controller/ZipFileController.java

@@ -1,191 +0,0 @@
-package com.activiti6.controller;
-
-import com.activiti6.common.utils.MultipartFileToFile;
-import com.activiti6.entity.AjaxEntityVo;
-import com.activiti6.entity.MyFormData;
-import com.activiti6.entity.MyFormDataZip;
-import com.activiti6.mapper.MyFormDataMapper;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.bpmn.converter.BpmnXMLConverter;
-import org.activiti.bpmn.model.BpmnModel;
-import org.activiti.bpmn.model.Process;
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.editor.language.json.converter.BpmnJsonConverter;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.repository.Model;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import java.io.*;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-@Controller
-@RequestMapping("zip")
-public class ZipFileController extends BaseController {
-
-
-    protected final Logger log = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private RepositoryService repositoryService;
-
-    @Autowired
-    private MyFormDataMapper myFormDataMapper;
-
-    /*文件上传*/
-    @PostMapping("upload")
-    public AjaxEntityVo upload(MultipartFile file) throws Exception {
-
-        File parseFile = MultipartFileToFile.multipartFileToFile(file);
-        ZipFile zip = null;
-        try {
-            //指定编码,否则压缩包里面不能有中文目录
-            zip = new ZipFile(parseFile, StandardCharsets.UTF_8);
-            String msg = null;
-            List<MyFormData> list = new ArrayList();
-            for (Enumeration entries = zip.entries(); entries.hasMoreElements(); ) {
-                ZipEntry entry = (ZipEntry) entries.nextElement();
-                String zipEntryName = entry.getName();
-                String filterName = zipEntryName.split("\\.")[1].toLowerCase();
-                if (filterName.contains("o") || filterName.contains("m") || filterName.contains("n")) {
-                    //fileName +=zipEntryName+",";
-                    InputStream in = zip.getInputStream(entry);
-                    if ("bpmn".equals(filterName)) {
-                        //pushBpmn(zipEntryName, in);
-                        msg = convertInputStreamToModel(in);
-                    }
-                    if ("json".equals(filterName)) {
-                        list.add(addMyFormData(zipEntryName, in));
-                    }
-                }
-            }
-            if (!StringUtils.isEmpty(msg)) {
-                myFormDataMapper.insertList(list);
-            }
-            //必须关闭,否则无法删除该zip文件
-            zip.close();
-        } catch (Exception e) {
-            log.info("文件解析出错:文件名------->" + parseFile.getName());
-            e.printStackTrace();
-            throw new Exception(e.getMessage());
-
-        }
-        return success();
-    }
-
-    private MyFormData addMyFormData(String zipEntryName, InputStream in) {
-        log.info("文件名------->" + zipEntryName);
-        String defaultString = null;
-        try {
-            StringBuffer message = new StringBuffer();
-            BufferedReader br = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8));
-            String line = null;
-            while ((line = br.readLine()) != null) {
-                message.append(line);
-            }
-            defaultString = message.toString();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        String result = defaultString.replace("\r\n", "").replaceAll(" +", "");
-        MyFormDataZip jsonData = JSONObject.parseObject(result, MyFormDataZip.class);
-        MyFormData myFormData = new MyFormData();
-        BeanUtils.copyProperties(jsonData, myFormData);
-        Object jsonData1 = jsonData.getJsonData();
-        String string = JSON.toJSONString(jsonData1);
-        myFormData.setJsonData(string);
-        return myFormData;
-    }
-
-    private void pushBpmn(String zipEntryName, InputStream in) {
-        try {
-            repositoryService.createDeployment()
-                    .addInputStream(zipEntryName, in).deploy();
-        } catch (Exception e) {
-            log.info("文件解析出错:文件名------->");
-        }
-    }
-
-    public String convertInputStreamToModel(InputStream is) throws Exception {
-        String modelId = null;
-        XMLInputFactory xif = XMLInputFactory.newInstance();
-        InputStreamReader isr = null;
-        XMLStreamReader xtr = null;
-        try {
-            isr = new InputStreamReader(is, "utf-8");
-            xtr = xif.createXMLStreamReader(isr);
-            BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr);
-            // 处理异常
-            if (bpmnModel.getMainProcess() == null
-                    || bpmnModel.getMainProcess().getId() == null) {
-                throw new Exception("模板文件可能存在问题,请检查后重试!");
-            }
-
-            ObjectNode modelNode = new BpmnJsonConverter().convertToJson(bpmnModel);
-            Model modelData = repositoryService.newModel();
-            org.activiti.bpmn.model.Process process = bpmnModel.getMainProcess();
-            checkName(process);
-            String key = process.getId();
-            String name = process.getName();
-            String description = process.getDocumentation();
-            modelData.setKey(key);
-            modelData.setName(name);
-
-            ObjectNode modelObjectNode = new ObjectMapper().createObjectNode();
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
-            modelData.setMetaInfo(modelObjectNode.toString());
-            repositoryService.saveModel(modelData);
-            repositoryService.addModelEditorSource(modelData.getId(), modelNode.toString().getBytes("utf-8"));
-            modelId = modelData.getId();
-        } catch (Exception e) {
-            e.printStackTrace();
-            throw new Exception(e.getMessage());
-        } finally {
-            try {
-                xtr.close();
-            } catch (XMLStreamException e) {
-                e.printStackTrace();
-            }
-            try {
-                isr.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            try {
-                is.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-        return modelId;
-    }
-
-    private void checkName(Process process) throws Exception {
-        String key = process.getId();
-        List<Model> list = repositoryService.createModelQuery().modelKey(key).list();
-        if (list.size() > 0) {
-            throw new Exception("该流程文件已存在无法上传");
-        }
-    }
-}

+ 0 - 119
src/main/java/com/activiti6/controller/editor/ModelEditorJsonRestResource.java

@@ -1,119 +0,0 @@
-package com.activiti6.controller.editor;
-
-import com.activiti6.controller.BaseController;
-import com.activiti6.entity.ActivitiUser;
-import com.activiti6.entity.AjaxEntityVo;
-import com.activiti6.entity.GroupActiviti;
-import com.activiti6.entity.SelectVo;
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.engine.ActivitiException;
-import org.activiti.engine.IdentityService;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.identity.Group;
-import org.activiti.engine.identity.User;
-import org.activiti.engine.repository.Model;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 获取model的节点信息,编辑器根据返回的json进行绘图
- * liuzhize 2019年3月7日下午3:29:15
- */
-@RestController
-@RequestMapping("service")
-public class ModelEditorJsonRestResource  extends BaseController implements ModelDataJsonConstants {
-
-    protected static final Logger LOGGER = LoggerFactory.getLogger(ModelEditorJsonRestResource.class);
-
-    @Autowired
-    private RepositoryService repositoryService;
-
-    @Autowired
-    private ObjectMapper objectMapper;
-
-    @Autowired
-    private IdentityService identityService;
-
-    /**
-     * 获取流程json信息
-     *
-     * @param modelId
-     * @return
-     */
-    @SuppressWarnings("deprecation")
-    @RequestMapping(value = "/model/{modelId}/json", method = RequestMethod.GET, produces = "application/json")
-    public ObjectNode getEditorJson(@PathVariable String modelId) {
-        ObjectNode modelNode = null;
-        Model model = repositoryService.getModel(modelId);
-        if (model != null) {
-            try {
-                if (StringUtils.isNotEmpty(model.getMetaInfo())) {
-                    modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
-                } else {
-                    modelNode = objectMapper.createObjectNode();
-                    modelNode.put(MODEL_NAME, model.getName());
-                }
-                modelNode.put(MODEL_ID, model.getId());
-                ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
-                        new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
-                modelNode.put("model", editorJsonNode);
-            } catch (Exception e) {
-                LOGGER.error("Error creating model JSON", e);
-                throw new ActivitiException("Error creating model JSON", e);
-            }
-        }
-        return modelNode;
-    }
-
-    @GetMapping(value = "/model/user")
-    public AjaxEntityVo getUser() {
-
-        List<User> list = identityService.createUserQuery().list();
-        List<ActivitiUser> collect = list.stream().map(x -> {
-            ActivitiUser activitiUser = new ActivitiUser();
-            String id = x.getId();
-            String firstName = x.getFirstName();
-            activitiUser.setId(id);
-            activitiUser.setFirstName(firstName);
-            return activitiUser;
-        }).collect(Collectors.toList());
-        return  success(collect);
-    }
-    @GetMapping(value = "/model/user/select")
-    public List<SelectVo> getUserSelect() {
-        List<User> list = identityService.createUserQuery().list();
-        List<SelectVo> collect = list.stream().map(x -> {
-            SelectVo activitiUser = new SelectVo();
-            String id = x.getId();
-            String firstName = x.getFirstName();
-            activitiUser.setValue(id);
-            activitiUser.setText(firstName);
-            return activitiUser;
-        }).collect(Collectors.toList());
-        return  collect;
-    }
-
-    @GetMapping(value = "/model/group")
-    public AjaxEntityVo getGroup() {
-
-        List<Group> list = identityService.createGroupQuery().list();
-        list.stream().map(x->{
-            String id = x.getId();
-            String name = x.getName();
-            GroupActiviti groupActiviti=new GroupActiviti();
-            groupActiviti.setId(id);
-            groupActiviti.setName(name);
-            return  groupActiviti;
-        }).collect(Collectors.toList());
-        return  success(list);
-    }
-}

+ 0 - 88
src/main/java/com/activiti6/controller/editor/ModelSaveRestResource.java

@@ -1,88 +0,0 @@
-package com.activiti6.controller.editor;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.engine.ActivitiException;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.repository.Model;
-import org.apache.batik.transcoder.TranscoderInput;
-import org.apache.batik.transcoder.TranscoderOutput;
-import org.apache.batik.transcoder.image.PNGTranscoder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-/**
- * 流程信息入库
- * liuzhize 2019年3月7日下午3:32:32
- */
-@RestController
-@RequestMapping("service")
-public class ModelSaveRestResource implements ModelDataJsonConstants {
-  
-  protected static final Logger LOGGER = LoggerFactory.getLogger(ModelSaveRestResource.class);
-
-  @Autowired
-  private RepositoryService repositoryService;
-  
-  @Autowired
-  private ObjectMapper objectMapper;
- 
-  /**
-   * 保存流程
-   * @param modelId 模型ID
-   * @param name 流程模型名称
-   * @param description
-   * @param json_xml 流程文件
-   * @param svg_xml 图片
-   */
-  @RequestMapping(value="/model/{modelId}/save", method = RequestMethod.PUT)
-  @ResponseStatus(value = HttpStatus.OK)
-  public void saveModel(@PathVariable String modelId
-          , String name, String description
-          , String json_xml, String svg_xml) {
-    try {
-      
-      Model model = repositoryService.getModel(modelId);
-      
-      ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
-      
-      modelJson.put(MODEL_NAME, name);
-      modelJson.put(MODEL_DESCRIPTION, description);
-      model.setMetaInfo(modelJson.toString());
-      model.setName(name);
-      repositoryService.saveModel(model);
-      
-      repositoryService.addModelEditorSource(model.getId(), json_xml.getBytes("utf-8"));
-      
-      InputStream svgStream = new ByteArrayInputStream(svg_xml.getBytes("utf-8"));
-      TranscoderInput input = new TranscoderInput(svgStream);
-      
-      PNGTranscoder transcoder = new PNGTranscoder();
-      // Setup output
-      ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-      TranscoderOutput output = new TranscoderOutput(outStream);
-      
-      // Do the transformation
-      transcoder.transcode(input, output);
-      final byte[] result = outStream.toByteArray();
-      repositoryService.addModelEditorSourceExtra(model.getId(), result);
-      outStream.close();
-    } catch (Exception e) {
-      LOGGER.error("Error saving model", e);
-      throw new ActivitiException("Error saving model", e);
-    }
-  }
-  
-}

+ 0 - 33
src/main/java/com/activiti6/controller/editor/StencilsetRestResource.java

@@ -1,33 +0,0 @@
-package com.activiti6.controller.editor;
-
-import org.activiti.engine.ActivitiException;
-import org.apache.commons.io.IOUtils;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.io.InputStream;
-/**
- * 获取编辑器组件及配置项信息
- * liuzhize 2019年3月7日下午3:33:28
- */
-@RestController
-@RequestMapping("service")
-public class StencilsetRestResource {
-  
-/**
- * 获取流程json文件
- * @return
- */
-  @RequestMapping(value="/editor/stencilset", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
-  @ResponseBody
-  public String getStencilset() {
-    InputStream stencilsetStream = this.getClass().getClassLoader().getResourceAsStream("stencilset.json");
-    try {
-      return IOUtils.toString(stencilsetStream, "utf-8");
-    } catch (Exception e) {
-      throw new ActivitiException("Error while loading stencil set", e);
-    }
-  }
-}

+ 0 - 290
src/main/java/com/activiti6/controller/image/LeaveNewController.java

@@ -1,290 +0,0 @@
-//package com.activiti6.controller.image;
-//
-//
-//import com.activiti6.controller.ModelerController;
-//import com.fasterxml.jackson.databind.ObjectMapper;
-//import com.fasterxml.jackson.databind.node.ArrayNode;
-//import com.fasterxml.jackson.databind.node.ObjectNode;
-//import org.activiti.bpmn.model.BpmnModel;
-//import org.activiti.bpmn.model.FlowNode;
-//import org.activiti.bpmn.model.SequenceFlow;
-//import org.activiti.engine.HistoryService;
-//import org.activiti.engine.ProcessEngine;
-//import org.activiti.engine.RepositoryService;
-//import org.activiti.engine.RuntimeService;
-//import org.activiti.engine.history.HistoricActivityInstance;
-//import org.activiti.engine.history.HistoricProcessInstance;
-//import org.activiti.engine.impl.RepositoryServiceImpl;
-//import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
-//import org.activiti.engine.repository.ProcessDefinition;
-//import org.activiti.engine.repository.ProcessDefinitionQuery;
-//import org.activiti.engine.runtime.ProcessInstance;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.PathVariable;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RequestParam;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//import javax.servlet.http.HttpServletResponse;
-//import java.io.IOException;
-//import java.text.SimpleDateFormat;
-//import java.util.*;
-//import java.util.stream.Collectors;
-//
-//
-///**
-// * 请假业务Controller
-// *
-// * @author Xianlu Tech
-// * @date 2019-10-11
-// */
-//@RestController
-//@RequestMapping("/activiti")
-//public class LeaveNewController {
-//
-//    private static final Logger logger = LoggerFactory.getLogger(LeaveNewController.class);
-//
-//    @Autowired
-//    private HistoryService historyService;
-//
-//    @Autowired
-//    private RepositoryService repositoryService;
-//
-//    protected ObjectMapper objectMapper = new ObjectMapper();
-//
-//    @Autowired
-//    private RuntimeService runtimeService;
-//
-//    @RequestMapping(value = "/process-instance/{processInstanceId}/highlights")
-//    public ObjectNode readResource(@PathVariable String processInstanceId)
-//            throws Exception {
-//        // 设置页面不缓存
-//        return showImage(processInstanceId);
-//    }
-//
-//    private ObjectNode showImage(String processInstanceId) throws IOException {
-//
-//        ObjectNode responseJSON = objectMapper.createObjectNode();
-//
-//        responseJSON.put("processInstanceId", processInstanceId);
-//
-//        ArrayNode activitiesArray = objectMapper.createArrayNode();
-//        ArrayNode flowsArray = objectMapper.createArrayNode();
-//
-//        try {
-//            //  获取历史流程实例
-//            HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
-//                    .processInstanceId(processInstanceId).singleResult();
-//            ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) repositoryService.getProcessDefinition(historicProcessInstance.getProcessDefinitionId());
-//            responseJSON.put("processDefinitionId", historicProcessInstance.getProcessDefinitionId());
-//            // 获取流程历史中已执行节点,并按照节点在流程中执行先后顺序排序
-//            List<HistoricActivityInstance> historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery()
-//                    .processInstanceId(processInstanceId).orderByHistoricActivityInstanceId().asc().list();
-//            // 已执行的节点ID集合
-//            List<String> highLightedActivities = new ArrayList<String>();
-//            //logger.info("获取已经执行的节点ID");
-//            for (HistoricActivityInstance activityInstance : historicActivityInstanceList) {
-//                highLightedActivities.add(activityInstance.getActivityId());
-//            }
-//            // 已执行的线集合
-//            List<String> flowIds = new ArrayList<>();
-//            // 获取流程走过的线 (getHighLightedFlows是下面的方法)
-//            BpmnModel bpmnModel = repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId());
-//
-//            List<String> highLightedFlows = executedFlowIdList(bpmnModel, processDefinition, historicActivityInstanceList);
-//
-//            for (String activityId : highLightedActivities) {
-//                activitiesArray.add(activityId);
-//            }
-//
-//            for (String flow : highLightedFlows) {
-//                flowsArray.add(flow);
-//            }
-//
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//
-//        responseJSON.put("activities", activitiesArray);
-//        responseJSON.put("flows", flowsArray);
-//
-//        return responseJSON;
-//    }
-//
-//    private void image(String processInstanceId) {
-//        //logger.info("[开始]-获取流程图图像");
-//        try {
-//            //  获取历史流程实例
-//            HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
-//                    .processInstanceId(processInstanceId).singleResult();
-//
-//            if (historicProcessInstance == null) {
-//                //throw new BusinessException("获取流程实例ID[" + processInstanceId + "]对应的历史流程实例失败!");
-//            } else {
-//                // 获取流程定义
-//                ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
-//                        .getDeployedProcessDefinition(historicProcessInstance.getProcessDefinitionId());
-//
-//                // 获取流程历史中已执行节点,并按照节点在流程中执行先后顺序排序
-//                List<HistoricActivityInstance> historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery()
-//                        .processInstanceId(processInstanceId).orderByHistoricActivityInstanceId().asc().list();
-//                // 已执行的节点ID集合
-//                List<String> executedActivityIdList = new ArrayList<String>();
-//                //logger.info("获取已经执行的节点ID");
-//                for (HistoricActivityInstance activityInstance : historicActivityInstanceList) {
-//                    executedActivityIdList.add(activityInstance.getActivityId());
-//                }
-//                BpmnModel bpmnModel = repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId());
-//
-//                // 已执行的线集合
-//                List<String> flowIds = new ArrayList<>();
-//                // 获取流程走过的线 (getHighLightedFlows是下面的方法)
-//                flowIds = executedFlowIdList(bpmnModel, processDefinition, historicActivityInstanceList);
-//
-//            }
-//            //logger.info("[完成]-获取流程图图像");
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//            logger.error("【异常】-获取流程图失败!" + e.getMessage());
-//            throw new RuntimeException("获取流程图失败!" + e.getMessage());
-//        }
-//    }
-//
-//
-//    private static List<String> executedFlowIdList(BpmnModel bpmnModel, ProcessDefinitionEntity processDefinitionEntity,
-//                                                   List<HistoricActivityInstance> historicActivityInstanceList) {
-//
-//        List<String> executedFlowIdList = new ArrayList<>();
-//        Set<String> ids = new HashSet<>();
-//        Map<String, SequenceFlow> flowHashMap = new HashMap<>();
-//        List<String> activityIds = historicActivityInstanceList.stream().map(X -> X.getActivityId()).collect(Collectors.toList());
-//        for (int i = 0; i < historicActivityInstanceList.size(); i++) {
-//            HistoricActivityInstance hai = historicActivityInstanceList.get(i);
-//            String activityId = hai.getActivityId();
-//            FlowNode flowNode = (FlowNode) bpmnModel.getFlowElement(activityId);
-//            List<SequenceFlow> sequenceFlows = flowNode.getOutgoingFlows();
-//            for (SequenceFlow sequenceFlow : sequenceFlows) {
-//                String sourceRef = sequenceFlow.getSourceRef();
-//                String targetRef = sequenceFlow.getTargetRef();
-//                flowHashMap.put(targetRef, sequenceFlow);
-//            }
-//        }
-//        for (String activityId : activityIds) {
-//            for (String s : flowHashMap.keySet()) {
-//                if (s.contains(activityId)) {
-//                    SequenceFlow sequenceFlow = flowHashMap.get(s);
-//                    ids.add(sequenceFlow.getId());
-//                }
-//            }
-//        }
-//        executedFlowIdList.addAll(ids);
-//        return executedFlowIdList;
-//    }
-//
-//
-//    /**
-//     * 获取流程图像,已执行节点和流程线高亮显示
-//     */
-//    public void getActivitiProccessImage(String processInstanceId, HttpServletResponse response) {
-//        //logger.info("[开始]-获取流程图图像");
-//        try {
-//            //  获取历史流程实例
-//            HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
-//                    .processInstanceId(processInstanceId).singleResult();
-//
-//            if (historicProcessInstance == null) {
-//                //throw new BusinessException("获取流程实例ID[" + processInstanceId + "]对应的历史流程实例失败!");
-//            } else {
-//                // 获取流程定义
-//                ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
-//                        .getDeployedProcessDefinition(historicProcessInstance.getProcessDefinitionId());
-//
-//                // 获取流程历史中已执行节点,并按照节点在流程中执行先后顺序排序
-//                List<HistoricActivityInstance> historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery()
-//                        .processInstanceId(processInstanceId).orderByHistoricActivityInstanceId().asc().list();
-//
-//                // 已执行的节点ID集合
-//                List<String> executedActivityIdList = new ArrayList<String>();
-//                int index = 1;
-//                //logger.info("获取已经执行的节点ID");
-//                for (HistoricActivityInstance activityInstance : historicActivityInstanceList) {
-//                    executedActivityIdList.add(activityInstance.getActivityId());
-//
-//                    //logger.info("第[" + index + "]个已执行节点=" + activityInstance.getActivityId() + " : " +activityInstance.getActivityName());
-//                    index++;
-//                }
-//
-//                BpmnModel bpmnModel = repositoryService.getBpmnModel(historicProcessInstance.getProcessDefinitionId());
-//
-//                // 已执行的线集合
-//                List<String> flowIds = new ArrayList<String>();
-//                // 获取流程走过的线 (getHighLightedFlows是下面的方法)
-//                flowIds = getHighLightedFlows(bpmnModel, processDefinition, historicActivityInstanceList);
-//
-//            }
-//            //logger.info("[完成]-获取流程图图像");
-//        } catch (Exception e) {
-//            System.out.println(e.getMessage());
-//            //logger.error("【异常】-获取流程图失败!" + e.getMessage());
-//            //throw new BusinessException("获取流程图失败!" + e.getMessage());
-//        }
-//    }
-//
-//    public List<String> getHighLightedFlows(BpmnModel bpmnModel, ProcessDefinitionEntity processDefinitionEntity, List<HistoricActivityInstance> historicActivityInstances) {
-//        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //24小时制
-//        List<String> highFlows = new ArrayList<String>();// 用以保存高亮的线flowId
-//
-//        for (int i = 0; i < historicActivityInstances.size() - 1; i++) {
-//            // 对历史流程节点进行遍历
-//            // 得到节点定义的详细信息
-//            FlowNode activityImpl = (FlowNode) bpmnModel.getMainProcess().getFlowElement(historicActivityInstances.get(i).getActivityId());
-//
-//
-//            List<FlowNode> sameStartTimeNodes = new ArrayList<FlowNode>();// 用以保存后续开始时间相同的节点
-//            FlowNode sameActivityImpl1 = null;
-//
-//            HistoricActivityInstance activityImpl_ = historicActivityInstances.get(i);// 第一个节点
-//            HistoricActivityInstance activityImp2_;
-//
-//            for (int k = i + 1; k <= historicActivityInstances.size() - 1; k++) {
-//                activityImp2_ = historicActivityInstances.get(k);// 后续第1个节点
-//
-//                if (activityImpl_.getActivityType().equals("userTask") && activityImp2_.getActivityType().equals("userTask") &&
-//                        df.format(activityImpl_.getStartTime()).equals(df.format(activityImp2_.getStartTime()))) //都是usertask,且主节点与后续节点的开始时间相同,说明不是真实的后继节点
-//                {
-//
-//                } else {
-//                    sameActivityImpl1 = (FlowNode) bpmnModel.getMainProcess().getFlowElement(historicActivityInstances.get(k).getActivityId());//找到紧跟在后面的一个节点
-//                    break;
-//                }
-//
-//            }
-//            sameStartTimeNodes.add(sameActivityImpl1); // 将后面第一个节点放在时间相同节点的集合里
-//            for (int j = i + 1; j < historicActivityInstances.size() - 1; j++) {
-//                HistoricActivityInstance activityImpl1 = historicActivityInstances.get(j);// 后续第一个节点
-//                HistoricActivityInstance activityImpl2 = historicActivityInstances.get(j + 1);// 后续第二个节点
-//
-//                if (df.format(activityImpl1.getStartTime()).equals(df.format(activityImpl2.getStartTime()))) {// 如果第一个节点和第二个节点开始时间相同保存
-//                    FlowNode sameActivityImpl2 = (FlowNode) bpmnModel.getMainProcess().getFlowElement(activityImpl2.getActivityId());
-//                    sameStartTimeNodes.add(sameActivityImpl2);
-//                } else {// 有不相同跳出循环
-//                    break;
-//                }
-//            }
-//            List<SequenceFlow> pvmTransitions = activityImpl.getOutgoingFlows(); // 取出节点的所有出去的线
-//
-//            for (SequenceFlow pvmTransition : pvmTransitions) {// 对所有的线进行遍历
-//                FlowNode pvmActivityImpl = (FlowNode) bpmnModel.getMainProcess().getFlowElement(pvmTransition.getTargetRef());// 如果取出的线的目标节点存在时间相同的节点里,保存该线的id,进行高亮显示
-//                if (sameStartTimeNodes.contains(pvmActivityImpl)) {
-//                    highFlows.add(pvmTransition.getId());
-//                }
-//            }
-//
-//        }
-//        return highFlows;
-//
-//    }
-//
-//}

+ 0 - 492
src/main/java/com/activiti6/controller/image/MyBaseProcessDefinitionDiagramLayoutResource.java

@@ -1,492 +0,0 @@
-/* Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.activiti6.controller.image;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.engine.*;
-import org.activiti.engine.history.HistoricActivityInstance;
-import org.activiti.engine.impl.bpmn.behavior.BoundaryEventActivityBehavior;
-import org.activiti.engine.impl.bpmn.behavior.CallActivityBehavior;
-import org.activiti.engine.impl.bpmn.parser.BpmnParse;
-import org.activiti.engine.impl.bpmn.parser.ErrorEventDefinition;
-import org.activiti.engine.impl.bpmn.parser.EventSubscriptionDeclaration;
-import org.activiti.engine.impl.jobexecutor.TimerDeclarationImpl;
-import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
-import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
-import org.activiti.engine.impl.pvm.PvmTransition;
-import org.activiti.engine.impl.pvm.delegate.ActivityBehavior;
-import org.activiti.engine.impl.pvm.process.*;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.runtime.Execution;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.*;
-
-public class MyBaseProcessDefinitionDiagramLayoutResource {
-
-  @Autowired
-  private RuntimeService runtimeService;
-
-  @Autowired
-  private RepositoryService repositoryService;
-
-  @Autowired
-  private HistoryService historyService;
-
-  public ObjectNode getDiagramNode(String processInstanceId, String processDefinitionId) {
-
-    List<String> highLightedFlows = Collections.<String> emptyList();
-    List<String> highLightedActivities = Collections.<String> emptyList();
-
-    Map<String, ObjectNode> subProcessInstanceMap = new HashMap<String, ObjectNode>();
-
-    ProcessInstance processInstance = null;
-    if (processInstanceId != null) {
-      processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
-      if (processInstance == null) {
-        throw new ActivitiObjectNotFoundException("Process instance could not be found");
-      }
-      processDefinitionId = processInstance.getProcessDefinitionId();
-
-      List<ProcessInstance> subProcessInstances = runtimeService
-          .createProcessInstanceQuery()
-          .superProcessInstanceId(processInstanceId).list();
-
-      for (ProcessInstance subProcessInstance : subProcessInstances) {
-        String subDefId = subProcessInstance.getProcessDefinitionId();
-
-        String superExecutionId = ((ExecutionEntity) subProcessInstance)
-            .getSuperExecutionId();
-        ProcessDefinitionEntity subDef = (ProcessDefinitionEntity) repositoryService.getProcessDefinition(subDefId);
-
-        ObjectNode processInstanceJSON = new ObjectMapper().createObjectNode();
-        processInstanceJSON.put("processInstanceId", subProcessInstance.getId());
-        processInstanceJSON.put("superExecutionId", superExecutionId);
-        processInstanceJSON.put("processDefinitionId", subDef.getId());
-        processInstanceJSON.put("processDefinitionKey", subDef.getKey());
-        processInstanceJSON.put("processDefinitionName", subDef.getName());
-
-        subProcessInstanceMap.put(superExecutionId, processInstanceJSON);
-      }
-    }
-
-    if (processDefinitionId == null) {
-      throw new ActivitiObjectNotFoundException("No process definition id provided");
-    }
-
-    ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) repositoryService.getProcessDefinition(processDefinitionId);
-
-    if (processDefinition == null) {
-      throw new ActivitiException("Process definition " + processDefinitionId + " could not be found");
-    }
-
-    ObjectNode responseJSON = new ObjectMapper().createObjectNode();
-
-    // Process definition
-    JsonNode pdrJSON = getProcessDefinitionResponse(processDefinition);
-
-    if (pdrJSON != null) {
-      responseJSON.put("processDefinition", pdrJSON);
-    }
-
-    // Highlighted activities
-    if (processInstance != null) {
-      ArrayNode activityArray = new ObjectMapper().createArrayNode();
-      ArrayNode flowsArray = new ObjectMapper().createArrayNode();
-
-      highLightedActivities = runtimeService.getActiveActivityIds(processInstanceId);
-      highLightedFlows = getHighLightedFlows(processInstanceId, processDefinition);
-
-      for (String activityName : highLightedActivities) {
-        activityArray.add(activityName);
-      }
-
-      for (String flow : highLightedFlows) {
-        flowsArray.add(flow);
-      }
-
-      responseJSON.put("highLightedActivities", activityArray);
-      responseJSON.put("highLightedFlows", flowsArray);
-    }
-
-    // Pool shape, if process is participant in collaboration
-    if (processDefinition.getParticipantProcess() != null) {
-      ParticipantProcess pProc = processDefinition.getParticipantProcess();
-
-      ObjectNode participantProcessJSON = new ObjectMapper().createObjectNode();
-      participantProcessJSON.put("id", pProc.getId());
-      if (StringUtils.isNotEmpty(pProc.getName())) {
-        participantProcessJSON.put("name", pProc.getName());
-      } else {
-        participantProcessJSON.put("name", "");
-      }
-      participantProcessJSON.put("x", pProc.getX());
-      participantProcessJSON.put("y", pProc.getY());
-      participantProcessJSON.put("width", pProc.getWidth());
-      participantProcessJSON.put("height", pProc.getHeight());
-
-      responseJSON.put("participantProcess", participantProcessJSON);
-    }
-
-    // Draw lanes
-
-    if (processDefinition.getLaneSets() != null && !processDefinition.getLaneSets().isEmpty()) {
-      ArrayNode laneSetArray = new ObjectMapper().createArrayNode();
-      for (LaneSet laneSet : processDefinition.getLaneSets()) {
-        ArrayNode laneArray = new ObjectMapper().createArrayNode();
-        if (laneSet.getLanes() != null && !laneSet.getLanes().isEmpty()) {
-          for (Lane lane : laneSet.getLanes()) {
-            ObjectNode laneJSON = new ObjectMapper().createObjectNode();
-            laneJSON.put("id", lane.getId());
-            if (StringUtils.isNotEmpty(lane.getName())) {
-              laneJSON.put("name", lane.getName());
-            } else {
-              laneJSON.put("name", "");
-            }
-            laneJSON.put("x", lane.getX());
-            laneJSON.put("y", lane.getY());
-            laneJSON.put("width", lane.getWidth());
-            laneJSON.put("height", lane.getHeight());
-
-            List<String> flowNodeIds = lane.getFlowNodeIds();
-            ArrayNode flowNodeIdsArray = new ObjectMapper().createArrayNode();
-            for (String flowNodeId : flowNodeIds) {
-              flowNodeIdsArray.add(flowNodeId);
-            }
-            laneJSON.put("flowNodeIds", flowNodeIdsArray);
-
-            laneArray.add(laneJSON);
-          }
-        }
-        ObjectNode laneSetJSON = new ObjectMapper().createObjectNode();
-        laneSetJSON.put("id", laneSet.getId());
-        if (StringUtils.isNotEmpty(laneSet.getName())) {
-          laneSetJSON.put("name", laneSet.getName());
-        } else {
-          laneSetJSON.put("name", "");
-        }
-        laneSetJSON.put("lanes", laneArray);
-
-        laneSetArray.add(laneSetJSON);
-      }
-
-      if (laneSetArray.size() > 0)
-        responseJSON.put("laneSets", laneSetArray);
-    }
-
-    ArrayNode sequenceFlowArray = new ObjectMapper().createArrayNode();
-    ArrayNode activityArray = new ObjectMapper().createArrayNode();
-
-    // Activities and their sequence-flows
-
-    for (ActivityImpl activity : processDefinition.getActivities()) {
-      getActivity(processInstanceId, activity, activityArray, sequenceFlowArray,
-          processInstance, highLightedFlows, subProcessInstanceMap);
-    }
-
-    responseJSON.put("activities", activityArray);
-    responseJSON.put("sequenceFlows", sequenceFlowArray);
-
-    return responseJSON;
-  }
-
-  private List<String> getHighLightedFlows(String processInstanceId, ProcessDefinitionEntity processDefinition) {
-
-    List<String> highLightedFlows = new ArrayList<String>();
-    List<HistoricActivityInstance> historicActivityInstances = historyService
-        .createHistoricActivityInstanceQuery()
-        .processInstanceId(processInstanceId)
-        .orderByHistoricActivityInstanceStartTime().asc().list();
-
-    List<String> historicActivityInstanceList = new ArrayList<String>();
-    for (HistoricActivityInstance hai : historicActivityInstances) {
-      historicActivityInstanceList.add(hai.getActivityId());
-    }
-
-    // add current activities to list
-    List<String> highLightedActivities = runtimeService.getActiveActivityIds(processInstanceId);
-    historicActivityInstanceList.addAll(highLightedActivities);
-
-    // activities and their sequence-flows
-    for (ActivityImpl activity : processDefinition.getActivities()) {
-      int index = historicActivityInstanceList.indexOf(activity.getId());
-
-      if (index >= 0 && index + 1 < historicActivityInstanceList.size()) {
-        List<PvmTransition> pvmTransitionList = activity
-            .getOutgoingTransitions();
-        for (PvmTransition pvmTransition : pvmTransitionList) {
-          String destinationFlowId = pvmTransition.getDestination().getId();
-          if (destinationFlowId.equals(historicActivityInstanceList.get(index + 1))) {
-            highLightedFlows.add(pvmTransition.getId());
-          }
-        }
-      }
-    }
-    return highLightedFlows;
-  }
-
-  private void getActivity(String processInstanceId, ActivityImpl activity, ArrayNode activityArray,
-      ArrayNode sequenceFlowArray, ProcessInstance processInstance, List<String> highLightedFlows,
-      Map<String, ObjectNode> subProcessInstanceMap) {
-
-    ObjectNode activityJSON = new ObjectMapper().createObjectNode();
-
-    // Gather info on the multi instance marker
-    String multiInstance = (String) activity.getProperty("multiInstance");
-    if (multiInstance != null) {
-      if (!"sequential".equals(multiInstance)) {
-        multiInstance = "parallel";
-      }
-    }
-
-    ActivityBehavior activityBehavior = activity.getActivityBehavior();
-    // Gather info on the collapsed marker
-    Boolean collapsed = (activityBehavior instanceof CallActivityBehavior);
-    Boolean expanded = (Boolean) activity.getProperty(BpmnParse.PROPERTYNAME_ISEXPANDED);
-    if (expanded != null) {
-      collapsed = !expanded;
-    }
-
-    Boolean isInterrupting = null;
-    if (activityBehavior instanceof BoundaryEventActivityBehavior) {
-      isInterrupting = ((BoundaryEventActivityBehavior) activityBehavior).isInterrupting();
-    }
-
-    // Outgoing transitions of activity
-    for (PvmTransition sequenceFlow : activity.getOutgoingTransitions()) {
-      String flowName = (String) sequenceFlow.getProperty("name");
-      boolean isHighLighted = (highLightedFlows.contains(sequenceFlow.getId()));
-      boolean isConditional = sequenceFlow.getProperty(BpmnParse.PROPERTYNAME_CONDITION) != null &&
-          !((String) activity.getProperty("type")).toLowerCase().contains("gateway");
-      boolean isDefault = sequenceFlow.getId().equals(activity.getProperty("default"))
-          && ((String) activity.getProperty("type")).toLowerCase().contains("gateway");
-
-      List<Integer> waypoints = ((TransitionImpl) sequenceFlow).getWaypoints();
-      ArrayNode xPointArray = new ObjectMapper().createArrayNode();
-      ArrayNode yPointArray = new ObjectMapper().createArrayNode();
-      for (int i = 0; i < waypoints.size(); i += 2) { // waypoints.size()
-                                                      // minimally 4: x1, y1,
-                                                      // x2, y2
-        xPointArray.add(waypoints.get(i));
-        yPointArray.add(waypoints.get(i + 1));
-      }
-
-      ObjectNode flowJSON = new ObjectMapper().createObjectNode();
-      flowJSON.put("id", sequenceFlow.getId());
-      flowJSON.put("name", flowName);
-      flowJSON.put("flow", "(" + sequenceFlow.getSource().getId() + ")--"
-          + sequenceFlow.getId() + "-->("
-          + sequenceFlow.getDestination().getId() + ")");
-
-      if (isConditional)
-        flowJSON.put("isConditional", isConditional);
-      if (isDefault)
-        flowJSON.put("isDefault", isDefault);
-      if (isHighLighted)
-        flowJSON.put("isHighLighted", isHighLighted);
-
-      flowJSON.put("xPointArray", xPointArray);
-      flowJSON.put("yPointArray", yPointArray);
-
-      sequenceFlowArray.add(flowJSON);
-    }
-
-    // Nested activities (boundary events)
-    ArrayNode nestedActivityArray = new ObjectMapper().createArrayNode();
-    for (ActivityImpl nestedActivity : activity.getActivities()) {
-      nestedActivityArray.add(nestedActivity.getId());
-    }
-
-    Map<String, Object> properties = activity.getProperties();
-    ObjectNode propertiesJSON = new ObjectMapper().createObjectNode();
-    for (String key : properties.keySet()) {
-      Object prop = properties.get(key);
-      if (prop instanceof String)
-        propertiesJSON.put(key, (String) properties.get(key));
-      else if (prop instanceof Integer)
-        propertiesJSON.put(key, (Integer) properties.get(key));
-      else if (prop instanceof Boolean)
-        propertiesJSON.put(key, (Boolean) properties.get(key));
-      else if ("initial".equals(key)) {
-        ActivityImpl act = (ActivityImpl) properties.get(key);
-        propertiesJSON.put(key, act.getId());
-      } else if ("timerDeclarations".equals(key)) {
-        ArrayList<TimerDeclarationImpl> timerDeclarations = (ArrayList<TimerDeclarationImpl>) properties.get(key);
-        ArrayNode timerDeclarationArray = new ObjectMapper().createArrayNode();
-
-        if (timerDeclarations != null)
-          for (TimerDeclarationImpl timerDeclaration : timerDeclarations) {
-            ObjectNode timerDeclarationJSON = new ObjectMapper().createObjectNode();
-
-            timerDeclarationJSON.put("isExclusive", timerDeclaration.isExclusive());
-            if (timerDeclaration.getRepeat() != null)
-              timerDeclarationJSON.put("repeat", timerDeclaration.getRepeat());
-
-            timerDeclarationJSON.put("retries", String.valueOf(timerDeclaration.getRetries()));
-            timerDeclarationJSON.put("type", timerDeclaration.getJobHandlerType());
-            timerDeclarationJSON.put("configuration", timerDeclaration.getJobHandlerConfiguration());
-            //timerDeclarationJSON.put("expression", timerDeclaration.getDescription());
-
-            timerDeclarationArray.add(timerDeclarationJSON);
-          }
-        if (timerDeclarationArray.size() > 0)
-          propertiesJSON.put(key, timerDeclarationArray);
-        // TODO: implement getting description
-      } else if ("eventDefinitions".equals(key)) {
-        ArrayList<EventSubscriptionDeclaration> eventDefinitions = (ArrayList<EventSubscriptionDeclaration>) properties.get(key);
-        ArrayNode eventDefinitionsArray = new ObjectMapper().createArrayNode();
-
-        if (eventDefinitions != null) {
-          for (EventSubscriptionDeclaration eventDefinition : eventDefinitions) {
-            ObjectNode eventDefinitionJSON = new ObjectMapper().createObjectNode();
-
-            if (eventDefinition.getActivityId() != null)
-              eventDefinitionJSON.put("activityId",eventDefinition.getActivityId());
-
-            eventDefinitionJSON.put("eventName", eventDefinition.getEventName());
-            eventDefinitionJSON.put("eventType", eventDefinition.getEventType());
-            eventDefinitionJSON.put("isAsync", eventDefinition.isAsync());
-            eventDefinitionJSON.put("isStartEvent", eventDefinition.isStartEvent());
-            eventDefinitionsArray.add(eventDefinitionJSON);
-          }
-        }
-
-        if (eventDefinitionsArray.size() > 0)
-          propertiesJSON.put(key, eventDefinitionsArray);
-
-      // TODO: implement it
-      } else if ("errorEventDefinitions".equals(key)) {
-        ArrayList<ErrorEventDefinition> errorEventDefinitions = (ArrayList<ErrorEventDefinition>) properties.get(key);
-        ArrayNode errorEventDefinitionsArray = new ObjectMapper().createArrayNode();
-
-        if (errorEventDefinitions != null) {
-          for (ErrorEventDefinition errorEventDefinition : errorEventDefinitions) {
-            ObjectNode errorEventDefinitionJSON = new ObjectMapper().createObjectNode();
-
-            if (errorEventDefinition.getErrorCode() != null)
-              errorEventDefinitionJSON.put("errorCode", errorEventDefinition.getErrorCode());
-            else
-              errorEventDefinitionJSON.putNull("errorCode");
-
-            errorEventDefinitionJSON.put("handlerActivityId",
-            errorEventDefinition.getHandlerActivityId());
-
-            errorEventDefinitionsArray.add(errorEventDefinitionJSON);
-          }
-        }
-
-        if (errorEventDefinitionsArray.size() > 0)
-          propertiesJSON.put(key, errorEventDefinitionsArray);
-      }
-
-    }
-
-    if ("callActivity".equals(properties.get("type"))) {
-      CallActivityBehavior callActivityBehavior = null;
-
-      if (activityBehavior instanceof CallActivityBehavior) {
-        callActivityBehavior = (CallActivityBehavior) activityBehavior;
-      }
-
-      if (callActivityBehavior != null) {
-        propertiesJSON.put("processDefinitonKey", callActivityBehavior.getProcessDefinitonKey());
-
-        // get processDefinitonId from execution or get last processDefinitonId
-        // by key
-        ArrayNode processInstanceArray = new ObjectMapper().createArrayNode();
-        if (processInstance != null) {
-          List<Execution> executionList = runtimeService.createExecutionQuery()
-              .processInstanceId(processInstanceId)
-              .activityId(activity.getId()).list();
-          if (!executionList.isEmpty()) {
-            for (Execution execution : executionList) {
-              ObjectNode processInstanceJSON = subProcessInstanceMap.get(execution.getId());
-              processInstanceArray.add(processInstanceJSON);
-            }
-          }
-        }
-
-        // If active activities nas no instance of this callActivity then add
-        // last definition
-        if (processInstanceArray.size() == 0 && StringUtils.isNotEmpty(callActivityBehavior.getProcessDefinitonKey())) {
-          // Get last definition by key
-          ProcessDefinition lastProcessDefinition = repositoryService
-              .createProcessDefinitionQuery()
-              .processDefinitionKey(callActivityBehavior.getProcessDefinitonKey())
-              .latestVersion().singleResult();
-
-          // TODO: unuseful fields there are processDefinitionName, processDefinitionKey
-          if (lastProcessDefinition != null) {
-            ObjectNode processInstanceJSON = new ObjectMapper().createObjectNode();
-            processInstanceJSON.put("processDefinitionId", lastProcessDefinition.getId());
-            processInstanceJSON.put("processDefinitionKey", lastProcessDefinition.getKey());
-            processInstanceJSON.put("processDefinitionName", lastProcessDefinition.getName());
-            processInstanceArray.add(processInstanceJSON);
-          }
-        }
-
-        if (processInstanceArray.size() > 0) {
-          propertiesJSON.put("processDefinitons", processInstanceArray);
-        }
-      }
-    }
-
-    activityJSON.put("activityId", activity.getId());
-    activityJSON.put("properties", propertiesJSON);
-    if (multiInstance != null)
-      activityJSON.put("multiInstance", multiInstance);
-    if (collapsed)
-      activityJSON.put("collapsed", collapsed);
-    if (nestedActivityArray.size() > 0)
-      activityJSON.put("nestedActivities", nestedActivityArray);
-    if (isInterrupting != null)
-      activityJSON.put("isInterrupting", isInterrupting);
-
-    activityJSON.put("x", activity.getX());
-    activityJSON.put("y", activity.getY());
-    activityJSON.put("width", activity.getWidth());
-    activityJSON.put("height", activity.getHeight());
-
-    activityArray.add(activityJSON);
-
-    // Nested activities (boundary events)
-    for (ActivityImpl nestedActivity : activity.getActivities()) {
-      getActivity(processInstanceId, nestedActivity, activityArray, sequenceFlowArray,
-          processInstance, highLightedFlows, subProcessInstanceMap);
-    }
-  }
-
-  private JsonNode getProcessDefinitionResponse(ProcessDefinitionEntity processDefinition) {
-    ObjectMapper mapper = new ObjectMapper();
-    ObjectNode pdrJSON = mapper.createObjectNode();
-    pdrJSON.put("id", processDefinition.getId());
-    pdrJSON.put("name", processDefinition.getName());
-    pdrJSON.put("key", processDefinition.getKey());
-    pdrJSON.put("version", processDefinition.getVersion());
-    pdrJSON.put("deploymentId", processDefinition.getDeploymentId());
-    pdrJSON.put("isGraphicNotationDefined", isGraphicNotationDefined(processDefinition));
-    return pdrJSON;
-  }
-
-  private boolean isGraphicNotationDefined(ProcessDefinitionEntity processDefinition) {
-    return ((ProcessDefinitionEntity) repositoryService
-        .getProcessDefinition(processDefinition.getId()))
-        .isGraphicalNotationDefined();
-  }
-}

+ 0 - 28
src/main/java/com/activiti6/controller/image/MyProcessDefinitionDiagramLayoutResource.java

@@ -1,28 +0,0 @@
-/* Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.activiti6.controller.image;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.springframework.web.bind.annotation.*;
-
-@RestController
-@RequestMapping("/activiti")
-public class MyProcessDefinitionDiagramLayoutResource extends MyBaseProcessDefinitionDiagramLayoutResource {
-    @CrossOrigin
-    @RequestMapping(value = "/process-definition/{processDefinitionId}/diagram-layout", method = RequestMethod.GET, produces = "application/json")
-    public ObjectNode getDiagram(@PathVariable String processDefinitionId) {
-        ObjectNode diagramNode = getDiagramNode(null, processDefinitionId);
-        return diagramNode;
-    }
-}

+ 0 - 30
src/main/java/com/activiti6/controller/image/MyProcessInstanceDiagramLayoutResource.java

@@ -1,30 +0,0 @@
-/* Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.activiti6.controller.image;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-@RequestMapping("/activiti")
-public class MyProcessInstanceDiagramLayoutResource extends MyBaseProcessDefinitionDiagramLayoutResource {
-
-  @RequestMapping(value="/process-instance/{processInstanceId}/diagram-layout", method = RequestMethod.GET, produces = "application/json")
-  public ObjectNode getDiagram(@PathVariable String processInstanceId) {
-    return getDiagramNode(processInstanceId, null);
-  }
-}

+ 0 - 252
src/main/java/com/activiti6/controller/image/MyProcessInstanceHighlightsResource.java

@@ -1,252 +0,0 @@
-package com.activiti6.controller.image;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.engine.HistoryService;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.RuntimeService;
-import org.activiti.engine.history.HistoricActivityInstance;
-import org.activiti.engine.history.HistoricProcessInstance;
-import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
-import org.activiti.engine.impl.pvm.PvmTransition;
-import org.activiti.engine.impl.pvm.process.ActivityImpl;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.*;
-
-@RestController
-@RequestMapping("/activiti")
-public class MyProcessInstanceHighlightsResource {
-
-    @Autowired
-    private RuntimeService runtimeService;
-
-    @Autowired
-    private RepositoryService repositoryService;
-
-    @Autowired
-    private HistoryService historyService;
-
-    protected ObjectMapper objectMapper = new ObjectMapper();
-
-    @RequestMapping(value = "/process-instance/{processInstanceId}/highlights", method = RequestMethod.GET, produces = "application/json")
-    public ObjectNode getHighlighted(@PathVariable String processInstanceId) {
-
-        ObjectNode responseJSON = objectMapper.createObjectNode();
-
-        responseJSON.put("processInstanceId", processInstanceId);
-
-        ArrayNode activitiesArray = objectMapper.createArrayNode();
-        ArrayNode flowsArray = objectMapper.createArrayNode();
-
-        try {
-            //  获取历史流程实例
-            HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery()
-                    .processInstanceId(processInstanceId).singleResult();
-            //ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
-            ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) repositoryService.getProcessDefinition(processInstance.getProcessDefinitionId());
-
-            responseJSON.put("processDefinitionId", processInstance.getProcessDefinitionId());
-            // 获取流程历史中已执行节点,并按照节点在流程中执行先后顺序排序
-            List<HistoricActivityInstance> historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery()
-                    .processInstanceId(processInstanceId).orderByHistoricActivityInstanceId().asc().list();
-            // 已执行的节点ID集合
-            List<String> highLightedActivities = new ArrayList<String>();
-            //logger.info("获取已经执行的节点ID");
-            for (HistoricActivityInstance activityInstance : historicActivityInstanceList) {
-                highLightedActivities.add(activityInstance.getActivityId());
-            }
-            //List<String> highLightedActivities = runtimeService.getActiveActivityIds(processInstanceId);
-            List<String> highLightedFlows = getHighLightedFlows(processDefinition, processInstanceId);
-
-            for (String activityId : highLightedActivities) {
-                activitiesArray.add(activityId);
-            }
-
-            for (String flow : highLightedFlows) {
-                flowsArray.add(flow);
-            }
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        responseJSON.put("activities", activitiesArray);
-        responseJSON.put("flows", flowsArray);
-
-        return responseJSON;
-    }
-
-
-    /**
-     * getHighLightedFlows
-     *
-     * @param processDefinition
-     * @param processInstanceId
-     * @return
-     */
-    private List<String> getHighLightedFlows(ProcessDefinitionEntity processDefinition, String processInstanceId) {
-
-        List<String> highLightedFlows = new ArrayList<String>();
-
-        List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery()
-                .processInstanceId(processInstanceId)
-                //order by startime asc is not correct. use default order is correct.
-                //.orderByHistoricActivityInstanceStartTime().asc()/*.orderByActivityId().asc()*/
-                .list();
-
-        LinkedList<HistoricActivityInstance> hisActInstList = new LinkedList<HistoricActivityInstance>();
-        hisActInstList.addAll(historicActivityInstances);
-
-        getHighlightedFlows(processDefinition.getActivities(), hisActInstList, highLightedFlows);
-
-        return highLightedFlows;
-    }
-
-    /**
-     * getHighlightedFlows
-     * <p>
-     * code logic:
-     * 1. Loop all activities by id asc order;
-     * 2. Check each activity's outgoing transitions and eventBoundery outgoing transitions, if outgoing transitions's destination.id is in other executed activityIds, add this transition to highLightedFlows List;
-     * 3. But if activity is not a parallelGateway or inclusiveGateway, only choose the earliest flow.
-     *
-     * @param activityList
-     * @param hisActInstList
-     * @param highLightedFlows
-     */
-    private void getHighlightedFlows(List<ActivityImpl> activityList, LinkedList<HistoricActivityInstance> hisActInstList, List<String> highLightedFlows) {
-
-        //check out startEvents in activityList
-        List<ActivityImpl> startEventActList = new ArrayList<ActivityImpl>();
-        Map<String, ActivityImpl> activityMap = new HashMap<String, ActivityImpl>(activityList.size());
-        for (ActivityImpl activity : activityList) {
-
-            activityMap.put(activity.getId(), activity);
-
-            String actType = (String) activity.getProperty("type");
-            if (actType != null && actType.toLowerCase().indexOf("startevent") >= 0) {
-                startEventActList.add(activity);
-            }
-        }
-
-        //These codes is used to avoid a bug:
-        //ACT-1728 If the process instance was started by a callActivity, it will be not have the startEvent activity in ACT_HI_ACTINST table
-        //Code logic:
-        //Check the first activity if it is a startEvent, if not check out the startEvent's highlight outgoing flow.
-        HistoricActivityInstance firstHistActInst = hisActInstList.getFirst();
-        String firstActType = (String) firstHistActInst.getActivityType();
-        if (firstActType != null && firstActType.toLowerCase().indexOf("startevent") < 0) {
-            PvmTransition startTrans = getStartTransaction(startEventActList, firstHistActInst);
-            if (startTrans != null) {
-                highLightedFlows.add(startTrans.getId());
-            }
-        }
-
-        while (!hisActInstList.isEmpty()) {
-            HistoricActivityInstance histActInst = hisActInstList.removeFirst();
-            ActivityImpl activity = activityMap.get(histActInst.getActivityId());
-            if (activity != null) {
-                boolean isParallel = false;
-                String type = histActInst.getActivityType();
-                if ("parallelGateway".equals(type) || "inclusiveGateway".equals(type)) {
-                    isParallel = true;
-                } else if ("subProcess".equals(histActInst.getActivityType())) {
-                    getHighlightedFlows(activity.getActivities(), hisActInstList, highLightedFlows);
-                }
-
-                List<PvmTransition> allOutgoingTrans = new ArrayList<PvmTransition>();
-                allOutgoingTrans.addAll(activity.getOutgoingTransitions());
-                allOutgoingTrans.addAll(getBoundaryEventOutgoingTransitions(activity));
-                List<String> activityHighLightedFlowIds = getHighlightedFlows(allOutgoingTrans, hisActInstList, isParallel);
-                highLightedFlows.addAll(activityHighLightedFlowIds);
-            }
-        }
-    }
-
-    /**
-     * Check out the outgoing transition connected to firstActInst from startEventActList
-     *
-     * @param startEventActList
-     * @param firstActInst
-     * @return
-     */
-    private PvmTransition getStartTransaction(List<ActivityImpl> startEventActList, HistoricActivityInstance firstActInst) {
-        for (ActivityImpl startEventAct : startEventActList) {
-            for (PvmTransition trans : startEventAct.getOutgoingTransitions()) {
-                if (trans.getDestination().getId().equals(firstActInst.getActivityId())) {
-                    return trans;
-                }
-            }
-        }
-        return null;
-    }
-
-    /**
-     * getBoundaryEventOutgoingTransitions
-     *
-     * @param activity
-     * @return
-     */
-    private List<PvmTransition> getBoundaryEventOutgoingTransitions(ActivityImpl activity) {
-        List<PvmTransition> boundaryTrans = new ArrayList<PvmTransition>();
-        for (ActivityImpl subActivity : activity.getActivities()) {
-            String type = (String) subActivity.getProperty("type");
-            if (type != null && type.toLowerCase().indexOf("boundary") >= 0) {
-                boundaryTrans.addAll(subActivity.getOutgoingTransitions());
-            }
-        }
-        return boundaryTrans;
-    }
-
-    /**
-     * find out single activity's highlighted flowIds
-     *
-     * @param activity
-     * @param hisActInstList
-     * @param isExclusive    if true only return one flowId(Such as exclusiveGateway, BoundaryEvent On Task)
-     * @return
-     */
-    private List<String> getHighlightedFlows(List<PvmTransition> pvmTransitionList, LinkedList<HistoricActivityInstance> hisActInstList, boolean isParallel) {
-
-        List<String> highLightedFlowIds = new ArrayList<String>();
-
-        PvmTransition earliestTrans = null;
-        HistoricActivityInstance earliestHisActInst = null;
-
-        for (PvmTransition pvmTransition : pvmTransitionList) {
-
-            String destActId = pvmTransition.getDestination().getId();
-            HistoricActivityInstance destHisActInst = findHisActInst(hisActInstList, destActId);
-            if (destHisActInst != null) {
-                if (isParallel) {
-                    highLightedFlowIds.add(pvmTransition.getId());
-                } else if (earliestHisActInst == null || (earliestHisActInst.getId().compareTo(destHisActInst.getId()) > 0)) {
-                    earliestTrans = pvmTransition;
-                    earliestHisActInst = destHisActInst;
-                }
-            }
-        }
-
-        if ((!isParallel) && earliestTrans != null) {
-            highLightedFlowIds.add(earliestTrans.getId());
-        }
-
-        return highLightedFlowIds;
-    }
-
-    private HistoricActivityInstance findHisActInst(LinkedList<HistoricActivityInstance> hisActInstList, String actId) {
-        for (HistoricActivityInstance hisActInst : hisActInstList) {
-            if (hisActInst.getActivityId().equals(actId)) {
-                return hisActInst;
-            }
-        }
-        return null;
-    }
-}

+ 0 - 24
src/main/java/com/activiti6/entity/ActivitiUser.java

@@ -1,24 +0,0 @@
-package com.activiti6.entity;
-
-public class ActivitiUser {
-
-    private String id;
-
-    private String firstName;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-}

+ 0 - 42
src/main/java/com/activiti6/entity/AjaxEntityVo.java

@@ -1,42 +0,0 @@
-package com.activiti6.entity;
-
-import java.io.Serializable;
-
-public class AjaxEntityVo implements Serializable {
-    private Integer code;
-    private String msg;
-    private Integer count;
-    private Object data;
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public void setCode(Integer code) {
-        this.code = code;
-    }
-
-    public String getMsg() {
-        return msg;
-    }
-
-    public void setMsg(String msg) {
-        this.msg = msg;
-    }
-
-    public Integer getCount() {
-        return count;
-    }
-
-    public void setCount(Integer count) {
-        this.count = count;
-    }
-
-    public Object getData() {
-        return data;
-    }
-
-    public void setData(Object data) {
-        this.data = data;
-    }
-}

+ 0 - 23
src/main/java/com/activiti6/entity/GroupActiviti.java

@@ -1,23 +0,0 @@
-package com.activiti6.entity;
-
-public class GroupActiviti {
-
-    private String id;
-    private String name;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-}

+ 0 - 148
src/main/java/com/activiti6/entity/MyFormData.java

@@ -1,148 +0,0 @@
-package com.activiti6.entity;
-
-import java.util.Date;
-
-public class MyFormData {
-    /** 主键*/
-    private Long fId;
-
-    /** 模型key*/
-    private String modelKey;
-
-    /** 模型版本*/
-    private Integer modelVersion;
-
-    /** 模块id*/
-    private String modulId;
-
-    /** 名称*/
-    private String fName;
-
-    /** key*/
-    private String fKey;
-
-    /** 版本*/
-    private Long fVersion;
-
-    /** json数据*/
-    private String jsonData;
-
-    /** 是否可用 0 不可用 1 可用*/
-    private Integer status;
-
-    /** 创建人*/
-    private String createBy;
-
-    /** 创建时间*/
-    private Date createTime;
-
-    /** 更新用户*/
-    private String updateBy;
-
-    /** 更新时间*/
-    private Date updateTime;
-
-    public Long getfId() {
-        return fId;
-    }
-
-    public void setfId(Long fId) {
-        this.fId = fId;
-    }
-
-    public String getModelKey() {
-        return modelKey;
-    }
-
-    public void setModelKey(String modelKey) {
-        this.modelKey = modelKey == null ? null : modelKey.trim();
-    }
-
-    public Integer getModelVersion() {
-        return modelVersion;
-    }
-
-    public void setModelVersion(Integer modelVersion) {
-        this.modelVersion = modelVersion;
-    }
-
-    public String getModulId() {
-        return modulId;
-    }
-
-    public void setModulId(String modulId) {
-        this.modulId = modulId == null ? null : modulId.trim();
-    }
-
-    public String getfName() {
-        return fName;
-    }
-
-    public void setfName(String fName) {
-        this.fName = fName == null ? null : fName.trim();
-    }
-
-    public String getfKey() {
-        return fKey;
-    }
-
-    public void setfKey(String fKey) {
-        this.fKey = fKey == null ? null : fKey.trim();
-    }
-
-    public Long getfVersion() {
-        return fVersion;
-    }
-
-    public void setfVersion(Long fVersion) {
-        this.fVersion = fVersion;
-    }
-
-    public String getJsonData() {
-        return jsonData;
-    }
-
-    public void setJsonData(String jsonData) {
-        this.jsonData = jsonData == null ? null : jsonData.trim();
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
-
-    public String getCreateBy() {
-        return createBy;
-    }
-
-    public void setCreateBy(String createBy) {
-        this.createBy = createBy == null ? null : createBy.trim();
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getUpdateBy() {
-        return updateBy;
-    }
-
-    public void setUpdateBy(String updateBy) {
-        this.updateBy = updateBy == null ? null : updateBy.trim();
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-}

+ 0 - 1051
src/main/java/com/activiti6/entity/MyFormDataExample.java

@@ -1,1051 +0,0 @@
-package com.activiti6.entity;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-public class MyFormDataExample {
-    protected String orderByClause;
-
-    protected boolean distinct;
-
-    protected List<Criteria> oredCriteria;
-
-    public MyFormDataExample() {
-        oredCriteria = new ArrayList<Criteria>();
-    }
-
-    public void setOrderByClause(String orderByClause) {
-        this.orderByClause = orderByClause;
-    }
-
-    public String getOrderByClause() {
-        return orderByClause;
-    }
-
-    public void setDistinct(boolean distinct) {
-        this.distinct = distinct;
-    }
-
-    public boolean isDistinct() {
-        return distinct;
-    }
-
-    public List<Criteria> getOredCriteria() {
-        return oredCriteria;
-    }
-
-    public void or(Criteria criteria) {
-        oredCriteria.add(criteria);
-    }
-
-    public Criteria or() {
-        Criteria criteria = createCriteriaInternal();
-        oredCriteria.add(criteria);
-        return criteria;
-    }
-
-    public Criteria createCriteria() {
-        Criteria criteria = createCriteriaInternal();
-        if (oredCriteria.size() == 0) {
-            oredCriteria.add(criteria);
-        }
-        return criteria;
-    }
-
-    protected Criteria createCriteriaInternal() {
-        Criteria criteria = new Criteria();
-        return criteria;
-    }
-
-    public void clear() {
-        oredCriteria.clear();
-        orderByClause = null;
-        distinct = false;
-    }
-
-    protected abstract static class GeneratedCriteria {
-        protected List<Criterion> criteria;
-
-        protected GeneratedCriteria() {
-            super();
-            criteria = new ArrayList<Criterion>();
-        }
-
-        public boolean isValid() {
-            return criteria.size() > 0;
-        }
-
-        public List<Criterion> getAllCriteria() {
-            return criteria;
-        }
-
-        public List<Criterion> getCriteria() {
-            return criteria;
-        }
-
-        protected void addCriterion(String condition) {
-            if (condition == null) {
-                throw new RuntimeException("Value for condition cannot be null");
-            }
-            criteria.add(new Criterion(condition));
-        }
-
-        protected void addCriterion(String condition, Object value, String property) {
-            if (value == null) {
-                throw new RuntimeException("Value for " + property + " cannot be null");
-            }
-            criteria.add(new Criterion(condition, value));
-        }
-
-        protected void addCriterion(String condition, Object value1, Object value2, String property) {
-            if (value1 == null || value2 == null) {
-                throw new RuntimeException("Between values for " + property + " cannot be null");
-            }
-            criteria.add(new Criterion(condition, value1, value2));
-        }
-
-        public Criteria andFIdIsNull() {
-            addCriterion("f_id is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdIsNotNull() {
-            addCriterion("f_id is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdEqualTo(Long value) {
-            addCriterion("f_id =", value, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdNotEqualTo(Long value) {
-            addCriterion("f_id <>", value, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdGreaterThan(Long value) {
-            addCriterion("f_id >", value, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdGreaterThanOrEqualTo(Long value) {
-            addCriterion("f_id >=", value, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdLessThan(Long value) {
-            addCriterion("f_id <", value, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdLessThanOrEqualTo(Long value) {
-            addCriterion("f_id <=", value, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdIn(List<Long> values) {
-            addCriterion("f_id in", values, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdNotIn(List<Long> values) {
-            addCriterion("f_id not in", values, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdBetween(Long value1, Long value2) {
-            addCriterion("f_id between", value1, value2, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFIdNotBetween(Long value1, Long value2) {
-            addCriterion("f_id not between", value1, value2, "fId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyIsNull() {
-            addCriterion("model_key is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyIsNotNull() {
-            addCriterion("model_key is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyEqualTo(String value) {
-            addCriterion("model_key =", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyNotEqualTo(String value) {
-            addCriterion("model_key <>", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyGreaterThan(String value) {
-            addCriterion("model_key >", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyGreaterThanOrEqualTo(String value) {
-            addCriterion("model_key >=", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyLessThan(String value) {
-            addCriterion("model_key <", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyLessThanOrEqualTo(String value) {
-            addCriterion("model_key <=", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyLike(String value) {
-            addCriterion("model_key like", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyNotLike(String value) {
-            addCriterion("model_key not like", value, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyIn(List<String> values) {
-            addCriterion("model_key in", values, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyNotIn(List<String> values) {
-            addCriterion("model_key not in", values, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyBetween(String value1, String value2) {
-            addCriterion("model_key between", value1, value2, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelKeyNotBetween(String value1, String value2) {
-            addCriterion("model_key not between", value1, value2, "modelKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionIsNull() {
-            addCriterion("model_version is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionIsNotNull() {
-            addCriterion("model_version is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionEqualTo(Integer value) {
-            addCriterion("model_version =", value, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionNotEqualTo(Integer value) {
-            addCriterion("model_version <>", value, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionGreaterThan(Integer value) {
-            addCriterion("model_version >", value, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionGreaterThanOrEqualTo(Integer value) {
-            addCriterion("model_version >=", value, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionLessThan(Integer value) {
-            addCriterion("model_version <", value, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionLessThanOrEqualTo(Integer value) {
-            addCriterion("model_version <=", value, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionIn(List<Integer> values) {
-            addCriterion("model_version in", values, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionNotIn(List<Integer> values) {
-            addCriterion("model_version not in", values, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionBetween(Integer value1, Integer value2) {
-            addCriterion("model_version between", value1, value2, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModelVersionNotBetween(Integer value1, Integer value2) {
-            addCriterion("model_version not between", value1, value2, "modelVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdIsNull() {
-            addCriterion("modul_id is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdIsNotNull() {
-            addCriterion("modul_id is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdEqualTo(String value) {
-            addCriterion("modul_id =", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdNotEqualTo(String value) {
-            addCriterion("modul_id <>", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdGreaterThan(String value) {
-            addCriterion("modul_id >", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdGreaterThanOrEqualTo(String value) {
-            addCriterion("modul_id >=", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdLessThan(String value) {
-            addCriterion("modul_id <", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdLessThanOrEqualTo(String value) {
-            addCriterion("modul_id <=", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdLike(String value) {
-            addCriterion("modul_id like", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdNotLike(String value) {
-            addCriterion("modul_id not like", value, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdIn(List<String> values) {
-            addCriterion("modul_id in", values, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdNotIn(List<String> values) {
-            addCriterion("modul_id not in", values, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdBetween(String value1, String value2) {
-            addCriterion("modul_id between", value1, value2, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andModulIdNotBetween(String value1, String value2) {
-            addCriterion("modul_id not between", value1, value2, "modulId");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameIsNull() {
-            addCriterion("f_name is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameIsNotNull() {
-            addCriterion("f_name is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameEqualTo(String value) {
-            addCriterion("f_name =", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameNotEqualTo(String value) {
-            addCriterion("f_name <>", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameGreaterThan(String value) {
-            addCriterion("f_name >", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameGreaterThanOrEqualTo(String value) {
-            addCriterion("f_name >=", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameLessThan(String value) {
-            addCriterion("f_name <", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameLessThanOrEqualTo(String value) {
-            addCriterion("f_name <=", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameLike(String value) {
-            addCriterion("f_name like", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameNotLike(String value) {
-            addCriterion("f_name not like", value, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameIn(List<String> values) {
-            addCriterion("f_name in", values, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameNotIn(List<String> values) {
-            addCriterion("f_name not in", values, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameBetween(String value1, String value2) {
-            addCriterion("f_name between", value1, value2, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFNameNotBetween(String value1, String value2) {
-            addCriterion("f_name not between", value1, value2, "fName");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyIsNull() {
-            addCriterion("f_key is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyIsNotNull() {
-            addCriterion("f_key is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyEqualTo(String value) {
-            addCriterion("f_key =", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyNotEqualTo(String value) {
-            addCriterion("f_key <>", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyGreaterThan(String value) {
-            addCriterion("f_key >", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyGreaterThanOrEqualTo(String value) {
-            addCriterion("f_key >=", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyLessThan(String value) {
-            addCriterion("f_key <", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyLessThanOrEqualTo(String value) {
-            addCriterion("f_key <=", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyLike(String value) {
-            addCriterion("f_key like", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyNotLike(String value) {
-            addCriterion("f_key not like", value, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyIn(List<String> values) {
-            addCriterion("f_key in", values, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyNotIn(List<String> values) {
-            addCriterion("f_key not in", values, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyBetween(String value1, String value2) {
-            addCriterion("f_key between", value1, value2, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFKeyNotBetween(String value1, String value2) {
-            addCriterion("f_key not between", value1, value2, "fKey");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionIsNull() {
-            addCriterion("f_version is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionIsNotNull() {
-            addCriterion("f_version is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionEqualTo(Long value) {
-            addCriterion("f_version =", value, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionNotEqualTo(Long value) {
-            addCriterion("f_version <>", value, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionGreaterThan(Long value) {
-            addCriterion("f_version >", value, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionGreaterThanOrEqualTo(Long value) {
-            addCriterion("f_version >=", value, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionLessThan(Long value) {
-            addCriterion("f_version <", value, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionLessThanOrEqualTo(Long value) {
-            addCriterion("f_version <=", value, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionIn(List<Long> values) {
-            addCriterion("f_version in", values, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionNotIn(List<Long> values) {
-            addCriterion("f_version not in", values, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionBetween(Long value1, Long value2) {
-            addCriterion("f_version between", value1, value2, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andFVersionNotBetween(Long value1, Long value2) {
-            addCriterion("f_version not between", value1, value2, "fVersion");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataIsNull() {
-            addCriterion("json_data is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataIsNotNull() {
-            addCriterion("json_data is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataEqualTo(String value) {
-            addCriterion("json_data =", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataNotEqualTo(String value) {
-            addCriterion("json_data <>", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataGreaterThan(String value) {
-            addCriterion("json_data >", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataGreaterThanOrEqualTo(String value) {
-            addCriterion("json_data >=", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataLessThan(String value) {
-            addCriterion("json_data <", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataLessThanOrEqualTo(String value) {
-            addCriterion("json_data <=", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataLike(String value) {
-            addCriterion("json_data like", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataNotLike(String value) {
-            addCriterion("json_data not like", value, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataIn(List<String> values) {
-            addCriterion("json_data in", values, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataNotIn(List<String> values) {
-            addCriterion("json_data not in", values, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataBetween(String value1, String value2) {
-            addCriterion("json_data between", value1, value2, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andJsonDataNotBetween(String value1, String value2) {
-            addCriterion("json_data not between", value1, value2, "jsonData");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusIsNull() {
-            addCriterion("status is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusIsNotNull() {
-            addCriterion("status is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusEqualTo(Integer value) {
-            addCriterion("status =", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusNotEqualTo(Integer value) {
-            addCriterion("status <>", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusGreaterThan(Integer value) {
-            addCriterion("status >", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
-            addCriterion("status >=", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusLessThan(Integer value) {
-            addCriterion("status <", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusLessThanOrEqualTo(Integer value) {
-            addCriterion("status <=", value, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusIn(List<Integer> values) {
-            addCriterion("status in", values, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusNotIn(List<Integer> values) {
-            addCriterion("status not in", values, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusBetween(Integer value1, Integer value2) {
-            addCriterion("status between", value1, value2, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
-            addCriterion("status not between", value1, value2, "status");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByIsNull() {
-            addCriterion("create_by is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByIsNotNull() {
-            addCriterion("create_by is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByEqualTo(String value) {
-            addCriterion("create_by =", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByNotEqualTo(String value) {
-            addCriterion("create_by <>", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByGreaterThan(String value) {
-            addCriterion("create_by >", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
-            addCriterion("create_by >=", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByLessThan(String value) {
-            addCriterion("create_by <", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByLessThanOrEqualTo(String value) {
-            addCriterion("create_by <=", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByLike(String value) {
-            addCriterion("create_by like", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByNotLike(String value) {
-            addCriterion("create_by not like", value, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByIn(List<String> values) {
-            addCriterion("create_by in", values, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByNotIn(List<String> values) {
-            addCriterion("create_by not in", values, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByBetween(String value1, String value2) {
-            addCriterion("create_by between", value1, value2, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateByNotBetween(String value1, String value2) {
-            addCriterion("create_by not between", value1, value2, "createBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeIsNull() {
-            addCriterion("create_time is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeIsNotNull() {
-            addCriterion("create_time is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeEqualTo(Date value) {
-            addCriterion("create_time =", value, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeNotEqualTo(Date value) {
-            addCriterion("create_time <>", value, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeGreaterThan(Date value) {
-            addCriterion("create_time >", value, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
-            addCriterion("create_time >=", value, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeLessThan(Date value) {
-            addCriterion("create_time <", value, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
-            addCriterion("create_time <=", value, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeIn(List<Date> values) {
-            addCriterion("create_time in", values, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeNotIn(List<Date> values) {
-            addCriterion("create_time not in", values, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeBetween(Date value1, Date value2) {
-            addCriterion("create_time between", value1, value2, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
-            addCriterion("create_time not between", value1, value2, "createTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByIsNull() {
-            addCriterion("update_by is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByIsNotNull() {
-            addCriterion("update_by is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByEqualTo(String value) {
-            addCriterion("update_by =", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByNotEqualTo(String value) {
-            addCriterion("update_by <>", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByGreaterThan(String value) {
-            addCriterion("update_by >", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
-            addCriterion("update_by >=", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByLessThan(String value) {
-            addCriterion("update_by <", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByLessThanOrEqualTo(String value) {
-            addCriterion("update_by <=", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByLike(String value) {
-            addCriterion("update_by like", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByNotLike(String value) {
-            addCriterion("update_by not like", value, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByIn(List<String> values) {
-            addCriterion("update_by in", values, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByNotIn(List<String> values) {
-            addCriterion("update_by not in", values, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByBetween(String value1, String value2) {
-            addCriterion("update_by between", value1, value2, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateByNotBetween(String value1, String value2) {
-            addCriterion("update_by not between", value1, value2, "updateBy");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeIsNull() {
-            addCriterion("update_time is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeIsNotNull() {
-            addCriterion("update_time is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeEqualTo(Date value) {
-            addCriterion("update_time =", value, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeNotEqualTo(Date value) {
-            addCriterion("update_time <>", value, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeGreaterThan(Date value) {
-            addCriterion("update_time >", value, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
-            addCriterion("update_time >=", value, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeLessThan(Date value) {
-            addCriterion("update_time <", value, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
-            addCriterion("update_time <=", value, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeIn(List<Date> values) {
-            addCriterion("update_time in", values, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeNotIn(List<Date> values) {
-            addCriterion("update_time not in", values, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
-            addCriterion("update_time between", value1, value2, "updateTime");
-            return (Criteria) this;
-        }
-
-        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
-            addCriterion("update_time not between", value1, value2, "updateTime");
-            return (Criteria) this;
-        }
-    }
-
-    public static class Criteria extends GeneratedCriteria {
-
-        protected Criteria() {
-            super();
-        }
-    }
-
-    public static class Criterion {
-        private String condition;
-
-        private Object value;
-
-        private Object secondValue;
-
-        private boolean noValue;
-
-        private boolean singleValue;
-
-        private boolean betweenValue;
-
-        private boolean listValue;
-
-        private String typeHandler;
-
-        public String getCondition() {
-            return condition;
-        }
-
-        public Object getValue() {
-            return value;
-        }
-
-        public Object getSecondValue() {
-            return secondValue;
-        }
-
-        public boolean isNoValue() {
-            return noValue;
-        }
-
-        public boolean isSingleValue() {
-            return singleValue;
-        }
-
-        public boolean isBetweenValue() {
-            return betweenValue;
-        }
-
-        public boolean isListValue() {
-            return listValue;
-        }
-
-        public String getTypeHandler() {
-            return typeHandler;
-        }
-
-        protected Criterion(String condition) {
-            super();
-            this.condition = condition;
-            this.typeHandler = null;
-            this.noValue = true;
-        }
-
-        protected Criterion(String condition, Object value, String typeHandler) {
-            super();
-            this.condition = condition;
-            this.value = value;
-            this.typeHandler = typeHandler;
-            if (value instanceof List<?>) {
-                this.listValue = true;
-            } else {
-                this.singleValue = true;
-            }
-        }
-
-        protected Criterion(String condition, Object value) {
-            this(condition, value, null);
-        }
-
-        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
-            super();
-            this.condition = condition;
-            this.value = value;
-            this.secondValue = secondValue;
-            this.typeHandler = typeHandler;
-            this.betweenValue = true;
-        }
-
-        protected Criterion(String condition, Object value, Object secondValue) {
-            this(condition, value, secondValue, null);
-        }
-    }
-}

+ 0 - 149
src/main/java/com/activiti6/entity/MyFormDataZip.java

@@ -1,149 +0,0 @@
-package com.activiti6.entity;
-
-import java.util.Date;
-
-public class MyFormDataZip {
-
-    /** 主键*/
-    private Long fId;
-
-    /** 模型key*/
-    private String modelKey;
-
-    /** 模型版本*/
-    private Integer modelVersion;
-
-    /** 模块id*/
-    private String modulId;
-
-    /** 名称*/
-    private String fName;
-
-    /** key*/
-    private String fKey;
-
-    /** 版本*/
-    private Long fVersion;
-
-    /** json数据*/
-    private Object jsonData;
-
-    /** 是否可用 0 不可用 1 可用*/
-    private Integer status;
-
-    /** 创建人*/
-    private String createBy;
-
-    /** 创建时间*/
-    private Date createTime;
-
-    /** 更新用户*/
-    private String updateBy;
-
-    /** 更新时间*/
-    private Date updateTime;
-
-    public Long getfId() {
-        return fId;
-    }
-
-    public void setfId(Long fId) {
-        this.fId = fId;
-    }
-
-    public String getModelKey() {
-        return modelKey;
-    }
-
-    public void setModelKey(String modelKey) {
-        this.modelKey = modelKey;
-    }
-
-    public Integer getModelVersion() {
-        return modelVersion;
-    }
-
-    public void setModelVersion(Integer modelVersion) {
-        this.modelVersion = modelVersion;
-    }
-
-    public String getModulId() {
-        return modulId;
-    }
-
-    public void setModulId(String modulId) {
-        this.modulId = modulId;
-    }
-
-    public String getfName() {
-        return fName;
-    }
-
-    public void setfName(String fName) {
-        this.fName = fName;
-    }
-
-    public String getfKey() {
-        return fKey;
-    }
-
-    public void setfKey(String fKey) {
-        this.fKey = fKey;
-    }
-
-    public Long getfVersion() {
-        return fVersion;
-    }
-
-    public void setfVersion(Long fVersion) {
-        this.fVersion = fVersion;
-    }
-
-    public Object getJsonData() {
-        return jsonData;
-    }
-
-    public void setJsonData(Object jsonData) {
-        this.jsonData = jsonData;
-    }
-
-    public Integer getStatus() {
-        return status;
-    }
-
-    public void setStatus(Integer status) {
-        this.status = status;
-    }
-
-    public String getCreateBy() {
-        return createBy;
-    }
-
-    public void setCreateBy(String createBy) {
-        this.createBy = createBy;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public String getUpdateBy() {
-        return updateBy;
-    }
-
-    public void setUpdateBy(String updateBy) {
-        this.updateBy = updateBy;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-}

+ 0 - 22
src/main/java/com/activiti6/entity/SelectVo.java

@@ -1,22 +0,0 @@
-package com.activiti6.entity;
-
-public class SelectVo {
-    private String text;
-    private String value;
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(String text) {
-        this.text = text;
-    }
-
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(String value) {
-        this.value = value;
-    }
-}

+ 0 - 148
src/main/java/com/activiti6/entity/editor/AbstractModel.java

@@ -1,148 +0,0 @@
-/* Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.activiti6.entity.editor;
-
-import java.util.Date;
-
-public class AbstractModel {
-
-  public static final int MODEL_TYPE_BPMN = 0;
-  public static final int MODEL_TYPE_FORM = 2;
-  public static final int MODEL_TYPE_APP = 3;
-  public static final int MODEL_TYPE_DECISION_TABLE = 4;
-
-
-  protected String id;
-
-  protected String name;
-  
-  protected String key;
-
-  protected String description;
-
-  protected Date created;
-
-  protected Date lastUpdated;
-
-  private String createdBy;
-
-  private String lastUpdatedBy;
-
-  protected int version;
-
-  protected String modelEditorJson;
-
-  protected String comment;
-
-  protected Integer modelType;
-
-  public AbstractModel() {
-    this.created = new Date();
-  }
-
-  public String getId() {
-    return id;
-  }
-
-  public void setId(String id) {
-    this.id = id;
-  }
-
-  public String getName() {
-    return name;
-  }
-
-  public void setName(String name) {
-    this.name = name;
-  }
-
-  public String getKey() {
-    return key;
-  }
-
-  public void setKey(String key) {
-    this.key = key;
-  }
-
-  public String getDescription() {
-    return description;
-  }
-
-  public void setDescription(String description) {
-    this.description = description;
-  }
-
-  public Date getCreated() {
-    return created;
-  }
-
-  public void setCreated(Date created) {
-    this.created = created;
-  }
-
-  public Date getLastUpdated() {
-    return lastUpdated;
-  }
-
-  public void setLastUpdated(Date lastUpdated) {
-    this.lastUpdated = lastUpdated;
-  }
-
-  public String getCreatedBy() {
-    return createdBy;
-  }
-
-  public void setCreatedBy(String createdBy) {
-    this.createdBy = createdBy;
-  }
-
-  public String getLastUpdatedBy() {
-    return lastUpdatedBy;
-  }
-
-  public void setLastUpdatedBy(String lastUpdatedBy) {
-    this.lastUpdatedBy = lastUpdatedBy;
-  }
-
-  public int getVersion() {
-    return version;
-  }
-
-  public void setVersion(int version) {
-    this.version = version;
-  }
-
-  public String getModelEditorJson() {
-    return modelEditorJson;
-  }
-
-  public void setModelEditorJson(String modelEditorJson) {
-    this.modelEditorJson = modelEditorJson;
-  }
-
-  public void setComment(String comment) {
-    this.comment = comment;
-  }
-
-  public String getComment() {
-    return comment;
-  }
-
-  public Integer getModelType() {
-    return modelType;
-  }
-
-  public void setModelType(Integer modelType) {
-    this.modelType = modelType;
-  }
-}

+ 0 - 31
src/main/java/com/activiti6/entity/editor/SaveModel.java

@@ -1,31 +0,0 @@
-/* Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.activiti6.entity.editor;
-
-public class SaveModel extends AbstractModel {
-
-	private byte[] thumbnail;
-
-	public SaveModel() {
-		super();
-	}
-	
-	public byte[] getThumbnail() {
-		return thumbnail;
-	}
-
-	public void setThumbnail(byte[] thumbnail) {
-		this.thumbnail = thumbnail;
-	}
-	
-}

+ 0 - 33
src/main/java/com/activiti6/mapper/MyFormDataMapper.java

@@ -1,33 +0,0 @@
-package com.activiti6.mapper;
-
-import com.activiti6.entity.MyFormData;
-import com.activiti6.entity.MyFormDataExample;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-public interface MyFormDataMapper {
-    int countByExample(MyFormDataExample example);
-
-    int deleteByExample(MyFormDataExample example);
-
-    int deleteByPrimaryKey(Long fId);
-
-    int insert(MyFormData record);
-
-    int insertSelective(MyFormData record);
-
-    List<MyFormData> selectByExample(MyFormDataExample example);
-
-    MyFormData selectByPrimaryKey(Long fId);
-
-    int updateByExampleSelective(@Param("record") MyFormData record, @Param("example") MyFormDataExample example);
-
-    int updateByExample(@Param("record") MyFormData record, @Param("example") MyFormDataExample example);
-
-    int updateByPrimaryKeySelective(MyFormData record);
-
-    int updateByPrimaryKey(MyFormData record);
-
-    void insertList(List<MyFormData> list);
-}

+ 0 - 5
src/main/java/com/activiti6/service/ModelService.java

@@ -1,5 +0,0 @@
-package com.activiti6.service;
-
-public interface ModelService {
-    void deleteProcessInstance(String modelId);
-}

+ 0 - 98
src/main/java/com/activiti6/service/impl/ActivitiService.java

@@ -1,98 +0,0 @@
-package com.activiti6.service.impl;
-
-import com.activiti6.mapper.MyFormDataMapper;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.bpmn.converter.BpmnXMLConverter;
-import org.activiti.bpmn.model.BpmnModel;
-import org.activiti.bpmn.model.Process;
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.editor.language.json.converter.BpmnJsonConverter;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.repository.Model;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.List;
-
-@Service
-public class ActivitiService {
-
-
-    @Autowired
-    private RepositoryService repositoryService;
-
-    @Autowired
-    private MyFormDataMapper myFormDataMapper;
-
-
-    public void convertInputStreamToModel(InputStream is) {
-        String modelId = null;
-
-        XMLInputFactory xif = XMLInputFactory.newInstance();
-        InputStreamReader isr = null;
-        XMLStreamReader xtr = null;
-        try {
-            isr = new InputStreamReader(is, "utf-8");
-            xtr = xif.createXMLStreamReader(isr);
-            BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr);
-            // 处理异常
-            if (bpmnModel.getMainProcess() == null
-                    || bpmnModel.getMainProcess().getId() == null) {
-                throw new Exception("模板文件可能存在问题,请检查后重试!");
-            }
-
-            ObjectNode modelNode = new BpmnJsonConverter().convertToJson(bpmnModel);
-            Model modelData = repositoryService.newModel();
-            org.activiti.bpmn.model.Process process = bpmnModel.getMainProcess();
-            String key = process.getId();
-            checkName(process);
-            String name = process.getName();
-            String description = process.getDocumentation();
-            modelData.setKey(key);
-            modelData.setName(name);
-
-            ObjectNode modelObjectNode = new ObjectMapper().createObjectNode();
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
-            modelData.setMetaInfo(modelObjectNode.toString());
-            repositoryService.saveModel(modelData);
-            repositoryService.addModelEditorSource(modelData.getId(), modelNode.toString().getBytes("utf-8"));
-
-            modelId = modelData.getId();
-        } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            try {
-                xtr.close();
-            } catch (XMLStreamException e) {
-                e.printStackTrace();
-            }
-            try {
-                isr.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-            try {
-                is.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    public void checkName(Process process) {
-        String key = process.getId();
-        List<Model> list = repositoryService.createModelQuery().modelKey(key).list();
-        if (list.size() > 0) {
-            throw new RuntimeException("该流程文件已存在无法上传");
-        }
-    }
-}

+ 0 - 62
src/main/java/com/activiti6/service/impl/ModelServiceImpl.java

@@ -1,62 +0,0 @@
-package com.activiti6.service.impl;
-
-import com.activiti6.controller.ModelerController;
-import com.activiti6.entity.MyFormDataExample;
-import com.activiti6.mapper.MyFormDataMapper;
-import com.activiti6.service.ModelService;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.activiti.engine.HistoryService;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.RuntimeService;
-import org.activiti.engine.repository.Model;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-public class ModelServiceImpl implements ModelService {
-    private static final Logger logger = LoggerFactory.getLogger(ModelerController.class);
-
-    @Autowired
-    private RepositoryService repositoryService;
-    @Autowired
-    private ObjectMapper objectMapper;
-    @Autowired
-    private HistoryService historyService;
-    @Autowired
-    private RuntimeService runtimeService;
-    @Autowired
-    private MyFormDataMapper myFormDataMapper;
-
-    @Override
-    public void deleteProcessInstance(String modelId) {
-        logger.info("删除流程实例入参modelId:{}", modelId);
-        Model modelData = repositoryService.getModel(modelId);
-        deleForm(modelData);
-        if (null != modelData) {
-            try {
-                ProcessInstance pi = runtimeService.createProcessInstanceQuery().processDefinitionKey(modelData.getKey()).singleResult();
-                if (null != pi) {
-                    runtimeService.deleteProcessInstance(pi.getId(), "");
-                    historyService.deleteHistoricProcessInstance(pi.getId());
-                }
-                repositoryService.deleteModel(modelId);
-            } catch (Exception e) {
-                logger.error("删除流程实例服务异常:{}", e);
-                throw new RuntimeException(e.getMessage());
-            }
-        }
-    }
-
-    private void deleForm(Model modelData) {
-        String key = modelData.getKey();
-        Integer version = modelData.getVersion();
-        MyFormDataExample myFormDataExample = new MyFormDataExample();
-        MyFormDataExample.Criteria criteria = myFormDataExample.createCriteria();
-        criteria.andModelKeyEqualTo(key);
-        criteria.andModelVersionEqualTo(version);
-        myFormDataMapper.deleteByExample(myFormDataExample);
-    }
-}

+ 0 - 217
src/main/java/com/activiti6/test/TestActiviti.java

@@ -1,217 +0,0 @@
-package com.activiti6.test;
-
-
-import com.activiti6.service.impl.ActivitiService;
-import com.alibaba.fastjson.JSON;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.bpmn.BpmnAutoLayout;
-import org.activiti.bpmn.converter.BpmnXMLConverter;
-import org.activiti.bpmn.model.*;
-import org.activiti.bpmn.model.Process;
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.editor.language.json.converter.BpmnJsonConverter;
-import org.activiti.engine.ProcessEngine;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.repository.Model;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
-import org.activiti.engine.test.ActivitiRule;
-import org.apache.batik.transcoder.TranscoderException;
-import org.apache.batik.transcoder.TranscoderInput;
-import org.apache.batik.transcoder.TranscoderOutput;
-import org.apache.batik.transcoder.image.PNGTranscoder;
-import org.apache.commons.io.FileUtils;
-import org.junit.Assert;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import java.io.*;
-import java.util.List;
-
-@SpringBootTest
-@RunWith(SpringRunner.class)
-public class TestActiviti {
-
-    @Autowired
-    ProcessEngine processEngine;
-    @Autowired
-    private RepositoryService repositoryService;
-    @Autowired
-    private ObjectMapper objectMapper;
-
-    @Autowired
-    private ActivitiService activitiService;
-
-
-    @Test
-    public void testDynamicDeploy() throws Exception {
-        // 1. 创建一个空的BpmnModel和Process对象
-        String name = "代码生成流程图";
-        String documentation = "代码生成流程图测试!";
-        String key = "my-process";
-        BpmnModel model = new BpmnModel();
-        Process process = new Process();
-        model.addProcess(process);
-        process.setId(key);
-        process.setName(name);
-        process.setDocumentation(documentation);
-        // 创建Flow元素(所有的事件、任务都被认为是Flow)
-        process.addFlowElement(createStartEvent());
-        process.addFlowElement(createUserTask("task1", "提交申请", "zdd"));
-        process.addFlowElement(createParallelGateway("parallel_in", "并行处理输入"));
-        process.addFlowElement(createUserTask("task2", "人事审批", "hr"));
-        process.addFlowElement(createUserTask("task3", "领导审批", "boos"));
-        process.addFlowElement(createParallelGateway("parallel_out", "并行处理输出"));
-        process.addFlowElement(createEndEvent());
-
-        process.addFlowElement(createSequenceFlow("start", "task1"));
-        process.addFlowElement(createSequenceFlow("task1", "parallel_in"));
-        process.addFlowElement(createSequenceFlow("parallel_in", "task2"));
-        process.addFlowElement(createSequenceFlow("parallel_in", "task3"));
-        process.addFlowElement(createSequenceFlow("task2", "parallel_out"));
-        process.addFlowElement(createSequenceFlow("task3", "parallel_out"));
-        process.addFlowElement(createSequenceFlow("parallel_out", "end"));
-
-        // 2. 流程图自动布局(位于activiti-bpmn-layout模块)
-        new BpmnAutoLayout(model).execute();
-        //saveModel(name, documentation, key, model);
-        other(model);
-    }
-
-    private void saveModel(BpmnModel bpmnModel) {
-        try {
-            ObjectNode modelNode = new BpmnJsonConverter().convertToJson(bpmnModel);
-            Model modelData = repositoryService.newModel();
-            org.activiti.bpmn.model.Process process = bpmnModel.getMainProcess();
-            String key = process.getId();
-            activitiService.checkName(process);
-            String name = process.getName();
-            String description = process.getDocumentation();
-            modelData.setKey(key);
-            modelData.setName(name);
-
-            ObjectNode modelObjectNode = new ObjectMapper().createObjectNode();
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, name);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1);
-            modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
-            modelData.setMetaInfo(modelObjectNode.toString());
-            repositoryService.saveModel(modelData);
-            repositoryService.addModelEditorSource(modelData.getId(), modelNode.toString().getBytes("utf-8"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-//        String json_xml = modelNode.toString();
-//
-//        BpmnXMLConverter bpmnXMLConverter=new BpmnXMLConverter();
-//        byte[] convertToXML = bpmnXMLConverter.convertToXML(model);
-//
-//        String svg_xml =new String(convertToXML);
-//
-//
-//        repositoryService.addModelEditorSource(activitModel.getId(), json_xml.getBytes("utf-8"));
-//
-//        InputStream svgStream = new ByteArrayInputStream(svg_xml.getBytes("utf-8"));
-//        TranscoderInput input = new TranscoderInput(svgStream);
-//
-//        PNGTranscoder transcoder = new PNGTranscoder();
-//        // Setup output
-//        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-//        TranscoderOutput output = new TranscoderOutput(outStream);
-//
-//        // Do the transformation
-//        transcoder.transcode(input, output);
-//        final byte[] result = outStream.toByteArray();
-//        repositoryService.addModelEditorSourceExtra(activitModel.getId(), result);
-//        outStream.close();
-    }
-
-    private void other(BpmnModel model) throws IOException {
-        ActivitiRule activitiRule = new ActivitiRule(processEngine);
-        String userHomeDir = "D:/doc/";
-        // 3. 把BpmnModel对象部署到引擎
-        Deployment deployment = activitiRule.getRepositoryService().createDeployment()
-                .addBpmnModel("dynamic-model.bpmn", model).name("Dynamic process deployment")
-                .deploy();
-        //runtimeSave(activitiRule, userHomeDir);
-
-        //        7. 导出Bpmn文件到本地文件系统
-        InputStream processBpmn = activitiRule.getRepositoryService()
-                .getResourceAsStream(deployment.getId(), "dynamic-model.bpmn");
-
-        activitiService.convertInputStreamToModel(processBpmn);
-
-        repositoryService.deleteDeployment(deployment.getId(), true);
-
-//        FileUtils.copyInputStreamToFile(processBpmn,
-//                new File(userHomeDir + "/process.bpmn20.xml"));
-    }
-
-
-
-    private void runtimeSave(ActivitiRule activitiRule, String userHomeDir) throws IOException {
-        // 4. 启动流程
-        ProcessInstance processInstance = activitiRule.getRuntimeService()
-                .startProcessInstanceByKey("my-process");
-
-        // 5. 检查流程是否正常启动
-        List<Task> tasks = activitiRule.getTaskService().createTaskQuery()
-                .processInstanceId(processInstance.getId()).list();
-
-        Assert.assertEquals(1, tasks.size());
-        Assert.assertEquals("First task", tasks.get(0).getName());
-        Assert.assertEquals("fred", tasks.get(0).getAssignee());
-
-//        6. 导出流程图
-//        把文件生成在本章项目的test - classes目录中
-        InputStream processDiagram = activitiRule.getRepositoryService()
-                .getProcessDiagram(processInstance.getProcessDefinitionId());
-
-        System.out.println(userHomeDir);
-        FileUtils.copyInputStreamToFile(processDiagram, new File(userHomeDir + "/diagram.png"));
-    }
-
-    protected ParallelGateway createParallelGateway(String id, String name) {
-        ParallelGateway parallelGateway = new ParallelGateway();
-        parallelGateway.setName(name);
-        parallelGateway.setId(id);
-        return parallelGateway;
-    }
-
-    protected UserTask createUserTask(String id, String name, String assignee) {
-        UserTask userTask = new UserTask();
-        userTask.setName(name);
-        userTask.setId(id);
-        userTask.setAssignee(assignee);
-        return userTask;
-    }
-
-    protected SequenceFlow createSequenceFlow(String from, String to) {
-        SequenceFlow flow = new SequenceFlow();
-        flow.setSourceRef(from);
-        flow.setTargetRef(to);
-        return flow;
-    }
-
-    protected StartEvent createStartEvent() {
-        StartEvent startEvent = new StartEvent();
-        startEvent.setId("start");
-        return startEvent;
-    }
-
-    protected EndEvent createEndEvent() {
-        EndEvent endEvent = new EndEvent();
-        endEvent.setId("end");
-        return endEvent;
-    }
-
-}

+ 3 - 3
src/main/resources/application-dev.yml

@@ -2,9 +2,9 @@
 spring:
   #数据源配置
   datasource:
-    url: jdbc:mysql://47.108.115.128:3306/activiti?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
-    username: activiti
-    password: 5N6ipwhde7PGeBtf
+    url: jdbc:mysql://172.16.90.64:3306/airposrt_activiti?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
+    username: root
+    password: 123456
     type: com.alibaba.druid.pool.DruidDataSource
     #freemarker模板配置
     freemarker:

+ 1 - 1
src/main/resources/application.yml

@@ -1,7 +1,7 @@
 server:
   session:
     timeout: 3600
-  port: 8081
+  port: 11375
 # Spring
 spring:
   jackson:

+ 9 - 9
src/main/resources/mapper/MyFormDataMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.activiti6.mapper.MyFormDataMapper">
-    <resultMap id="BaseResultMap" type="com.activiti6.entity.MyFormData">
+<mapper namespace="com.activiti5.mapper.MyFormDataMapper">
+    <resultMap id="BaseResultMap" type="com.activiti5.entity.MyFormData">
         <id column="f_id" property="fId" jdbcType="BIGINT"/>
         <result column="model_key" property="modelKey" jdbcType="VARCHAR"/>
         <result column="model_version" property="modelVersion" jdbcType="INTEGER"/>
@@ -80,7 +80,7 @@
     f_id, model_key, model_version, modul_id, f_name, f_key, f_version, json_data, status, 
     create_by, create_time, update_by, update_time
   </sql>
-    <select id="selectByExample" resultMap="BaseResultMap" parameterType="com.activiti6.entity.MyFormDataExample">
+    <select id="selectByExample" resultMap="BaseResultMap" parameterType="com.activiti5.entity.MyFormDataExample">
         select
         <if test="distinct">
             distinct
@@ -104,13 +104,13 @@
     delete from form_data
     where f_id = #{fId,jdbcType=BIGINT}
   </delete>
-    <delete id="deleteByExample" parameterType="com.activiti6.entity.MyFormDataExample">
+    <delete id="deleteByExample" parameterType="com.activiti5.entity.MyFormDataExample">
         delete from form_data
         <if test="_parameter != null">
             <include refid="Example_Where_Clause"/>
         </if>
     </delete>
-    <insert id="insert" parameterType="com.activiti6.entity.MyFormData">
+    <insert id="insert" parameterType="com.activiti5.entity.MyFormData">
     insert into form_data (f_id, model_key, model_version, 
       modul_id, f_name, f_key, 
       f_version, json_data, status, 
@@ -122,7 +122,7 @@
       #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, 
       #{updateTime,jdbcType=TIMESTAMP})
   </insert>
-    <insert id="insertSelective" parameterType="com.activiti6.entity.MyFormData">
+    <insert id="insertSelective" parameterType="com.activiti5.entity.MyFormData">
         insert into form_data
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="fId != null">
@@ -208,7 +208,7 @@
         </trim>
     </insert>
 
-    <select id="countByExample" parameterType="com.activiti6.entity.MyFormDataExample" resultType="java.lang.Integer">
+    <select id="countByExample" parameterType="com.activiti5.entity.MyFormDataExample" resultType="java.lang.Integer">
         select count(*) from form_data
         <if test="_parameter != null">
             <include refid="Example_Where_Clause"/>
@@ -280,7 +280,7 @@
             <include refid="Update_By_Example_Where_Clause"/>
         </if>
     </update>
-    <update id="updateByPrimaryKeySelective" parameterType="com.activiti6.entity.MyFormData">
+    <update id="updateByPrimaryKeySelective" parameterType="com.activiti5.entity.MyFormData">
         update form_data
         <set>
             <if test="modelKey != null">
@@ -322,7 +322,7 @@
         </set>
         where f_id = #{fId,jdbcType=BIGINT}
     </update>
-    <update id="updateByPrimaryKey" parameterType="com.activiti6.entity.MyFormData">
+    <update id="updateByPrimaryKey" parameterType="com.activiti5.entity.MyFormData">
     update form_data
     set model_key = #{modelKey,jdbcType=VARCHAR},
       model_version = #{modelVersion,jdbcType=INTEGER},

+ 14 - 12
src/main/resources/static/diagram-viewer/index.html

@@ -107,21 +107,23 @@
 
     var baseUrl = window.document.location.protocol + "//" + window.document.location.host + "/";
     var shortenedUrl = window.document.location.href.replace(baseUrl, "");
-    baseUrl = baseUrl + shortenedUrl.substring(0, shortenedUrl.indexOf("/"));
-
-    // ActivitiRest.options = {
-    //   processInstanceHighLightsUrl: baseUrl + "/trace/process-instance/{processInstanceId}/highlights?callback=?",
-    //   processDefini
-    //      tionUrl: baseUrl + "/trace/process-definition/{processDefinitionId}/diagram-layout?callback=?",
-    //   processDefin7itionByKeyUrl: baseUrl + "/trace/process-definition/{processDefinitionKey}/diagram-layout?callback=?"
-    // };
-
+    baseUrl= baseUrl + shortenedUrl.substring(0, shortenedUrl.indexOf("/"));
+    var apiurl =window.document.location.protocol + "//" + window.document.location.host;
+    console.log(apiurl);
     ActivitiRest.options = {
-      processInstanceHighLightsUrl:  "http://172.16.90.11:8081/activiti/process-instance/{processInstanceId}/highlights?callback=?",
-      processDefinitionUrl: "http://172.16.90.11:8081/activiti/process-definition/{processDefinitionId}/diagram-layout?callback=?",
-      processDefinitionByKeyUrl: "http://172.16.90.11:8081/activiti/process-definition/{processDefinitionKey}/diagram-layout?callback=?"
+      processInstanceHighLightsUrl: apiurl + "/activiti/process-instance/{processInstanceId}/highlights?callback=?",
+      processDefinitionUrl: apiurl + "/activiti/process-definition/{processDefinitionId}/diagram-layout?callback=?",
+      processDefinitionByKeyUrl: apiurl + "/activiti/process-definition/{processDefinitionKey}/diagram-layout?callback=?"
     };
 
+
+    // ActivitiRest.options = {
+    //   processInstanceHighLightsUrl:  "http://172.16.90.136:11375/activiti/process-instance/{processInstanceId}/highlights?callback=?",
+    //   processDefinitionUrl: "http://172.16.90.136:11375/activiti/process-definition/{processDefinitionId}/diagram-layout?callback=?",
+    //   processDefinitionByKeyUrl: "http://172.16.90.136:11375/activiti/process-definition/{processDefinitionKey}/diagram-layout?callback=?"
+    // };
+    var json = JSON.stringify(ActivitiRest.options);
+    console.log(json);
     if (processDefinitionId) {
       ProcessDiagramGenerator.drawDiagram(processDefinitionId);
 

+ 3 - 0
src/main/resources/static/editor-app/configuration/toolbar-default-actions.js

@@ -327,6 +327,9 @@ var SaveModelCtrl = [ '$rootScope', '$scope', '$http', '$route', '$location',
     $scope.saveAndClose = function () {
     	$scope.save(function() {
     		window.location.href = "./";
+            window.parent.postMessage({
+                clickType: 'toolbarSecondaryButtonClicked'
+            }, '*');
     	});
     };
     $scope.save = function (successCallback) {

+ 3 - 0
src/main/resources/static/editor-app/toolbar-controller.js

@@ -58,6 +58,9 @@ angular.module('activitiModeler')
         $scope.toolbarSecondaryButtonClicked = function(buttonIndex) {
             var buttonClicked = $scope.secondaryItems[buttonIndex];
             var services = { '$scope' : $scope, '$http' : $http, '$modal' : $modal, '$q' : $q, '$translate' : $translate, '$location': $location};
+            window.parent.postMessage({
+                clickType: 'toolbarSecondaryButtonClicked'
+            }, '*');
             executeFunctionByName(buttonClicked.action, window, services);
         };
         

+ 0 - 1
src/main/resources/templates/modeler.ftl

@@ -137,6 +137,5 @@
 	
 	<script src="editor-app/configuration/properties.js" type="text/javascript"></script>
 	<script src="editor-app/configuration/properties-custom-controllers.js" type="text/javascript"></script>
-
 </body>
 </html>