WANG 6 سال پیش
والد
کامیت
211b347d6b

+ 13 - 2
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/controller/ExamStudentController.java

@@ -123,10 +123,17 @@ public class ExamStudentController extends ControllerSupport {
 			@RequestParam(required = false) String courseName,
 			@RequestParam(required = false) String examSite,
 			@RequestParam(required = false) String identityNumber,
+			@RequestParam(required = false) Boolean identityNumberLike,
 			@RequestParam(required = false) String specialtyName,
 			@RequestParam(required = false) String infoCollector,
 			@RequestParam(required = false) Boolean withStarted) {
+
 		User accessUser = getAccessUser();
+
+		final Boolean finalIdentityNumberLike = null == identityNumberLike
+				? true
+				: identityNumberLike;
+
 		Specification<ExamStudentEntity> specification = (root, query, cb) -> {
 			List<Predicate> predicates = new ArrayList<>();
 			predicates.add(cb.equal(root.get("rootOrgId"), accessUser.getRootOrgId()));
@@ -160,8 +167,12 @@ public class ExamStudentController extends ControllerSupport {
 				predicates.add(cb.like(root.get("examSite"), toSqlSearchPattern(examSite)));
 			}
 			if (StringUtils.isNotEmpty(identityNumber)) {
-				predicates.add(
-						cb.like(root.get("identityNumber"), toSqlSearchPattern(identityNumber)));
+				if (finalIdentityNumberLike) {
+					predicates.add(cb.like(root.get("identityNumber"),
+							toSqlSearchPattern(identityNumber)));
+				} else {
+					predicates.add(cb.equal(root.get("identityNumber"), identityNumber));
+				}
 			}
 			if (StringUtils.isNotEmpty(specialtyName)) {
 				predicates