|
@@ -160,17 +160,16 @@ public class StudentSpecification extends PagingAndSortingSpecification {
|
|
|
|
|
|
} else {
|
|
|
if (getIsAbsent() != null) {
|
|
|
-// predicates.add(cb.equal(root.get("isAbsent"), getIsAbsent()));
|
|
|
if (Subject.SC.name().equals(getSubject())) {
|
|
|
- predicates.add(cb.equal(root.get("scMissing"), true));
|
|
|
+ predicates.add(cb.equal(root.get("scMissing"), getIsAbsent()));
|
|
|
} else if (Subject.SX.name().equals(getSubject())) {
|
|
|
- predicates.add(cb.equal(root.get("sxMissing"), true));
|
|
|
+ predicates.add(cb.equal(root.get("sxMissing"), getIsAbsent()));
|
|
|
} else if (Subject.SM.name().equals(getSubject())) {
|
|
|
- predicates.add(cb.equal(root.get("smMissing"), true));
|
|
|
+ predicates.add(cb.equal(root.get("smMissing"), getIsAbsent()));
|
|
|
} else {
|
|
|
- listPermission.add(cb.equal(root.get("scMissing"), true));
|
|
|
- listPermission.add(cb.equal(root.get("sxMissing"), true));
|
|
|
- listPermission.add(cb.equal(root.get("smMissing"), true));
|
|
|
+ listPermission.add(cb.equal(root.get("scMissing"), getIsAbsent()));
|
|
|
+ listPermission.add(cb.equal(root.get("sxMissing"), getIsAbsent()));
|
|
|
+ listPermission.add(cb.equal(root.get("smMissing"), getIsAbsent()));
|
|
|
}
|
|
|
}
|
|
|
if (getUpload() != null && !getUpload()) {
|
|
@@ -221,8 +220,14 @@ public class StudentSpecification extends PagingAndSortingSpecification {
|
|
|
}
|
|
|
} else {
|
|
|
if (!CollectionUtils.isEmpty(listPermission)) {
|
|
|
- Predicate Pre_Or = cb.or(listPermission.toArray(new Predicate[listPermission.size()]));
|
|
|
- return query.where(Pre_And, Pre_Or).getRestriction();
|
|
|
+ if(getIsAbsent()){
|
|
|
+ Predicate Pre_Or = cb.or(listPermission.toArray(new Predicate[listPermission.size()]));
|
|
|
+ return query.where(Pre_And, Pre_Or).getRestriction();
|
|
|
+ } else {
|
|
|
+ Predicate Pre_Or = cb.and(listPermission.toArray(new Predicate[listPermission.size()]));
|
|
|
+ return query.where(Pre_And, Pre_Or).getRestriction();
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|