From 0e62c15e4b010ffa2d5cff9474f3fd389e369338 Mon Sep 17 00:00:00 2001
From: EricsHu <hrr145632>
Date: 星期五, 24 十一月 2023 14:31:46 +0800
Subject: [PATCH] 优化作业、考试、试卷、题库

---
 src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java   |   24 ++++++--
 src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java |   21 +++++-
 src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java               |   18 ++++-
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java        |    2 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java     |   22 +++++--
 src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java       |   22 ++++++-
 src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java                 |   20 ++++--
 src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java     |    7 +
 src/main/java/com/qxueyou/scc/controller/ClassController.java                    |    2 
 9 files changed, 104 insertions(+), 34 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java b/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java
index d75b99e..05193af 100644
--- a/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classroom/service/impl/ClassRoomService.java
@@ -3,6 +3,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import com.qxueyou.scc.admin.classroom.model.ClassRoom;
@@ -93,13 +94,19 @@
 
 	@Override
 	public List<ClassRoom> list(String keyword, Short status, Integer pageSize, Integer pageNum) {
+		//鍒ゆ柇鏄惁鏄暀甯�
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
 		StringBuffer hql = new StringBuffer(500);
-		hql.append(" from ClassRoom where name like ? and createId=? ");
-		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%',ClientUtils.getUserId());
+		hql.append(" from ClassRoom where name like ?  ");
+		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%');
 		
 		if(status!=null){
 			hql.append(" and status = ? ");
 			params.add(status);
+		}
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and createId=?");
+			params.add(teacherId);
 		}
 		
 		hql.append(" and deleteFlag is false order by createTime desc");
@@ -109,14 +116,20 @@
 
 	@Override
 	public int listCount(String keyword, Short status) {
+		//鍒ゆ柇鏄惁鏄暀甯�
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
 		StringBuffer hql = new StringBuffer(500);
-		hql.append(" from ClassRoom where name like ? and createId=? ");
-		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%',ClientUtils.getUserId());
+		hql.append(" from ClassRoom where name like ?  ");
+		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%');
 		
 		if(status!=null){
 			hql.append(" and status = ? ");
 			params.add(status);
 		}
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and createId=?");
+			params.add(teacherId);
+		}
 		
 		hql.append(" and deleteFlag is false ");
 		
diff --git a/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java b/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java
index 399750d..e7b6ffd 100644
--- a/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java
+++ b/src/main/java/com/qxueyou/scc/admin/examroom/service/impl/ExamRoomService.java
@@ -9,6 +9,7 @@
 import com.qxueyou.scc.base.util.CollectionUtils;
 import com.qxueyou.scc.base.util.TraceUtils;
 import com.qxueyou.scc.exam.model.ExamInfo;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -93,14 +94,19 @@
 	@Override
 	public List<ExamRoom> list(String roomID, String keyword, Short status, Integer pageSize, Integer pageNum) {
 		StringBuffer hql = new StringBuffer(500);
-		hql.append(" from ExamRoom where createId=? and roomId =? ");
-		List<Object> params = CollectionUtils.newList(ClientUtils.getUserId(),roomID);
-		
+		//鍒ゆ柇鏄惁鏄暀甯�
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
+		hql.append(" from ExamRoom where  roomId =? ");
+		List<Object> params = CollectionUtils.newList(roomID);
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and createId=?");
+			params.add(teacherId);
+		}
 		if(status!=null){
 			hql.append(" and status = ? ");
 			params.add(status);
 		}
-		
+
 		hql.append(" and deleteFlag is false order by createTime desc");
 		
 		return findList(hql.toString(),new Pager(pageSize, pageNum),params, ExamRoom.class);
@@ -109,13 +115,19 @@
 	@Override
 	public int listCount(String roomID, String keyword, Short status) {
 		StringBuffer hql = new StringBuffer(500);
-		hql.append(" from ExamRoom where createId=? and roomId =? ");
-		List<Object> params = CollectionUtils.newList(ClientUtils.getUserId(),roomID);
+		//鍒ゆ柇鏄惁鏄暀甯�
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
+		hql.append(" from ExamRoom where   roomId =? ");
+		List<Object> params = CollectionUtils.newList(roomID);
 		
 		if(status!=null){
 			hql.append(" and status = ? ");
 			params.add(status);
 		}
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and createId=?");
+			params.add(teacherId);
+		}
 		/**
 		 *
 		 */
diff --git a/src/main/java/com/qxueyou/scc/controller/ClassController.java b/src/main/java/com/qxueyou/scc/controller/ClassController.java
index 9297e56..8964ccf 100644
--- a/src/main/java/com/qxueyou/scc/controller/ClassController.java
+++ b/src/main/java/com/qxueyou/scc/controller/ClassController.java
@@ -374,7 +374,7 @@
                         "studentCount", "studentCount", "createTime", "createTime", "startTime", "startTime", "endTime","endTime","classTypes",
                         "classTypes", "subjects", "subjectLst", "needJoinAudit", "needJoinAudit", "needQuitAudit",
                         "needQuitAudit", "showAnalysisAfterExer", "showAnalysisAfterExer", "canMultiExer",
-                        "canMultiExer", "needForum", "needForum", "teacherId", "teacherId")));
+                        "canMultiExer", "needForum", "needForum", "teacherId", "teacherId","chargeClassName","chargeClassName")));
     }
 
     /**
diff --git a/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java b/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java
index 7e68cb0..1f0f236 100644
--- a/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java
+++ b/src/main/java/com/qxueyou/scc/exam/action/ExamPaperController.java
@@ -61,16 +61,23 @@
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public @ResponseBody Result pageList(String keyword,Short status, Integer pageSize,Integer pageNum){
 		Result result = new Result(Boolean.TRUE);
+		//鍒ゆ柇鏄惁鏄暀甯�
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
 		Pager pager = new Pager();
 		List<Object> queryParamLst = null;
 		// 鏌ヨ璁板綍鏁�
-		String hqlCount="from ExamPaperInfo where createId=? and examPaperName like ?  and deleteFlag is false";
+		String hqlCount="from ExamPaperInfo where  examPaperName like ?  and deleteFlag is false";
 		if(status!=null){
 			hqlCount = hqlCount.concat(" and paperStatus = ?");
-			queryParamLst =  CollectionUtils.newList(ClientUtils.getUserId(),'%'+(keyword==null?"":keyword.trim())+'%',status);
+			queryParamLst =  CollectionUtils.newList('%'+(keyword==null?"":keyword.trim())+'%',status);
 		}else{
-			queryParamLst =  CollectionUtils.newList(ClientUtils.getUserId(),'%'+(keyword==null?"":keyword.trim())+'%');
+			queryParamLst =  CollectionUtils.newList('%'+(keyword==null?"":keyword.trim())+'%');
 		}
+		if (StringUtils.isNotBlank(teacherId)) {
+			hqlCount = hqlCount.concat(" and createId=?");
+			queryParamLst.add(teacherId);
+		}
+
 		int totalCount = commonDAO.findCount(hqlCount,queryParamLst);
         
         // page璧嬪��
@@ -79,10 +86,13 @@
         pager.setPageNum (pageNum!=null&&pageNum>0?pageNum:DEFAULT_PAGE_NUM);
         
     	StringBuffer hqlBuffer =  new StringBuffer(500);
-		hqlBuffer.append("from ExamPaperInfo where createId=? and examPaperName like ? and deleteFlag is false ");
+		hqlBuffer.append("from ExamPaperInfo where   examPaperName like ? and deleteFlag is false ");
 		if(status!=null){
 			hqlBuffer.append(" and paperStatus = ? ");
 		}
+		if (StringUtils.isNotBlank(teacherId)) {
+			hqlBuffer.append(" and createId=?");
+		}
 		hqlBuffer.append(" order by createTime DESC");
         
 		List<ExamPaperInfo> list = commonDAO.findList(hqlBuffer.toString(), pager,queryParamLst, ExamPaperInfo.class);
diff --git a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java
index 19cbfda..65c0a84 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/impl/ExamService.java
@@ -62,9 +62,13 @@
 	@Override
 	public List<ExamInfo> list(String keyword,String classId,String subjectId,Short status, Integer pageSize,Integer pageNum) {
 		StringBuffer hql = new StringBuffer(500);
-		hql.append("from ExamInfo e where e.examName like ? and e.createId=? ");
-		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%',ClientUtils.getUserId());
-
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
+		hql.append("from ExamInfo e where e.examName like ?  ");
+		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%');
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and e.createId=?");
+			params.add(teacherId);
+		}
 		if(status!=null){
 			hql.append(" and e.examStatus = ? ");
 			params.add(status);
@@ -87,9 +91,13 @@
 	@Override
 	public int listCount(String keyword,String classId,String subjectId,Short status) {
 		StringBuffer hql = new StringBuffer(500);
-		hql.append("from ExamInfo e where e.examName like ? and e.createId=? ");
-		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%',ClientUtils.getUserId());
-
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
+		hql.append("from ExamInfo e where e.examName like ?  ");
+		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%');
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and e.createId=?");
+			params.add(teacherId);
+		}
 		if(status!=null){
 			hql.append(" and e.examStatus = ? ");
 			params.add(status);
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java
index 15fcc9a..2226669 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseGroupController.java
@@ -63,17 +63,27 @@
 	 */
 	@RequestMapping(value = "/list", method = RequestMethod.GET)
 	public @ResponseBody Result pageList(String keyword,Short status, Integer pageSize, Integer pageNum) {
+		//鍒ゆ柇鏄惁鏄暀甯�
+//		String teacherId = ClientUtils.isAdmin() ? null : teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
+
 		Result result = new Result(Boolean.TRUE);
 		Pager page = new Pager();
 		List<ExerciseGroup> listResult = null;
 		List<Object> queryParam = null;
 		// 鏌ヨ璁板綍鏁�
-		String hqlCount = "from ExerciseGroup where createId=? and type=? and name like ? and  deleteFlag is false ";
+		String hqlCount = "from ExerciseGroup where   type=? and name like ? and  deleteFlag is false ";
+
+
 		if(status!=null){
 			hqlCount = hqlCount.concat(" and status = ?");
-			queryParam = CollectionUtils.newList(ClientUtils.getUserId(), ExerciseGroup.TYPE_EXERCISE_GROUP_LIB,'%'+(keyword==null?"":keyword.trim())+'%',status);
+			queryParam = CollectionUtils.newList(ExerciseGroup.TYPE_EXERCISE_GROUP_LIB,'%'+(keyword==null?"":keyword.trim())+'%',status);
 		}else{
-			queryParam = CollectionUtils.newList(ClientUtils.getUserId(), ExerciseGroup.TYPE_EXERCISE_GROUP_LIB,'%'+(keyword==null?"":keyword.trim())+'%');
+			queryParam = CollectionUtils.newList( ExerciseGroup.TYPE_EXERCISE_GROUP_LIB,'%'+(keyword==null?"":keyword.trim())+'%');
+		}
+		if (StringUtils.isNotBlank(teacherId)) {
+			hqlCount = hqlCount.concat(" and createId=?");
+			queryParam.add(teacherId);
 		}
 		
 		int totalCount = commonDAO.findCount(hqlCount,queryParam);
@@ -83,10 +93,14 @@
 		page.setPageNum(pageNum != null && pageNum > 0 ? pageNum : DEFAULT_PAGE_NUM);
 
 		StringBuffer hqlBuffer =  new StringBuffer(500);
-		hqlBuffer.append("select g,s.name from ExerciseGroup g,Subject s where g.subjectId=s.subjectId and g.createId=? and g.type=? and g.name like ? and g.deleteFlag is false ");
+		hqlBuffer.append("select g,s.name from ExerciseGroup g,Subject s where g.subjectId=s.subjectId  and g.type=? and g.name like ? and g.deleteFlag is false ");
 		if(status!=null){
 			hqlBuffer.append(" and g.status = ? ");
 		}
+		if (StringUtils.isNotBlank(teacherId)) {
+			hqlBuffer.append(" and g.createId=?");
+		}
+
 		hqlBuffer.append(" order by g.createTime DESC");
 		List<Object[]> list = commonDAO.findList(hqlBuffer.toString(), page,queryParam,Object[].class);
 		if(list!=null&& list.size()>0){
diff --git a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java
index ee9e96e..d373a91 100644
--- a/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java
+++ b/src/main/java/com/qxueyou/scc/exercise/action/ExerciseInfoController.java
@@ -125,7 +125,7 @@
    //-------------------------------------------------鍚庡彴绔帴鍙�-----------------------------------------
 	
 	/**
-	 * 鑰冭瘯鍒楄〃
+	 * 浣滀笟鍒楄〃
 	 * 
 	 * @return
 	 */
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
index f71fc0c..ffec783 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
@@ -100,9 +100,14 @@
 	@Override
 	public List<ExerciseInfo> list(String keyword,String classId,Short status,Integer pageSize,Integer pageNum) {
 		StringBuffer hql = new StringBuffer(500);
-		hql.append("from ExerciseInfo e where e.name like ? and e.createId =? ");
-		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%',ClientUtils.getUserId());
-
+		//鍒ゆ柇鏄惁鏄暀甯�
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
+		hql.append("from ExerciseInfo e where e.name like ? ");
+		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%');
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and e.createId =?");
+			params.add(teacherId);
+		}
 		if(status!=null){
 			hql.append(" and e.status = ? ");
 			params.add(status);
@@ -120,9 +125,14 @@
 	@Override
 	public int listCount(String keyword,String classId, Short status) {
 		StringBuffer hql = new StringBuffer(500);
-		hql.append("from ExerciseInfo e where e.name like ? and e.createId =? ");
-		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%',ClientUtils.getUserId());
-
+		//鍒ゆ柇鏄惁鏄暀甯�
+		String teacherId = ClientUtils.isAdmin() ? null : ClientUtils.getUserId();
+		hql.append("from ExerciseInfo e where e.name like ?  ");
+		List<Object> params = CollectionUtils.newList('%' + keyword.trim() + '%');
+		if (StringUtils.isNotBlank(teacherId)) {
+			hql.append(" and e.createId =?");
+			params.add(teacherId);
+		}
 		if(status!=null){
 			hql.append(" and e.status = ? ");
 			params.add(status);
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
index d84ceda..c067274 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java
@@ -496,7 +496,8 @@
 //        newSubject.setStatus(origSubject.getStatus());
         newSubject.setOrigSubjectId(origSubjectId);
         newSubject.setOrigCopySubjectId(origSubjectId);
-        newSubject.setType(Subject.TYPE_CLS_SUBJECT);
+//        newSubject.setType(Subject.TYPE_CLS_SUBJECT);
+        newSubject.setType(Subject.TYPE_ORG_SUBJECT);
         newSubject.setTeacherName(teacher.getName());
         newSubject.setOrgId(ClientUtils.getOrgId());
         save(newSubject);
@@ -852,7 +853,9 @@
         } else {
             if (StringUtils.isNotEmpty(teacherId)) {
                 result = this.findListWithMapByHql(
-                        "select distinct origSubjectId as subjectId ,name as subjectName from Subject where deleteFlag is false and type=" + Subject.TYPE_CLS_SUBJECT + " and teacherId='" + teacherId + "'", null);
+//                        "select distinct origSubjectId as subjectId ,name as subjectName from Subject where deleteFlag is false and type=" + Subject.TYPE_CLS_SUBJECT + " and teacherId='" + teacherId + "'", null);
+                        "select distinct origSubjectId as subjectId ,name as subjectName from Subject where deleteFlag is false and type=" + Subject.TYPE_ORG_SUBJECT + " and teacherId='" + teacherId + "'", null);
+
             } else {
                 result = this.findListWithMapByHql(
                         "select subjectId as subjectId ,name as subjectName from Subject where deleteFlag is false and type=" + Subject.TYPE_ORG_SUBJECT + " and orgId='" + ClientUtils.getOrgId() + "'", null);

--
Gitblit v1.8.0