Examples of HumanActivity


Examples of org.uengine.kernel.HumanActivity

    if (StringUtils.hasText(psMsg.getInstanceName())) {
      instance.setName(psMsg.getInstanceName());
    }
    this.bindProcessInfo(instance, psMsg);
   
    HumanActivity initiatorHumanActivity = (HumanActivity) instance.getProcessDefinition().getInitiatorHumanActivityReference(instance.getProcessTransactionContext()).getActivity();
   
    if (initiatorHumanActivity instanceof ExternalApprovalActivity) {
     
      pm.executeProcess(instanceId);
     
      // 결재선 정보 가져오기
      ApproverDAO approverDAO = new ApproverDAO(DefaultConnectionFactory.create().getDataSource());
      ApprovalLineDAO approvalLineDAO = new ApprovalLineDAO(DefaultConnectionFactory.create().getDataSource());
      ApprovalLine al = approvalLineDAO.get(psMsg.getApprovalKey());
      al.setLineStatus(ExternalApprovalActivity.SIGN_DRAFT);
      al.setInstanceId(Integer.parseInt(instanceId));
     
      List<Approver> approverList = approverDAO.list(psMsg.getApprovalKey());
      List<HumanActivity> approvalActs = new ArrayList<HumanActivity>();
     
      // 결재선 다이나믹 체인지 Start
      ProcessDefinition tempPd = (ProcessDefinition) instance.getProcessDefinition().clone();
      HumanActivity draftAct = (HumanActivity) tempPd.getInitiatorHumanActivityReference(instance.getProcessTransactionContext()).getActivity();
      if (StringUtils.hasText(psMsg.getMainParam())) {
        draftAct.setExtValue1(psMsg.getMainParam());
      }
      if (StringUtils.hasText(psMsg.getSubParam())) {
        draftAct.setExtValue2(psMsg.getSubParam());
      }
      Activity approvalLineAct = draftAct.getParentActivity();
      while (!(approvalLineAct instanceof ExternalApprovalLineActivity)) {
        approvalLineAct = approvalLineAct.getParentActivity();
      }
     
      ComplexActivity parent = (ComplexActivity) approvalLineAct;
      if (parent.getChildActivities().size() > 1) {
        parent.getChildActivities().clear();
        parent.addChildActivity(draftAct);
      }
     
      String preApprovalType = null;
      for (Approver approver : approverList) {
        if (ExternalApprovalActivity.APPROVAL_TYPE_DRAFT.equalsIgnoreCase(approver.getType())) {
          approver.setTracingTag(draftAct.getTracingTag());
          approver.setTaskId(draftAct.getTaskIds(instance)[0]);
          approver.setTruthEmpCode(approver.getEmpCode());
          approver.setStatus(ExternalApprovalActivity.SIGN_DRAFT);
          approver.setEndDate(new Timestamp(Calendar.getInstance().getTimeInMillis()));
          approver.setComment(psMsg.getComment());
          approvalActs.add(draftAct);
          continue;
        }
        ExternalApprovalActivity childAct = (ExternalApprovalActivity) draftAct.clone();
        childAct.setName("결재");
        childAct.setTracingTag(null);
        childAct.setRole(null);
        childAct.setApprovalTypeByString(approver.getType());
       
        RoleMapping rm = RoleMapping.create();
        rm.setEndpoint(approver.getEmpCode());
        rm.fill(instance);
       
        // 결재 -> 합의
        if (!ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(preApprovalType) && ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(approver.getType())) {
          AllActivity allAct = new AllActivity();
          allAct.setTracingTag(null);
         
          parent.addChildActivity(allAct);
          parent = allAct;
        // 합의 -> 결재
        } else if (ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(preApprovalType) && !ExternalApprovalActivity.APPROVAL_TYPE_COOPERATION.equals(approver.getType())) {
          parent = (ComplexActivity) approvalLineAct;
        }
       
        parent.addChildActivity(childAct);
        childAct.setApprover(instance, rm);
       
        approver.setTracingTag(childAct.getTracingTag());
       
        preApprovalType = approver.getType();
        approvalActs.add(childAct);
      }
     
//      tempPd.registerToProcessDefinition(false, false);
      pm.changeProcessDefinition(instanceId, tempPd);
      // 결재선 다이나믹 체인지 End
     
      instance.setProperty(approvalLineAct.getTracingTag(), ExternalApprovalLineActivity.KEY_APPR_KEY, psMsg.getApprovalKey());
      approvalLineDAO.update(al);
      approverDAO.update(approverList);
     
      if (psMsg.isFirstTaskCompleted()) {
        pm.completeWorkitem(instanceId, draftAct.getTracingTag(), null, new org.uengine.kernel.ResultPayload());
      }
     
    } else {
     
      if (psMsg.isFirstTaskCompleted()) {
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

    genericContext.put("request", request);
 
    ProcessInstance instance = pm.getProcessInstance(acMsg.getInstanceId());
    this.bindProcessInfo(instance, acMsg);
   
    HumanActivity hm = (HumanActivity) pm.getProcessInstance(acMsg.getInstanceId()).getProcessDefinition().getActivity(acMsg.getTracingTag());
    RoleMapping roleMapping = RoleMapping.create();
    roleMapping.setEndpoint(acMsg.getEndpoint());
    roleMapping.setName(hm.getRole().getName());
    roleMapping.fill(instance);
//    pm.putRoleMapping(acMsg.getInstanceId(), roleMapping);
//    pm.delegateRoleMapping(acMsg.getInstanceId(), roleMapping);
   
    pm.setGenericContext(genericContext);
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

    ApprovalLine approvalLine = approvalLineDAO.get(adacMsg.getApprovalKey());
    approvalLine.setLineStatus(ExternalApprovalActivity.SIGN_DRAFT);
   
   
    ProcessDefinition tempPd = (ProcessDefinition) instance.getProcessDefinition().clone();
    HumanActivity draftAct = (HumanActivity) tempPd.getActivity(adacMsg.getTracingTag());
    if (StringUtils.hasText(adacMsg.getMainParam())) {
      draftAct.setExtValue1(adacMsg.getMainParam());
    }
    if (StringUtils.hasText(adacMsg.getSubParam())) {
      draftAct.setExtValue2(adacMsg.getSubParam());
    }
    Activity approvalLineAct = draftAct.getParentActivity();
    while (!(approvalLineAct instanceof ExternalApprovalLineActivity)) {
      approvalLineAct = approvalLineAct.getParentActivity();
    }
   
    ComplexActivity parent = (ComplexActivity) approvalLineAct;
    if (parent.getChildActivities().size() > 1) {
      parent.getChildActivities().clear();
      parent.addChildActivity(draftAct);
    }
   
    String preApprovalType = null;
    for (Approver approver : approverList) {
      if (ExternalApprovalActivity.APPROVAL_TYPE_DRAFT.equalsIgnoreCase(approver.getType())) {
        approver.setTracingTag(draftAct.getTracingTag());
        approver.setTaskId(adacMsg.getTaskId());
        approver.setTruthEmpCode(approver.getEmpCode());
        approver.setStatus(ExternalApprovalActivity.SIGN_DRAFT);
        approver.setEndDate(new Timestamp(Calendar.getInstance().getTimeInMillis()));
        approver.setComment(adacMsg.getComment());
        continue;
      }
      ExternalApprovalActivity childAct = (ExternalApprovalActivity) draftAct.clone();
      childAct.setName("결재");
      childAct.setTracingTag(null);
      childAct.setRole(null);
      childAct.setApprovalTypeByString(approver.getType());
     
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

  }
 
 
  protected int traverse(Activity act, int currentFrom, Hashtable context ){
    if(act instanceof HumanActivity){
      HumanActivity humanActivity = ((HumanActivity)act);
      int duration = humanActivity.getDuration();
      activityList.add(new ActivityPosition(humanActivity, currentFrom, currentFrom+duration));
      return duration;
    }else if(act instanceof AllActivity || act instanceof SwitchActivity){
      ComplexActivity complexActivity = (ComplexActivity)act;
      int maxOfDuration = 0;
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

      public void logic(Activity activity) {
        if (!(activity instanceof HumanActivity)) return;
       
        ProcessVariable commandVariable = new ProcessVariable();
        final HumanActivity finalActivity = (HumanActivity)activity;
       
        variables.add(new ActivityDueDatePointingProcessVariable(finalActivity));
      }
     
    };
View Full Code Here

Examples of org.uengine.kernel.HumanActivity

    if (command.equals(CHILD_DONE) && getDraftActivity().equals(payload) && !isSimulate) {
      if (getReferencerRole() != null) {
        Vector<Activity> childActs = this.getChildActivities();
        for (int i=0; i<childActs.size(); i++) {
          if (childActs.get(i) instanceof HumanActivity) {
            HumanActivity humanAct = ((HumanActivity)childActs.get(i));
            humanAct.setReferenceRole(getReferencerRole());
          }/* else if (childActs.get(i) instanceof ComplexActivity) {
            ComplexActivity complexActivity = (ComplexActivity) childActs.get(i);
            complexActivity.onEvent(command, instance, payload);
          }*/
        }
 
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.