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

Commit a87faca

Browse files
Merge pull request SORMAS-Foundation#3921 from hzi-braunschweig/2947-Type_of_place_details_in_events_entities
2947 type of place details in events entities
2 parents 2432cd5 + 981370c commit a87faca

7 files changed

Lines changed: 111 additions & 1 deletion

File tree

sormas-api/src/main/java/de/symeda/sormas/api/event/EventDto.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ public class EventDto extends PseudonymizableDto {
5555
public static final String TYPE_OF_PLACE = "typeOfPlace";
5656
public static final String MEANS_OF_TRANSPORT = "meansOfTransport";
5757
public static final String MEANS_OF_TRANSPORT_DETAILS = "meansOfTransportDetails";
58+
public static final String CONNECTION_NUMBER = "connectionNumber";
59+
public static final String SEAT_NUMBER = "seatNumber";
60+
public static final String TRAVEL_DATE = "travelDate";
5861
public static final String SRC_TYPE = "srcType";
5962
public static final String SRC_INSTITUTIONAL_PARTNER_TYPE = "srcInstitutionalPartnerType";
6063
public static final String SRC_INSTITUTIONAL_PARTNER_TYPE_DETAILS = "srcInstitutionalPartnerTypeDetails";
@@ -93,6 +96,12 @@ public class EventDto extends PseudonymizableDto {
9396
private TypeOfPlace typeOfPlace;
9497
private MeansOfTransport meansOfTransport;
9598
private String meansOfTransportDetails;
99+
@SensitiveData
100+
private String connectionNumber;
101+
@SensitiveData
102+
private String seatNumber;
103+
private Date travelDate;
104+
96105
private EventSourceType srcType;
97106
private InstitutionalPartnerType srcInstitutionalPartnerType;
98107
private String srcInstitutionalPartnerTypeDetails;
@@ -260,6 +269,30 @@ public void setMeansOfTransportDetails(String meansOfTransportDetails) {
260269
this.meansOfTransportDetails = meansOfTransportDetails;
261270
}
262271

272+
public String getConnectionNumber() {
273+
return connectionNumber;
274+
}
275+
276+
public void setConnectionNumber(String connectionNumber) {
277+
this.connectionNumber = connectionNumber;
278+
}
279+
280+
public String getSeatNumber() {
281+
return seatNumber;
282+
}
283+
284+
public void setSeatNumber(String seatNumber) {
285+
this.seatNumber = seatNumber;
286+
}
287+
288+
public Date getTravelDate() {
289+
return travelDate;
290+
}
291+
292+
public void setTravelDate(Date travelDate) {
293+
this.travelDate = travelDate;
294+
}
295+
263296
public EventSourceType getSrcType() {
264297
return srcType;
265298
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,7 @@ public interface Captions {
769769
String epiWeekTo = "epiWeekTo";
770770
String Event = "Event";
771771
String Event_caseCount = "Event.caseCount";
772+
String Event_connectionNumber = "Event.connectionNumber";
772773
String Event_deathCount = "Event.deathCount";
773774
String Event_diseaseDetails = "Event.diseaseDetails";
774775
String Event_diseaseShort = "Event.diseaseShort";
@@ -795,6 +796,7 @@ public interface Captions {
795796
String Event_reportDateTime = "Event.reportDateTime";
796797
String Event_reportingUser = "Event.reportingUser";
797798
String Event_riskLevel = "Event.riskLevel";
799+
String Event_seatNumber = "Event.seatNumber";
798800
String Event_srcEmail = "Event.srcEmail";
799801
String Event_srcFirstName = "Event.srcFirstName";
800802
String Event_srcInstitutionalPartnerType = "Event.srcInstitutionalPartnerType";
@@ -807,6 +809,7 @@ public interface Captions {
807809
String Event_srcType = "Event.srcType";
808810
String Event_startDate = "Event.startDate";
809811
String Event_surveillanceOfficer = "Event.surveillanceOfficer";
812+
String Event_travelDate = "Event.travelDate";
810813
String Event_typeOfPlace = "Event.typeOfPlace";
811814
String Event_typeOfPlaceText = "Event.typeOfPlaceText";
812815
String Event_uuid = "Event.uuid";

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -888,6 +888,9 @@ Event.eventType=Event type
888888
Event.informationSource=Source of information
889889
Event.meansOfTransport=Means of transport
890890
Event.meansOfTransportDetails=Means of transport details
891+
Event.connectionNumber=Connection number
892+
Event.seatNumber=Seat number
893+
Event.travelDate=Travel date
891894
Event.numberOfPendingTasks=Pending tasks
892895
Event.reportDateTime=Date of report
893896
Event.reportingUser=Reporting user

sormas-backend/src/main/java/de/symeda/sormas/backend/event/Event.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ public class Event extends CoreAdo {
7777
public static final String TYPE_OF_PLACE = "typeOfPlace";
7878
public static final String MEANS_OF_TRANSPORT = "meansOfTransport";
7979
public static final String MEANS_OF_TRANSPORT_DETAILS = "meansOfTransportDetails";
80+
public static final String CONNECTION_NUMBER = "connectionNumber";
81+
public static final String SEAT_NUMBER = "seatNumber";
82+
public static final String TRAVEL_DATE = "travelDate";
8083
public static final String SRC_TYPE = "srcType";
8184
public static final String SRC_INSTITUTIONAL_PARTNER_TYPE = "srcInstitutionalPartnerType";
8285
public static final String SRC_INSTITUTIONAL_PARTNER_TYPE_DETAILS = "srcInstitutionalPartnerTypeDetails";
@@ -114,6 +117,9 @@ public class Event extends CoreAdo {
114117
private TypeOfPlace typeOfPlace;
115118
private MeansOfTransport meansOfTransport;
116119
private String meansOfTransportDetails;
120+
private String connectionNumber;
121+
private String seatNumber;
122+
private Date travelDate;
117123
private EventSourceType srcType;
118124
private InstitutionalPartnerType srcInstitutionalPartnerType;
119125
private String srcInstitutionalPartnerTypeDetails;
@@ -304,6 +310,32 @@ public void setMeansOfTransportDetails(String meansOfTransportDetails) {
304310
this.meansOfTransportDetails = meansOfTransportDetails;
305311
}
306312

313+
@Column(length = COLUMN_LENGTH_DEFAULT)
314+
public String getConnectionNumber() {
315+
return connectionNumber;
316+
}
317+
318+
public void setConnectionNumber(String connectionNumber) {
319+
this.connectionNumber = connectionNumber;
320+
}
321+
322+
@Column(length = COLUMN_LENGTH_DEFAULT)
323+
public String getSeatNumber() {
324+
return seatNumber;
325+
}
326+
327+
public void setSeatNumber(String seatNumber) {
328+
this.seatNumber = seatNumber;
329+
}
330+
331+
public Date getTravelDate() {
332+
return travelDate;
333+
}
334+
335+
public void setTravelDate(Date travelDate) {
336+
this.travelDate = travelDate;
337+
}
338+
307339
@Enumerated(EnumType.STRING)
308340
public EventSourceType getSrcType() {
309341
return srcType;

sormas-backend/src/main/java/de/symeda/sormas/backend/event/EventFacadeEjb.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,9 @@ public Event fromDto(@NotNull EventDto source) {
588588
target.setTypeOfPlace(source.getTypeOfPlace());
589589
target.setMeansOfTransport(source.getMeansOfTransport());
590590
target.setMeansOfTransportDetails(source.getMeansOfTransportDetails());
591+
target.setConnectionNumber(source.getConnectionNumber());
592+
target.setSeatNumber(source.getSeatNumber());
593+
target.setTravelDate(source.getTravelDate());
591594
target.setSrcType(source.getSrcType());
592595
target.setSrcInstitutionalPartnerType(source.getSrcInstitutionalPartnerType());
593596
target.setSrcInstitutionalPartnerTypeDetails(source.getSrcInstitutionalPartnerTypeDetails());
@@ -671,6 +674,9 @@ public static EventDto toDto(Event source) {
671674
target.setTypeOfPlace(source.getTypeOfPlace());
672675
target.setMeansOfTransport(source.getMeansOfTransport());
673676
target.setMeansOfTransportDetails(source.getMeansOfTransportDetails());
677+
target.setConnectionNumber(source.getConnectionNumber());
678+
target.setSeatNumber(source.getSeatNumber());
679+
target.setTravelDate(source.getTravelDate());
674680
target.setSrcType(source.getSrcType());
675681
target.setSrcInstitutionalPartnerType(source.getSrcInstitutionalPartnerType());
676682
target.setSrcInstitutionalPartnerTypeDetails(source.getSrcInstitutionalPartnerTypeDetails());

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6162,4 +6162,14 @@ CREATE INDEX IF NOT EXISTS idx_contact_resultingcase_id ON contact USING hash (r
61626162

61636163
INSERT INTO schema_version (version_number, comment) VALUES (299, 'Add index for resulting cases of contacts #3926');
61646164

6165+
-- 2021-01-05 Type of place details in events entities #2947
6166+
ALTER TABLE events ADD COLUMN connectionNumber varchar(512);
6167+
ALTER TABLE events_history ADD COLUMN connectionNumber varchar(512);
6168+
ALTER TABLE events ADD COLUMN seatNumber varchar(512);
6169+
ALTER TABLE events_history ADD COLUMN seatNumber varchar(512);
6170+
ALTER TABLE events ADD COLUMN travelDate timestamp without time zone;
6171+
ALTER TABLE events_history ADD COLUMN travelDate timestamp without time zone;
6172+
6173+
INSERT INTO schema_version (version_number, comment) VALUES (300, 'Type of place details in events entities #2947');
6174+
61656175
-- *** Insert new sql commands BEFORE this line ***

sormas-ui/src/main/java/de/symeda/sormas/ui/events/EventDataForm.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ public class EventDataForm extends AbstractEditForm<EventDto> {
100100

101101
loc(LOCATION_HEADING_LOC) +
102102
fluidRowLocs(EventDto.TYPE_OF_PLACE, EventDto.TYPE_OF_PLACE_TEXT) +
103-
fluidRowLocs(EventDto.MEANS_OF_TRANSPORT, EventDto.MEANS_OF_TRANSPORT_DETAILS) +
103+
fluidRowLocs(EventDto.MEANS_OF_TRANSPORT, EventDto.MEANS_OF_TRANSPORT_DETAILS) +
104+
fluidRowLocs(4, EventDto.CONNECTION_NUMBER, 4, EventDto.SEAT_NUMBER, 4, EventDto.TRAVEL_DATE) +
104105
fluidRowLocs(EventDto.EVENT_LOCATION) +
105106
fluidRowLocs("", EventDto.SURVEILLANCE_OFFICER);
106107
//@formatter:on
@@ -194,6 +195,10 @@ protected void addFields() {
194195
addField(EventDto.TYPE_OF_PLACE_TEXT, TextField.class);
195196

196197
ComboBox meansOfTransport = addField(EventDto.MEANS_OF_TRANSPORT);
198+
TextField connectionNumber = addField(EventDto.CONNECTION_NUMBER);
199+
TextField seatNumber = addField(EventDto.SEAT_NUMBER);
200+
DateField travelDate = addField(EventDto.TRAVEL_DATE);
201+
197202
FieldHelper.setVisibleWhen(
198203
getFieldGroup(),
199204
Collections.singletonList(EventDto.MEANS_OF_TRANSPORT),
@@ -209,6 +214,21 @@ protected void addFields() {
209214
Collections.singletonList(MeansOfTransport.OTHER),
210215
true);
211216

217+
FieldHelper.setVisibleWhen(
218+
getFieldGroup(),
219+
Arrays.asList(EventDto.CONNECTION_NUMBER, EventDto.SEAT_NUMBER, EventDto.TRAVEL_DATE),
220+
EventDto.TYPE_OF_PLACE,
221+
Collections.singletonList(TypeOfPlace.MEANS_OF_TRANSPORT),
222+
true);
223+
224+
getField(EventDto.MEANS_OF_TRANSPORT).addValueChangeListener(e -> {
225+
if (e.getProperty().getValue() == MeansOfTransport.PLANE) {
226+
getField(EventDto.CONNECTION_NUMBER).setCaption(I18nProperties.getCaption(Captions.exposureFlightNumber));
227+
} else {
228+
getField(EventDto.CONNECTION_NUMBER).setCaption(I18nProperties.getPrefixCaption(EventDto.I18N_PREFIX, EventDto.CONNECTION_NUMBER));
229+
}
230+
});
231+
212232
addField(EventDto.REPORT_DATE_TIME, DateTimeField.class);
213233
addField(EventDto.REPORTING_USER, ComboBox.class);
214234

@@ -312,6 +332,9 @@ protected void addFields() {
312332
typeOfPlace,
313333
meansOfTransport,
314334
meansOfTransportDetails,
335+
connectionNumber,
336+
seatNumber,
337+
travelDate,
315338
surveillanceOfficerField,
316339
srcType,
317340
srcInstitutionalPartnerType,

0 commit comments

Comments
 (0)