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

Commit f1ad154

Browse files
author
FredrikSchäferVitagroup
committed
SORMAS-Foundation#3418 Added ArmedForcesRelationType to everything but databases
1 parent 88a4b6a commit f1ad154

18 files changed

Lines changed: 161 additions & 30 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/caze/CaseExportDto.java

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import de.symeda.sormas.api.location.LocationDto;
4343
import de.symeda.sormas.api.person.ApproximateAgeType;
4444
import de.symeda.sormas.api.person.ApproximateAgeType.ApproximateAgeHelper;
45+
import de.symeda.sormas.api.person.ArmedForcesRelationType;
4546
import de.symeda.sormas.api.person.BurialConductor;
4647
import de.symeda.sormas.api.person.EducationType;
4748
import de.symeda.sormas.api.person.OccupationType;
@@ -185,6 +186,7 @@ public class CaseExportDto implements Serializable {
185186
@SensitiveData
186187
private String emailAddress;
187188
private String occupationType;
189+
private ArmedForcesRelationType armedForcesRelationType;
188190
private String educationType;
189191
private String travelHistory;
190192
private boolean traveled;
@@ -264,7 +266,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
264266
String addressRegion, String addressDistrict, String addressCommunity, String city, String street, String houseNumber, String additionalInformation, String postalCode,
265267
String facility, String facilityUuid, String facilityDetails,
266268
String phone, String phoneOwner, String emailAddress, EducationType educationType, String educationDetails,
267-
OccupationType occupationType, String occupationDetails, YesNoUnknown contactWithSourceCaseKnown,
269+
OccupationType occupationType, String occupationDetails, ArmedForcesRelationType ArmedForcesRelationType, YesNoUnknown contactWithSourceCaseKnown,
268270
//Date onsetDate,
269271
Vaccination vaccination, String vaccinationDoses, Date vaccinationDate,
270272
VaccinationInfoSource vaccinationInfoSource, YesNoUnknown postpartum, Trimester trimester,
@@ -281,6 +283,7 @@ public CaseExportDto(long id, long personId, long personAddressId, long epiDataI
281283
this.healthConditionsId = healthConditionsId;
282284
this.uuid = uuid;
283285
this.epidNumber = epidNumber;
286+
this.armedForcesRelationType = ArmedForcesRelationType;
284287
this.diseaseFormatted = DiseaseHelper.toString(disease, diseaseDetails);
285288
this.disease = disease;
286289
this.firstName = firstName;
@@ -999,8 +1002,8 @@ public String getPhone() {
9991002

10001003
@Order(75)
10011004
@ExportTarget(caseExportTypes = {
1002-
CaseExportType.CASE_SURVEILLANCE,
1003-
CaseExportType.CASE_MANAGEMENT })
1005+
CaseExportType.CASE_SURVEILLANCE,
1006+
CaseExportType.CASE_MANAGEMENT })
10041007
@ExportProperty(PersonDto.EMAIL_ADDRESS)
10051008
@ExportGroup(ExportGroupType.SENSITIVE)
10061009
public String getEmailAddress() {
@@ -1032,6 +1035,16 @@ public String getOccupationType() {
10321035
}
10331036

10341037
@Order(78)
1038+
@ExportTarget(caseExportTypes = {
1039+
CaseExportType.CASE_SURVEILLANCE,
1040+
CaseExportType.CASE_MANAGEMENT })
1041+
@ExportProperty(PersonDto.ARMED_FORCES_RELATION_TYPE)
1042+
@ExportGroup(ExportGroupType.PERSON)
1043+
public ArmedForcesRelationType getArmedForcesRelationType() {
1044+
return armedForcesRelationType;
1045+
}
1046+
1047+
@Order(79)
10351048
@ExportTarget(caseExportTypes = {
10361049
CaseExportType.CASE_SURVEILLANCE })
10371050
@ExportProperty(TRAVELED)
@@ -1044,7 +1057,7 @@ public void setTraveled(boolean traveled) {
10441057
this.traveled = traveled;
10451058
}
10461059

1047-
@Order(79)
1060+
@Order(80)
10481061
@ExportTarget(caseExportTypes = {
10491062
CaseExportType.CASE_SURVEILLANCE })
10501063
@ExportProperty(TRAVEL_HISTORY)
@@ -1053,7 +1066,7 @@ public String getTravelHistory() {
10531066
return travelHistory;
10541067
}
10551068

1056-
@Order(80)
1069+
@Order(81)
10571070
@ExportTarget(caseExportTypes = {
10581071
CaseExportType.CASE_SURVEILLANCE })
10591072
@ExportProperty(BURIAL_ATTENDED)
@@ -1066,7 +1079,7 @@ public void setBurialAttended(boolean burialAttended) {
10661079
this.burialAttended = burialAttended;
10671080
}
10681081

1069-
@Order(81)
1082+
@Order(82)
10701083
@ExportTarget(caseExportTypes = {
10711084
CaseExportType.CASE_SURVEILLANCE })
10721085
@ExportProperty(EpiDataDto.CONTACT_WITH_SOURCE_CASE_KNOWN)
@@ -1518,6 +1531,10 @@ public void setOccupationType(String occupationType) {
15181531
this.occupationType = occupationType;
15191532
}
15201533

1534+
public void setArmedForcesRelationType(ArmedForcesRelationType armedForcesRelationType) {
1535+
this.armedForcesRelationType = armedForcesRelationType;
1536+
}
1537+
15211538
public void setTravelHistory(String travelHistory) {
15221539
this.travelHistory = travelHistory;
15231540
}

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

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import de.symeda.sormas.api.facility.FacilityHelper;
2929
import de.symeda.sormas.api.person.ApproximateAgeType;
3030
import de.symeda.sormas.api.person.ApproximateAgeType.ApproximateAgeHelper;
31+
import de.symeda.sormas.api.person.ArmedForcesRelationType;
3132
import de.symeda.sormas.api.person.OccupationType;
3233
import de.symeda.sormas.api.person.PersonHelper;
3334
import de.symeda.sormas.api.person.PresentCondition;
@@ -104,6 +105,7 @@ public class ContactExportDto implements Serializable {
104105
@SensitiveData
105106
private String emailAddress;
106107
private String occupationType;
108+
private ArmedForcesRelationType armedForcesRelationType;
107109
private int numberOfVisits;
108110
private YesNoUnknown lastCooperativeVisitSymptomatic;
109111
private Date lastCooperativeVisitDate;
@@ -154,7 +156,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
154156
PresentCondition presentCondition, Date deathDate,
155157
String addressRegion, String addressDistrict, String addressCommunity, String city, String street, String houseNumber, String additionalInformation, String postalCode,
156158
String facility, String facilityUuid, String facilityDetails,
157-
String phone, String phoneOwner, String emailAddress, OccupationType occupationType, String occupationDetails,
159+
String phone, String phoneOwner, String emailAddress, OccupationType occupationType, String occupationDetails, ArmedForcesRelationType armedForcesRelationType,
158160
String region, String district, String community,
159161
long epiDataId, YesNoUnknown contactWithSourceCaseKnown, YesNoUnknown returningTraveler, String externalID,
160162
String reportingUserUuid, String regionUuid, String districtUuid, String communityUuid,
@@ -212,6 +214,7 @@ public ContactExportDto(long id, long personId, String uuid, String sourceCaseUu
212214
this.phone = PersonHelper.buildPhoneString(phone, phoneOwner);
213215
this.emailAddress = emailAddress;
214216
this.occupationType = PersonHelper.buildOccupationString(occupationType, occupationDetails);
217+
this.armedForcesRelationType = armedForcesRelationType;
215218
this.region = region;
216219
this.district = district;
217220
this.community = community;
@@ -526,26 +529,31 @@ public String getOccupationType() {
526529
}
527530

528531
@Order(61)
532+
public ArmedForcesRelationType getArmedForcesRelationType() {
533+
return armedForcesRelationType;
534+
}
535+
536+
@Order(62)
529537
public int getNumberOfVisits() {
530538
return numberOfVisits;
531539
}
532540

533-
@Order(62)
541+
@Order(63)
534542
public YesNoUnknown getLastCooperativeVisitSymptomatic() {
535543
return lastCooperativeVisitSymptomatic;
536544
}
537545

538-
@Order(63)
546+
@Order(64)
539547
public Date getLastCooperativeVisitDate() {
540548
return lastCooperativeVisitDate;
541549
}
542550

543-
@Order(64)
551+
@Order(65)
544552
public String getLastCooperativeVisitSymptoms() {
545553
return lastCooperativeVisitSymptoms;
546554
}
547555

548-
@Order(65)
556+
@Order(66)
549557
public boolean isTraveled() {
550558
return traveled;
551559
}
@@ -554,7 +562,7 @@ public void setTraveled(boolean traveled) {
554562
this.traveled = traveled;
555563
}
556564

557-
@Order(66)
565+
@Order(67)
558566
public String getTravelHistory() {
559567
return travelHistory;
560568
}
@@ -563,7 +571,7 @@ public void setTravelHistory(String travelHistory) {
563571
this.travelHistory = travelHistory;
564572
}
565573

566-
@Order(67)
574+
@Order(68)
567575
public boolean isBurialAttended() {
568576
return burialAttended;
569577
}
@@ -572,7 +580,7 @@ public void setBurialAttended(boolean burialAttended) {
572580
this.burialAttended = burialAttended;
573581
}
574582

575-
@Order(68)
583+
@Order(69)
576584
public YesNoUnknown getContactWithSourceCaseKnown() {
577585
return contactWithSourceCaseKnown;
578586
}
@@ -725,6 +733,10 @@ public void setOccupationType(String occupationType) {
725733
this.occupationType = occupationType;
726734
}
727735

736+
public void setArmedForcesRelationType(ArmedForcesRelationType armedForcesRelationType) {
737+
this.armedForcesRelationType = armedForcesRelationType;
738+
}
739+
728740
public void setLastCooperativeVisitSymptomatic(YesNoUnknown lastCooperativeVisitSymptomatic) {
729741
this.lastCooperativeVisitSymptomatic = lastCooperativeVisitSymptomatic;
730742
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package de.symeda.sormas.api.person;
2+
3+
import de.symeda.sormas.api.i18n.I18nProperties;
4+
5+
public enum ArmedForcesRelationType {
6+
7+
UNKNOWN,
8+
NO_RELATION,
9+
// working for armed forces, but not as soldier
10+
CIVIL,
11+
SOLDIER_OR_RELATIVE;
12+
13+
public String toString() {
14+
return I18nProperties.getEnumCaption(this);
15+
}
16+
17+
}

sormas-api/src/main/java/de/symeda/sormas/api/person/PersonDto.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public class PersonDto extends PseudonymizableDto {
8383
public static final String EDUCATION_DETAILS = "educationDetails";
8484
public static final String OCCUPATION_TYPE = "occupationType";
8585
public static final String OCCUPATION_DETAILS = "occupationDetails";
86+
public static final String ARMED_FORCES_RELATION_TYPE = "armedForcesRelationType";
8687

8788
public static final String FATHERS_NAME = "fathersName";
8889
public static final String MOTHERS_NAME = "mothersName";
@@ -260,6 +261,9 @@ public class PersonDto extends PseudonymizableDto {
260261
@SensitiveData
261262
private String occupationDetails;
262263
@SensitiveData
264+
@HideForCountriesExcept(countries = CountryHelper.COUNTRY_CODE_GERMANY)
265+
private ArmedForcesRelationType armedForcesRelationType;
266+
@SensitiveData
263267
private String generalPractitionerDetails;
264268
@SensitiveData
265269
private String passportNumber;
@@ -503,6 +507,14 @@ public void setOccupationDetails(String occupationDetails) {
503507
this.occupationDetails = occupationDetails;
504508
}
505509

510+
public ArmedForcesRelationType getArmedForcesRelationType() {
511+
return armedForcesRelationType;
512+
}
513+
514+
public void setArmedForcesRelationType(ArmedForcesRelationType armedForcesRelationType) {
515+
this.armedForcesRelationType = armedForcesRelationType;
516+
}
517+
506518
public String getMothersName() {
507519
return mothersName;
508520
}

sormas-api/src/main/java/de/symeda/sormas/api/utils/InfoProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public static synchronized InfoProvider get() {
4949
* @return
5050
*/
5151
public String getMinimumRequiredVersion() {
52-
return "1.52.0";
52+
return "1.53.0";
5353
}
5454

5555
/**

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ AreaType.URBAN = Urban
9393
AreaType.RURAL = Rural
9494
AreaType.UNKNOWN = Unknown
9595

96+
ArmedForcesRelationType.UNKNOWN = Unknown
97+
ArmedForcesRelationType.NO_RELATION = No relation to armed forces
98+
ArmedForcesRelationType.CIVIL = Civil person working for/accomodated in facility of armed forces
99+
ArmedForcesRelationType.SOLDIER_OR_RELATIVE = Soldier, Relative
100+
96101
ArrivalOrDeparture.ARRIVAL = Arrival
97102
ArrivalOrDeparture.DEPARTURE = Departure
98103
ArrivalOrDeparture.UNKNOWN = Unknown

sormas-api/src/main/resources/enum_de-DE.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ AreaType.URBAN = Städtisch
9393
AreaType.RURAL = Ländlich
9494
AreaType.UNKNOWN = Unbekannt
9595

96+
ArmedForcesRelationType.UNKNOWN = Nicht ermittelbar
97+
ArmedForcesRelationType.NO_RELATION = Kein Bezug zur BW
98+
ArmedForcesRelationType.CIVIL = Zivilperson tätig/untergebracht in Einrichtung der BW
99+
ArmedForcesRelationType.SOLDIER_OR_RELATIVE = Soldat/BW-Angehöriger
100+
96101
ArrivalOrDeparture.ARRIVAL = Ankunft
97102
ArrivalOrDeparture.DEPARTURE = Abreise
98103
ArrivalOrDeparture.UNKNOWN = Unbekannt

sormas-app/app/src/main/java/de/symeda/sormas/app/backend/person/Person.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import de.symeda.sormas.api.Disease;
3636
import de.symeda.sormas.api.facility.FacilityType;
3737
import de.symeda.sormas.api.person.ApproximateAgeType;
38+
import de.symeda.sormas.api.person.ArmedForcesRelationType;
3839
import de.symeda.sormas.api.person.BurialConductor;
3940
import de.symeda.sormas.api.person.CauseOfDeath;
4041
import de.symeda.sormas.api.person.DeathPlaceType;
@@ -158,6 +159,8 @@ public class Person extends PseudonymizableAdo {
158159
private OccupationType occupationType;
159160
@Column(length = COLUMN_LENGTH_DEFAULT)
160161
private String occupationDetails;
162+
@Enumerated
163+
private ArmedForcesRelationType armedForcesRelationType;
161164

162165
@Column(length = COLUMN_LENGTH_DEFAULT)
163166
private String generalPractitionerDetails;
@@ -354,6 +357,14 @@ public void setOccupationDetails(String occupationDetails) {
354357
this.occupationDetails = occupationDetails;
355358
}
356359

360+
public ArmedForcesRelationType getArmedForcesRelationType() {
361+
return armedForcesRelationType;
362+
}
363+
364+
public void setArmedForcesRelationType(ArmedForcesRelationType armedForcesRelationType) {
365+
this.armedForcesRelationType = armedForcesRelationType;
366+
}
367+
357368
public CauseOfDeath getCauseOfDeath() {
358369
return causeOfDeath;
359370
}
@@ -542,7 +553,12 @@ public void setAddresses(List<Location> addresses) {
542553
this.addresses = addresses;
543554
}
544555

545-
public String getExternalId() { return externalId; }
556+
public String getExternalId() {
557+
return externalId;
558+
}
559+
560+
public void setExternalId(String externalId) {
561+
this.externalId = externalId;
562+
}
546563

547-
public void setExternalId(String externalId) { this.externalId = externalId; }
548564
}

sormas-app/app/src/main/java/de/symeda/sormas/app/backend/person/PersonDtoHelper.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ public void fillInnerFromDto(Person target, PersonDto source) {
9292

9393
target.setOccupationType(source.getOccupationType());
9494
target.setOccupationDetails(source.getOccupationDetails());
95+
target.setArmedForcesRelationType(source.getArmedForcesRelationType());
9596
target.setDeathPlaceType(source.getDeathPlaceType());
9697
target.setDeathPlaceDescription(source.getDeathPlaceDescription());
9798
target.setBurialDate(source.getBurialDate());
@@ -169,6 +170,7 @@ public void fillInnerFromAdo(PersonDto target, Person source) {
169170

170171
target.setOccupationType(source.getOccupationType());
171172
target.setOccupationDetails(source.getOccupationDetails());
173+
target.setArmedForcesRelationType(source.getArmedForcesRelationType());
172174

173175
target.setMothersName(source.getMothersName());
174176
target.setFathersName(source.getFathersName());

sormas-app/app/src/main/java/de/symeda/sormas/app/person/edit/PersonEditFragment.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,14 @@
3030
import androidx.databinding.ObservableArrayList;
3131
import androidx.databinding.ObservableList;
3232

33+
import de.symeda.sormas.api.CountryHelper;
3334
import de.symeda.sormas.api.Disease;
3435
import de.symeda.sormas.api.facility.FacilityType;
3536
import de.symeda.sormas.api.facility.FacilityTypeGroup;
3637
import de.symeda.sormas.api.i18n.I18nProperties;
3738
import de.symeda.sormas.api.location.LocationDto;
3839
import de.symeda.sormas.api.person.ApproximateAgeType;
40+
import de.symeda.sormas.api.person.ArmedForcesRelationType;
3941
import de.symeda.sormas.api.person.BurialConductor;
4042
import de.symeda.sormas.api.person.CauseOfDeath;
4143
import de.symeda.sormas.api.person.DeathPlaceType;
@@ -189,6 +191,7 @@ public static void setUpLayoutBinding(
189191
contentBinding.personDeathPlaceType.initializeSpinner(deathPlaceTypeList);
190192
contentBinding.personBurialConductor.initializeSpinner(burialConductorList);
191193
contentBinding.personOccupationType.initializeSpinner(DataUtils.getEnumItems(OccupationType.class, true, countryVisibilityChecker));
194+
contentBinding.personArmedForcesRelationType.initializeSpinner(DataUtils.getEnumItems(ArmedForcesRelationType.class, true));
192195
contentBinding.personEducationType.initializeSpinner(DataUtils.getEnumItems(EducationType.class, true));
193196
contentBinding.personPresentCondition.initializeSpinner(DataUtils.getEnumItems(PresentCondition.class, true));
194197

@@ -463,6 +466,9 @@ public void onLayoutBinding(FragmentPersonEditLayoutBinding contentBinding) {
463466
@Override
464467
public void onAfterLayoutBinding(final FragmentPersonEditLayoutBinding contentBinding) {
465468
PersonEditFragment.setUpLayoutBinding(this, record, contentBinding, rootData);
469+
if (!ConfigProvider.isConfiguredServer(CountryHelper.COUNTRY_CODE_GERMANY)) {
470+
contentBinding.personArmedForcesRelationType.setVisibility(GONE);
471+
}
466472
}
467473

468474
@Override

0 commit comments

Comments
 (0)