SI-745 automatischer Meldungsversand Grid angepasst
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java
index 6289873..182e502 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/GfiGrid.java
@@ -56,6 +56,7 @@
ProcessTask storePubStatusWithdrawnOnCancel = new StorePublishStatusTask(Constants.PUB_STATUS_ZURUECKGEZOGEN);
ProcessTask publishMessage = register( QUALIFIED,
new UIStoreFailureInformationTask( "State QUALIFIED UI Task", true));
+ ProcessTask rePublishToMailChannelsQualifiedAfterUpdated = new RePublishFailureToMailChannelsTask(UPDATED);
ProcessTask publishMessageToChannels = register( CHECKED_FOR_PUBLISH_, new PublishFailureToChannelsTask());
ProcessTask storePublicationStatusPublished = new StorePublishStatusTask(Constants.PUB_STATUS_VEROEFFENTLICHT);
@@ -66,7 +67,6 @@
DecisionTask<GfiProcessSubject> decideUpdated = new DecideFailureInfoUpdated();
ProcessTask storeEditStatusUpdated = new ShortcutTask( UPDATED );
ProcessTask resetPublishedFlagOnChannels = new ResetPublishedFlagOnChannelsTask();
- ProcessTask rePublishToMailChannelsUpdated = new RePublishFailureToMailChannelsTask(UPDATED);
DecisionTask<GfiProcessSubject> decideHasSubordinatedInfos = new DecideFailureInfoHasSubordinatedInfos();
ProcessTask storeEditStatusOfParentForChildren = new StoreEditStatusOfParentToChildrenTask();
@@ -92,7 +92,9 @@
decideCanceled.connectOutputTo( YES, storeEditStatusCanceled ); //Status nicht speichern da sonst doppelt, -> nächster Porzessschritt
decideCanceled.connectOutputTo( NO, storeEditStatusQualified ); //Status nicht speichern da sonst doppelt, -> nächster Porzessschritt
- storeEditStatusQualified.connectOutputTo(publishMessage);
+ //Benachrichtigungsemail bei Qualified nachdem aktualisiert wurde und nur wenn schon veröffentlicht
+ storeEditStatusQualified.connectOutputTo(rePublishToMailChannelsQualifiedAfterUpdated);
+ rePublishToMailChannelsQualifiedAfterUpdated.connectOutputTo(publishMessage);
publishMessage.connectOutputTo(decideUpdated);
decideUpdated.connectOutputTo(PORT1, storeEditStatusUpdated);
decideUpdated.connectOutputTo(PORT2, setEndDate);
@@ -117,10 +119,7 @@
storePublicationStatusPublished.connectOutputTo(updateMessage);
storeEditStatusUpdated.connectOutputTo(resetPublishedFlagOnChannels);
-
- //Benachrichtigungsemail bei Update
- resetPublishedFlagOnChannels.connectOutputTo(rePublishToMailChannelsUpdated);
- rePublishToMailChannelsUpdated.connectOutputTo(qualifyMessage);
+ resetPublishedFlagOnChannels.connectOutputTo(qualifyMessage);
}
diff --git a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/RePublishFailureToMailChannelsTask.java b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/RePublishFailureToMailChannelsTask.java
index 600424f..6b9fdcf 100644
--- a/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/RePublishFailureToMailChannelsTask.java
+++ b/gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/bpmn/impl/tasks/RePublishFailureToMailChannelsTask.java
@@ -19,6 +19,7 @@
import org.eclipse.openk.gridfailureinformation.bpmn.base.tasks.ServiceTask;
import org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessState;
import org.eclipse.openk.gridfailureinformation.bpmn.impl.GfiProcessSubject;
+import org.eclipse.openk.gridfailureinformation.constants.Constants;
@Log4j2
public class RePublishFailureToMailChannelsTask extends ServiceTask<GfiProcessSubject> {
@@ -32,8 +33,9 @@
@Override
protected void onLeaveStep(GfiProcessSubject subject) {
- subject.getProcessHelper().publishFailureInformation( subject.getFailureInformationDto(), true , processState );
-
+ if (Constants.PUB_STATUS_VEROEFFENTLICHT.equalsIgnoreCase(subject.getFailureInformationDto().getPublicationStatus())){
+ subject.getProcessHelper().publishFailureInformation( subject.getFailureInformationDto(), true , processState );
+ }
log.debug("PublishFailureToChannelsTask onLeaveStep");
}
}