Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 27b1cb4

Browse files
committed
2644 - add population group data to campaign dashboard
1 parent dd6a458 commit 27b1cb4

11 files changed

Lines changed: 391 additions & 49 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/campaign/data/CampaignFormDataFacade.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@
2020

2121
package de.symeda.sormas.api.campaign.data;
2222

23+
import java.util.Date;
24+
import java.util.List;
25+
26+
import javax.ejb.Remote;
27+
2328
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramCriteria;
2429
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramDataDto;
2530
import de.symeda.sormas.api.campaign.diagram.CampaignDiagramSeries;
2631
import de.symeda.sormas.api.utils.SortProperty;
2732

28-
import javax.ejb.Remote;
29-
30-
import java.util.Date;
31-
import java.util.List;
32-
3333
@Remote
3434
public interface CampaignFormDataFacade {
3535

@@ -53,6 +53,11 @@ public interface CampaignFormDataFacade {
5353

5454
List<CampaignDiagramDataDto> getDiagramData(List<CampaignDiagramSeries> diagramSeries, CampaignDiagramCriteria campaignDiagramCriteria);
5555

56+
List<CampaignDiagramDataDto> getDiagramDataByAgeGroup(
57+
CampaignDiagramSeries diagramSeriesTotal,
58+
CampaignDiagramSeries diagramSeries,
59+
CampaignDiagramCriteria campaignDiagramCriteria);
60+
5661
List<String> getAllActiveUuids();
5762

5863
List<CampaignFormDataDto> getAllActiveAfter(Date date);

sormas-api/src/main/java/de/symeda/sormas/api/campaign/diagram/CampaignDiagramDataDto.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,33 @@ public class CampaignDiagramDataDto implements Serializable {
1414
private Object groupingKey;
1515
private String groupingCaption;
1616
private String stack;
17+
private boolean hasAgeGroupData;
18+
19+
public CampaignDiagramDataDto(String fieldCaption, Number valueSum, Object groupingKey, String groupingCaption, String fieldId, String formId) {
20+
this.fieldCaption = fieldCaption;
21+
this.valueSum = valueSum;
22+
this.groupingKey = groupingKey;
23+
this.groupingCaption = groupingCaption;
24+
this.fieldId = fieldId;
25+
this.formId = formId;
26+
}
27+
28+
public CampaignDiagramDataDto(
29+
String fieldCaption,
30+
Number valueSum,
31+
Object groupingKey,
32+
String groupingCaption,
33+
String fieldId,
34+
String formId,
35+
boolean hasAgeGroupData) {
36+
this.fieldCaption = fieldCaption;
37+
this.valueSum = valueSum;
38+
this.groupingKey = groupingKey;
39+
this.groupingCaption = groupingCaption;
40+
this.fieldId = fieldId;
41+
this.formId = formId;
42+
this.hasAgeGroupData = hasAgeGroupData;
43+
}
1744

1845
public CampaignDiagramDataDto(
1946
String formMetaUuid,
@@ -97,4 +124,12 @@ public String getStack() {
97124
public void setStack(String stack) {
98125
this.stack = stack;
99126
}
127+
128+
public boolean isHasAgeGroupData() {
129+
return hasAgeGroupData;
130+
}
131+
132+
public void setHasAgeGroupData(boolean hasAgeGroupData) {
133+
this.hasAgeGroupData = hasAgeGroupData;
134+
}
100135
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/diagram/CampaignDiagramSeries.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import java.io.Serializable;
44
import java.util.Objects;
55

6+
import de.symeda.sormas.api.AgeGroup;
7+
68
public class CampaignDiagramSeries implements Serializable {
79

810
private static final long serialVersionUID = 1420672609912364060L;
@@ -11,6 +13,7 @@ public class CampaignDiagramSeries implements Serializable {
1113
private String formId;
1214
private String referenceValue;
1315
private String stack;
16+
private AgeGroup populationGroup;
1417

1518
public CampaignDiagramSeries() {
1619
}
@@ -64,11 +67,20 @@ public boolean equals(Object o) {
6467
return Objects.equals(fieldId, that.fieldId)
6568
&& Objects.equals(formId, that.formId)
6669
&& Objects.equals(referenceValue, that.referenceValue)
67-
&& Objects.equals(stack, that.stack);
70+
&& Objects.equals(stack, that.stack)
71+
&& Objects.equals(populationGroup, that.populationGroup);
72+
}
73+
74+
public AgeGroup getPopulationGroup() {
75+
return populationGroup;
76+
}
77+
78+
public void setPopulationGroup(AgeGroup populationGroup) {
79+
this.populationGroup = populationGroup;
6880
}
6981

7082
@Override
7183
public int hashCode() {
72-
return Objects.hash(fieldId, formId, referenceValue, stack);
84+
return Objects.hash(fieldId, formId, referenceValue, stack, populationGroup);
7385
}
7486
}

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Strings.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,13 @@ public interface Strings {
166166
String errorEntityOutdated = "errorEntityOutdated";
167167
String errorFieldValidationFailed = "errorFieldValidationFailed";
168168
String errorFileNotFound = "errorFileNotFound";
169+
String errorFormIdPopulationAgeGroup = "errorFormIdPopulationAgeGroup";
169170
String errorIllegalFilename = "errorIllegalFilename";
170171
String errorIntegerFieldValidationFailed = "errorIntegerFieldValidationFailed";
171172
String errorInvalidValue = "errorInvalidValue";
172173
String errorNoAccessToWeb = "errorNoAccessToWeb";
174+
String errorNoPopulationDataFound = "errorNoPopulationDataFound";
175+
String errorNoPopulationDataLocations = "errorNoPopulationDataLocations";
173176
String errorNotRequiredRights = "errorNotRequiredRights";
174177
String errorOccurred = "errorOccurred";
175178
String errorProblemOccurred = "errorProblemOccurred";
@@ -747,6 +750,10 @@ public interface Strings {
747750
String on = "on";
748751
String or = "or";
749752
String pleaseSpecify = "pleaseSpecify";
753+
String populationDataByArea = "populationDataByArea";
754+
String populationDataByCommunity = "populationDataByCommunity";
755+
String populationDataByDistrict = "populationDataByDistrict";
756+
String populationDataByRegion = "populationDataByRegion";
750757
String previousPeriod = "previousPeriod";
751758
String promptActionDateFrom = "promptActionDateFrom";
752759
String promptActionDateTo = "promptActionDateTo";

sormas-api/src/main/resources/strings.properties

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,9 @@ errorReadingTemplate = Error reading template '%s'
242242
errorProcessingTemplate = Error processing template '%s'
243243
errorSormasToSormasNotEditable = Readonly data can not be shared.
244244
errorCampaignDiagramTotalsCalculationError = At least part of the percentage values for the diagram '%s' could not be calculated. Please check the diagram definitions for errors.
245-
245+
errorNoPopulationDataLocations = No population data was found for the following locations : %s
246+
errorNoPopulationDataFound = There is no population data available. Switching to default view
247+
errorFormIdPopulationAgeGroup = Both "Form Id" and "Population Age Group" options are set
246248
# headings
247249
headingAccessDenied = Access denied
248250
headingAdditionalTests = Additional tests
@@ -551,7 +553,10 @@ infoCreateNewSampleDiscardsChanges = Creating a new sample will discard all unsa
551553
infoCreateNewSampleDiscardsChangesEventParticipant = Creating a new sample will discard all unsaved changes made to this event participant
552554
infoUsageOfEditableCampaignGrids = You can edit the campaign data and dashboard definitions by clicking inside one of the cells in the grid, and you can reorder the dashboard elements by dragging and dropping the grid rows
553555
infoSaveOfTask = Saving this task will discard any unsaved changes made to the case.
554-
556+
populationDataByArea = Population data by Area
557+
populationDataByRegion = Population data by Region
558+
populationDataByCommunity = No population data available for communities
559+
populationDataByDistrict = Population data by District
555560
# Messages
556561
messageActivateAccount = Account has to be activated
557562
messageAdditionalTestDeleted = Additional test deleted

0 commit comments

Comments
 (0)