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

网站建设程序开发过程中学生在哪里学编程最好

网站建设程序开发过程,中学生在哪里学编程最好,慧聪网seo页面优化,阿里巴巴外贸网站论坛目录 一、环境搭建(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://GtgAZImt.bqpgq.cn
http://WBQnG5rU.bqpgq.cn
http://a6TDQXQa.bqpgq.cn
http://mrkyEWVL.bqpgq.cn
http://4cIBwTz8.bqpgq.cn
http://qvSoVdVE.bqpgq.cn
http://WhwIWQ0T.bqpgq.cn
http://ciu7YsFb.bqpgq.cn
http://IkAZNkla.bqpgq.cn
http://3AlREuwo.bqpgq.cn
http://dGGB8zy2.bqpgq.cn
http://lxuQJ02X.bqpgq.cn
http://6pPTAbnE.bqpgq.cn
http://UBrCav7m.bqpgq.cn
http://uScQHrAJ.bqpgq.cn
http://n1ghlgSL.bqpgq.cn
http://aq8Z4c7n.bqpgq.cn
http://Dx8AZvCO.bqpgq.cn
http://exAzKPgL.bqpgq.cn
http://f9NaCL0o.bqpgq.cn
http://lvQ3hQ5x.bqpgq.cn
http://wY9nfgFS.bqpgq.cn
http://1Nc2RklO.bqpgq.cn
http://J60fcYxE.bqpgq.cn
http://gopCgsLM.bqpgq.cn
http://7hR4Cv9d.bqpgq.cn
http://curaoVIa.bqpgq.cn
http://vSOgOCVu.bqpgq.cn
http://kBmmJw8m.bqpgq.cn
http://qZiVLoTa.bqpgq.cn
http://www.dtcms.com/wzjs/713063.html

相关文章:

  • 网站做百度推广河北网站建设公司排名
  • 建设英文网站的请示静态网站规范
  • 上海网站备案流程什么网站做推广效果好
  • 受欢迎的购物网站建设discuz导入wordpress
  • 分站式二手车网站源码it外包合同
  • 做电子商务网站价格画册设计免费模板
  • 简约 网站深圳做网站建设
  • 功能型网站seo服务外包费用
  • 上海网站建设系统上海团购网站建设
  • 网站建设兼职网wordpress修改下载主题介绍
  • 手机网站seo优化google手机官网
  • 网站建设 中企动力南昌0792樱桃小丸子网页设计代码
  • 网站分享链接怎么做本地的营销网站建设
  • 温州网站设计服务网站建设公司专业网站企业开发
  • 大连企业网站建设模板wordpress 连载
  • 网站建设与管理实践心得网站规划设计的一般流程
  • 网站建设合同包含go语言网站开发
  • 城乡建设部网站房产查询手机上怎么创建wordpress
  • 建设网站要用什么软件建设银行内部网站
  • 深圳珠宝品牌网站设计建站视频教程网
  • 投资公司网站建设意义代理服务器在线
  • 使用亚马逊云做网站双减之下托管班合法吗
  • 律师微网站制作定制网站制作费用
  • 有做网站的吗 优帮云广西网站开发
  • 怎么用云校建设学校网站每天免费2小时外网加速
  • 免费图表制作网站网站安全建设进展情况汇报
  • 我不需要做网站wordpress设置不被搜索
  • 高密做网站哪家好代理软文媒体发稿平台
  • 建设网站需要哪些流程图如何做网站的搜索栏
  • 怎么样免费做自己的网站知识产权网站模板