Skip to content

Commit

Permalink
Merge pull request #2117 from hzi-braunschweig/feature-1329-contact-v…
Browse files Browse the repository at this point in the history
…isit-association

Feature 1329 - Contact visit association #2
  • Loading branch information
MateStrysewske committed May 19, 2020
2 parents 7640eef + 048f7bb commit d090241
Show file tree
Hide file tree
Showing 35 changed files with 876 additions and 940 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import de.symeda.sormas.api.region.RegionReferenceDto;
import de.symeda.sormas.api.utils.SortProperty;
import de.symeda.sormas.api.utils.ValidationRuntimeException;
import de.symeda.sormas.api.visit.VisitSummaryExportDto;

import javax.ejb.Remote;
import java.util.Date;
Expand All @@ -34,63 +35,63 @@
public interface ContactFacade {

List<ContactDto> getAllActiveContactsAfter(Date date);

ContactDto getContactByUuid(String uuid);

Boolean isValidContactUuid(String uuid);

ContactDto saveContact(ContactDto dto);

ContactReferenceDto getReferenceByUuid(String uuid);

List<String> getAllActiveUuids();

void generateContactFollowUpTasks();

List<ContactDto> getByUuids(List<String> uuids);

List<MapContactDto> getContactsForMap(RegionReferenceDto regionRef, DistrictReferenceDto districtRef, Disease disease, Date fromDate, Date toDate, List<MapCaseDto> mapCaseDtos);

void deleteContact(String contactUuid);

List<ContactIndexDto> getIndexList(ContactCriteria contactCriteria, Integer first, Integer max,
List<SortProperty> sortProperties);

List<ContactIndexDetailedDto> getIndexDetailedList(ContactCriteria contactCriteria, Integer first, Integer max,
List<SortProperty> sortProperties);
List<SortProperty> sortProperties);

List<ContactExportDto> getExportList(ContactCriteria contactCriteria, int first, int max, Language userLanguage);

List<ContactVisitsExportDto> getContactVisitsExportList(ContactCriteria contactCriteria, int first, int max, Language userLanguage);
List<VisitSummaryExportDto> getVisitSummaryExportList(ContactCriteria contactCriteria, int first, int max, Language userLanguage);

long countMaximumFollowUps(ContactCriteria contactCriteria);
long countMaximumFollowUpDays(ContactCriteria contactCriteria);
List<DashboardContactDto> getContactsForDashboard(RegionReferenceDto regionRef, DistrictReferenceDto districtRef, Disease disease, Date from, Date to);

Map<ContactStatus, Long> getNewContactCountPerStatus(ContactCriteria contactCriteria);

Map<ContactClassification, Long> getNewContactCountPerClassification(ContactCriteria contactCriteria);

Map<FollowUpStatus, Long> getNewContactCountPerFollowUpStatus(ContactCriteria contactCriteria);

int getFollowUpUntilCount(ContactCriteria contactCriteria);

long count(ContactCriteria contactCriteria);

List<String> getDeletedUuidsSince(Date since);

boolean isDeleted(String contactUuid);

List<ContactFollowUpDto> getContactFollowUpList(ContactCriteria contactCriteria, Date referenceDate, Integer first, Integer max,
List<SortProperty> sortProperties);
int[] getContactCountsByCasesForDashboard(List<String> contactUuids);

int[] getContactCountsByCasesForDashboard(List<Long> contactIds);

int getNonSourceCaseCountForDashboard(List<String> caseUuids);

void validate(ContactDto contact) throws ValidationRuntimeException;

List<SimilarContactDto> getMatchingContacts(ContactSimilarityCriteria criteria);

boolean isContactEditAllowed(String contactUuid);

}
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
package de.symeda.sormas.api.contact;

import java.util.Date;

import de.symeda.sormas.api.Disease;
import de.symeda.sormas.api.caze.CaseClassification;
import de.symeda.sormas.api.person.ApproximateAgeType;
import de.symeda.sormas.api.person.Sex;
import de.symeda.sormas.api.user.UserReferenceDto;

import java.util.Date;

public class ContactIndexDetailedDto extends ContactIndexDto {

private static final long serialVersionUID = 577830364406605991L;

public static final String SEX = "sex";
public static final String APPROXIMATE_AGE = "approximateAge";
public static final String DISTRICT_NAME = "districtName";
Expand All @@ -27,20 +30,18 @@ public class ContactIndexDetailedDto extends ContactIndexDto {
private String phone;
private UserReferenceDto reportingUser;

public ContactIndexDetailedDto(String uuid, String personUuid, String firstName, String lastName,
Disease disease, String diseaseDetails,
public ContactIndexDetailedDto(String uuid, String firstName, String lastName, String cazeUuid, Disease disease, String diseaseDetails,
String caseFirstName, String caseLastName, String regionUuid, String districtUuid,
Date lastContactDate, ContactCategory contactCategory, ContactProximity contactProximity,
ContactClassification contactClassification, ContactStatus contactStatus,
FollowUpStatus followUpStatus, Date followUpUntil, String contactOfficerUuid, Date reportDateTime,
CaseClassification caseClassification,
Sex sex, Integer approximateAge, ApproximateAgeType approximateAgeType,
String districtName, String city, String address, String postalCode, String phone,
String reportingUserUuid, String reportingUserFirstName, String reportingUserLastName) {
super(uuid, personUuid, firstName, lastName, disease, diseaseDetails, caseFirstName, caseLastName,
regionUuid, districtUuid, lastContactDate, contactCategory, contactProximity, contactClassification, contactStatus,
followUpStatus, followUpUntil, contactOfficerUuid, reportDateTime, caseClassification);

String reportingUserUuid, String reportingUserFirstName, String reportingUserLastName, int visitCount) {
super(uuid, firstName, lastName, cazeUuid, disease, diseaseDetails, caseFirstName, caseLastName,
regionUuid, districtUuid, lastContactDate, contactCategory, contactProximity, contactClassification,
contactStatus, followUpStatus, followUpUntil, contactOfficerUuid, reportDateTime, caseClassification, visitCount);
this.sex = sex;
this.approximateAge = ApproximateAgeType.ApproximateAgeHelper.formatApproximateAge(approximateAge, approximateAgeType);
this.districtName = districtName;
Expand Down Expand Up @@ -82,4 +83,5 @@ public String getPhone() {
public UserReferenceDto getReportingUser() {
return reportingUser;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,14 @@ public class ContactIndexDto implements Serializable {
private Date reportDateTime;
private ContactCategory contactCategory;
private CaseClassification caseClassification;
private int visitCount;

public ContactIndexDto(String uuid, String personFirstName, String personLastName, String cazeUuid,
Disease disease, String diseaseDetails, String caseFirstName, String caseLastName, String regionUuid,
String districtUuid, Date lastContactDate, ContactCategory contactCategory, ContactProximity contactProximity,
ContactClassification contactClassification, ContactStatus contactStatus, FollowUpStatus followUpStatus,
Date followUpUntil, String contactOfficerUuid, Date reportDateTime,
CaseClassification caseClassification) {
CaseClassification caseClassification, int visitCount) {
this.uuid = uuid;
this.firstName = personFirstName;
this.lastName = personLastName;
Expand All @@ -90,7 +91,8 @@ public ContactIndexDto(String uuid, String personFirstName, String personLastNam
this.followUpUntil = followUpUntil;
this.contactOfficerUuid = contactOfficerUuid;
this.reportDateTime = reportDateTime;
this.setCaseClassification(caseClassification);
this.caseClassification = caseClassification;
this.visitCount = visitCount;
}

public String getUuid() {
Expand Down Expand Up @@ -201,8 +203,15 @@ public CaseClassification getCaseClassification() {
public void setCaseClassification(CaseClassification caseClassification) {
this.caseClassification = caseClassification;
}
public int getVisitCount() {
return visitCount;
}
public void setVisitCount(int visitCount) {
this.visitCount = visitCount;
}

public ContactReferenceDto toReference() {
return new ContactReferenceDto(uuid);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ public static int getNumberOfRequiredVisitsSoFar(Date contactReportDate, Date co
}

public static Date getStartDate(Date lastContactDate, Date reportDate) {
if (lastContactDate != null) {
return lastContactDate;
} else {
return reportDate;
}
return lastContactDate != null ? lastContactDate : reportDate;
}

public static Date getEndDate(Date lastContactDate, Date reportDate, Date followUpUntil) {
return followUpUntil != null ? followUpUntil : lastContactDate != null ? lastContactDate : reportDate;
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class DashboardContactDto implements Serializable {

public static final String I18N_PREFIX = "Contact";

private String uuid;
private long id;
private Date reportDate;
private Boolean symptomatic;
private VisitStatus lastVisitStatus;
Expand All @@ -43,10 +43,10 @@ public class DashboardContactDto implements Serializable {
private Disease disease;
private Map<VisitStatus, Long> visitStatusMap = new HashMap<>();

public DashboardContactDto(String uuid, Date reportDate, ContactStatus contactStatus,
public DashboardContactDto(long id, Date reportDate, ContactStatus contactStatus,
ContactClassification contactClassification, FollowUpStatus followUpStatus,
Date followUpUntil, Disease disease) {
this.uuid = uuid;
this.id = id;
this.reportDate = reportDate;
this.contactStatus = contactStatus;
this.contactClassification = contactClassification;
Expand All @@ -55,12 +55,12 @@ public DashboardContactDto(String uuid, Date reportDate, ContactStatus contactSt
this.disease = disease;
}

public String getUuid() {
return uuid;
public long getId() {
return id;
}

public void setUuid(String uuid) {
this.uuid = uuid;
public void setId(long id) {
this.id = id;
}

public Date getReportDate() {
Expand Down Expand Up @@ -147,7 +147,7 @@ public void setVisitStatusMap(Map<VisitStatus, Long> visitStatusMap) {
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
result = prime * result + (int) (id ^ (id >>> 32));
return result;
}

Expand All @@ -160,10 +160,7 @@ public boolean equals(Object obj) {
if (getClass() != obj.getClass())
return false;
DashboardContactDto other = (DashboardContactDto) obj;
if (uuid == null) {
if (other.uuid != null)
return false;
} else if (!uuid.equals(other.uuid))
if (id != other.id)
return false;
return true;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@

public class VisitExportDto implements Serializable {

public static final String I18N_PREFIX = "VisitExport";
private static final long serialVersionUID = 6432390815000039126L;

public static final String I18N_PREFIX = "VisitExport";

private Long id;
private String uuid;
Expand Down
Loading

0 comments on commit d090241

Please sign in to comment.