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

Commit c8e121a

Browse files
author
FredrikSchäferVitagroup
committed
Merge branch 'development' into feature-3195-Unit-tests-for-the-ExternalVisitsRessource
# Conflicts: # sormas-backend/src/main/java/de/symeda/sormas/backend/externaljournal/ExternalJournalService.java
2 parents 8237787 + d4a848e commit c8e121a

49 files changed

Lines changed: 1326 additions & 108 deletions

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/caze/CaseExportDto.java

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ public class CaseExportDto implements Serializable {
181181
private String facility;
182182
@SensitiveData
183183
private String phone;
184+
@SensitiveData
185+
private String emailAddress;
184186
private String occupationType;
185187
private String educationType;
186188
private String travelHistory;
@@ -258,7 +260,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
258260
Date deathDate, Date burialDate, BurialConductor burialConductor, String burialPlaceDescription,
259261
String addressRegion, String addressDistrict, String addressCommunity, String city, String street, String houseNumber, String additionalInformation, String postalCode,
260262
String facility, String facilityUuid, String facilityDetails,
261-
String phone, String phoneOwner, EducationType educationType, String educationDetails,
263+
String phone, String phoneOwner, String emailAddress, EducationType educationType, String educationDetails,
262264
OccupationType occupationType, String occupationDetails, YesNoUnknown traveled,
263265
YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase, YesNoUnknown contactWithRodent,
264266
//Date onsetDate,
@@ -324,6 +326,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
324326
this.postalCode = postalCode;
325327
this.facility = FacilityHelper.buildFacilityString(facilityUuid, facility, facilityDetails);
326328
this.phone = PersonHelper.buildPhoneString(phone, phoneOwner);
329+
this.emailAddress = emailAddress;
327330
this.educationType = PersonHelper.buildEducationString(educationType, educationDetails);
328331
this.occupationType = PersonHelper.buildOccupationString(occupationType, occupationDetails);
329332
this.traveled = traveled;
@@ -973,6 +976,16 @@ public String getPhone() {
973976
}
974977

975978
@Order(75)
979+
@ExportTarget(caseExportTypes = {
980+
CaseExportType.CASE_SURVEILLANCE,
981+
CaseExportType.CASE_MANAGEMENT })
982+
@ExportProperty(PersonDto.EMAIL_ADDRESS)
983+
@ExportGroup(ExportGroupType.SENSITIVE)
984+
public String getEmailAddress() {
985+
return emailAddress;
986+
}
987+
988+
@Order(76)
976989
@ExportTarget(caseExportTypes = {
977990
CaseExportType.CASE_SURVEILLANCE,
978991
CaseExportType.CASE_MANAGEMENT })
@@ -986,7 +999,7 @@ public void setEducationType(String educationType) {
986999
this.educationType = educationType;
9871000
}
9881001

989-
@Order(76)
1002+
@Order(77)
9901003
@ExportTarget(caseExportTypes = {
9911004
CaseExportType.CASE_SURVEILLANCE,
9921005
CaseExportType.CASE_MANAGEMENT })
@@ -996,7 +1009,7 @@ public String getOccupationType() {
9961009
return occupationType;
9971010
}
9981011

999-
@Order(77)
1012+
@Order(78)
10001013
@ExportTarget(caseExportTypes = {
10011014
CaseExportType.CASE_SURVEILLANCE })
10021015
@ExportProperty(TRAVELED)
@@ -1009,7 +1022,7 @@ public void setTraveled(YesNoUnknown traveled) {
10091022
this.traveled = traveled;
10101023
}
10111024

1012-
@Order(78)
1025+
@Order(79)
10131026
@ExportTarget(caseExportTypes = {
10141027
CaseExportType.CASE_SURVEILLANCE })
10151028
@ExportProperty(TRAVEL_HISTORY)
@@ -1018,7 +1031,7 @@ public String getTravelHistory() {
10181031
return travelHistory;
10191032
}
10201033

1021-
@Order(79)
1034+
@Order(80)
10221035
@ExportTarget(caseExportTypes = {
10231036
CaseExportType.CASE_SURVEILLANCE })
10241037
@ExportProperty(EpiDataDto.BURIAL_ATTENDED)
@@ -1031,7 +1044,7 @@ public void setBurialAttended(YesNoUnknown burialAttended) {
10311044
this.burialAttended = burialAttended;
10321045
}
10331046

1034-
@Order(80)
1047+
@Order(81)
10351048
@ExportTarget(caseExportTypes = {
10361049
CaseExportType.CASE_SURVEILLANCE })
10371050
@ExportProperty(EpiDataDto.DIRECT_CONTACT_CONFIRMED_CASE)
@@ -1497,6 +1510,10 @@ public void setPhone(String phone) {
14971510
this.phone = phone;
14981511
}
14991512

1513+
public void setEmailAddress(String emailAddress) {
1514+
this.emailAddress = emailAddress;
1515+
}
1516+
15001517
public void setOccupationType(String occupationType) {
15011518
this.occupationType = occupationType;
15021519
}

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
import de.symeda.sormas.api.EntityRelevanceStatus;
2626
import de.symeda.sormas.api.caze.CaseClassification;
2727
import de.symeda.sormas.api.caze.CaseReferenceDto;
28+
import de.symeda.sormas.api.event.EventParticipantReferenceDto;
29+
import de.symeda.sormas.api.event.EventReferenceDto;
2830
import de.symeda.sormas.api.person.PersonReferenceDto;
2931
import de.symeda.sormas.api.person.SymptomJournalStatus;
3032
import de.symeda.sormas.api.region.CommunityReferenceDto;
@@ -112,6 +114,8 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
112114
private String eventUuid;
113115
private Boolean includeContactsFromOtherJurisdictions = Boolean.FALSE;
114116
private Boolean onlyContactsSharingEventWithSourceCase;
117+
private EventParticipantReferenceDto eventParticipant;
118+
private EventReferenceDto onlyContactsWithSourceCaseInGivenEvent;
115119

116120
public UserRole getReportingUserRole() {
117121
return reportingUserRole;
@@ -531,4 +535,32 @@ public Boolean getIncludeContactsFromOtherJurisdictions() {
531535
public void setIncludeContactsFromOtherJurisdictions(Boolean includeContactsFromOtherJurisdictions) {
532536
this.includeContactsFromOtherJurisdictions = includeContactsFromOtherJurisdictions;
533537
}
538+
539+
public void setEventParticipant(EventParticipantReferenceDto eventParticipant) {
540+
this.eventParticipant = eventParticipant;
541+
}
542+
543+
@IgnoreForUrl
544+
public EventParticipantReferenceDto getEventParticipant() {
545+
return eventParticipant;
546+
}
547+
548+
public ContactCriteria eventParticipant(EventParticipantReferenceDto eventParticipant) {
549+
this.eventParticipant = eventParticipant;
550+
return this;
551+
}
552+
553+
public void setOnlyContactsWithSourceCaseInGivenEvent(EventReferenceDto onlyContactsWithSourceCaseInGivenEvent) {
554+
this.onlyContactsWithSourceCaseInGivenEvent = onlyContactsWithSourceCaseInGivenEvent;
555+
}
556+
557+
@IgnoreForUrl
558+
public EventReferenceDto getOnlyContactsWithSourceCaseInGivenEvent() {
559+
return onlyContactsWithSourceCaseInGivenEvent;
560+
}
561+
562+
public ContactCriteria onlyContactsWithSourceCaseInGivenEvent(EventReferenceDto onlyContactsWithSourceCaseInGivenEvent) {
563+
this.onlyContactsWithSourceCaseInGivenEvent = onlyContactsWithSourceCaseInGivenEvent;
564+
return this;
565+
}
534566
}

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

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import de.symeda.sormas.api.caze.CaseReferenceDto;
2828
import de.symeda.sormas.api.clinicalcourse.HealthConditionsDto;
2929
import de.symeda.sormas.api.epidata.EpiDataDto;
30+
import de.symeda.sormas.api.event.EventParticipantDto;
3031
import de.symeda.sormas.api.person.PersonReferenceDto;
3132
import de.symeda.sormas.api.region.CommunityReferenceDto;
3233
import de.symeda.sormas.api.region.DistrictReferenceDto;
@@ -247,27 +248,32 @@ public class ContactDto extends PseudonymizableDto {
247248
private String endOfQuarantineReasonDetails;
248249

249250
public static ContactDto build() {
250-
return build(null, null, null);
251+
final ContactDto contact = new ContactDto();
252+
contact.setUuid(DataHelper.createUuid());
253+
contact.setPerson(new PersonReferenceDto(DataHelper.createUuid()));
254+
contact.setReportDateTime(new Date());
255+
contact.setContactClassification(ContactClassification.UNCONFIRMED);
256+
contact.setContactStatus(ContactStatus.ACTIVE);
257+
contact.setEpiData(EpiDataDto.build());
258+
contact.setHealthConditions(HealthConditionsDto.build());
259+
260+
return contact;
261+
}
262+
263+
public static ContactDto build(EventParticipantDto eventParticipant) {
264+
final ContactDto contact = build();
265+
contact.setPerson(eventParticipant.getPerson().toReference());
266+
267+
return contact;
251268
}
252269

253270
public static ContactDto build(CaseDataDto caze) {
254271
return build(caze.toReference(), caze.getDisease(), caze.getDiseaseDetails());
255272
}
256273

257274
public static ContactDto build(CaseReferenceDto caze, Disease disease, String diseaseDetails) {
258-
ContactDto contact = new ContactDto();
259-
contact.setUuid(DataHelper.createUuid());
260-
275+
final ContactDto contact = build();
261276
contact.assignCase(caze, disease, diseaseDetails);
262-
contact.setPerson(new PersonReferenceDto(DataHelper.createUuid()));
263-
264-
contact.setReportDateTime(new Date());
265-
contact.setContactClassification(ContactClassification.UNCONFIRMED);
266-
contact.setContactStatus(ContactStatus.ACTIVE);
267-
268-
contact.setEpiData(EpiDataDto.build());
269-
270-
contact.setHealthConditions(HealthConditionsDto.build());
271277

272278
return contact;
273279
}

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ public class ContactExportDto implements Serializable {
101101
private String facility;
102102
@SensitiveData
103103
private String phone;
104+
@SensitiveData
105+
private String emailAddress;
104106
private String occupationType;
105107
private int numberOfVisits;
106108
private YesNoUnknown lastCooperativeVisitSymptomatic;
@@ -154,7 +156,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
154156
PresentCondition presentCondition, Date deathDate,
155157
String addressRegion, String addressDistrict, String addressCommunity, String city, String street, String houseNumber, String additionalInformation, String postalCode,
156158
String facility, String facilityUuid, String facilityDetails,
157-
String phone, String phoneOwner, OccupationType occupationType, String occupationDetails,
159+
String phone, String phoneOwner, String emailAddress, OccupationType occupationType, String occupationDetails,
158160
String region, String district, String community,
159161
long epiDataId, YesNoUnknown traveled, YesNoUnknown burialAttended, YesNoUnknown directContactConfirmedCase, YesNoUnknown directContactProbableCase,
160162
YesNoUnknown contactWithRodent, YesNoUnknown returningTraveler, long eventCount, String externalID,
@@ -211,6 +213,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
211213
this.postalCode = postalCode;
212214
this.facility = FacilityHelper.buildFacilityString(facilityUuid, facility, facilityDetails);
213215
this.phone = PersonHelper.buildPhoneString(phone, phoneOwner);
216+
this.emailAddress = emailAddress;
214217
this.occupationType = PersonHelper.buildOccupationString(occupationType, occupationDetails);
215218
this.region = region;
216219
this.district = district;
@@ -520,6 +523,11 @@ public String getPhone() {
520523
return phone;
521524
}
522525

526+
@Order(53)
527+
public String getEmailAddress() {
528+
return emailAddress;
529+
}
530+
523531
@Order(60)
524532
public String getOccupationType() {
525533
return occupationType;
@@ -731,6 +739,10 @@ public void setPhone(String phone) {
731739
this.phone = phone;
732740
}
733741

742+
public void setEmailAddress(String emailAddress) {
743+
this.emailAddress = emailAddress;
744+
}
745+
734746
public void setOccupationType(String occupationType) {
735747
this.occupationType = occupationType;
736748
}

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

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ public class ContactIndexDetailedDto extends ContactIndexDto {
2222
public static final String APPROXIMATE_AGE = "approximateAge";
2323
public static final String DISTRICT_NAME = "districtName";
2424
public static final String CITY = "city";
25-
public static final String ADDRESS = "address";
25+
public static final String STREET = "street";
26+
public static final String HOUSE_NUMBER = "houseNumber";
27+
public static final String ADDITIONAL_INFORMATION = "additionalInformation";
2628
public static final String POSTAL_CODE = "postalCode";
2729
public static final String PHONE = "phone";
2830
public static final String REPORTING_USER = "reportingUser";
@@ -37,7 +39,13 @@ public class ContactIndexDetailedDto extends ContactIndexDto {
3739
private String city;
3840
@PersonalData
3941
@SensitiveData
40-
private String address;
42+
private String street;
43+
@PersonalData
44+
@SensitiveData
45+
private String houseNumber;
46+
@PersonalData
47+
@SensitiveData
48+
private String additionalInformation;
4149
@PersonalData
4250
@SensitiveData
4351
@Pseudonymizer(PostalCodePseudonymizer.class)
@@ -59,7 +67,7 @@ public ContactIndexDetailedDto(String uuid, String personFirstName, String perso
5967
String caseReportingUserUid, String caseRegionUuid, String caseDistrictUud, String caseCommunityUuid,
6068
String caseHealthFacilityUuid, String casePointOfEntryUuid, Date changeDate, String externalID,
6169
Sex sex, Integer approximateAge, ApproximateAgeType approximateAgeType,
62-
String districtName, String city, String street, String houseNumber, String postalCode, String phone,
70+
String districtName, String city, String street, String houseNumber, String additionalInformation, String postalCode, String phone,
6371
String reportingUserFirstName, String reportingUserLastName, int visitCount, long eventCount
6472
) {
6573
//@formatter:on
@@ -75,7 +83,9 @@ public ContactIndexDetailedDto(String uuid, String personFirstName, String perso
7583
this.approximateAge = ApproximateAgeType.ApproximateAgeHelper.formatApproximateAge(approximateAge, approximateAgeType);
7684
this.districtName = districtName;
7785
this.city = city;
78-
this.address = LocationDto.buildStreetAndHouseNumberCaption(street, houseNumber);
86+
this.street = street;
87+
this.houseNumber = houseNumber;
88+
this.additionalInformation = additionalInformation;
7989
this.postalCode = postalCode;
8090
this.phone = phone;
8191
this.reportingUser = new UserReferenceDto(reportingUserUuid, reportingUserFirstName, reportingUserLastName, null);
@@ -98,8 +108,16 @@ public String getCity() {
98108
return city;
99109
}
100110

101-
public String getAddress() {
102-
return address;
111+
public String getStreet() {
112+
return street;
113+
}
114+
115+
public String getHouseNumber() {
116+
return houseNumber;
117+
}
118+
119+
public String getAdditionalInformation() {
120+
return additionalInformation;
103121
}
104122

105123
public String getPostalCode() {

sormas-api/src/main/java/de/symeda/sormas/api/event/EventFacade.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ public interface EventFacade {
4343

4444
EventReferenceDto getReferenceByUuid(String uuid);
4545

46+
EventReferenceDto getReferenceByEventParticipant(String uuid);
47+
4648
List<String> getAllActiveUuids();
4749

4850
List<EventDto> getByUuids(List<String> uuids);

sormas-api/src/main/java/de/symeda/sormas/api/event/EventParticipantCriteria.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@ public class EventParticipantCriteria extends BaseCriteria implements Serializab
1414
public static final String BIRTHDATE_YYYY = "birthdateYYYY";
1515
public static final String BIRTHDATE_MM = "birthdateMM";
1616
public static final String BIRTHDATE_DD = "birthdateDD";
17+
public static final String ONLY_COUNT_CONTACT_WITH_SOURCE_CASE_IN_EVENT = "onlyCountContactsWithSourceCaseInEvent";
1718

1819
private EventReferenceDto event;
1920
private PersonReferenceDto person;
2021
private String freeText;
2122
private Integer birthdateYYYY;
2223
private Integer birthdateMM;
2324
private Integer birthdateDD;
25+
private Boolean onlyCountContactsWithSourceCaseInEvent;
2426

2527
@IgnoreForUrl
2628
public EventReferenceDto getEvent() {
@@ -79,4 +81,12 @@ public Integer getBirthdateDD() {
7981
public void setBirthdateDD(Integer birthdateDD) {
8082
this.birthdateDD = birthdateDD;
8183
}
84+
85+
public Boolean getOnlyCountContactsWithSourceCaseInEvent() {
86+
return onlyCountContactsWithSourceCaseInEvent;
87+
}
88+
89+
public void setOnlyCountContactsWithSourceCaseInEvent(Boolean onlyCountContactsWithSourceCaseInEvent) {
90+
this.onlyCountContactsWithSourceCaseInEvent = onlyCountContactsWithSourceCaseInEvent;
91+
}
8292
}

0 commit comments

Comments
 (0)