35
35
import java .util .function .Function ;
36
36
import java .util .stream .Collectors ;
37
37
38
+ import static org .gridsuite .voltageinit .server .util .ReportUtil .checkReportWithKey ;
39
+
38
40
39
41
/**
40
42
* @author Etienne Homer <etienne.homer at rte-france.com>
@@ -45,6 +47,7 @@ public class VoltageInitWorkerService extends AbstractWorkerService<OpenReacResu
45
47
public static final String COMPUTATION_TYPE = "VoltageInit" ;
46
48
public static final String HEADER_REACTIVE_SLACKS_OVER_THRESHOLD = "REACTIVE_SLACKS_OVER_THRESHOLD" ;
47
49
public static final String HEADER_REACTIVE_SLACKS_THRESHOLD_VALUE = "reactiveSlacksThreshold" ;
50
+ public static final String HEADER_VOLTAGE_LEVEL_LIMITS_OUT_OF_NOMINAL_VOLTAGE_RANGE = "VOLTAGE_LEVEL_LIMITS_OUT_OF_NOMINAL_VOLTAGE_RANGE" ;
48
51
private static final Logger LOGGER = LoggerFactory .getLogger (VoltageInitWorkerService .class );
49
52
50
53
private static final String ERROR = "error" ;
@@ -82,6 +85,7 @@ private boolean checkReactiveSlacksOverThreshold(OpenReacResult openReacResult,
82
85
return openReacResult .getReactiveSlacks ().stream ().anyMatch (r -> Math .abs (r .slack ) > reactiveSlacksThreshold );
83
86
}
84
87
88
+ @ Override
85
89
protected CompletableFuture <OpenReacResult > getCompletableFuture (VoltageInitRunContext context , String provider , UUID resultUuid ) {
86
90
OpenReacParameters parameters = voltageInitParametersService .buildOpenReacParameters (context , context .getNetwork ());
87
91
OpenReacConfig config = OpenReacConfig .load ();
@@ -151,9 +155,11 @@ protected void sendResultMessage(AbstractResultContext<VoltageInitRunContext> re
151
155
VoltageInitRunContext context = resultContext .getRunContext ();
152
156
double reactiveSlacksThreshold = voltageInitParametersService .getReactiveSlacksThreshold (context .getParametersUuid ());
153
157
boolean resultCheckReactiveSlacks = checkReactiveSlacksOverThreshold (result , reactiveSlacksThreshold );
158
+ boolean voltageLevelsWithLimitsOutOfNominalVRange = checkReportWithKey ("nbVoltageLevelsWithLimitsOutOfNominalVRange" , resultContext .getRunContext ().getReportNode ());
154
159
Map <String , Object > additionalHeaders = new HashMap <>();
155
160
additionalHeaders .put (HEADER_REACTIVE_SLACKS_OVER_THRESHOLD , resultCheckReactiveSlacks );
156
161
additionalHeaders .put (HEADER_REACTIVE_SLACKS_THRESHOLD_VALUE , reactiveSlacksThreshold );
162
+ additionalHeaders .put (HEADER_VOLTAGE_LEVEL_LIMITS_OUT_OF_NOMINAL_VOLTAGE_RANGE , voltageLevelsWithLimitsOutOfNominalVRange );
157
163
notificationService .sendResultMessage (resultContext .getResultUuid (), context .getReceiver (), context .getUserId (), additionalHeaders );
158
164
}
159
165
0 commit comments