From 79ab2cbd31c022916a8e696903d5eb34b70aa403 Mon Sep 17 00:00:00 2001
From: EricsHu <hrr145632>
Date: 星期六, 25 十一月 2023 15:57:07 +0800
Subject: [PATCH] 讨论区关键字过滤、首页班级显示班级信息

---
 src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java |   37 +++++++++++++++++++++++++++++++++----
 1 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java b/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java
index b2fefea..7f47114 100644
--- a/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java
+++ b/src/main/java/com/qxueyou/scc/admin/score/service/impl/ScoreService.java
@@ -7,6 +7,7 @@
 import com.qxueyou.scc.exam.dao.ExamResultVDao;
 import com.qxueyou.scc.exam.model.ExamResultV;
 import com.qxueyou.scc.exercise.dao.ExerciseResultDAO;
+import com.qxueyou.scc.exercise.model.ExerciseRecord;
 import com.qxueyou.scc.exercise.model.ExerciseResultV;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -36,14 +37,42 @@
 	public Map<String,Object> queryClassExamScoreInfo(String classId) {
 
 		return CollectionUtils.newObjectMap(
-				"examCount",examDao.getExamCount(classId),
-				"examHasAuditCount",examDao.getExamCount(classId),
-				"examToAuditCount",0,
-				"examNoSubmitCount",examDao.getToSubmitExamCount(classId)
+				"examCount",examResultVDao.getExamCount(classId),//鑰冭瘯娆℃暟
+				"examHasAuditCount",getCommitExamCount(classId, Integer.parseInt(ExerciseRecord.STATUS_CHECK)),//宸叉壒闃�
+				"examToAuditCount",getCommitExamCount(classId, Integer.parseInt(ExerciseRecord.STATUS_SUBMIT)),//寰呮壒闃�
+				"examNoSubmitCount",getCommitExamCount(classId, Integer.parseInt(ExerciseRecord.STATUS_NOT_SUBMIT))//鏈彁浜�
 				);
 
 	}
 
+	public int getUnCommitExamCount(String classId) {
+		String sql = "SELECT c.exam_id, c.exam_name, c.exam_batch_Id, c.start_Time, c.end_Time, "
+				+ "c.class_id, d.exercise_Group_Id, d.score, d. STATUS FROM ( SELECT i.exam_Id, "
+				+ "i.exam_Name, b.exam_Batch_Id, b.start_Time,b.end_Time, r.class_Id FROM Exam_Info i, "
+				+ "Exam_Batch_Info b, Exam_Class_Re r WHERE i.exam_Id = b.exam_Id AND b.exam_Batch_Id "
+				+ "= r.exam_Batch_Id AND r.class_Id =:classId AND i.exam_status = 1 AND b.delete_Flag"
+				+ "= 0 AND r.delete_Flag = 0 ) c LEFT OUTER JOIN ( SELECT * FROM Exercise_Record "
+				+ "d WHERE d.delete_Flag = 0  ) d ON c.exam_Batch_Id = d.exam_Batch_Id "
+				+ "AND c.class_id = d.class_id where ifnull(d.status,0)= 0 and (c.end_Time - CURRENT_TIMESTAMP ()) < 0 ";
+		List<Object[]> list = findByComplexSql(sql, CollectionUtils.newObjectMap("classId", classId),
+				Object[].class);
+		return list.size();
+
+	}
+
+	public int getCommitExamCount(String classId,Integer status) {
+		String sql = "SELECT c.exam_id, c.exam_name, c.exam_batch_Id, c.start_Time, c.end_Time, "
+				+ "c.class_id, d.exercise_Group_Id, d.score, d. STATUS FROM ( SELECT i.exam_Id, "
+				+ "i.exam_Name, b.exam_Batch_Id, b.start_Time,b.end_Time, r.class_Id FROM Exam_Info i, "
+				+ "Exam_Batch_Info b, Exam_Class_Re r WHERE i.exam_Id = b.exam_Id AND b.exam_Batch_Id "
+				+ "= r.exam_Batch_Id AND r.class_Id =:classId AND i.exam_status = 1 AND b.delete_Flag"
+				+ "= 0 AND r.delete_Flag = 0 ) c LEFT OUTER JOIN ( SELECT * FROM Exercise_Record "
+				+ "d WHERE d.delete_Flag = 0 ) d ON c.exam_Batch_Id = d.exam_Batch_Id "
+				+ "AND c.class_id = d.class_id where d.status = :status ";
+		List<Object[]> list = findByComplexSql(sql, CollectionUtils.newObjectMap("classId", classId,"status",status),
+				Object[].class);
+		return list.size();
+	}
 	@Override
 	public Map<String,Object> queryClassHomeworkScoreInfo(String classId) {
 

--
Gitblit v1.8.0