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

Commit caf9d2d

Browse files
author
barnabartha
committed
Merge branch 'development' into bigfix-3259-CampaignDashboardEditNullValidation
2 parents b02efbc + 35cd389 commit caf9d2d

22 files changed

Lines changed: 586 additions & 83 deletions

File tree

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

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
5656
public static final String BIRTHDATE_MM = "birthdateMM";
5757
public static final String BIRTHDATE_DD = "birthdateDD";
5858
public static final String RETURNING_TRAVELER = "returningTraveler";
59+
public static final String EVENT_LIKE = "eventLike";
60+
public static final String ONLY_CONTACTS_WITH_SOURCE_CASE_IN_EVENT = "onlyContactsWithSourceCaseInEvent";
5961

6062
private static final long serialVersionUID = 5114202107622217837L;
6163

@@ -102,6 +104,9 @@ public class ContactCriteria extends BaseCriteria implements Serializable {
102104
private Integer birthdateMM;
103105
private Integer birthdateDD;
104106
private YesNoUnknown returningTraveler;
107+
private String eventLike;
108+
private String eventUuid;
109+
private Boolean onlyContactsWithSourceCaseInEvent;
105110

106111
public UserRole getReportingUserRole() {
107112
return reportingUserRole;
@@ -464,4 +469,45 @@ public YesNoUnknown getReturningTraveler() {
464469
public void setReturningTraveler(YesNoUnknown returningTraveler) {
465470
this.returningTraveler = returningTraveler;
466471
}
472+
473+
public void setEventLike(String eventLike) {
474+
this.eventLike = eventLike;
475+
}
476+
477+
@IgnoreForUrl
478+
public String getEventLike() {
479+
return eventLike;
480+
}
481+
482+
public ContactCriteria eventLike(String eventLike) {
483+
setEventLike(eventLike);
484+
return this;
485+
}
486+
487+
public void setEventUuid(String eventUuid) {
488+
this.eventUuid = eventUuid;
489+
}
490+
491+
public String getEventUuid() {
492+
return eventUuid;
493+
}
494+
495+
public ContactCriteria eventUuid(String eventUuid) {
496+
setEventUuid(eventUuid);
497+
return this;
498+
}
499+
500+
public void setOnlyContactsWithSourceCaseInEvent(Boolean onlyContactsWithSourceCaseInEvent) {
501+
this.onlyContactsWithSourceCaseInEvent = onlyContactsWithSourceCaseInEvent;
502+
}
503+
504+
@IgnoreForUrl
505+
public Boolean getOnlyContactsWithSourceCaseInEvent() {
506+
return onlyContactsWithSourceCaseInEvent;
507+
}
508+
509+
public ContactCriteria onlyContactsWithSourceCaseInEvent(Boolean onlyContactsWithSourceCaseInEvent) {
510+
this.onlyContactsWithSourceCaseInEvent = onlyContactsWithSourceCaseInEvent;
511+
return this;
512+
}
467513
}

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/ContactIndexDetailedDto.java

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public class ContactIndexDetailedDto extends ContactIndexDto {
2525
public static final String POSTAL_CODE = "postalCode";
2626
public static final String PHONE = "phone";
2727
public static final String REPORTING_USER = "reportingUser";
28+
public static final String LATEST_EVENT_ID = "latestEventId";
29+
public static final String LATEST_EVENT_TITLE = "latestEventTitle";
2830

2931
private Sex sex;
3032
private String approximateAge;
@@ -42,6 +44,9 @@ public class ContactIndexDetailedDto extends ContactIndexDto {
4244
@SensitiveData
4345
private String phone;
4446
private UserReferenceDto reportingUser;
47+
private String latestEventId;
48+
private String latestEventTitle;
49+
private Long eventCount;
4550

4651
//@formatter:off
4752
public ContactIndexDetailedDto(String uuid, String personFirstName, String personLastName, String cazeUuid, Disease disease, String diseaseDetails,
@@ -51,18 +56,18 @@ public ContactIndexDetailedDto(String uuid, String personFirstName, String perso
5156
Date followUpUntil, String contactOfficerUuid, String reportingUserUuid, Date reportDateTime,
5257
CaseClassification caseClassification,
5358
String caseReportingUserUid, String caseRegionUuid, String caseDistrictUud, String caseCommunityUuid,
54-
String caseHealthFacilityUuid, String casePointOfEntryUuid,
59+
String caseHealthFacilityUuid, String casePointOfEntryUuid, Date changeDate,
5560
Sex sex, Integer approximateAge, ApproximateAgeType approximateAgeType,
5661
String districtName, String city, String street, String houseNumber, String postalCode, String phone,
57-
String reportingUserFirstName, String reportingUserLastName,
58-
int visitCount) {
62+
String reportingUserFirstName, String reportingUserLastName, int visitCount, long eventCount
63+
) {
5964
//@formatter:on
6065

6166
//@formatter:off
6267
super(uuid, personFirstName, personLastName, cazeUuid, disease, diseaseDetails, caseFirstName, caseLastName, regionUuid, districtUuid, communityUuid,
6368
lastContactDate, contactCategory, contactProximity, contactClassification, contactStatus, followUpStatus, followUpUntil,
6469
contactOfficerUuid, reportingUserUuid, reportDateTime, caseClassification,
65-
caseReportingUserUid, caseRegionUuid, caseDistrictUud, caseCommunityUuid, caseHealthFacilityUuid, casePointOfEntryUuid, visitCount);
70+
caseReportingUserUid, caseRegionUuid, caseDistrictUud, caseCommunityUuid, caseHealthFacilityUuid, casePointOfEntryUuid, changeDate, visitCount);
6671
//@formatter:on
6772

6873
this.sex = sex;
@@ -73,6 +78,7 @@ public ContactIndexDetailedDto(String uuid, String personFirstName, String perso
7378
this.postalCode = postalCode;
7479
this.phone = phone;
7580
this.reportingUser = new UserReferenceDto(reportingUserUuid, reportingUserFirstName, reportingUserLastName, null);
81+
this.eventCount = eventCount;
7682
}
7783

7884
public Sex getSex() {
@@ -110,4 +116,24 @@ public UserReferenceDto getReportingUser() {
110116
public void setReportingUser(UserReferenceDto reportingUser) {
111117
this.reportingUser = reportingUser;
112118
}
119+
120+
public Long getEventCount() {
121+
return eventCount;
122+
}
123+
124+
public String getLatestEventId() {
125+
return latestEventId;
126+
}
127+
128+
public void setLatestEventId(String latestEventId) {
129+
this.latestEventId = latestEventId;
130+
}
131+
132+
public String getLatestEventTitle() {
133+
return latestEventTitle;
134+
}
135+
136+
public void setLatestEventTitle(String latestEventTitle) {
137+
this.latestEventTitle = latestEventTitle;
138+
}
113139
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public ContactIndexDto(String uuid, String personFirstName, String personLastNam
8080
Date followUpUntil, String contactOfficerUuid, String reportingUserUuid, Date reportDateTime,
8181
CaseClassification caseClassification,
8282
String caseReportingUserUid, String caseRegionUuid, String caseDistrictUud, String caseCommunityUuid, String caseHealthFacilityUuid, String casePointOfEntryUuid,
83+
Date changeDate, // XXX: unused, only here for TypedQuery mapping
8384
int visitCount) {
8485
//@formatter:on
8586

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,8 @@ public interface Captions {
447447
String Contact_immunosuppressiveTherapyBasicDiseaseDetails = "Contact.immunosuppressiveTherapyBasicDiseaseDetails";
448448
String Contact_lastContactDate = "Contact.lastContactDate";
449449
String Contact_lastName = "Contact.lastName";
450+
String Contact_latestEventId = "Contact.latestEventId";
451+
String Contact_latestEventTitle = "Contact.latestEventTitle";
450452
String Contact_numberOfVisits = "Contact.numberOfVisits";
451453
String Contact_overwriteFollowUpUntil = "Contact.overwriteFollowUpUntil";
452454
String Contact_person = "Contact.person";
@@ -522,6 +524,7 @@ public interface Captions {
522524
String contactOnlyQuarantineHelpNeeded = "contactOnlyQuarantineHelpNeeded";
523525
String contactOnlyWithExtendedQuarantine = "contactOnlyWithExtendedQuarantine";
524526
String contactOnlyWithReducedQuarantine = "contactOnlyWithReducedQuarantine";
527+
String contactOnlyWithSourceCaseInEvent = "contactOnlyWithSourceCaseInEvent";
525528
String contactOpenContactCase = "contactOpenContactCase";
526529
String contactPersonPhoneNumber = "contactPersonPhoneNumber";
527530
String contactPersonVisits = "contactPersonVisits";
@@ -832,6 +835,7 @@ public interface Captions {
832835
String eventEventParticipants = "eventEventParticipants";
833836
String eventEventsList = "eventEventsList";
834837
String eventLinkToCases = "eventLinkToCases";
838+
String eventLinkToContacts = "eventLinkToContacts";
835839
String eventNewEvent = "eventNewEvent";
836840
String eventNoEventLinkedToCase = "eventNoEventLinkedToCase";
837841
String EventParticipant = "EventParticipant";

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ contactChooseSourceCase=Choose Source Case
511511
contactOnlyQuarantineHelpNeeded=Help needed in quarantine
512512
contactOnlyWithExtendedQuarantine=Only contacts with extended quarantine
513513
contactOnlyWithReducedQuarantine=Only contacts with reduced quarantine
514+
contactOnlyWithSourceCaseInEvent=Only contacts whose source case is linked to their latest event
514515
contactFollowUpDay=Day
515516
contactQuarantineNotOrdered=No quarantine ordered
516517
contactCreatePIAAccount = PIA
@@ -549,6 +550,8 @@ Contact.followUpStatus=Follow-up status
549550
Contact.followUpUntil=Follow-up until
550551
Contact.lastContactDate=Date of last contact
551552
Contact.lastName=Last name of contact person
553+
Contact.latestEventId=Latest event ID
554+
Contact.latestEventTitle=Latest event title
552555
Contact.numberOfVisits=Number of visits
553556
Contact.person=Contact person
554557
Contact.quarantine=Quarantine
@@ -926,6 +929,7 @@ Event.typeOfPlaceText=Specify other event place
926929
Event.uuid=Event ID
927930
eventNoEventLinkedToCase=No event linked to case
928931
eventLinkToCases=See cases for this event
932+
eventLinkToContacts=See contacts for this event
929933

930934
# Event action
931935
EventAction.eventUuid=Event id

sormas-api/src/main/resources/captions_fr-FR.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ contactChooseSourceCase=Choisir le cas source
511511
contactOnlyQuarantineHelpNeeded=Besoin d'aide en quarantaine
512512
contactOnlyWithExtendedQuarantine=Uniquement les contacts avec une quarantaine prolongée
513513
contactOnlyWithReducedQuarantine=Seuls les contact avec une quarantaine réduite
514+
contactOnlyWithSourceCaseInEvent=Uniquement les contacts dont le cas source est lié à leur dernier événement
514515
contactFollowUpDay=Jour
515516
contactQuarantineNotOrdered=Quarantaine non prescrite
516517
contactCreatePIAAccount = PIA
@@ -549,6 +550,8 @@ Contact.followUpStatus=Statut du suivi
549550
Contact.followUpUntil=Suivi jusqu’à
550551
Contact.lastContactDate=Date du dernier contact
551552
Contact.lastName=Nom du contact
553+
Contact.latestEventId=ID du dernier event
554+
Contact.latestEventTitle=Titre du dernier event
552555
Contact.numberOfVisits=Nombre de visites
553556
Contact.person=Personne (contact)
554557
Contact.quarantine=Quarantaine
@@ -926,6 +929,7 @@ Event.typeOfPlaceText=Spécifier le type de lieu
926929
Event.uuid=ID d’événement
927930
eventNoEventLinkedToCase=Aucun événement lié à ce cas
928931
eventLinkToCases=Voir les cas pour cet événement
932+
eventLinkToContacts=Voir les contacts pour cet événement
929933

930934
# Event action
931935
EventAction.eventUuid=Id d’événement

0 commit comments

Comments
 (0)