1818package de .symeda .sormas .backend .disease ;
1919
2020import java .util .Date ;
21+ import java .util .HashMap ;
2122import java .util .List ;
2223import java .util .Map ;
2324import java .util .stream .Collectors ;
3132import de .symeda .sormas .api .disease .DiseaseBurdenDto ;
3233import de .symeda .sormas .api .disease .DiseaseFacade ;
3334import de .symeda .sormas .api .event .EventCriteria ;
35+ import de .symeda .sormas .api .feature .FeatureType ;
3436import de .symeda .sormas .api .outbreak .OutbreakCriteria ;
3537import de .symeda .sormas .api .region .DistrictReferenceDto ;
3638import de .symeda .sormas .api .region .RegionReferenceDto ;
3739import de .symeda .sormas .backend .caze .CaseFacadeEjb .CaseFacadeEjbLocal ;
3840import de .symeda .sormas .backend .disease .DiseaseConfigurationFacadeEjb .DiseaseConfigurationFacadeEjbLocal ;
3941import de .symeda .sormas .backend .event .EventFacadeEjb .EventFacadeEjbLocal ;
42+ import de .symeda .sormas .backend .feature .FeatureConfigurationFacadeEjb .FeatureConfigurationFacadeEjbLocal ;
4043import de .symeda .sormas .backend .outbreak .OutbreakFacadeEjb .OutbreakFacadeEjbLocal ;
4144import de .symeda .sormas .backend .person .PersonFacadeEjb .PersonFacadeEjbLocal ;
4245import de .symeda .sormas .backend .region .District ;
@@ -57,6 +60,8 @@ public class DiseaseFacadeEjb implements DiseaseFacade {
5760 private PersonFacadeEjbLocal personFacade ;
5861 @ EJB
5962 private DiseaseConfigurationFacadeEjbLocal diseaseConfigurationFacade ;
63+ @ EJB
64+ private FeatureConfigurationFacadeEjbLocal featureConfigurationFacade ;
6065
6166 @ Override
6267 public List <DiseaseBurdenDto > getDiseaseBurdenForDashboard (
@@ -80,8 +85,13 @@ public List<DiseaseBurdenDto> getDiseaseBurdenForDashboard(
8085 eventFacade .getEventCountByDisease (new EventCriteria ().region (regionRef ).district (districtRef ).reportedBetween (from , to ));
8186
8287 //outbreaks
83- Map <Disease , Long > outbreakDistrictsCount = outbreakFacade
84- .getOutbreakDistrictCountByDisease (new OutbreakCriteria ().region (regionRef ).district (districtRef ).reportedBetween (from , to ));
88+ Map <Disease , Long > outbreakDistrictsCount ;
89+ if (featureConfigurationFacade .isFeatureEnabled (FeatureType .OUTBREAKS )) {
90+ outbreakDistrictsCount = outbreakFacade
91+ .getOutbreakDistrictCountByDisease (new OutbreakCriteria ().region (regionRef ).district (districtRef ).reportedBetween (from , to ));
92+ } else {
93+ outbreakDistrictsCount = new HashMap <>();
94+ }
8595
8696 //last report district
8797 Map <Disease , District > lastReportedDistricts = caseFacade .getLastReportedDistrictByDisease (caseCriteria , true , true );
0 commit comments