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

民权平台网站建设网页打不开connection

民权平台网站建设,网页打不开connection,合肥网站建站建设,注册公司费用大概多少目录 一、环境搭建(Spring Boot 2.x) 1.1 依赖配置 1.2 配置文件 二、流程定义与部署 2.1 创建BPMN文件(leave.bpmn) 2.2 流程部署服务 三、流程操作核心实现 3.1 启动流程实例 3.2 查询待办任务 四、审批流程处理 4.1 …

目录

一、环境搭建(Spring Boot 2.x)

1.1 依赖配置

1.2 配置文件

二、流程定义与部署

2.1 创建BPMN文件(leave.bpmn)

2.2 流程部署服务

三、流程操作核心实现

3.1 启动流程实例

3.2 查询待办任务

四、审批流程处理

4.1 通过审批

4.2 驳回流程

4.3 撤回流程

五、流程状态管理

5.1 流程历史查询

5.2 流程图生成

六、完整流程示例

6.1 请假流程时序图

七、常见问题解决方案

7.1 流程版本控制

7.2 流程变量管理

结语


一、环境搭建(Spring Boot 2.x)

1.1 依赖配置

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring-boot-starter-basic</artifactId><version>5.22.0</version></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency>
</dependencies>

1.2 配置文件

spring:activiti:database-schema-update: truehistory-level: fullcheck-process-definitions: falsedatasource:url: jdbc:h2:mem:testdbdriverClassName: org.h2.Driverusername: sapassword: 

二、流程定义与部署

2.1 创建BPMN文件(leave.bpmn)

<process id="leaveProcess" name="请假流程"><startEvent id="start"/><userTask id="apply" name="提交申请" activiti:assignee="${applicant}"/><userTask id="managerApprove" name="经理审批" activiti:assignee="${approver}"/><exclusiveGateway id="exclusiveGw"/><sequenceFlow sourceRef="start" targetRef="apply"/><sequenceFlow sourceRef="apply" targetRef="managerApprove"/><sequenceFlow sourceRef="managerApprove" targetRef="exclusiveGw"/><endEvent id="end"/>
</process>

2.2 流程部署服务

@Service
public class ProcessService {@Autowiredprivate RepositoryService repositoryService;public void deployProcess(String bpmnPath) {repositoryService.createDeployment().addClasspathResource(bpmnPath).deploy();}
}

三、流程操作核心实现

3.1 启动流程实例

@Service
public class RuntimeService {@Autowiredprivate org.activiti.engine.RuntimeService activitiRuntimeService;public String startProcess(String processKey, String businessKey, Map<String, Object> variables) {return activitiRuntimeService.startProcessInstanceByKey(processKey, businessKey, variables).getId();}
}

3.2 查询待办任务

@Service 
public class TaskService {@Autowiredprivate org.activiti.engine.TaskService activitiTaskService;public List<Task> getTasksByUser(String userId) {return activitiTaskService.createTaskQuery().taskAssignee(userId).list();}
}

四、审批流程处理

4.1 通过审批

public void completeTask(String taskId, Map<String, Object> variables) {activitiTaskService.complete(taskId, variables);
}

4.2 驳回流程

public void rejectTask(String taskId, String targetTaskKey) {Task currentTask = activitiTaskService.createTaskQuery().taskId(taskId).singleResult();activitiRuntimeService.createProcessInstanceModification(currentTask.getProcessInstanceId()).cancelActivityInstance(currentTask.getExecutionId()).startBeforeActivity(targetTaskKey).execute();
}

4.3 撤回流程

public void withdrawProcess(String processInstanceId) {activitiRuntimeService.deleteProcessInstance(processInstanceId, "用户撤回");
}

五、流程状态管理

5.1 流程历史查询

public List<HistoricActivityInstance> getHistory(String processInstanceId) {return historyService.createHistoricActivityInstanceQuery().processInstanceId(processInstanceId).orderByHistoricActivityInstanceStartTime().asc().list();
}

5.2 流程图生成

public InputStream generateDiagram(String processInstanceId) {ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());return processDiagramGenerator.generateDiagram(bpmnModel, "png", runtimeService.getActiveActivityIds(processInstanceId));
}

六、完整流程示例

6.1 请假流程时序图



七、常见问题解决方案

7.1 流程版本控制

public List<ProcessDefinition> getProcessVersions(String processKey) {return repositoryService.createProcessDefinitionQuery().processDefinitionKey(processKey).orderByProcessDefinitionVersion().desc().list();
}

7.2 流程变量管理

// 设置变量
taskService.setVariable(taskId, "approveComment", "同意申请");// 获取变量
String comment = (String) taskService.getVariable(taskId, "approveComment");

结语

最佳实践建议:

  1. 使用@Transactional注解保证流程操作与业务数据
http://www.dtcms.com/a/611771.html

相关文章:

  • 关于加强网站建设的建议企业进行网站建设的方式有( )
  • 教育网站开发需求分析创网易邮箱账号
  • 梅河口市建设局网站建设银行忘记密码网站首页
  • 网站建设有哪些内容苏州建筑设计公司
  • 查询邮箱注册过的网站网站建设甲方给乙方的需求方案
  • 怎么搭建自己的网站卖货网站推广seo
  • 如何写网站建设方案书浙江公铁建设工程有限公司网站
  • 深圳做二维码网站网站建设费用怎么做分录
  • 韩都衣舍网站建设的改进入驻天猫店需要什么条件
  • windows下特定字符搜索功能
  • 网站后台模板安装显示不了服务器价格购买价格表
  • 2025-11-13~14 hetao1733837的刷题记录
  • 建设一个门户网站需要多少钱网站留言效果怎么做
  • 常见问题 网站建设家具网站建设的背景
  • 网站建设从入门到精通pdf毕业答辩问题怎么做的这个网站
  • 爱网站在线观看免费网站建设更新不及时
  • 同城网站开发公司做网站服务费怎样做账
  • 4399页游网站建立公司微信平台 网站平台
  • 使用streamlit和qwen-agent实现Qwen3-VL模型图文对话应用的思路
  • ModelScope-Agent框架:前世今生与技术详解
  • EG3033 三相P/N MOS管栅极驱动芯片技术解析
  • XPath 实例
  • 网站建设 制作教程网站建设中 动态图片
  • 企业门户网站费用实验中心网站建设
  • 网站收录查询工具网站网站是怎么做的
  • 吉林分销网站建设外贸网站建设公司案例
  • seo sem 外贸建站 网站建设 文化墙设计泉州城乡建设网站
  • 广州网站seo地址c2c电子商务网站定制开发
  • eclipse做的网站欧洲卡一卡2卡3卡4卡
  • 模板站怎么改成营销型网站工作是工作