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 extends Comparable>> path = null;
+ Expression extends Comparable>> 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 extends Comparable>> path = null;
+ Expression extends Comparable>> 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));
}
}