|
17 | 17 | *******************************************************************************/ |
18 | 18 | package de.symeda.sormas.backend.contact; |
19 | 19 |
|
20 | | -import static de.symeda.sormas.backend.visit.VisitLogic.getVisitResult; |
21 | | -import static java.time.temporal.ChronoUnit.DAYS; |
22 | | - |
23 | | -import java.math.BigInteger; |
24 | | -import java.sql.Timestamp; |
25 | | -import java.time.LocalDate; |
26 | | -import java.time.LocalDateTime; |
27 | | -import java.util.ArrayList; |
28 | | -import java.util.Collections; |
29 | | -import java.util.Comparator; |
30 | | -import java.util.Date; |
31 | | -import java.util.List; |
32 | | -import java.util.Map; |
33 | | -import java.util.Optional; |
34 | | -import java.util.function.Function; |
35 | | -import java.util.stream.Collectors; |
36 | | -import java.util.stream.Stream; |
37 | | - |
38 | | -import javax.annotation.security.RolesAllowed; |
39 | | -import javax.ejb.EJB; |
40 | | -import javax.ejb.LocalBean; |
41 | | -import javax.ejb.Stateless; |
42 | | -import javax.ejb.TransactionAttribute; |
43 | | -import javax.ejb.TransactionAttributeType; |
44 | | -import javax.persistence.EntityManager; |
45 | | -import javax.persistence.PersistenceContext; |
46 | | -import javax.persistence.Query; |
47 | | -import javax.persistence.criteria.CriteriaBuilder; |
48 | | -import javax.persistence.criteria.CriteriaQuery; |
49 | | -import javax.persistence.criteria.Expression; |
50 | | -import javax.persistence.criteria.Join; |
51 | | -import javax.persistence.criteria.JoinType; |
52 | | -import javax.persistence.criteria.Order; |
53 | | -import javax.persistence.criteria.Predicate; |
54 | | -import javax.persistence.criteria.Root; |
55 | | -import javax.validation.constraints.NotNull; |
56 | | - |
57 | | -import org.apache.commons.collections.CollectionUtils; |
58 | | -import org.slf4j.Logger; |
59 | | -import org.slf4j.LoggerFactory; |
60 | | - |
61 | | -import de.symeda.sormas.api.CountryHelper; |
62 | 20 | import de.symeda.sormas.api.Disease; |
63 | 21 | import de.symeda.sormas.api.Language; |
64 | 22 | import de.symeda.sormas.api.caze.CaseReferenceDto; |
|
153 | 111 | import de.symeda.sormas.backend.util.QueryHelper; |
154 | 112 | import de.symeda.sormas.backend.visit.Visit; |
155 | 113 | import de.symeda.sormas.backend.visit.VisitService; |
| 114 | +import org.apache.commons.collections.CollectionUtils; |
| 115 | +import org.slf4j.Logger; |
| 116 | +import org.slf4j.LoggerFactory; |
| 117 | + |
| 118 | +import javax.annotation.security.RolesAllowed; |
| 119 | +import javax.ejb.EJB; |
| 120 | +import javax.ejb.LocalBean; |
| 121 | +import javax.ejb.Stateless; |
| 122 | +import javax.ejb.TransactionAttribute; |
| 123 | +import javax.ejb.TransactionAttributeType; |
| 124 | +import javax.persistence.EntityManager; |
| 125 | +import javax.persistence.PersistenceContext; |
| 126 | +import javax.persistence.Query; |
| 127 | +import javax.persistence.criteria.CriteriaBuilder; |
| 128 | +import javax.persistence.criteria.CriteriaQuery; |
| 129 | +import javax.persistence.criteria.Expression; |
| 130 | +import javax.persistence.criteria.Join; |
| 131 | +import javax.persistence.criteria.JoinType; |
| 132 | +import javax.persistence.criteria.Order; |
| 133 | +import javax.persistence.criteria.Predicate; |
| 134 | +import javax.persistence.criteria.Root; |
| 135 | +import javax.validation.constraints.NotNull; |
| 136 | +import java.math.BigInteger; |
| 137 | +import java.sql.Timestamp; |
| 138 | +import java.time.LocalDate; |
| 139 | +import java.time.LocalDateTime; |
| 140 | +import java.util.ArrayList; |
| 141 | +import java.util.Collections; |
| 142 | +import java.util.Comparator; |
| 143 | +import java.util.Date; |
| 144 | +import java.util.List; |
| 145 | +import java.util.Map; |
| 146 | +import java.util.Optional; |
| 147 | +import java.util.function.Function; |
| 148 | +import java.util.stream.Collectors; |
| 149 | +import java.util.stream.Stream; |
| 150 | + |
| 151 | +import static de.symeda.sormas.backend.visit.VisitLogic.getVisitResult; |
| 152 | +import static java.time.temporal.ChronoUnit.DAYS; |
156 | 153 |
|
157 | 154 | @Stateless(name = "ContactFacade") |
158 | 155 | public class ContactFacadeEjb implements ContactFacade { |
@@ -281,7 +278,9 @@ public ContactDto saveContact(ContactDto dto, boolean handleChanges) { |
281 | 278 | Contact entity = fromDto(dto); |
282 | 279 | contactService.ensurePersisted(entity); |
283 | 280 |
|
284 | | - createInvestigationTask(entity); |
| 281 | + if (existingContact == null) { |
| 282 | + createInvestigationTask(entity); |
| 283 | + } |
285 | 284 |
|
286 | 285 | if (handleChanges) { |
287 | 286 | updateContactVisitAssociations(existingContactDto, entity); |
|
0 commit comments