WANG 6 年 前
コミット
803b7cd379

+ 15 - 6
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/provider/ExamCloudServiceProvider.java

@@ -603,17 +603,26 @@ public class ExamCloudServiceProvider extends ControllerSupport implements ExamC
 	public GetExamStudentPropertyValueListResp getExamStudentPropertyValueList(
 			@RequestBody GetExamStudentPropertyValueListReq req) {
 
+		Long examId = req.getExamId();
 		String start = null == req.getStart() ? "" : req.getStart();
-		String next = start;
 
-		List<String> extList = Lists.newArrayList();
+		List<String> valueList = null;
+		String name = req.getPropertyName();
 
-		// examStudentRepo.getClass().getMethod("queryExt" + extIndex + "List",
-		// String.class);
+		if (StringUtils.isBlank(name)) {
+			throw new StatusException("E-002005", "propertyName is blank");
+		}
+
+		if (name.endsWith("examSite")) {
+			valueList = examStudentRepo.queryExamSiteList(examId, start);
+		} else if (name.endsWith("ext1")) {
+			valueList = examStudentRepo.queryExt1List(examId, start);
+		} else {
+			throw new StatusException("E-002005", "propertyName is wrong");
+		}
 
 		GetExamStudentPropertyValueListResp resp = new GetExamStudentPropertyValueListResp();
-		resp.setNext(next);
-		resp.setValueList(extList);
+		resp.setValueList(valueList);
 
 		return resp;
 	}

+ 8 - 5
examcloud-core-examwork-dao/src/main/java/cn/com/qmth/examcloud/core/examwork/dao/ExamStudentRepo.java

@@ -43,19 +43,22 @@ public interface ExamStudentRepo
 	@Query(value = "select distinct org_id from ec_e_exam_student t where t.org_id>?2 and t.exam_id=?1 order by org_id limit 500", nativeQuery = true)
 	List<Long> queryOrgIdList(Long examId, Long start);
 
+	@Query(value = "select distinct exam_site from ec_e_exam_student t where t.exam_site>?2 and t.exam_id=?1 order by org_id limit 500", nativeQuery = true)
+	List<String> queryExamSiteList(Long examId, String start);
+
 	@Query(value = "select distinct ext1 from ec_e_exam_student t where t.ext1>?2 and t.exam_id=?1 order by org_id limit 500", nativeQuery = true)
-	List<String> queryExt1List(Long examId, Long start);
+	List<String> queryExt1List(Long examId, String start);
 
 	@Query(value = "select distinct ext2 from ec_e_exam_student t where t.ext2>?2 and t.exam_id=?1 order by org_id limit 500", nativeQuery = true)
-	List<String> queryExt2List(Long examId, Long start);
+	List<String> queryExt2List(Long examId, String start);
 
 	@Query(value = "select distinct ext3 from ec_e_exam_student t where t.ext3>?2 and t.exam_id=?1 order by org_id limit 500", nativeQuery = true)
-	List<String> queryExt3List(Long examId, Long start);
+	List<String> queryExt3List(Long examId, String start);
 
 	@Query(value = "select distinct ext4 from ec_e_exam_student t where t.ext4>?2 and t.exam_id=?1 order by org_id limit 500", nativeQuery = true)
-	List<String> queryExt4List(Long examId, Long start);
+	List<String> queryExt4List(Long examId, String start);
 
 	@Query(value = "select distinct ext5 from ec_e_exam_student t where t.ext5>?2 and t.exam_id=?1 order by org_id limit 500", nativeQuery = true)
-	List<String> queryExt5List(Long examId, Long start);
+	List<String> queryExt5List(Long examId, String start);
 
 }