Browse Source

成绩校验

xiatian 2 years ago
parent
commit
78257f30d2

+ 0 - 8
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/bean/ScoreVerifyVo.java

@@ -27,7 +27,6 @@ public class ScoreVerifyVo {
 	// 校验时间
 	private Date scoreVerifyTime;
 	private Double objectiveScore;
-	private SubjectiveStatus subjectiveStatus;
 
 	public Integer getStudentId() {
 		return studentId;
@@ -128,12 +127,5 @@ public class ScoreVerifyVo {
 		this.objectiveScore = objectiveScore;
 	}
 
-	public SubjectiveStatus getSubjectiveStatus() {
-		return subjectiveStatus;
-	}
-
-	public void setSubjectiveStatus(SubjectiveStatus subjectiveStatus) {
-		this.subjectiveStatus = subjectiveStatus;
-	}
 
 }

+ 10 - 7
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ScoreVerifyServiceImpl.java

@@ -8,6 +8,8 @@ import javax.persistence.PersistenceContext;
 import javax.persistence.Query;
 
 import org.apache.commons.lang3.StringUtils;
+import org.hibernate.SQLQuery;
+import org.hibernate.transform.Transformers;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -36,24 +38,25 @@ public class ScoreVerifyServiceImpl extends BaseQueryService<ScoreVerify> implem
 	public List<ScoreVerifyVo> findByQuery(ScoreVerifyQuery req) {
 		int offset=(req.getPageNumber() - 1) * req.getPageSize();
 		StringBuilder sql = new StringBuilder();
-		sql.append("select t.id studentId,t.student_code,t.name studentName,t.subject_code,t.subject_name, ");
-		sql.append("t.is_upload upload,t.subjective_score,t.subjective_score_list,t.objective_score,t.subjective_status, ");
+		sql.append("select t.id studentId,t.student_code studentCode,t.name studentName,t.subject_code subjectCode,t.subject_name subjectName, ");
+		sql.append("t.is_upload upload,t.subjective_score subjectiveScore,t.subjective_score_list subjectiveScoreList,t.objective_score objectiveScore, ");
 		sql.append("u.name scoreVerifyUserName,t.score_check_time scoreVerifyTime ");
 		sql.append("from eb_exam_student t left join b_user u on t.score_check_user=u.id where t.exam_id="+req.getExamId());
 		sql.append(getWhereSql(req));
 		sql.append("order by t.student_code,t.id ");
         sql.append("limit "+offset+","+req.getPageSize());
-        Query query = entityManager.createNativeQuery(sql.toString(),ScoreVerifyVo.class);
+        Query query = entityManager.createNativeQuery(sql.toString());
+        query.unwrap(SQLQuery.class).setResultTransformer(Transformers.aliasToBean(ScoreVerifyVo.class));
         return query.getResultList();
 	}
 	
 	private String getWhereSql(ScoreVerifyQuery req) {
 		StringBuilder sql = new StringBuilder();
 		if(StringUtils.isNotBlank(req.getParam().getStudentCode())) {
-			sql.append(" and t.student_code="+req.getParam().getStudentCode());
+			sql.append(" and t.student_code='"+req.getParam().getStudentCode()+"'");
 		}
 		if(StringUtils.isNotBlank(req.getParam().getStudentName())) {
-			sql.append(" and t.name="+req.getParam().getStudentName());
+			sql.append(" and t.name='"+req.getParam().getStudentName()+"'");
 		}
 		ScoreVerifyRule rule=req.getParam().getRule();
 		if(rule!=null) {
@@ -75,8 +78,8 @@ public class ScoreVerifyServiceImpl extends BaseQueryService<ScoreVerify> implem
 		sql.append("select count(1) ");
 		sql.append("from eb_exam_student t where t.exam_id="+req.getExamId());
 		sql.append(getWhereSql(req));
-        Query query = entityManager.createNativeQuery(sql.toString(),Integer.class);
-        return (Integer)query.getResultList().get(0);
+        Query query = entityManager.createNativeQuery(sql.toString());
+        return Integer.valueOf(query.getResultList().get(0).toString());
 	}
 
 	@Override

+ 14 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScoreVerifyController.java

@@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import com.google.gson.Gson;
 
@@ -26,7 +27,6 @@ import cn.com.qmth.stmms.biz.exception.StatusException;
 import cn.com.qmth.stmms.common.domain.WebUser;
 import cn.com.qmth.stmms.common.enums.ExamType;
 import cn.com.qmth.stmms.common.utils.RequestUtils;
-import net.sf.json.JSONObject;
 
 
 @Controller("scoreVerifyController")
@@ -51,9 +51,19 @@ public class ScoreVerifyController extends BaseExamController {
 		if (ExamType.MULTI_MEDIA.equals(exam.getType())) {
 			return "modules/exam/permission";
 		}
-		model.addAttribute("showType", "query");
-		return "modules/exam/scoreVerify";
-		
+		WebUser wu = RequestUtils.getWebUser(request);
+		query.setExamId(examId);
+		query.setUserId(wu.getId());
+		ScoreVerify sv=scoreVerifyService.findByExamIdAndUserId(examId,wu.getId());
+		if(sv==null) {
+			model.addAttribute("showType", "query");
+			return "modules/exam/scoreVerify";
+		}else {
+			Gson gson = new Gson();
+			ScoreVerifyParam param = gson.fromJson(sv.getParams(), ScoreVerifyParam.class);
+			query.setParam(param);
+			return query(model, request, query);
+		}
 	}
 	
 	@RequestMapping(value = "page")

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreVerifyPage.jsp

@@ -83,7 +83,7 @@
 							href="${ctx}/web/admin/exam/track/student?studentId=${result.studentId}&subjectCode=${result.subjectCode}"
 							target="_blank">轨迹图</a>
 								<a target="_blank"
-									href="${ctx}/web/admin/exam/inspected/start?studentId=${result.id}&subjectCode=${result.subjectCode}">进入校验</a>
+									href="${ctx}/web/admin/exam/inspected/start?studentId=${result.studentId}&subjectCode=${result.subjectCode}">进入校验</a>
 							</td>
 							<td>${result.scoreVerifyUserName}</td>
 							<td>