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

Commit 2480552

Browse files
Merge pull request SORMAS-Foundation#2714 from fuatse/feature-2670_add_externalId_to_person_if_german
Add externalId to Person and show it on PersonEditForm on German Systems
2 parents 5564670 + 1041976 commit 2480552

10 files changed

Lines changed: 50 additions & 2 deletions

File tree

sormas-api/src/main/java/de/symeda/sormas/api/i18n/Captions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,7 @@ public interface Captions {
10391039
String Person_educationDetails = "Person.educationDetails";
10401040
String Person_educationType = "Person.educationType";
10411041
String Person_emailAddress = "Person.emailAddress";
1042+
String Person_externalId = "Person.externalId";
10421043
String Person_fathersName = "Person.fathersName";
10431044
String Person_generalPractitionerDetails = "Person.generalPractitionerDetails";
10441045
String Person_gestationAgeAtBirth = "Person.gestationAgeAtBirth";

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
@@ -110,6 +110,7 @@ public class PersonDto extends PseudonymizableDto {
110110

111111
public static final String HAS_COVID_APP = "hasCovidApp";
112112
public static final String COVID_CODE_DELIVERED = "covidCodeDelivered";
113+
public static final String EXTERNAL_ID = "externalId";
113114

114115
// Fields are declared in the order they should appear in the import template
115116

@@ -277,6 +278,9 @@ public class PersonDto extends PseudonymizableDto {
277278
private boolean covidCodeDelivered;
278279

279280
private SymptomJournalStatus symptomJournalStatus;
281+
@SensitiveData
282+
@HideForCountriesExcept(countries = "de")
283+
private String externalId;
280284

281285
public Integer getBirthdateDD() {
282286
return birthdateDD;
@@ -695,6 +699,14 @@ public void setCovidCodeDelivered(boolean covidCodeDelivered) {
695699
this.covidCodeDelivered = covidCodeDelivered;
696700
}
697701

702+
public String getExternalId() {
703+
return externalId;
704+
}
705+
706+
public void setExternalId(String externalId) {
707+
this.externalId = externalId;
708+
}
709+
698710
@Override
699711
public String toString() {
700712
return buildCaption(firstName, lastName);

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1196,6 +1196,7 @@ Person.nationalHealthId=National health ID
11961196
Person.uuid=Person ID
11971197
Person.hasCovidApp=Has COVID app
11981198
Person.covidCodeDelivered=COVID code was generated and delivered
1199+
Person.externalId=External ID
11991200

12001201
pointOfEntryActivePointsOfEntry=Active points of entry
12011202
pointOfEntryArchivedPointsOfEntry=Archived points of entry

sormas-app/app/src/main/java/de/symeda/sormas/app/backend/common/DatabaseHelper.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
128128
public static final String DATABASE_NAME = "sormas.db";
129129
// any time you make changes to your database objects, you may have to increase the database version
130130

131-
public static final int DATABASE_VERSION = 227;
131+
public static final int DATABASE_VERSION = 229;
132132

133133
private static DatabaseHelper instance = null;
134134

@@ -1590,6 +1590,10 @@ public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int
15901590
getDao(Contact.class).executeRaw("ALTER TABLE contacts ADD COLUMN quarantineReduced boolean DEFAULT false;");
15911591
getDao(Case.class).executeRaw("ALTER TABLE cases ADD COLUMN quarantineReduced boolean DEFAULT false;");
15921592

1593+
case 228:
1594+
currentVersion = 228;
1595+
getDao(Person.class).executeRaw("ALTER TABLE person ADD COLUMN externalId varchar(255);");
1596+
15931597
// ATTENTION: break should only be done after last version
15941598
break;
15951599
default:

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,9 @@ public class Person extends PseudonymizableAdo {
185185

186186
private List<Location> addresses = new ArrayList<>();
187187

188+
@Column
189+
private String externalId;
190+
188191
public Person() {
189192
}
190193

@@ -595,4 +598,8 @@ public List<Location> getAddresses() {
595598
public void setAddresses(List<Location> addresses) {
596599
this.addresses = addresses;
597600
}
601+
602+
public String getExternalId() { return externalId; }
603+
604+
public void setExternalId(String externalId) { this.externalId = externalId; }
598605
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ public void fillInnerFromDto(Person target, PersonDto source) {
139139
}
140140
}
141141
target.setAddresses(addresses);
142+
143+
target.setExternalId(source.getExternalId());
142144
}
143145

144146
@Override
@@ -254,6 +256,8 @@ public void fillInnerFromAdo(PersonDto target, Person source) {
254256
locationDtos.add(locationDto);
255257
}
256258
target.setAddresses(locationDtos);
259+
260+
target.setExternalId(source.getExternalId());
257261
}
258262

259263
public static PersonReferenceDto toReferenceDto(Person ado) {

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ public class Person extends AbstractDomainObject {
114114
public static final String ADDRESSES = "addresses";
115115

116116
public static final String SYMPTOM_JOURNAL_STATUS = "symptomJournalStatus";
117+
public static final String EXTERNAL_ID = "externalId";
117118

118119
private String firstName;
119120
private String lastName;
@@ -177,6 +178,7 @@ public class Person extends AbstractDomainObject {
177178

178179
private boolean hasCovidApp;
179180
private boolean covidCodeDelivered;
181+
private String externalId;
180182

181183
@Column(nullable = false, length = COLUMN_LENGTH_DEFAULT)
182184
public String getFirstName() {
@@ -652,6 +654,11 @@ public void setCovidCodeDelivered(boolean covidCodeDelivered) {
652654
this.covidCodeDelivered = covidCodeDelivered;
653655
}
654656

657+
@Column
658+
public String getExternalId() { return externalId; }
659+
660+
public void setExternalId(String externalId) { this.externalId = externalId; }
661+
655662
@Override
656663
public String toString() {
657664
return PersonDto.buildCaption(firstName, lastName);

sormas-backend/src/main/java/de/symeda/sormas/backend/person/PersonFacadeEjb.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ public Person fillOrBuildEntity(@NotNull PersonDto source, Person target) {
530530

531531
target.setHasCovidApp(source.isHasCovidApp());
532532
target.setCovidCodeDelivered(source.isCovidCodeDelivered());
533+
target.setExternalId(source.getExternalId());
533534

534535
return target;
535536
}
@@ -691,6 +692,7 @@ public static PersonDto toDto(Person source) {
691692

692693
target.setHasCovidApp(source.isHasCovidApp());
693694
target.setCovidCodeDelivered(source.isCovidCodeDelivered());
695+
target.setExternalId(source.getExternalId());
694696

695697
return target;
696698
}

sormas-backend/src/main/resources/sql/sormas_schema.sql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5317,4 +5317,10 @@ ALTER TABLE contact_history ADD COLUMN quarantinereduced boolean DEFAULT false;
53175317

53185318
INSERT INTO schema_version (version_number, comment) VALUES (253, 'Store if quarantine period has been reduced #2235');
53195319

5320+
-- 2020-09-21 Add new field externalId as per feature #2670
5321+
ALTER TABLE person ADD COLUMN externalid varchar(255);
5322+
ALTER TABLE person_history ADD COLUMN externalid varchar(255);
5323+
5324+
INSERT INTO schema_version (version_number, comment) VALUES (254, 'Add new field externalId as per feature #2670');
5325+
53205326
-- *** Insert new sql commands BEFORE this line ***

sormas-ui/src/main/java/de/symeda/sormas/ui/person/PersonEditForm.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,9 @@ public class PersonEditForm extends AbstractEditForm<PersonDto> {
135135
oneOfTwoCol(PersonDto.BURIAL_PLACE_DESCRIPTION)
136136
) +
137137
fluidRowLocs(PersonDto.PASSPORT_NUMBER, PersonDto.NATIONAL_HEALTH_ID) +
138+
fluidRowLocs(PersonDto.EXTERNAL_ID, "") +
139+
140+
138141

139142
fluidRowLocs(PersonDto.HAS_COVID_APP, PersonDto.COVID_CODE_DELIVERED) +
140143

@@ -260,7 +263,8 @@ protected void addFields() {
260263
PersonDto.PHONE_OWNER,
261264
PersonDto.EMAIL_ADDRESS,
262265
PersonDto.PASSPORT_NUMBER,
263-
PersonDto.NATIONAL_HEALTH_ID);
266+
PersonDto.NATIONAL_HEALTH_ID,
267+
PersonDto.EXTERNAL_ID);
264268

265269
addField(PersonDto.HAS_COVID_APP).addStyleName(CssStyles.FORCE_CAPTION_CHECKBOX);
266270
addField(PersonDto.COVID_CODE_DELIVERED).addStyleName(CssStyles.FORCE_CAPTION_CHECKBOX);

0 commit comments

Comments
 (0)