diff --git a/backend/pom.xml b/backend/pom.xml index a316ff0..2b36988 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -14,7 +14,7 @@ ${java.version} ${java.version} 5.1.0 - 0.5.0 + 0.5.1 diff --git a/backend/src/main/java/de/champonthis/buntspecht/businesslogic/TurnoverManager.java b/backend/src/main/java/de/champonthis/buntspecht/businesslogic/TurnoverManager.java index 8697949..0506f3d 100644 --- a/backend/src/main/java/de/champonthis/buntspecht/businesslogic/TurnoverManager.java +++ b/backend/src/main/java/de/champonthis/buntspecht/businesslogic/TurnoverManager.java @@ -9,9 +9,9 @@ import org.springframework.util.StringUtils; import com.querydsl.core.BooleanBuilder; import com.querydsl.core.QueryResults; import com.querydsl.core.Tuple; +import com.querydsl.core.types.Expression; import com.querydsl.core.types.Order; import com.querydsl.core.types.OrderSpecifier; -import com.querydsl.core.types.Path; import com.querydsl.core.types.Predicate; import com.querydsl.jpa.impl.JPAQuery; import com.querydsl.jpa.impl.JPAQueryFactory; @@ -50,29 +50,38 @@ public class TurnoverManager { Long total = query.clone().select(qTurnover.id.countDistinct()).fetchOne(); if (StringUtils.hasText(sortBy)) { - Path> path = null; + Expression> expression = null; switch (sortBy) { + case "username": + expression = qTurnover.username; + break; case "created": - path = qTurnover.created; + expression = qTurnover.created; break; case "dueDate": - path = qTurnover.dueDate; + expression = qTurnover.dueDate; break; case "updated": - path = qTurnover.updated; + expression = qTurnover.updated; break; case "customer": - path = qTurnover.customer; + expression = qTurnover.customer; break; case "price": - path = qTurnover.price; + expression = qTurnover.price; break; case "timeInvestment": - path = qTurnover.timeInvestment; + expression = qTurnover.timeInvestment; + break; + case "giftcardPrice": + expression = qTurnover.giftcardPrice; + break; + case "giftcardNumber": + expression = qTurnover.giftcardNumber; break; } - if (path != null) { - query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, path)); + if (expression != null) { + query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, expression)); } } @@ -177,20 +186,23 @@ public class TurnoverManager { Long total = query.clone().select(qTurnover.username.countDistinct()).fetchOne(); if (StringUtils.hasText(sortBy)) { - Path> path = null; + Expression> expression = null; switch (sortBy) { case "username": - path = qTurnover.username; + expression = qTurnover.username; break; case "price": - path = qTurnover.price; + expression = qTurnover.price.sum(); break; case "timeInvestment": - path = qTurnover.timeInvestment; + expression = qTurnover.timeInvestment.sum(); + break; + case "giftcardPrice": + expression = qTurnover.giftcardPrice.sum(); break; } - if (path != null) { - query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, path)); + if (expression != null) { + query.orderBy(new OrderSpecifier<>(descending ? Order.DESC : Order.ASC, expression)); } }