Пример #1
0
 public static Result transitionToInWork(
     TaskArtifact taskArt,
     IAtsUser toUser,
     int percentComplete,
     double additionalHours,
     IAtsChangeSet changes)
     throws OseeCoreException {
   if (taskArt.isInState(TaskStates.InWork)) {
     return Result.TrueResult;
   }
   TransitionHelper helper =
       new TransitionHelper(
           "Transition to InWork",
           Arrays.asList(taskArt),
           TaskStates.InWork.getName(),
           Arrays.asList(toUser),
           null,
           changes,
           AtsClientService.get().getServices(),
           TransitionOption.OverrideAssigneeCheck);
   IAtsTransitionManager transitionMgr = TransitionFactory.getTransitionManager(helper);
   TransitionResults results = transitionMgr.handleAll();
   if (!results.isEmpty()) {
     return new Result("Transition Error %s", results.toString());
   }
   if (taskArt.getStateMgr().getPercentComplete(taskArt.getCurrentStateName()) != percentComplete
       || additionalHours > 0) {
     taskArt
         .getStateMgr()
         .updateMetrics(
             taskArt.getStateDefinition(),
             additionalHours,
             percentComplete,
             true,
             AtsClientService.get().getUserService().getCurrentUser());
   }
   if (changes != null) {
     taskArt.saveSMA(changes);
   }
   return Result.TrueResult;
 }