Package org.activiti.engine

Examples of org.activiti.engine.TaskService


    /**
     * 待办任务(个人任务).
     */
    public Page findPersonalTasks(String userId, Page page) {
        TaskService taskService = processEngine.getTaskService();

        long count = taskService.createTaskQuery().taskAssignee(userId)
                .active().count();
        List<Task> tasks = taskService.createTaskQuery().taskAssignee(userId)
                .active().listPage((int) page.getStart(), page.getPageSize());
        page.setResult(tasks);
        page.setTotalCount(count);

        return page;
View Full Code Here


    /**
     * 代领任务(组任务).
     */
    public Page findGroupTasks(String userId, Page page) {
        TaskService taskService = processEngine.getTaskService();

        long count = taskService.createTaskQuery().taskCandidateUser(userId)
                .active().count();
        List<Task> tasks = taskService.createTaskQuery()
                .taskCandidateUser(userId).active()
                .listPage((int) page.getStart(), page.getPageSize());
        page.setResult(tasks);
        page.setTotalCount(count);

View Full Code Here

    /**
     * 代理中的任务(代理人还未完成该任务).
     */
    public Page findDelegatedTasks(String userId, Page page) {
        TaskService taskService = processEngine.getTaskService();

        long count = taskService.createTaskQuery().taskOwner(userId)
                .taskDelegationState(DelegationState.PENDING).count();
        List<Task> tasks = taskService.createTaskQuery().taskOwner(userId)
                .taskDelegationState(DelegationState.PENDING)
                .listPage((int) page.getStart(), page.getPageSize());
        page.setResult(tasks);
        page.setTotalCount(count);

View Full Code Here

    /**
     * 任务.
     */
    public Page findTasks(Page page) {
        TaskService taskService = processEngine.getTaskService();
        long count = taskService.createTaskQuery().count();
        List<Task> tasks = taskService.createTaskQuery().listPage(
                (int) page.getStart(), page.getPageSize());
        page.setResult(tasks);
        page.setTotalCount(count);

        return page;
View Full Code Here

        ProcessEngine processEngine = getProcessEngine();
        FormTemplateManager formTemplateManager = getFormTemplateManager();
        KeyValue keyValue = getKeyValue();
        String taskId = getParameter(OPERATION_TASK_ID);

        TaskService taskService = processEngine.getTaskService();
        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();

        // 处理抄送任务
        if ("copy".equals(task.getCategory())) {
            new DeleteTaskWithCommentCmd(taskId, "已阅").execute(commandContext);

            return null;
        }

        // 先保存草稿
        new SaveDraftOperation().execute(getParameters());

        // 先设置登录用户
        IdentityService identityService = processEngine.getIdentityService();
        identityService.setAuthenticatedUserId(SpringSecurityUtils
                .getCurrentUsername());

        if (task == null) {
            throw new IllegalStateException("任务不存在");
        }

        logger.info("{}", task.getDelegationState());

        // 处理委办任务
        if (DelegationState.PENDING == task.getDelegationState()) {
            taskService.resolveTask(taskId);

            return null;
        }

        // 处理子任务
View Full Code Here

     */
    @RequestMapping("form-viewTaskForm")
    public String viewTaskForm(@RequestParam("taskId") String taskId,
            Model model, RedirectAttributes redirectAttributes)
            throws Exception {
        TaskService taskService = processEngine.getTaskService();
        Task task = taskService.createTaskQuery().taskId(taskId).singleResult();

        if (task == null) {
            messageHelper.addFlashMessage(redirectAttributes, "任务不存在");

            return "redirect:/bpm/workspace-listPersonalTasks.do";
View Full Code Here

    HistoryService historyService = activitiRule.getHistoryService();
    List<HistoricDetail> list = historyService.createHistoricDetailQuery().formProperties().list();
    assertEquals(1, list.size());
   
    // 获取第一个节点
    TaskService taskService = activitiRule.getTaskService();
    Task task = taskService.createTaskQuery().singleResult();
    assertEquals("First Step", task.getName());
   
    TaskFormData taskFormData = formService.getTaskFormData(task.getId());
    assertNotNull(taskFormData);
    assertNull(taskFormData.getFormKey());
    List<FormProperty> taskFormProperties = taskFormData.getFormProperties();
    assertNotNull(taskFormProperties);
    for (FormProperty formProperty : taskFormProperties) {
      System.out.println(ToStringBuilder.reflectionToString(formProperty));
    }
    formProperties = new HashMap<String, String>();
    formProperties.put("setInFirstStep", "01/12/2012");
    formService.submitTaskFormData(task.getId(), formProperties);
   
    // 获取第二个节点
    task = taskService.createTaskQuery().taskName("Second Step").singleResult();
    assertNotNull(task);
    taskFormData = formService.getTaskFormData(task.getId());
    assertNotNull(taskFormData);
    List<FormProperty> formProperties2 = taskFormData.getFormProperties();
    assertNotNull(formProperties2);
View Full Code Here

    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("TimeBoundaryIntermediateEvent", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " "
        + processInstance.getProcessDefinitionId());
   
    TaskService taskService = activitiRule.getTaskService();
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
   
    HashMap<String, Object> properties = new HashMap<String, Object>();
    Calendar ca = Calendar.getInstance();
    ca.add(Calendar.SECOND, 5);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    SimpleDateFormat sdft = new SimpleDateFormat("HH:mm:ss");
    properties.put("dateTime", sdf.format(ca.getTime()) + "T" + sdft.format(ca.getTime()));
    taskService.complete(task.getId(), properties);
  }
View Full Code Here

    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("TimeBoundaryIntermediateEvent", variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " "
        + processInstance.getProcessDefinitionId());
   
    TaskService taskService = processEngine.getTaskService();
    Task task = taskService.createTaskQuery().singleResult();
    assertNotNull(task);
   
    HashMap<String, Object> properties = new HashMap<String, Object>();
    Calendar ca = Calendar.getInstance();
    ca.add(Calendar.SECOND, 1);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    SimpleDateFormat sdft = new SimpleDateFormat("HH:mm:ss");
    properties.put("dateTime", sdf.format(ca.getTime()) + "T" + sdft.format(ca.getTime()));
    taskService.complete(task.getId(), properties);
    Thread.sleep(2000);
    System.exit(0);
  }
View Full Code Here

  @Rule
  public ActivitiRule activitiRule = new ActivitiRule();

  @Test
  public void startProcess() throws Exception {
    TaskService taskService = activitiRule.getTaskService();
    RuntimeService runtimeService = activitiRule.getRuntimeService();
    RepositoryService repositoryService = activitiRule.getRepositoryService();

    // 部署两个流程
    repositoryService.createDeployment().addInputStream("master.bpmn20.xml", new FileInputStream(filename)).deploy();
    repositoryService.createDeployment().addInputStream("business.bpmn20.xml", new FileInputStream(filename1)).deploy();

    // 准备变量
    Map<String, Object> variableMap = new HashMap<String, Object>();
    List<String> users = new ArrayList<String>();
    users.add("user1");
    users.add("user2");
    users.add("user3");
    variableMap.put("users", users);

    // 启动时用123456作为业务ID
    String businessKey = "123456";
    ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("master", businessKey, variableMap);
    assertNotNull(processInstance.getId());
    System.out.println("id " + processInstance.getId() + " " + processInstance.getProcessDefinitionId());
    assertNotNull(runtimeService.createProcessInstanceQuery().processInstanceBusinessKey(businessKey).singleResult());

    // 根据主流程的流程实例ID查询子流程(调用活动的多个实例,每一个都是一个独立的流程)
    List<ProcessInstance> subProcessInstances = runtimeService.createProcessInstanceQuery()
        .superProcessInstanceId(processInstance.getProcessInstanceId()).list();
    assertEquals(3, subProcessInstances.size());
    for (ProcessInstance subProcessInstance : subProcessInstances) {
      assertNull(subProcessInstance.getBusinessKey());
    }

    // 验证用户列表中的用户是否都有一个待办任务
    for (String user : users) {
      long count = taskService.createTaskQuery().taskAssignee(user).count();
      assertEquals(1, count);
    }

  }
View Full Code Here

TOP

Related Classes of org.activiti.engine.TaskService

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.