Skip to content

Commit 85844d0

Browse files
Merge pull request #13355 from SORMAS-Foundation/13336-survey-token-sorting-error
sorting issue fix in survey token page
2 parents 49d2bb7 + 48a5231 commit 85844d0

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

sormas-backend/src/main/java/de/symeda/sormas/backend/survey/SurveyTokenFacadeEjb.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public List<SurveyTokenIndexDto> getIndexList(SurveyTokenCriteria criteria, Inte
155155
joins.getGeneratedDocument().get(Document.MIME_TYPE),
156156
root.get(SurveyToken.RESPONSE_RECEIVED_DATE)),
157157
// add sort properties to select
158-
sortBy(sortProperties, root, cb, cq).stream())
158+
sortBy(sortProperties, root, cb, cq, joins).stream())
159159
.collect(Collectors.toList()));
160160

161161
Predicate filter = CriteriaBuilderHelper.and(cb, surveyTokenService.buildCriteriaFilter(criteria, cb, root, joins));
@@ -222,7 +222,7 @@ private String getImportTemplateFileName(String baseFilename) {
222222
return instanceName + "_" + baseFilename;
223223
}
224224

225-
private List<Selection<?>> sortBy(List<SortProperty> sortProperties, Root<SurveyToken> root, CriteriaBuilder cb, CriteriaQuery<?> cq) {
225+
private List<Selection<?>> sortBy(List<SortProperty> sortProperties, Root<SurveyToken> root, CriteriaBuilder cb, CriteriaQuery<?> cq, SurveyTokenJoins joins) {
226226

227227
List<Selection<?>> selections = new ArrayList<>();
228228

@@ -234,8 +234,15 @@ private List<Selection<?>> sortBy(List<SortProperty> sortProperties, Root<Survey
234234
switch (sortProperty.propertyName) {
235235
case Survey.UUID:
236236
case Survey.DISEASE:
237+
case SurveyToken.TOKEN:
238+
case SurveyToken.ASSIGNMENT_DATE:
239+
case SurveyToken.RESPONSE_RECEIVED:
240+
case SurveyToken.RESPONSE_RECEIVED_DATE:
237241
orderList = orderBuilder.build(root.get(sortProperty.propertyName));
238242
break;
243+
case SurveyTokenIndexDto.ASSIGNED_CASE_UUID:
244+
orderList = orderBuilder.build(joins.getCaseAssignedTo().get(Case.UUID));
245+
break;
239246
case Survey.NAME:
240247
orderList = orderBuilder.build(cb.lower(root.get(sortProperty.propertyName)));
241248
break;

0 commit comments

Comments
 (0)