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

Commit 9a1822e

Browse files
Feature 4058 contact selection (SORMAS-Foundation#4128)
1 parent 33f72f4 commit 9a1822e

2 files changed

Lines changed: 16 additions & 9 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/labmessage/EntrySelectionField.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,12 @@ private void addSelectContactRadioGroup() {
207207
rbSelectContact.addValueChangeListener(e -> {
208208
if (e.getValue() != null) {
209209
rbCreateEntity.setValue(null);
210-
rbSelectCase.setValue(null);
211-
rbSelectEventParticipant.setValue(null);
210+
if (rbSelectCase != null) {
211+
rbSelectCase.setValue(null);
212+
}
213+
if (rbSelectEventParticipant != null) {
214+
rbSelectEventParticipant.setValue(null);
215+
}
212216
contactGrid.setEnabled(true);
213217
if (caseGrid != null) {
214218
caseGrid.setEnabled(false);

sormas-ui/src/main/java/de/symeda/sormas/ui/labmessage/LabMessageController.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import de.symeda.sormas.api.caze.CaseIndexDto;
1717
import de.symeda.sormas.api.caze.CaseSimilarityCriteria;
1818
import de.symeda.sormas.api.contact.ContactDto;
19+
import de.symeda.sormas.api.contact.ContactSimilarityCriteria;
1920
import de.symeda.sormas.api.contact.SimilarContactDto;
2021
import de.symeda.sormas.api.event.SimilarEventParticipantDto;
2122
import de.symeda.sormas.api.facility.FacilityReferenceDto;
@@ -84,20 +85,20 @@ public void process(String uuid) {
8485
caseSimilarityCriteria.personUuid(selectedPerson.getUuid());
8586
List<CaseIndexDto> similarCases = FacadeProvider.getCaseFacade().getSimilarCases(caseSimilarityCriteria);
8687

87-
// TODO: Add picking of contacts and event participants
88-
// ContactSimilarityCriteria contactSimilarityCriteria = new ContactSimilarityCriteria();
89-
// contactSimilarityCriteria.setPerson(selectedPerson);
90-
// contactSimilarityCriteria.setDisease(labMessageDto.getTestedDisease());
91-
// List<SimilarContactDto> similarContacts = FacadeProvider.getContactFacade().getMatchingContacts(contactSimilarityCriteria);
92-
//
88+
ContactSimilarityCriteria contactSimilarityCriteria = new ContactSimilarityCriteria();
89+
contactSimilarityCriteria.setPerson(selectedPerson);
90+
contactSimilarityCriteria.setDisease(labMessageDto.getTestedDisease());
91+
List<SimilarContactDto> similarContacts = FacadeProvider.getContactFacade().getMatchingContacts(contactSimilarityCriteria);
92+
93+
// TODO: Add picking of event participants
9394
// EventParticipantSimilarityCriteria eventParticipantSimilarityCriteria = new EventParticipantSimilarityCriteria();
9495
// eventParticipantSimilarityCriteria.setPerson(selectedPerson);
9596
// eventParticipantSimilarityCriteria.setDisease(labMessageDto.getTestedDisease());
9697
// List<SimilarEventParticipantDto> similarEventParticipants =
9798
// FacadeProvider.getEventParticipantFacade().getSimilarEventParticipants(eventParticipantSimilarityCriteria);
9899
//
99100
// pickOrCreateEntry(labMessageDto, similarCases, similarContacts, similarEventParticipants);
100-
pickOrCreateEntry(labMessageDto, similarCases, null, null, selectedPersonDto);
101+
pickOrCreateEntry(labMessageDto, similarCases, similarContacts, null, selectedPersonDto);
101102
}
102103
}, false);
103104
}
@@ -120,6 +121,8 @@ private void pickOrCreateEntry(
120121
createContact(labMessageDto, person);
121122
} else if (similarEntriesDto.getCaze() != null) {
122123
createSample(FacadeProvider.getCaseFacade().getCaseDataByUuid(similarEntriesDto.getCaze().getUuid()), labMessageDto);
124+
} else if (similarEntriesDto.getContact() != null) {
125+
createSample(FacadeProvider.getContactFacade().getContactByUuid(similarEntriesDto.getContact().getUuid()), labMessageDto);
123126
}
124127
});
125128

0 commit comments

Comments
 (0)