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

Commit 4894233

Browse files
Merge pull request SORMAS-Foundation#3019 from GIP-GRADeS-BFC/hzi_2907_actions_directory
Add action view in the events directory
2 parents b57859b + d4d160c commit 4894233

68 files changed

Lines changed: 1115 additions & 250 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sormas-api/src/main/java/de/symeda/sormas/api/action/ActionFacade.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222

2323
import javax.ejb.Remote;
2424

25+
import de.symeda.sormas.api.event.EventActionIndexDto;
26+
import de.symeda.sormas.api.event.EventCriteria;
27+
import de.symeda.sormas.api.utils.SortProperty;
28+
2529
@Remote
2630
public interface ActionFacade {
2731

@@ -40,4 +44,8 @@ public interface ActionFacade {
4044
List<ActionStatEntry> getActionStats(ActionCriteria actionCriteria);
4145

4246
List<ActionDto> getActionList(ActionCriteria criteria, Integer first, Integer max);
47+
48+
List<EventActionIndexDto> getEventActionList(EventCriteria criteria, Integer first, Integer max, List<SortProperty> sortProperties);
49+
50+
long countEventAction(EventCriteria criteria);
4351
}
Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
/*******************************************************************************
2+
* SORMAS® - Surveillance Outbreak Response Management & Analysis System
3+
* Copyright © 2016-2018 Helmholtz-Zentrum für Infektionsforschung GmbH (HZI)
4+
*
5+
* This program is free software: you can redistribute it and/or modify
6+
* it under the terms of the GNU General Public License as published by
7+
* the Free Software Foundation, either version 3 of the License, or
8+
* (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License
16+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
17+
*******************************************************************************/
18+
package de.symeda.sormas.api.event;
19+
20+
import java.io.Serializable;
21+
import java.util.Date;
22+
23+
import de.symeda.sormas.api.action.ActionPriority;
24+
import de.symeda.sormas.api.action.ActionStatus;
25+
import de.symeda.sormas.api.user.UserReferenceDto;
26+
import de.symeda.sormas.api.utils.jurisdiction.WithJurisdiction;
27+
28+
public class EventActionIndexDto implements WithJurisdiction<EventJurisdictionDto>, Serializable {
29+
30+
private static final long serialVersionUID = 8231951545991794808L;
31+
32+
public static final String I18N_PREFIX = "EventAction";
33+
34+
public static final String EVENT_UUID = "eventUuid";
35+
public static final String EVENT_TITLE = "eventTitle";
36+
public static final String EVENT_START_DATE = "eventStartDate";
37+
public static final String EVENT_END_DATE = "eventEndDate";
38+
public static final String EVENT_STATUS = "eventStatus";
39+
public static final String ACTION_TITLE = "actionTitle";
40+
public static final String ACTION_CREATION_DATE = "actionCreationDate";
41+
public static final String ACTION_CHANGE_DATE = "actionChangeDate";
42+
public static final String ACTION_STATUS = "actionStatus";
43+
public static final String ACTION_PRIORITY = "actionPriority";
44+
public static final String ACTION_REPLYING_USER = "actionReplyingUser";
45+
46+
private String eventUuid;
47+
private String eventTitle;
48+
private Date eventStartDate;
49+
private Date eventEndDate;
50+
private EventStatus eventStatus;
51+
private String actionTitle;
52+
private Date actionCreationDate;
53+
private Date actionChangeDate;
54+
private ActionStatus actionStatus;
55+
private ActionPriority actionPriority;
56+
private UserReferenceDto actionReplyingUser;
57+
private EventJurisdictionDto jurisdiction;
58+
59+
public EventActionIndexDto(
60+
String eventUuid,
61+
String eventTitle,
62+
Date eventStartDate,
63+
Date eventEndDate,
64+
EventStatus eventStatus,
65+
String actionTitle,
66+
Date actionCreationDate,
67+
Date actionChangeDate,
68+
ActionStatus actionStatus,
69+
ActionPriority actionPriority,
70+
String actionReplyingUserUuid,
71+
String actionReplyingUserFirstName,
72+
String actionReplyingUserLastName,
73+
String eventRegionUuid,
74+
String eventDistrictUuid,
75+
String eventCommunityUuid,
76+
String eventReportingUserUuid,
77+
String eventSurveillanceOfficerUuid) {
78+
79+
this.eventUuid = eventUuid;
80+
this.eventTitle = eventTitle;
81+
this.eventStartDate = eventStartDate;
82+
this.eventEndDate = eventEndDate;
83+
this.eventStatus = eventStatus;
84+
this.actionTitle = actionTitle;
85+
this.actionCreationDate = actionCreationDate;
86+
this.actionChangeDate = actionChangeDate;
87+
this.actionStatus = actionStatus;
88+
this.actionPriority = actionPriority;
89+
this.actionReplyingUser = new UserReferenceDto(actionReplyingUserUuid, actionReplyingUserFirstName, actionReplyingUserLastName, null);
90+
this.jurisdiction =
91+
new EventJurisdictionDto(eventReportingUserUuid, eventSurveillanceOfficerUuid, eventRegionUuid, eventDistrictUuid, eventCommunityUuid);
92+
}
93+
94+
public String getEventUuid() {
95+
return eventUuid;
96+
}
97+
98+
public void setEventUuid(String eventUuid) {
99+
this.eventUuid = eventUuid;
100+
}
101+
102+
public String getEventTitle() {
103+
return eventTitle;
104+
}
105+
106+
public void setEventTitle(String eventTitle) {
107+
this.eventTitle = eventTitle;
108+
}
109+
110+
public Date getEventStartDate() {
111+
return eventStartDate;
112+
}
113+
114+
public void setEventStartDate(Date eventStartDate) {
115+
this.eventStartDate = eventStartDate;
116+
}
117+
118+
public Date getEventEndDate() {
119+
return eventEndDate;
120+
}
121+
122+
public void setEventEndDate(Date eventEndDate) {
123+
this.eventEndDate = eventEndDate;
124+
}
125+
126+
public EventStatus getEventStatus() {
127+
return eventStatus;
128+
}
129+
130+
public void setEventStatus(EventStatus eventStatus) {
131+
this.eventStatus = eventStatus;
132+
}
133+
134+
public String getActionTitle() {
135+
return actionTitle;
136+
}
137+
138+
public void setActionTitle(String actionTitle) {
139+
this.actionTitle = actionTitle;
140+
}
141+
142+
public Date getActionCreationDate() {
143+
return actionCreationDate;
144+
}
145+
146+
public void setActionCreationDate(Date actionCreationDate) {
147+
this.actionCreationDate = actionCreationDate;
148+
}
149+
150+
public Date getActionChangeDate() {
151+
return actionChangeDate;
152+
}
153+
154+
public void setActionChangeDate(Date actionChangeDate) {
155+
this.actionChangeDate = actionChangeDate;
156+
}
157+
158+
public ActionStatus getActionStatus() {
159+
return actionStatus;
160+
}
161+
162+
public void setActionStatus(ActionStatus actionStatus) {
163+
this.actionStatus = actionStatus;
164+
}
165+
166+
public ActionPriority getActionPriority() {
167+
return actionPriority;
168+
}
169+
170+
public void setActionPriority(ActionPriority actionPriority) {
171+
this.actionPriority = actionPriority;
172+
}
173+
174+
public UserReferenceDto getActionReplyingUser() {
175+
return actionReplyingUser;
176+
}
177+
178+
public void setActionReplyingUser(UserReferenceDto actionReplyingUser) {
179+
this.actionReplyingUser = actionReplyingUser;
180+
}
181+
182+
public EventJurisdictionDto getJurisdiction() {
183+
return jurisdiction;
184+
}
185+
}

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

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
import de.symeda.sormas.api.BaseCriteria;
2424
import de.symeda.sormas.api.Disease;
2525
import de.symeda.sormas.api.EntityRelevanceStatus;
26+
import de.symeda.sormas.api.action.ActionStatus;
2627
import de.symeda.sormas.api.caze.CaseReferenceDto;
28+
import de.symeda.sormas.api.region.CommunityReferenceDto;
2729
import de.symeda.sormas.api.region.DistrictReferenceDto;
2830
import de.symeda.sormas.api.region.RegionReferenceDto;
2931
import de.symeda.sormas.api.user.UserReferenceDto;
@@ -38,6 +40,7 @@ public class EventCriteria extends BaseCriteria implements Serializable {
3840
public static final String REPORTING_USER_ROLE = "reportingUserRole";
3941
public static final String SURVEILLANCE_OFFICER = "surveillanceOfficer";
4042
public static final String FREE_TEXT = "freeText";
43+
public static final String EVENT_STATUS = "eventStatus";
4144
public static final String DISTRICT = "district";
4245
public static final String REGION = "region";
4346

@@ -47,6 +50,7 @@ public class EventCriteria extends BaseCriteria implements Serializable {
4750
private Boolean deleted = Boolean.FALSE;
4851
private RegionReferenceDto region;
4952
private DistrictReferenceDto district;
53+
private CommunityReferenceDto community;
5054
private Date reportedDateFrom;
5155
private Date reportedDateTo;
5256
private EntityRelevanceStatus relevanceStatus;
@@ -60,6 +64,11 @@ public class EventCriteria extends BaseCriteria implements Serializable {
6064
private Boolean userFilterIncluded = true;
6165
private TypeOfPlace typeOfPlace;
6266

67+
// Actions criterias
68+
private ActionStatus actionStatus;
69+
private Date actionChangeDateFrom;
70+
private Date actionChangeDateTo;
71+
private DateFilterOption actionChangeDateFilterOption = DateFilterOption.DATE;
6372

6473
public EventStatus getEventStatus() {
6574
return eventStatus;
@@ -158,6 +167,19 @@ public DistrictReferenceDto getDistrict() {
158167
return this.district;
159168
}
160169

170+
public CommunityReferenceDto getCommunity() {
171+
return community;
172+
}
173+
174+
public void setCommunity(CommunityReferenceDto community) {
175+
this.community = community;
176+
}
177+
178+
public EventCriteria eventCommunity(CommunityReferenceDto eventCommunity) {
179+
this.community = eventCommunity;
180+
return this;
181+
}
182+
161183
/**
162184
* @param reportedDateTo
163185
* will automatically be set to the end of the day
@@ -263,4 +285,80 @@ public TypeOfPlace getTypeOfPlace() {
263285
public void setTypeOfPlace(TypeOfPlace typeOfPlace) {
264286
this.typeOfPlace = typeOfPlace;
265287
}
288+
289+
public ActionStatus getActionStatus() {
290+
return actionStatus;
291+
}
292+
293+
public void setActionStatus(ActionStatus actionStatus) {
294+
this.actionStatus = actionStatus;
295+
}
296+
297+
public EventCriteria actionStatus(ActionStatus actionStatus) {
298+
setActionStatus(actionStatus);
299+
return this;
300+
}
301+
302+
public EventCriteria actionChangeDateBetween(Date actionChangeDateFrom, Date actionChangeDateTo, DateFilterOption actionChangeDateFilterOption) {
303+
this.actionChangeDateFrom = actionChangeDateFrom;
304+
this.actionChangeDateTo = actionChangeDateTo;
305+
this.actionChangeDateFilterOption = actionChangeDateFilterOption;
306+
return this;
307+
}
308+
309+
public EventCriteria dateBetween(DateType dateType, Date dateFrom, Date dateTo, DateFilterOption dateFilterOption) {
310+
switch (dateType) {
311+
case EVENT:
312+
eventDateBetween(dateFrom, dateTo, dateFilterOption);
313+
break;
314+
case ACTION:
315+
actionChangeDateBetween(dateFrom, dateTo, dateFilterOption);
316+
break;
317+
}
318+
return this;
319+
}
320+
321+
public Date getActionChangeDateFrom() {
322+
return actionChangeDateFrom;
323+
}
324+
325+
public void setActionChangeDateFrom(Date actionChangeDateFrom) {
326+
this.actionChangeDateFrom = actionChangeDateFrom;
327+
}
328+
329+
public EventCriteria actionChangeDateFrom(Date actionChangeDateFrom) {
330+
this.actionChangeDateFrom = actionChangeDateFrom;
331+
return this;
332+
}
333+
334+
public Date getActionChangeDateTo() {
335+
return actionChangeDateTo;
336+
}
337+
338+
public void setActionChangeDateTo(Date actionChangeDateTo) {
339+
this.actionChangeDateTo = actionChangeDateTo;
340+
}
341+
342+
public EventCriteria actionChangeDateTo(Date actionChangeDateTo) {
343+
this.actionChangeDateTo = actionChangeDateTo;
344+
return this;
345+
}
346+
347+
public void setActionChangeDateFilterOption(DateFilterOption actionChangeDateFilterOption) {
348+
this.actionChangeDateFilterOption = actionChangeDateFilterOption;
349+
}
350+
351+
public EventCriteria actionChangeDateFilterOption(DateFilterOption actionChangeDateFilterOption) {
352+
this.actionChangeDateFilterOption = actionChangeDateFilterOption;
353+
return this;
354+
}
355+
356+
public DateFilterOption getActionChangeDateFilterOption() {
357+
return actionChangeDateFilterOption;
358+
}
359+
360+
public enum DateType {
361+
EVENT,
362+
ACTION,
363+
}
266364
}

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,9 +788,20 @@ public interface Captions {
788788
String Event_typeOfPlace = "Event.typeOfPlace";
789789
String Event_typeOfPlaceText = "Event.typeOfPlaceText";
790790
String Event_uuid = "Event.uuid";
791+
String EventAction_actionChangeDate = "EventAction.actionChangeDate";
792+
String EventAction_actionCreationDate = "EventAction.actionCreationDate";
793+
String EventAction_actionPriority = "EventAction.actionPriority";
794+
String EventAction_actionReplyingUser = "EventAction.actionReplyingUser";
795+
String EventAction_actionStatus = "EventAction.actionStatus";
796+
String EventAction_actionTitle = "EventAction.actionTitle";
797+
String EventAction_eventStatus = "EventAction.eventStatus";
798+
String EventAction_eventTitle = "EventAction.eventTitle";
799+
String EventAction_eventUuid = "EventAction.eventUuid";
800+
String eventActionsView = "eventActionsView";
791801
String eventActiveEvents = "eventActiveEvents";
792802
String eventAllEvents = "eventAllEvents";
793803
String eventArchivedEvents = "eventArchivedEvents";
804+
String eventDefaultView = "eventDefaultView";
794805
String eventEventActions = "eventEventActions";
795806
String eventEventParticipants = "eventEventParticipants";
796807
String eventEventsList = "eventEventsList";

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public interface Descriptions {
1414
String descDashboardNewTestResults = "descDashboardNewTestResults";
1515
String descDetailedExportButton = "descDetailedExportButton";
1616
String descFollowUpExportButton = "descFollowUpExportButton";
17+
String descCommunityFilter = "descCommunityFilter";
1718
String descDistrictFilter = "descDistrictFilter";
1819
String descExportButton = "descExportButton";
1920
String descFacilityFilter = "descFacilityFilter";

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,10 @@ public interface Strings {
716716
String or = "or";
717717
String pleaseSpecify = "pleaseSpecify";
718718
String previousPeriod = "previousPeriod";
719+
String promptActionDateFrom = "promptActionDateFrom";
720+
String promptActionDateTo = "promptActionDateTo";
721+
String promptActionEpiWeekFrom = "promptActionEpiWeekFrom";
722+
String promptActionEpiWeekTo = "promptActionEpiWeekTo";
719723
String promptArea = "promptArea";
720724
String promptCampaign = "promptCampaign";
721725
String promptCampaignSearch = "promptCampaignSearch";

0 commit comments

Comments
 (0)