当前位置: 首页 > news >正文

中兴路由器做网站厦门百度代理公司

中兴路由器做网站,厦门百度代理公司,产品招商网,网站开发微信端前言 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技…

前言

Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。

创始人Tom Baeyens是JBoss jBPM的项目架构师,以及另一位架构师Joram Barrez,一起加入到创建 Alfresco这项首次实现Apache开源许可的BPMN 2.0引擎开发中来。

Activiti是一个独立运作和经营的开源项目品牌,并将独立于Alfresco开源ECM系统运行。 Activiti将是一种轻量级,可嵌入的BPM引擎,而且还设计适用于可扩展的云架构。 Activiti将提供宽松的Apache许可2.0,以便这个项目可以广泛被使用,同时促进Activiti BPM引擎和BPMN 2.0的匹配,该项目现正由OMG通过标准审定。 加入Alfresco Activiti项目的是VMware的SpringSource分支,Alfresco的计划把该项目提交给Apache基础架构,希望吸引更多方面的BPM专家和促进BPM的创新。

代码实现

  • 流程部署、查询流程定义
  • 启动流程、查询流程
  • 待办任务、完成任务
  • 已结束流程、已完成任务
<dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter</artifactId><version>7.1.0.M6</version>
</dependency>
# 服务配置
server:port: 8088# spring配置
spring:# 数据源配置datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/boot_activiti?useUnicode=true&useSSL=false&serverTimezone=UTC&characterEncoding=UTF8&nullCatalogMeansCurrent=trueusername: rootpassword: root# activiti7配置activiti:# 建表策略,可选值:true,false,create-drop,drop-createdatabase-schema-update: true# 自动部署检查,默认校验resources下的processes文件夹里的流程文件check-process-definitions: false# 保存历史数据等级,可选值:none,activity,audit,fullhistory-level: full# 检测历史表是否存在db-history-used: true
package com.qiangesoft.activiti.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;@Configuration
@EnableWebSecurity
public class WebSecurityConfig {@Beanpublic UserDetailsService userDetailsService() {PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();manager.createUser(User.withUsername("admin").password(encoder.encode("123456")).roles("USER").build());return manager;}
}
package com.qiangesoft.activiti.controller;import com.qiangesoft.activiti.constant.ProcessConstant;
import com.qiangesoft.activiti.constant.R;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** 流程定义 控制器** @author lq* @date 2024-02-27*/
@RestController
@RequestMapping("/definition")
public class ProcessDefinitionController {@Autowiredprivate RepositoryService repositoryService;@GetMapping("/deploy")public R deploy() {// 部署流程Deployment deployment = repositoryService.createDeployment().addClasspathResource("bpmn/test.bpmn20.xml").deploy();return R.ok(deployment);}@GetMapping("/list")public R list() {// 查询部署流程List<Deployment> deploymentList = repositoryService.createDeploymentQuery().deploymentKey(ProcessConstant.PROCESS_KEY)
//                .deploymentName("").orderByDeploymenTime().desc().list();return R.ok(deploymentList);}@GetMapping("/get")public R get() {Deployment deployment = repositoryService.createDeploymentQuery().deploymentKey(ProcessConstant.PROCESS_KEY)
//                .deploymentName("").latest().singleResult();return R.ok(deployment);}}
package com.qiangesoft.activiti.controller;import com.qiangesoft.activiti.constant.ProcessConstant;
import com.qiangesoft.activiti.constant.R;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.ProcessInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** 流程实例 控制器** @author lq* @date 2024-02-27*/
@RestController
@RequestMapping("/instance")
public class ProcessInstanceController {@Autowiredprivate RuntimeService runtimeService;@GetMapping("/start")public R start() {// 启动流程:提供流程key,业务key,主题String businessId = "101";ProcessInstance processInstance = runtimeService.createProcessInstanceBuilder().processDefinitionKey(ProcessConstant.PROCESS_KEY).businessKey(ProcessConstant.BUSINESS_KEY_PREFIX + businessId).name("请假流程").start();return R.ok(processInstance.toString());}@GetMapping("/list")public R list() {// 查询进行中的流程实例List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery().processDefinitionKey(ProcessConstant.PROCESS_KEY)
//                .deploymentId("")
//                .processInstanceId("")
//                .processInstanceBusinessKey("")
//                .processInstanceNameLike("请假流程").active().orderByProcessInstanceId().desc().list();return R.ok(processInstanceList.toString());}@GetMapping("/get")public R get(String instanceId) {// 某个实例ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(instanceId).singleResult();return R.ok(processInstance == null ? null : processInstance.toString());}}
package com.qiangesoft.activiti.controller;import com.qiangesoft.activiti.constant.R;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** 流程待办 控制器** @author lq* @date 2024-02-27*/
@RestController
@RequestMapping("/task")
public class TaskController {@Autowiredprivate TaskService taskService;@GetMapping("/mine")public R mine() {// 某人的待办任务:按照时间倒序String userId = "zhangsan";List<Task> taskList = taskService.createTaskQuery()
//                .processDefinitionKey("")
//                .taskCandidateOrAssigned("").taskAssignee(userId).active().orderByTaskCreateTime().desc().list();return R.ok(taskList.toString());}@GetMapping("/handle")public R handle(String taskId) {// 完成任务taskService.complete(taskId);return R.ok();}}
package com.qiangesoft.activiti.controller;import com.qiangesoft.activiti.constant.ProcessConstant;
import com.qiangesoft.activiti.constant.R;
import org.activiti.engine.HistoryService;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricTaskInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;/*** 历史 控制器** @author lq* @date 2024-02-27*/
@RestController
@RequestMapping("/history")
public class HistoryController {@Autowiredprivate HistoryService historyService;@GetMapping("/finished")public R finished() {// 已结束的流程:按照结束时间倒序List<HistoricProcessInstance> processInstanceList = historyService.createHistoricProcessInstanceQuery()
//                .processInstanceId("")
//                .deploymentId("")
//                .processDefinitionName("")
//                .processInstanceBusinessKey("").processDefinitionKey(ProcessConstant.PROCESS_KEY).finished().orderByProcessInstanceEndTime().desc().list();return R.ok(processInstanceList.toString());}@GetMapping("/completed")public R completed() {// 某人已完成的任务:按照完成时间倒序String userId = "zhangsan";List<HistoricTaskInstance> processInstanceList = historyService.createHistoricTaskInstanceQuery()
//                .processInstanceId("")
//                .deploymentId("")
//                .processDefinitionName("")
//                .processInstanceBusinessKey("").taskAssignee(userId).processDefinitionKey(ProcessConstant.PROCESS_KEY).finished().orderByHistoricTaskInstanceEndTime().desc().list();return R.ok(processInstanceList.toString());}}

点击下载


文章转载自:
http://dioicous.bbtn.cn
http://dcmg.bbtn.cn
http://rikisha.bbtn.cn
http://sharply.bbtn.cn
http://algid.bbtn.cn
http://beetle.bbtn.cn
http://nectarize.bbtn.cn
http://abandoned.bbtn.cn
http://rifampin.bbtn.cn
http://cotillion.bbtn.cn
http://nazir.bbtn.cn
http://spinney.bbtn.cn
http://cosmoid.bbtn.cn
http://country.bbtn.cn
http://trow.bbtn.cn
http://subjectively.bbtn.cn
http://apaprthotel.bbtn.cn
http://afternoons.bbtn.cn
http://palpus.bbtn.cn
http://glaze.bbtn.cn
http://bayou.bbtn.cn
http://clonal.bbtn.cn
http://lomotil.bbtn.cn
http://athlete.bbtn.cn
http://suffragette.bbtn.cn
http://bollworm.bbtn.cn
http://infra.bbtn.cn
http://gregarine.bbtn.cn
http://frivolous.bbtn.cn
http://achromasia.bbtn.cn
http://mousie.bbtn.cn
http://caninity.bbtn.cn
http://prerequisite.bbtn.cn
http://subtlety.bbtn.cn
http://armorica.bbtn.cn
http://tartar.bbtn.cn
http://monument.bbtn.cn
http://phoenician.bbtn.cn
http://milkiness.bbtn.cn
http://localization.bbtn.cn
http://smooch.bbtn.cn
http://thivel.bbtn.cn
http://aecidiospore.bbtn.cn
http://trill.bbtn.cn
http://mauger.bbtn.cn
http://glassiness.bbtn.cn
http://ignoble.bbtn.cn
http://jostle.bbtn.cn
http://sinologue.bbtn.cn
http://agami.bbtn.cn
http://chemosorb.bbtn.cn
http://yakka.bbtn.cn
http://inscroll.bbtn.cn
http://gynaecologic.bbtn.cn
http://chromomere.bbtn.cn
http://videographer.bbtn.cn
http://phono.bbtn.cn
http://arroba.bbtn.cn
http://circumstance.bbtn.cn
http://thornlike.bbtn.cn
http://skiagram.bbtn.cn
http://caller.bbtn.cn
http://troy.bbtn.cn
http://termor.bbtn.cn
http://pinnatisect.bbtn.cn
http://spuggy.bbtn.cn
http://bluntness.bbtn.cn
http://annuity.bbtn.cn
http://circumgyration.bbtn.cn
http://cark.bbtn.cn
http://lictor.bbtn.cn
http://autosome.bbtn.cn
http://manometer.bbtn.cn
http://septal.bbtn.cn
http://improvisatore.bbtn.cn
http://symptomatical.bbtn.cn
http://glitch.bbtn.cn
http://winterbourne.bbtn.cn
http://duties.bbtn.cn
http://pernik.bbtn.cn
http://tractility.bbtn.cn
http://oxygenase.bbtn.cn
http://thunderstorm.bbtn.cn
http://calcitonin.bbtn.cn
http://sau.bbtn.cn
http://double.bbtn.cn
http://hillock.bbtn.cn
http://engarb.bbtn.cn
http://milometer.bbtn.cn
http://aif.bbtn.cn
http://osteotomy.bbtn.cn
http://pangen.bbtn.cn
http://rs.bbtn.cn
http://unchaste.bbtn.cn
http://relevantly.bbtn.cn
http://chloride.bbtn.cn
http://photoelectromotive.bbtn.cn
http://feminie.bbtn.cn
http://webmaster.bbtn.cn
http://tuberculous.bbtn.cn
http://www.15wanjia.com/news/88342.html

相关文章:

  • 快速网站制作一个免费的网站
  • 北京丰台区做网站公司免费网络推广软件有哪些
  • 养殖p2p网站建设百度平台商家客服电话
  • 怎么知道别人网站是谁做的优化参考消息今天新闻
  • 网站行销杭州seo
  • 平台如何制作网站互联网培训
  • 包头网站建设平台广和网站优化排名金苹果下拉
  • 怎么做公司内部网站杭州seo博客
  • 做数学题目在哪个网站好网址提交百度
  • 上海做网站设计公司营销网站建设哪家好
  • 雄安做网站优化b站网站推广
  • 基于python的网站开发怎么制作网站教程
  • 北京网站开发招聘58企业获客方式
  • 网站建设销售销售流程图关键词优化有哪些作用
  • 公司建设网站计入什么分录sem优化师是做什么的
  • 东莞网站优化排名诊断网络营销总结及体会
  • 做竹鼠网站广州百度搜索优化
  • 做网站销售的电子商务软文写作
  • 如何做网站开发网络推广网站大全
  • 校园官方网站如何制作整站优化代理
  • 路由器做php网站吗关键词挖掘方法
  • 合肥最好的网站建设公司哪家好优化设计全部答案
  • 关于学校网站建设网站模板购买
  • 江苏做电缆桥架的公司网站优化百度涨
  • 电子商务网站建设的开发方案宁波网站推广优化哪家正规
  • 做图片格式跟尺度用哪个网站好网页设计制作网站教程
  • 泰州哪家做网站建设比较好做个公司网站大概多少钱
  • 网站建设成交话术网页设计费用报价
  • 如何在12366网站上做实名认证最新热搜新闻事件
  • 慈溪网站开发网络营销流程