public static ITaskPredicate timeLimitInDays(final int numberOfDays) { TaskPredicateImpl taskPredicateImpl = new TaskPredicateImpl("Prazo Extrapolado "+numberOfDays+" dias", (taskInstance) -> { Date date = taskInstance.getTargetEndDate(); if (date != null) { return Days.daysBetween(new DateTime(date), DateTime.now()).getDays() > numberOfDays; } return false; }); taskPredicateImpl.setFullDescription("Prazo Extrapolado em " + numberOfDays + " dias"); taskPredicateImpl.setEventType(EventType.TIMER); return taskPredicateImpl; }
public static ITaskPredicate timeLimitInDays(final int numberOfDays) { TaskPredicateImpl taskPredicateImpl = new TaskPredicateImpl("Prazo Extrapolado "+numberOfDays+" dias", (taskInstance) -> { Date date = taskInstance.getTargetEndDate(); if (date != null) { return Days.daysBetween(new DateTime(date), DateTime.now()).getDays() > numberOfDays; } return false; }); taskPredicateImpl.setFullDescription("Prazo Extrapolado em " + numberOfDays + " dias"); taskPredicateImpl.setEventType(EventType.TIMER); return taskPredicateImpl; }
private void executeTaskIfNecessary(SingularFlowConfigurationBean singularFlowConfigurationBean, StringBuilder log, Date now, FlowDefinition<?> flowDefinition, STaskWait task) { if (task.hasExecutionDateStrategy()) { for (FlowInstance instance : flowDefinition.getDataService().retrieveAllInstancesIn(task)) { TaskInstance taskInstance = instance.getCurrentTaskOrException(); Date executionDate = taskInstance.getTargetEndDate(); if (!executionDate.equals(taskInstance.getTargetEndDate())) { taskInstance.setTargetEndDate(executionDate); } if (now.after(executionDate)) { log.append("Executando transição da instância: ").append(instance.getFullId()).append('\n'); instance.prepareTransition().go(); singularFlowConfigurationBean.getPersistenceService().commitTransaction(); } } } }
private Consumer<STaskHuman> fillTargetEndDate(SingularFlowConfigurationBean singularFlowConfigurationBean, StringBuilder log, FlowDefinition<?> flowDefinition) { return task -> { // Preenche Data Alvo para os casos que estiverem null for (FlowInstance instance : flowDefinition.getDataService().retrieveAllInstancesIn(task)) { TaskInstance taskInstance = instance.getCurrentTaskOrException(); if (taskInstance.getTargetEndDate() == null) { Date target = task.getTargetDateExecutionStrategy().apply(instance, taskInstance); if (target != null) { log.append("Alterando data alvo: ").append(instance.getFullId()).append(" para ").append(target) .append('\n'); taskInstance.setTargetEndDate(target); singularFlowConfigurationBean.getPersistenceService().commitTransaction(); } } } }; }
private Consumer<MTaskPeople> fillTargetEndDate(SingularFlowConfigurationBean mbpmBean, StringBuilder log, ProcessDefinition<?> definicaoProcessoMBPM) { return task -> { // Preenche Data Alvo para os casos que estiverem null for (ProcessInstance instancia : definicaoProcessoMBPM.getDataService().retrieveAllInstancesIn(task)) { TaskInstance instanciaTarefa = instancia.getCurrentTask(); if (instanciaTarefa.getTargetEndDate() == null) { Date alvo = task.getTargetDateExecutionStrategy().apply(instancia, instanciaTarefa); if (alvo != null) { log.append("Alterando data alvo: ").append(instancia.getFullId()).append(" para ").append(alvo) .append("\n"); instanciaTarefa.setTargetEndDate(alvo); mbpmBean.getPersistenceService().commitTransaction(); } } } }; }
private void executeTaskIfNecessary(SingularFlowConfigurationBean mbpmBean, StringBuilder log, Date hoje, ProcessDefinition<?> definicaoProcessoMBPM, MTaskWait task) { if (task.hasExecutionDateStrategy()) { for (ProcessInstance instancia : definicaoProcessoMBPM.getDataService().retrieveAllInstancesIn(task)) { TaskInstance instanciaTarefa = instancia.getCurrentTask(); Date dataExecucao = task.getExecutionDate(instancia, instanciaTarefa); if (!dataExecucao.equals(instancia.getCurrentTask().getTargetEndDate())) { instancia.getCurrentTask().setTargetEndDate(dataExecucao); } if (hoje.after(dataExecucao)) { log.append("Executando transição da instância: ").append(instancia.getFullId()).append("\n"); instancia.executeTransition(); mbpmBean.getPersistenceService().commitTransaction(); } } } }