|
@@ -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
|