|
@@ -327,7 +327,7 @@ public class ExamController extends ControllerSupport {
|
|
|
@DataRule(type = DataRuleType.EXAM)
|
|
|
@ApiOperation(value = "查询考试批次")
|
|
|
@GetMapping("queryByNameLike")
|
|
|
- public List<ExamDomain> query(@RequestParam(required = true) String name,
|
|
|
+ public List<ExamDomain> query(@RequestParam(required = false) String name,
|
|
|
@RequestParam(required = false) String examTypes,
|
|
|
@RequestParam(required = false) Boolean enable,
|
|
|
@RequestParam(required = false) String propertyKeys,
|
|
@@ -380,11 +380,15 @@ public class ExamController extends ControllerSupport {
|
|
|
if (null != studentId) {
|
|
|
Subquery<ExamStudentEntity> subquery = query.subquery(ExamStudentEntity.class);
|
|
|
Root<ExamStudentEntity> subRoot = subquery.from(ExamStudentEntity.class);
|
|
|
- subquery.select(subRoot.get("id"));
|
|
|
+ // subquery.select(subRoot.get("id"));
|
|
|
+ // Predicate p1 = cb.equal(subRoot.get("studentId"), studentId);
|
|
|
+ // Predicate p2 = cb.equal(subRoot.get("examId"), root.get("id"));
|
|
|
+ // subquery.where(cb.and(p1, p2));
|
|
|
+ // predicates.add(cb.exists(subquery));
|
|
|
+ subquery.distinct(true).select(subRoot.get("examId"));
|
|
|
Predicate p1 = cb.equal(subRoot.get("studentId"), studentId);
|
|
|
- Predicate p2 = cb.equal(subRoot.get("examId"), root.get("id"));
|
|
|
- subquery.where(cb.and(p1, p2));
|
|
|
- predicates.add(cb.exists(subquery));
|
|
|
+ subquery.where(p1);
|
|
|
+ predicates.add(root.get("id").in(subquery));
|
|
|
}
|
|
|
|
|
|
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
|