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

Commit 9477a12

Browse files
1 parent 4b157ea commit 9477a12

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

sormas-backend/src/main/java/de/symeda/sormas/backend/campaign/data/CampaignFormDataFacadeEjb.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -323,9 +323,10 @@ public List<CampaignDiagramDataDto> getDiagramData(List<CampaignDiagramSeries> d
323323
final String districtFilter = district != null ? " AND " + CampaignFormData.DISTRICT + "." + District.UUID + " = '" + district.getUuid() + "'" : "";
324324
final String campaignFilter = campaign != null ? " AND " + Campaign.TABLE_NAME + "." + Campaign.UUID + " = '" + campaign.getUuid() + "'" : "";
325325
final String jurisdictionGrouping =
326-
(district != null ? ", " + Community.TABLE_NAME + "." + Community.UUID + ", " + Community.TABLE_NAME + "." + Community.NAME :
327-
region != null ? ", " + District.TABLE_NAME + "." + District.UUID + ", " + District.TABLE_NAME + "." + District.NAME : "")
328-
+ ", " + Region.TABLE_NAME + "." + Region.UUID + ", " + Region.TABLE_NAME + "." + Region.NAME;
326+
district != null ? ", " + Community.TABLE_NAME + "." + Community.UUID + ", " + Community.TABLE_NAME + "." + Community.NAME :
327+
region != null ? ", " + District.TABLE_NAME + "." + District.UUID + ", " + District.TABLE_NAME + "." + District.NAME :
328+
area != null ? ", " + Region.TABLE_NAME + "." + Region.UUID + ", " + Region.TABLE_NAME + "." + Region.NAME :
329+
", " + Area.TABLE_NAME + "." + Area.UUID + ", " + Area.TABLE_NAME + "." + Area.NAME;
329330
//@formatter:on
330331

331332
// SELECT
@@ -359,13 +360,15 @@ public List<CampaignDiagramDataDto> getDiagramData(List<CampaignDiagramSeries> d
359360
selectBuilder.append(", null as fieldId, null as fieldCaption, count(formId) as sumValue,");
360361
}
361362

362-
selectBuilder.append(Region.TABLE_NAME)
363-
.append(".")
364-
.append(Region.UUID)
365-
.append(", ")
366-
.append(Region.TABLE_NAME)
367-
.append(".")
368-
.append(Region.NAME);
363+
if (district != null) {
364+
appendInfrastructureSelection(selectBuilder, Community.TABLE_NAME, Community.NAME);
365+
} else if (region != null) {
366+
appendInfrastructureSelection(selectBuilder, District.TABLE_NAME, District.NAME);
367+
} else if (area != null) {
368+
appendInfrastructureSelection(selectBuilder, Region.TABLE_NAME, Region.NAME);
369+
} else {
370+
appendInfrastructureSelection(selectBuilder, Area.TABLE_NAME, Area.NAME);
371+
}
369372

370373
// JOINS
371374
StringBuilder joinBuilder = new StringBuilder(" LEFT JOIN ").append(CampaignFormMeta.TABLE_NAME)
@@ -495,6 +498,10 @@ public List<CampaignDiagramDataDto> getDiagramData(List<CampaignDiagramSeries> d
495498
return resultData;
496499
}
497500

501+
private void appendInfrastructureSelection(StringBuilder sb, String tableNameField, String nameField) {
502+
sb.append(tableNameField).append(".").append(AbstractDomainObject.UUID).append(", ").append(tableNameField).append(".").append(nameField);
503+
}
504+
498505
@Override
499506
public long count(CampaignFormDataCriteria criteria) {
500507
CriteriaBuilder cb = em.getCriteriaBuilder();

0 commit comments

Comments
 (0)