|
17 | 17 | *******************************************************************************/ |
18 | 18 | package de.symeda.sormas.backend.caze; |
19 | 19 |
|
20 | | -import static de.symeda.sormas.backend.util.DtoHelper.fillDto; |
21 | | -import static de.symeda.sormas.backend.visit.VisitLogic.getVisitResult; |
22 | | - |
23 | | -import java.math.BigDecimal; |
24 | | -import java.sql.Timestamp; |
25 | | -import java.time.LocalDate; |
26 | | -import java.util.ArrayList; |
27 | | -import java.util.Arrays; |
28 | | -import java.util.Calendar; |
29 | | -import java.util.Collections; |
30 | | -import java.util.Comparator; |
31 | | -import java.util.Date; |
32 | | -import java.util.HashMap; |
33 | | -import java.util.List; |
34 | | -import java.util.Map; |
35 | | -import java.util.Optional; |
36 | | -import java.util.Random; |
37 | | -import java.util.function.Function; |
38 | | -import java.util.stream.Collectors; |
39 | | -import java.util.stream.Stream; |
40 | | - |
41 | | -import javax.ejb.EJB; |
42 | | -import javax.ejb.LocalBean; |
43 | | -import javax.ejb.Stateless; |
44 | | -import javax.ejb.TransactionAttribute; |
45 | | -import javax.ejb.TransactionAttributeType; |
46 | | -import javax.persistence.EntityManager; |
47 | | -import javax.persistence.NoResultException; |
48 | | -import javax.persistence.PersistenceContext; |
49 | | -import javax.persistence.TypedQuery; |
50 | | -import javax.persistence.criteria.CriteriaBuilder; |
51 | | -import javax.persistence.criteria.CriteriaQuery; |
52 | | -import javax.persistence.criteria.CriteriaUpdate; |
53 | | -import javax.persistence.criteria.Expression; |
54 | | -import javax.persistence.criteria.Join; |
55 | | -import javax.persistence.criteria.JoinType; |
56 | | -import javax.persistence.criteria.Order; |
57 | | -import javax.persistence.criteria.ParameterExpression; |
58 | | -import javax.persistence.criteria.Path; |
59 | | -import javax.persistence.criteria.Predicate; |
60 | | -import javax.persistence.criteria.Root; |
61 | | -import javax.persistence.criteria.Selection; |
62 | | -import javax.validation.constraints.NotNull; |
63 | | - |
64 | | -import org.apache.commons.lang3.StringUtils; |
65 | | -import org.slf4j.Logger; |
66 | | -import org.slf4j.LoggerFactory; |
67 | | - |
68 | 20 | import de.symeda.sormas.api.CaseMeasure; |
69 | 21 | import de.symeda.sormas.api.Disease; |
70 | 22 | import de.symeda.sormas.api.DiseaseHelper; |
|
244 | 196 | import de.symeda.sormas.backend.util.Pseudonymizer; |
245 | 197 | import de.symeda.sormas.backend.visit.Visit; |
246 | 198 | import de.symeda.sormas.backend.visit.VisitService; |
| 199 | +import org.apache.commons.lang3.StringUtils; |
| 200 | +import org.slf4j.Logger; |
| 201 | +import org.slf4j.LoggerFactory; |
| 202 | + |
| 203 | +import javax.ejb.EJB; |
| 204 | +import javax.ejb.LocalBean; |
| 205 | +import javax.ejb.Stateless; |
| 206 | +import javax.ejb.TransactionAttribute; |
| 207 | +import javax.ejb.TransactionAttributeType; |
| 208 | +import javax.persistence.EntityManager; |
| 209 | +import javax.persistence.NoResultException; |
| 210 | +import javax.persistence.PersistenceContext; |
| 211 | +import javax.persistence.TypedQuery; |
| 212 | +import javax.persistence.criteria.CriteriaBuilder; |
| 213 | +import javax.persistence.criteria.CriteriaQuery; |
| 214 | +import javax.persistence.criteria.CriteriaUpdate; |
| 215 | +import javax.persistence.criteria.Expression; |
| 216 | +import javax.persistence.criteria.Join; |
| 217 | +import javax.persistence.criteria.JoinType; |
| 218 | +import javax.persistence.criteria.Order; |
| 219 | +import javax.persistence.criteria.ParameterExpression; |
| 220 | +import javax.persistence.criteria.Path; |
| 221 | +import javax.persistence.criteria.Predicate; |
| 222 | +import javax.persistence.criteria.Root; |
| 223 | +import javax.persistence.criteria.Selection; |
| 224 | +import javax.validation.constraints.NotNull; |
| 225 | +import java.math.BigDecimal; |
| 226 | +import java.sql.Timestamp; |
| 227 | +import java.time.LocalDate; |
| 228 | +import java.util.ArrayList; |
| 229 | +import java.util.Arrays; |
| 230 | +import java.util.Calendar; |
| 231 | +import java.util.Collections; |
| 232 | +import java.util.Comparator; |
| 233 | +import java.util.Date; |
| 234 | +import java.util.HashMap; |
| 235 | +import java.util.List; |
| 236 | +import java.util.Map; |
| 237 | +import java.util.Optional; |
| 238 | +import java.util.Random; |
| 239 | +import java.util.function.Function; |
| 240 | +import java.util.stream.Collectors; |
| 241 | +import java.util.stream.Stream; |
| 242 | + |
| 243 | +import static de.symeda.sormas.backend.util.DtoHelper.fillDto; |
| 244 | +import static de.symeda.sormas.backend.visit.VisitLogic.getVisitResult; |
247 | 245 |
|
248 | 246 | @Stateless(name = "CaseFacade") |
249 | 247 | public class CaseFacadeEjb implements CaseFacade { |
@@ -771,7 +769,9 @@ public List<CaseExportDto> getExportList( |
771 | 769 | for (Sample sample : caseSamples) { |
772 | 770 | CaseExportDto.CaseExportSampleDto sampleDto = new CaseExportDto.CaseExportSampleDto( |
773 | 771 | sample.getSampleDateTime(), |
774 | | - FacilityHelper.buildFacilityString(sample.getLab().getUuid(), sample.getLab().getName(), sample.getLabDetails()), |
| 772 | + sample.getLab() != null |
| 773 | + ? FacilityHelper.buildFacilityString(sample.getLab().getUuid(), sample.getLab().getName(), sample.getLabDetails()) |
| 774 | + : null, |
775 | 775 | sample.getPathogenTestResult()); |
776 | 776 |
|
777 | 777 | switch (++count) { |
@@ -1418,6 +1418,11 @@ public void onCaseChanged(CaseDataDto existingCase, Case newCase) { |
1418 | 1418 | } |
1419 | 1419 | } |
1420 | 1420 |
|
| 1421 | + // Clear facility type if no facility or home was selected |
| 1422 | + if (newCase.getHealthFacility() == null || FacilityDto.NONE_FACILITY_UUID.equals(newCase.getHealthFacility().getUuid())) { |
| 1423 | + newCase.setFacilityType(null); |
| 1424 | + } |
| 1425 | + |
1421 | 1426 | // Generate epid number if missing or incomplete |
1422 | 1427 | if (!CaseLogic.isCompleteEpidNumber(newCase.getEpidNumber())) { |
1423 | 1428 | newCase.setEpidNumber(generateEpidNumber(newCase)); |
|
0 commit comments