ActivitiConfig.java 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.ruoyi.config;
  2. import org.activiti.engine.*;
  3. import org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration;
  4. import org.activiti.engine.repository.DeploymentBuilder;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.context.annotation.Bean;
  7. import org.springframework.context.annotation.Configuration;
  8. import org.springframework.core.io.Resource;
  9. import org.springframework.core.io.support.ResourcePatternResolver;
  10. import javax.annotation.PostConstruct;
  11. import javax.sql.DataSource;
  12. import java.io.IOException;
  13. /**
  14. * 使用Java类完成配置文件
  15. */
  16. @Configuration
  17. public class ActivitiConfig {
  18. @Autowired
  19. private DataSource dataSource;
  20. @Autowired
  21. private ResourcePatternResolver resourceLoader;
  22. /**
  23. * 初始化配置,将创建28张表
  24. *
  25. * @return
  26. */
  27. @Bean
  28. public StandaloneProcessEngineConfiguration processEngineConfiguration() {
  29. /*ProcessEngineConfiguration pec = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();
  30. pec.setJdbcDriver("oracle.jdbc.driver.OracleDriver");
  31. pec.setJdbcUrl("jdbc:oracle:thin:@47.114.101.16:1521/xe");
  32. pec.setJdbcUsername("newcpms");
  33. pec.setJdbcPassword("ssy123456");
  34. pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
  35. //pec.setDatabaseSchema("FLOWABLE");
  36. pec.setDatabaseTablePrefix("flow");
  37. ProcessEngine processEngine = pec.buildProcessEngine();*/
  38. StandaloneProcessEngineConfiguration configuration = new StandaloneProcessEngineConfiguration();
  39. configuration.setDataSource(dataSource);
  40. configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
  41. configuration.setDbIdentityUsed(false);
  42. configuration.setAsyncExecutorActivate(false);
  43. configuration.setActivityFontName("宋体");
  44. configuration.setAnnotationFontName("宋体");
  45. configuration.setLabelFontName("宋体");
  46. return configuration;
  47. }
  48. @Bean
  49. public ProcessEngine processEngine() {
  50. return processEngineConfiguration().buildProcessEngine();
  51. }
  52. @Bean
  53. public RepositoryService repositoryService() {
  54. return processEngine().getRepositoryService();
  55. }
  56. @Bean
  57. public RuntimeService runtimeService() {
  58. return processEngine().getRuntimeService();
  59. }
  60. @Bean
  61. public TaskService taskService() {
  62. return processEngine().getTaskService();
  63. }
  64. @Bean
  65. public HistoryService historyService() {
  66. return processEngine().getHistoryService();
  67. }
  68. /**
  69. * 部署流程
  70. *
  71. * @throws IOException
  72. */
  73. @PostConstruct
  74. public void initProcess() throws IOException {
  75. DeploymentBuilder deploymentBuilder = repositoryService().createDeployment();
  76. Resource common = resourceLoader.getResource("classpath:/processes/common.bpmn"); //加载流程图资源文件
  77. deploymentBuilder.enableDuplicateFiltering().addInputStream(common.getFilename(), common.getInputStream()).name("普通隐患审批流程").deploy(); //按流程id部署
  78. DeploymentBuilder deploymentBuilder1 = repositoryService().createDeployment();
  79. Resource major= resourceLoader.getResource("classpath:/processes/major.bpmn");
  80. deploymentBuilder1.enableDuplicateFiltering().addInputStream(major.getFilename(), major.getInputStream()).name("重大隐患审批流程").deploy();
  81. DeploymentBuilder deploymentBuilder2 = repositoryService().createDeployment();
  82. Resource accident = resourceLoader.getResource("classpath:/processes/accident.bpmn"); //加载流程图资源文件
  83. deploymentBuilder2.enableDuplicateFiltering().addInputStream(accident.getFilename(), accident.getInputStream()).name("事件审批流程").deploy();//按流程id部署
  84. DeploymentBuilder deploymentBuilder3 = repositoryService().createDeployment();
  85. Resource spec = resourceLoader.getResource("classpath:/processes/MyProcess.bpmn"); //加载流程图资源文件
  86. deploymentBuilder3.enableDuplicateFiltering().addInputStream(spec.getFilename(), spec.getInputStream()).name("特种设备审批流程").deploy();//按流程id部署
  87. DeploymentBuilder deploymentBuilder4 = repositoryService().createDeployment();
  88. Resource spec2 = resourceLoader.getResource("classpath:/processes/his/semsAddDelProcess.bpmn"); //加载流程图资源文件
  89. deploymentBuilder4.enableDuplicateFiltering().addInputStream(spec2.getFilename(), spec2.getInputStream()).name("特种设备新增修改流程").deploy();//按流程id部署
  90. DeploymentBuilder deploymentBuilder5 = repositoryService().createDeployment();
  91. Resource spec3 = resourceLoader.getResource("classpath:/processes/sems/yearProcess.bpmn"); //加载流程图资源文件
  92. deploymentBuilder5.enableDuplicateFiltering().addInputStream(spec3.getFilename(), spec3.getInputStream()).name("特种设备年检报告流程").deploy();//按流程id部署
  93. DeploymentBuilder deploymentBuilder6 = repositoryService().createDeployment();
  94. Resource spec4 = resourceLoader.getResource("classpath:/processes/sems/monthProcess.bpmn"); //加载流程图资源文件
  95. deploymentBuilder6.enableDuplicateFiltering().addInputStream(spec4.getFilename(), spec4.getInputStream()).name("特种设备月度检验流程").deploy();//按流程id部署
  96. DeploymentBuilder deploymentBuilder7 = repositoryService().createDeployment();
  97. Resource spec7 = resourceLoader.getResource("classpath:/processes/specTraining/specTrainingPlanProcess.bpmn"); //加载流程图资源文件
  98. deploymentBuilder7.enableDuplicateFiltering().addInputStream(spec7.getFilename(), spec7.getInputStream()).name("专项培训计划审核").deploy();//按流程id部署
  99. DeploymentBuilder deploymentBuilder8 = repositoryService().createDeployment();
  100. Resource spec8 = resourceLoader.getResource("classpath:/processes/maintenance.bpmn"); //加载流程图资源文件
  101. deploymentBuilder8.enableDuplicateFiltering().addInputStream(spec8.getFilename(), spec8.getInputStream()).name("设备维修审核").deploy();//按流程id部署
  102. DeploymentBuilder deploymentBuilder9 = repositoryService().createDeployment();
  103. Resource spec9 = resourceLoader.getResource("classpath:/processes/intact/intactChangeApplicationProcess.bpmn"); //加载流程图资源文件
  104. deploymentBuilder9.enableDuplicateFiltering().addInputStream(spec9.getFilename(), spec9.getInputStream()).name("设备变更申请流程").deploy();//按流程id部署
  105. DeploymentBuilder deploymentBuilder10 = repositoryService().createDeployment();
  106. Resource spec10 = resourceLoader.getResource("classpath:/processes/kekao/reliability.bpmn"); //加载流程图资源文件
  107. deploymentBuilder10.enableDuplicateFiltering().addInputStream(spec10.getFilename(), spec10.getInputStream()).name("可靠性管理申请流程").deploy();//按流程id部署
  108. DeploymentBuilder deploymentBuilder11 = repositoryService().createDeployment();
  109. Resource spec11 = resourceLoader.getResource("classpath:/processes/reserveInvoice.bpmn"); //加载流程图资源文件
  110. deploymentBuilder11.enableDuplicateFiltering().addInputStream(spec11.getFilename(), spec11.getInputStream()).name("预约开票审批流程").deploy();//按流程id部署
  111. DeploymentBuilder deploymentBuilder12 = repositoryService().createDeployment();
  112. Resource spec12 = resourceLoader.getResource("classpath:/processes/apply/offlinevalve.bpmn"); //加载流程图资源文件
  113. deploymentBuilder12.enableDuplicateFiltering().addInputStream(spec12.getFilename(), spec12.getInputStream()).name("安全阀离线/切出申请流程").deploy();//按流程id部署
  114. }
  115. }