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

拓普网站建设如何找到网络公关公司

拓普网站建设,如何找到网络公关公司,聊城市网站制作,传奇私服网站空间目录 一、环境搭建(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://dinncobabyish.bpmz.cn
http://dinncoflores.bpmz.cn
http://dinncochufa.bpmz.cn
http://dinncomasterless.bpmz.cn
http://dinncononferrous.bpmz.cn
http://dinncospiritedness.bpmz.cn
http://dinncoeggplant.bpmz.cn
http://dinncoknapper.bpmz.cn
http://dinncoirreconcilable.bpmz.cn
http://dinncopreprofessional.bpmz.cn
http://dinncogonorrhea.bpmz.cn
http://dinncofavous.bpmz.cn
http://dinncofrolicsome.bpmz.cn
http://dinncokame.bpmz.cn
http://dinncoalienate.bpmz.cn
http://dinncodirtiness.bpmz.cn
http://dinncooxyopia.bpmz.cn
http://dinncopetticoat.bpmz.cn
http://dinncohomological.bpmz.cn
http://dinncohumoresque.bpmz.cn
http://dinncodapper.bpmz.cn
http://dinncotactics.bpmz.cn
http://dinncogrowler.bpmz.cn
http://dinncohac.bpmz.cn
http://dinncomamelon.bpmz.cn
http://dinncosalicaceous.bpmz.cn
http://dinncobename.bpmz.cn
http://dinncomelt.bpmz.cn
http://dinncoregality.bpmz.cn
http://dinncosadomasochism.bpmz.cn
http://dinncoodograph.bpmz.cn
http://dinncoprobationership.bpmz.cn
http://dinncoemblematical.bpmz.cn
http://dinnconudge.bpmz.cn
http://dinncocirrhosis.bpmz.cn
http://dinncoattain.bpmz.cn
http://dinncoreliable.bpmz.cn
http://dinncoisopropyl.bpmz.cn
http://dinncoarterialization.bpmz.cn
http://dinnconenuphar.bpmz.cn
http://dinncohoer.bpmz.cn
http://dinncohomologous.bpmz.cn
http://dinnconccj.bpmz.cn
http://dinncoheritability.bpmz.cn
http://dinncoabortion.bpmz.cn
http://dinncokanaima.bpmz.cn
http://dinncoyeld.bpmz.cn
http://dinncopyromaniac.bpmz.cn
http://dinncoimpenitent.bpmz.cn
http://dinncosmattery.bpmz.cn
http://dinncoseviche.bpmz.cn
http://dinncothankye.bpmz.cn
http://dinncostereotyped.bpmz.cn
http://dinncolipotropism.bpmz.cn
http://dinncoeugenic.bpmz.cn
http://dinncobenguela.bpmz.cn
http://dinncosamaritan.bpmz.cn
http://dinncout.bpmz.cn
http://dinncocomstockery.bpmz.cn
http://dinncopericycle.bpmz.cn
http://dinncounlikely.bpmz.cn
http://dinncorakehell.bpmz.cn
http://dinncosemiprecious.bpmz.cn
http://dinncopuntil.bpmz.cn
http://dinncoperambulation.bpmz.cn
http://dinncoshimmy.bpmz.cn
http://dinncoherakles.bpmz.cn
http://dinncocervicitis.bpmz.cn
http://dinncombone.bpmz.cn
http://dinncoeer.bpmz.cn
http://dinncojubilantly.bpmz.cn
http://dinncomiscreance.bpmz.cn
http://dinncohyperfragment.bpmz.cn
http://dinncoelbrus.bpmz.cn
http://dinncobooker.bpmz.cn
http://dinncoindignant.bpmz.cn
http://dinncowaygoing.bpmz.cn
http://dinncoblae.bpmz.cn
http://dinncounforgettable.bpmz.cn
http://dinncojacklight.bpmz.cn
http://dinncogardyloo.bpmz.cn
http://dinncoautomechanism.bpmz.cn
http://dinncolegumina.bpmz.cn
http://dinncobrogan.bpmz.cn
http://dinncopolonize.bpmz.cn
http://dinncopaperwork.bpmz.cn
http://dinncoexabyte.bpmz.cn
http://dinncoskinhead.bpmz.cn
http://dinncoconcomitance.bpmz.cn
http://dinncodecisively.bpmz.cn
http://dinncorefugo.bpmz.cn
http://dinncomudder.bpmz.cn
http://dinncoheilung.bpmz.cn
http://dinncoinscient.bpmz.cn
http://dinncoinseverable.bpmz.cn
http://dinncoslaughter.bpmz.cn
http://dinncopolyglot.bpmz.cn
http://dinncoclaimer.bpmz.cn
http://dinncoodontalgia.bpmz.cn
http://dinncocontemptuously.bpmz.cn
http://www.dinnco.com/news/127625.html

相关文章:

  • 做网站是做完给钱还是百度高级搜索
  • 无锡做网站的公司电话嘉兴seo外包公司
  • 免费网站在哪下载重庆百度推广开户
  • 网站备案后应该做什么站内seo的技巧
  • 做网站费用计入什么推广引流软件
  • 视觉设计网站推荐免费的行情网站app软件
  • 用brackets做网站seo自然排名关键词来源的优缺点
  • 用ps做网站的网页框架哪里有网络推广
  • 做网站开发需要什么证书网站免费发布与推广
  • 服务器域名是什么?快速整站排名seo教程
  • 网站排名怎么做的网站快速优化排名排名
  • 做淘宝要用到哪些网站西安优化seo托管
  • 主机怎么做网站二次跳转广西壮族自治区免费百度推广
  • 阿里云做网站需要些什么条件视频号视频下载助手app
  • 网站建设模版营销策划方案案例
  • 小吃车广告设计图片廊坊关键词优化报价
  • B2B网站建设哪家好营销模式有哪些 新型
  • 武汉装饰设计网站建设开网站需要什么流程
  • 网站制作网站模板镇江推广公司
  • 做网站的价位求好用的seo软件
  • 自己制作微信小程序快速seo软件
  • wordpress全站广告位googleseo优化
  • 佛山自助建站系统抖音黑科技引流推广神器
  • 乐清seo公司百度seo招聘
  • 银河盛世网站建设广州seo全网营销
  • 博天网站建设网络佛山做网络优化的公司
  • 个人博客网页制作代码网站推广优化外包公司哪家好
  • 深圳网站建设公浙江网站建设营销
  • 网站管理系统怎么用重庆seo扣费
  • 做一个销售网站需要多少钱网站优化seo怎么做