AcStartController.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package com.zhcs.dt.controller.activiti;
  2. import java.util.Map;
  3. import org.activiti.engine.RuntimeService;
  4. import org.activiti.engine.runtime.ProcessInstance;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import com.zhcs.dt.controller.base.BaseController;
  7. /**
  8. * 类名称:启动流程用
  9. * 创建人:FH Admin fh313596790qq(青苔)
  10. * 更新时间:2018年1月31日
  11. * @version
  12. */
  13. public class AcStartController extends BaseController {
  14. @Autowired
  15. private RuntimeService runtimeService; //与正在执行的流程实例和执行对象相关的Service(执行管理,包括启动、推进、删除流程实例等操作)
  16. /**通过KEY启动流程实例(不带变量)
  17. * @param processInstanceKey //流程定义的KEY
  18. * @return 返回流程实例ID
  19. */
  20. protected String startProcessInstanceByKey(String processInstanceKey){
  21. ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processInstanceKey); //用流程定义的KEY启动,会自动选择KEY相同的流程定义中最新版本的那个(KEY为模型中的流程唯一标识)
  22. return processInstance.getId(); //返回流程实例ID
  23. }
  24. /**通过KEY启动流程实例(带变量)
  25. * @param processInstanceKey //流程定义的KEY
  26. * @return 返回流程实例ID
  27. */
  28. protected String startProcessInstanceByKeyHasVariables(String processInstanceKey,Map<String,Object> map){
  29. ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processInstanceKey, map); //map存储变量 用流程定义的KEY启动,会自动选择KEY相同的流程定义中最新版本的那个(KEY为模型中的流程唯一标识)
  30. return processInstance.getId(); //返回流程实例ID
  31. }
  32. /**通过ID启动流程实例
  33. * @param processInstanceId //流程定义的ID
  34. * @return 返回流程实例ID
  35. */
  36. protected String startProcessInstanceById(String processInstanceId){
  37. ProcessInstance processInstance = runtimeService.startProcessInstanceById(processInstanceId); //用流程定义的ID启动
  38. return processInstance.getId(); //返回流程实例ID
  39. }
  40. }