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

Commit a38f165

Browse files
lgallgal
authored andcommitted
Merge remote-tracking branch 'remotes/origin/development' into #3136_sormas-to-sormas-bulk
2 parents 6e3999d + e05849a commit a38f165

258 files changed

Lines changed: 4859 additions & 1003 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sormas-api/src/main/java/de/symeda/sormas/api/ConfigFacade.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
import javax.ejb.Remote;
2121

22+
import de.symeda.sormas.api.externaljournal.PatientDiaryConfig;
23+
import de.symeda.sormas.api.externaljournal.SymptomJournalConfig;
2224
import de.symeda.sormas.api.region.GeoLatLon;
2325

2426
@Remote
@@ -90,15 +92,9 @@ public interface ConfigFacade {
9092

9193
String getGeocodingOsgtsEndpoint();
9294

93-
String getSymptomJournalUrl();
95+
SymptomJournalConfig getSymptomJournalConfig();
9496

95-
String getSymptomJournalAuthUrl();
96-
97-
String getSymptomJournalClientId();
98-
99-
String getSymptomJournalSecret();
100-
101-
String getPatientDiaryUrl();
97+
PatientDiaryConfig getPatientDiaryConfig();
10298

10399
String getSormasToSormasUserPassword();
104100

@@ -109,4 +105,6 @@ public interface ConfigFacade {
109105
String getSurvnetGatewayUrl();
110106

111107
String getAuthenticationProvider();
108+
109+
public boolean isExternalJournalActive();
112110
}

sormas-api/src/main/java/de/symeda/sormas/api/FacadeProvider.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import de.symeda.sormas.api.epidata.EpiDataFacade;
4040
import de.symeda.sormas.api.event.EventFacade;
4141
import de.symeda.sormas.api.event.EventParticipantFacade;
42+
import de.symeda.sormas.api.externaljournal.ExternalJournalFacade;
4243
import de.symeda.sormas.api.facility.FacilityFacade;
4344
import de.symeda.sormas.api.feature.FeatureConfigurationFacade;
4445
import de.symeda.sormas.api.geocoding.GeocodingFacade;
@@ -304,7 +305,11 @@ public static AreaFacade getAreaFacade() {
304305
return get().lookupEjbRemote(AreaFacade.class);
305306
}
306307

307-
@SuppressWarnings("unchecked")
308+
public static ExternalJournalFacade getExternalJournalFacade() {
309+
return get().lookupEjbRemote(ExternalJournalFacade.class);
310+
}
311+
312+
@SuppressWarnings("unchecked")
308313
public <P> P lookupEjbRemote(Class<P> clazz) {
309314
try {
310315
return (P) get().ic.lookup(buildJndiLookupName(clazz));
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package de.symeda.sormas.api;
2+
3+
import de.symeda.sormas.api.i18n.I18nProperties;
4+
5+
public enum VisitOrigin {
6+
USER,
7+
EXTERNAL_JOURNAL;
8+
9+
public String getName() {
10+
return this.name();
11+
}
12+
13+
public String toString() {
14+
return I18nProperties.getEnumCaption(this);
15+
}
16+
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/CampaignFacade.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package de.symeda.sormas.api.campaign;
22

3+
import java.util.Date;
34
import java.util.List;
45

56
import javax.ejb.Remote;
67

8+
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
79
import de.symeda.sormas.api.campaign.diagram.CampaignDashboardElement;
810
import de.symeda.sormas.api.utils.SortProperty;
911

@@ -33,4 +35,10 @@ public interface CampaignFacade {
3335
CampaignReferenceDto getReferenceByUuid(String uuid);
3436

3537
boolean exists(String uuid);
38+
39+
List<CampaignDto> getAllAfter(Date campaignChangeDate);
40+
41+
List<CampaignDto> getByUuids(List<String> uuids);
42+
43+
List<String> getAllActiveUuids();
3644
}

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
import de.symeda.sormas.api.utils.SortProperty;
2727

2828
import javax.ejb.Remote;
29+
30+
import java.util.Date;
2931
import java.util.List;
3032

3133
@Remote
@@ -50,4 +52,8 @@ public interface CampaignFormDataFacade {
5052
long count(CampaignFormDataCriteria criteria);
5153

5254
List<CampaignDiagramDataDto> getDiagramData(List<CampaignDiagramSeries> diagramSeries, CampaignDiagramCriteria campaignDiagramCriteria);
55+
56+
List<String> getAllActiveUuids();
57+
58+
List<CampaignFormDataDto> getAllActiveAfter(Date date);
5359
}

sormas-api/src/main/java/de/symeda/sormas/api/campaign/form/CampaignFormMetaFacade.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
import javax.ejb.Remote;
44
import java.io.IOException;
5+
import java.util.Date;
56
import java.util.List;
67

8+
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
9+
710
@Remote
811
public interface CampaignFormMetaFacade {
912

@@ -25,4 +28,9 @@ CampaignFormMetaDto buildCampaignFormMetaFromJson(String formId, String language
2528

2629
CampaignFormMetaDto getCampaignFormMetaByUuid(String campaignFormUuid);
2730

31+
List<CampaignFormMetaDto> getAllAfter(Date campaignFormMetaChangeDate);
32+
33+
List<String> getAllUuids();
34+
35+
List<CampaignFormMetaDto> getByUuids(List<String> uuids);
2836
}

sormas-api/src/main/java/de/symeda/sormas/api/caze/CaseFollowUpDto.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ public class CaseFollowUpDto extends FollowUpDto {
3131
private final CaseJurisdictionDto jurisdiction;
3232

3333
//@formatter:off
34-
public CaseFollowUpDto(String uuid, String personUuid, String personFirstName, String personLastName,
34+
public CaseFollowUpDto(String uuid, String personFirstName, String personLastName,
3535
Date reportDate, Date symptomsOnsetDate, Date followUpUntil, Disease disease,
3636
String caseReportingUserUuid, String caseRegionUuid, String caseDistrictUuid,
3737
String caseCommunityUud, String caseHealthFacilityUuid, String casePointOfEntryUuid
3838
) {
3939
//formatter:on
40-
super(uuid, personUuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
40+
super(uuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
4141
this.symptomsOnsetDate = symptomsOnsetDate;
4242
this.jurisdiction = new CaseJurisdictionDto(
4343
caseReportingUserUuid,

sormas-api/src/main/java/de/symeda/sormas/api/contact/ContactCriteria.java

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import de.symeda.sormas.api.caze.CaseClassification;
2727
import de.symeda.sormas.api.caze.CaseReferenceDto;
2828
import de.symeda.sormas.api.person.PersonReferenceDto;
29+
import de.symeda.sormas.api.person.SymptomJournalStatus;
2930
import de.symeda.sormas.api.region.CommunityReferenceDto;
3031
import de.symeda.sormas.api.region.DistrictReferenceDto;
3132
import de.symeda.sormas.api.region.RegionReferenceDto;
@@ -44,6 +45,7 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
4445
public static final String CONTACT_OFFICER = "contactOfficer";
4546
public static final String REPORTING_USER_ROLE = "reportingUserRole";
4647
public static final String FOLLOW_UP_UNTIL_TO = "followUpUntilTo";
48+
public static final String SYMPTOM_JOURNAL_STATUS = "symptomJournalStatus";
4749
public static final String QUARANTINE_TYPE = "quarantineType";
4850
public static final String QUARANTINE_ORDERED_VERBALLY = "quarantineOrderedVerbally";
4951
public static final String QUARANTINE_ORDERED_OFFICIAL_DOCUMENT = "quarantineOrderedOfficialDocument";
@@ -56,6 +58,8 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
5658
public static final String BIRTHDATE_MM = "birthdateMM";
5759
public static final String BIRTHDATE_DD = "birthdateDD";
5860
public static final String RETURNING_TRAVELER = "returningTraveler";
61+
public static final String EVENT_LIKE = "eventLike";
62+
public static final String ONLY_CONTACTS_WITH_SOURCE_CASE_IN_EVENT = "onlyContactsWithSourceCaseInEvent";
5963

6064
private static final long serialVersionUID = 5114202107622217837L;
6165

@@ -79,6 +83,7 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
7983
* If yes, the followUpUntilTo filter will search for strict matches instead of a period,
8084
* even if a followUpUntilFrom is specified
8185
*/
86+
private SymptomJournalStatus symptomJournalStatus;
8287
private Boolean followUpUntilToPrecise;
8388
private Date lastContactDateFrom;
8489
private Date lastContactDateTo;
@@ -102,6 +107,9 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
102107
private Integer birthdateMM;
103108
private Integer birthdateDD;
104109
private YesNoUnknown returningTraveler;
110+
private String eventLike;
111+
private String eventUuid;
112+
private Boolean onlyContactsWithSourceCaseInEvent;
105113

106114
public UserRole getReportingUserRole() {
107115
return reportingUserRole;
@@ -287,6 +295,14 @@ public Date getFollowUpUntilTo() {
287295
return followUpUntilTo;
288296
}
289297

298+
public SymptomJournalStatus getSymptomJournalStatus() {
299+
return symptomJournalStatus;
300+
}
301+
302+
public void setSymptomJournalStatus(SymptomJournalStatus symptomJournalStatus) {
303+
this.symptomJournalStatus = symptomJournalStatus;
304+
}
305+
290306
public Boolean getFollowUpUntilToPrecise() {
291307
return followUpUntilToPrecise;
292308
}
@@ -428,7 +444,7 @@ public PersonReferenceDto getPerson() {
428444
return person;
429445
}
430446

431-
public ContactCriteria person(PersonReferenceDto person) {
447+
public ContactCriteria setPerson(PersonReferenceDto person) {
432448
this.person = person;
433449
return this;
434450
}
@@ -464,4 +480,45 @@ public YesNoUnknown getReturningTraveler() {
464480
public void setReturningTraveler(YesNoUnknown returningTraveler) {
465481
this.returningTraveler = returningTraveler;
466482
}
483+
484+
public void setEventLike(String eventLike) {
485+
this.eventLike = eventLike;
486+
}
487+
488+
@IgnoreForUrl
489+
public String getEventLike() {
490+
return eventLike;
491+
}
492+
493+
public ContactCriteria eventLike(String eventLike) {
494+
setEventLike(eventLike);
495+
return this;
496+
}
497+
498+
public void setEventUuid(String eventUuid) {
499+
this.eventUuid = eventUuid;
500+
}
501+
502+
public String getEventUuid() {
503+
return eventUuid;
504+
}
505+
506+
public ContactCriteria eventUuid(String eventUuid) {
507+
setEventUuid(eventUuid);
508+
return this;
509+
}
510+
511+
public void setOnlyContactsWithSourceCaseInEvent(Boolean onlyContactsWithSourceCaseInEvent) {
512+
this.onlyContactsWithSourceCaseInEvent = onlyContactsWithSourceCaseInEvent;
513+
}
514+
515+
@IgnoreForUrl
516+
public Boolean getOnlyContactsWithSourceCaseInEvent() {
517+
return onlyContactsWithSourceCaseInEvent;
518+
}
519+
520+
public ContactCriteria onlyContactsWithSourceCaseInEvent(Boolean onlyContactsWithSourceCaseInEvent) {
521+
this.onlyContactsWithSourceCaseInEvent = onlyContactsWithSourceCaseInEvent;
522+
return this;
523+
}
467524
}

sormas-api/src/main/java/de/symeda/sormas/api/contact/ContactExportDto.java

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,10 @@ public class ContactExportDto implements Serializable {
136136

137137
private ContactJurisdictionDto jurisdiction;
138138

139+
private final Long eventCount;
140+
private String latestEventId;
141+
private String latestEventTitle;
142+
139143
//@formatter:off
140144
public ContactExportDto(long id, long personId, String uuid, String sourceCaseUuid, CaseClassification caseClassification, Disease disease, String diseaseDetails,
141145
ContactClassification contactClassification, Date lastContactDate, String firstName, String lastName, Sex sex,
@@ -152,7 +156,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
152156
String phone, String phoneOwner, OccupationType occupationType, String occupationDetails,
153157
String region, String district, String community,
154158
long epiDataId, YesNoUnknown traveled, YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase,
155-
YesNoUnknown contactWithRodent, YesNoUnknown returningTraveler,
159+
YesNoUnknown contactWithRodent, YesNoUnknown returningTraveler, long eventCount,
156160
String reportingUserUuid, String regionUuid, String districtUuid, String communityUuid,
157161
String caseReportingUserUuid, String caseRegionUui, String caseDistrictUud, String caseCommunityUuid, String caseHealthFacilityUuid, String casePointOfEntryUuid
158162
) {
@@ -217,6 +221,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
217221
this.directContactProbableCase = directContactProbableCase;
218222
this.contactWithRodent = contactWithRodent;
219223
this.returningTraveler = returningTraveler;
224+
this.eventCount = eventCount;
220225

221226
CaseJurisdictionDto caseJurisdiction = caseReportingUserUuid != null
222227
? null
@@ -596,6 +601,29 @@ public void setReturningTraveler(YesNoUnknown returningTraveler) {
596601
this.returningTraveler = returningTraveler;
597602
}
598603

604+
@Order(71)
605+
public String getLatestEventId() {
606+
return latestEventId;
607+
}
608+
609+
public void setLatestEventId(String latestEventId) {
610+
this.latestEventId = latestEventId;
611+
}
612+
613+
@Order(72)
614+
public String getLatestEventTitle() {
615+
return latestEventTitle;
616+
}
617+
618+
public void setLatestEventTitle(String latestEventTitle) {
619+
this.latestEventTitle = latestEventTitle;
620+
}
621+
622+
@Order(73)
623+
public long getEventCount() {
624+
return this.eventCount;
625+
}
626+
599627
public void setId(long id) {
600628
this.id = id;
601629
}

sormas-api/src/main/java/de/symeda/sormas/api/contact/ContactFollowUpDto.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import de.symeda.sormas.api.Disease;
66
import de.symeda.sormas.api.caze.CaseJurisdictionDto;
77
import de.symeda.sormas.api.followup.FollowUpDto;
8+
import de.symeda.sormas.api.person.SymptomJournalStatus;
89
import de.symeda.sormas.api.user.UserReferenceDto;
910
import de.symeda.sormas.api.utils.SensitiveData;
1011

@@ -16,25 +17,28 @@ public class ContactFollowUpDto extends FollowUpDto {
1617

1718
public static final String CONTACT_OFFICER = "contactOfficer";
1819
public static final String LAST_CONTACT_DATE = "lastContactDate";
20+
public static final String SYMPTOM_JOURNAL_STATUS = "symptomJournalStatus";
1921

2022
@SensitiveData
2123
private UserReferenceDto contactOfficer;
2224
private Date lastContactDate;
2325

2426
private ContactJurisdictionDto jurisdiction;
27+
private SymptomJournalStatus symptomJournalStatus;
2528

2629
//@formatter:off
27-
public ContactFollowUpDto(String uuid, String personUuid, String personFirstName, String personLastName,
30+
public ContactFollowUpDto(String uuid, String personFirstName, String personLastName,
2831
String contactOfficerUuid, String contactOfficerFirstName, String contactOfficerLastName,
29-
Date lastContactDate, Date reportDate, Date followUpUntil, Disease disease,
32+
Date lastContactDate, Date reportDate, Date followUpUntil, SymptomJournalStatus symptomJournalStatus, Disease disease,
3033
String reportingUserUuid, String regionUuid, String districtUuid, String communityUuid,
3134
String caseReportingUserUuid, String caseRegionUuid, String caseDistrictUuid, String caseCommunityUud, String caseHealthFacilityUuid, String casePointOfEntryUuid
3235
) {
3336
//formatter:on
3437

35-
super(uuid, personUuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
38+
super(uuid, personFirstName, personLastName, reportDate, followUpUntil, disease);
3639
this.contactOfficer = new UserReferenceDto(contactOfficerUuid, contactOfficerFirstName, contactOfficerLastName, null);
3740
this.lastContactDate = lastContactDate;
41+
this.symptomJournalStatus = symptomJournalStatus;
3842

3943
CaseJurisdictionDto caseJurisdiction = caseReportingUserUuid == null
4044
? null
@@ -67,4 +71,12 @@ public void setLastContactDate(Date lastContactDate) {
6771
public ContactJurisdictionDto getJurisdiction() {
6872
return jurisdiction;
6973
}
74+
75+
public SymptomJournalStatus getSymptomJournalStatus() {
76+
return symptomJournalStatus;
77+
}
78+
79+
public void setSymptomJournalStatus(SymptomJournalStatus symptomJournalStatus) {
80+
this.symptomJournalStatus = symptomJournalStatus;
81+
}
7082
}

0 commit comments

Comments
 (0)