Package com.starflow.wf.engine.model.elements

Examples of com.starflow.wf.engine.model.elements.ActivityElement


  /**
   * {@inheritDoc}
   */
  public List<FreeActElement> queryPossibleNextActsOfFreeActivity(long processDefId, String activityDefId) {
    ProcessDefine processDefine = this.procDefRep.findProcessDefine(processDefId);
    ActivityElement activityXml = processDefine.getProcessObject().getActivitys().get(activityDefId);
    String strategy = activityXml.getFreeRangeStrategy();
   
    //是否尽限为人工活动
    boolean isOnlyLimitedManualAct = activityXml.getIsOnlyLimitedManualActivity();
   
    List<FreeActElement> actEls = new ArrayList<FreeActElement>();
    if(Constants.Free_Act_strategy_three.equalsIgnoreCase(strategy)) {
      //在后继活动范围内自由
      List<TransitionElement> transitions = activityXml.getAfterTrans();
      for(TransitionElement tx : transitions) {
        String _actDefId = tx.getTo();
        ActivityElement ax = processDefine.getProcessObject().getActivitys().get(_actDefId);
        if(isOnlyLimitedManualAct && !Constants.ACT_TYPE_MANUL.equals(ax.getType())) {
          continue;
        }
        FreeActElement freeActXml = new FreeActElement();
        freeActXml.setId(ax.getId());
        freeActXml.setName(ax.getName());
        freeActXml.setType(ax.getType());
        actEls.add(freeActXml);
      }
    } else if(Constants.Free_Act_strategy_two.equalsIgnoreCase(strategy)) {
      //在指定活动列表范围内自由
      activityXml.getFreeActs();
    } else if(Constants.Free_Act_strategy_One.equalsIgnoreCase(strategy)) {
      //在流程范围内任意自由
      Collection<ActivityElement> collect = processDefine.getProcessObject().getActivitys().values();
      for(ActivityElement ax : collect) {
        if(isOnlyLimitedManualAct && !Constants.ACT_TYPE_MANUL.equals(ax.getType())) {
          continue;
        }
        FreeActElement freeActXml = new FreeActElement();
        freeActXml.setId(ax.getId());
        freeActXml.setName(ax.getName());
        freeActXml.setType(ax.getType());
        actEls.add(freeActXml);
      }
    }
   
    return actEls;
View Full Code Here


      throw new ProcessEngineException("当前工作项(workitemid="+workItemId+")不处于状态,"+
          "无法完成工作项的运行!");
   
    final ProcessInstance processInstance = this.procInstRep.findProcessInstance(workItem.getProcessInstId());
    final ProcessDefine processDefine = this.procDefRep.findProcessDefine(processInstance.getProcessDefId());
    final ActivityElement activityXml = processDefine.getProcessObject().getActivitys().get(activityInst.getActivityDefId());
   
    transactionTemplate.execute(new TransactionCallbackWithoutResult() {
      @Override
      protected void doInTransactionWithoutResult(TransactionStatus status) {
        workItemRep.updateWorkItemStateAndEndTime(workItem.getWorkItemId(), userId, StarFlowState.WORKITEM_COMPLETED, new Date());
View Full Code Here

TOP

Related Classes of com.starflow.wf.engine.model.elements.ActivityElement

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.