From 068fc7f2e81178e55fa191a13709af64b1a163f6 Mon Sep 17 00:00:00 2001 From: EricsHu <hrr145632> Date: 星期一, 05 十二月 2022 14:27:43 +0800 Subject: [PATCH] 处理编码 --- src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java | 71 ++++++++++++++++++++++++----------- 1 files changed, 48 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java index 2241ed6..3aa4e02 100644 --- a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java +++ b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClsClassService.java @@ -1,12 +1,11 @@ package com.qxueyou.scc.admin.classes.service.impl; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; +import com.qxueyou.scc.teach.subject.model.view.MyLectureV; +import com.qxueyou.scc.teach.subject.model.view.MySubjectV; +import com.qxueyou.scc.teach.subject.service.ILectureService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.Cacheable; @@ -35,7 +34,7 @@ import com.qxueyou.scc.teach.subject.model.Subject; /** - * 班级服务类 + * 鐝骇鏈嶅姟绫� * * @author xiadehu */ @@ -54,8 +53,11 @@ @Autowired ITeacherService teacherService; + @Autowired + ILectureService lectureService; + /** - * 添加班级 + * 娣诲姞鐝骇 */ @Override public Result insertClass(String className, String classNumber, Date startTime, Date endTime, String subjectId, @@ -75,7 +77,7 @@ return new Result(true, "success",CollectionUtils.newStringMap("classId",cls.getClassId())); } /** - * 添加补考班级班级 + * 娣诲姞琛ヨ�冪彮绾х彮绾� */ @Override public Result insertReClass(String className, String classNumber, Date startTime, Date endTime, String subjectId, @@ -134,7 +136,7 @@ } /** - * 获取班级列表 + * 鑾峰彇鐝骇鍒楄〃 */ @Override public List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType) { @@ -186,6 +188,8 @@ String hql = "select c from ClsClass c,StuStudent s where c.classId=s.classId and s.userId=? and s.status=?"; + System.out.println(ClientUtils.getUserId()); + List<ClsClass> result = find(hql, CollectionUtils.newList(ClientUtils.getUserId(), StuStudent.STATUS_ACTIVE), ClsClass.class); @@ -193,15 +197,15 @@ } /** - * 删除班级 + * 鍒犻櫎鐝骇 */ @Override public Result deleteClass(String[] classIds) { for (String classId : classIds) { deleteClass(classId); - //删除班级学员 + //鍒犻櫎鐝骇瀛﹀憳 this.deleteStudent(classId); - //删除班级课程 + //鍒犻櫎鐝骇璇剧▼ this.deleteClassSubject(classId); } @@ -209,21 +213,21 @@ } /** - * 删除班级学员 + * 鍒犻櫎鐝骇瀛﹀憳 */ private void deleteStudent(String classId) { this.bulkUpdate("update StuStudent set deleteFlag = 1 where classId = ?", new Object[] {classId}); } /** - * 删除班级课程 + * 鍒犻櫎鐝骇璇剧▼ */ private void deleteClassSubject(String classId) { this.bulkUpdate("delete from ClsClassReSubject where classId=?", new Object[] {classId}); } /** - * @param classId 班级id + * @param classId 鐝骇id * @return */ private Result deleteClass(String classId) { @@ -240,6 +244,27 @@ @Override public List<Map<String, Object>> getSubjectLstByClsId(String classId) { + String hql = "from MySubjectV where classId = ?"; + List<MySubjectV> mySubjectVList = find(hql,CollectionUtils.newList(classId),MySubjectV.class); + List<Map<String,Object>> maps = new ArrayList<>(); + for(MySubjectV mySubjectV : mySubjectVList){ + List<MyLectureV> myLectureVList = lectureService.listLectureVBySubjectId(mySubjectV.getId().getUserId(),mySubjectV.getId().getSubjectId(), "", 1000, 1, null); + Double percent = 0.0; + Double progressValue = 0.0; + Double percentAvg = 0.0; + if(!myLectureVList.isEmpty()) { + for (MyLectureV myLectureV : myLectureVList) { + if (myLectureV.getPercent() != null && myLectureV.getProgressValue() != null) { + percent += myLectureV.getPercent(); + progressValue += myLectureV.getProgressValue().intValue(); + } + } + percentAvg = percent / myLectureVList.size(); + if (percentAvg.isNaN()) { + percentAvg = 0.0; + } + } + } return null; } @@ -292,7 +317,7 @@ @Override public List<Map<String,Object>> queryAvailableClassIdAndName(String teacherId,String subjectId) { StringBuffer hql = new StringBuffer(1000); - // and c.endTime>=sysdate() 增加条件过滤掉历史班级 + // and c.endTime>=sysdate() 澧炲姞鏉′欢杩囨护鎺夊巻鍙茬彮绾� hql.append("select c.classId as classId ,c.name as className from ClsClass c where c.deleteFlag is false and c.orgId=:orgId and c.createId=:createId " ); Map<String,Object> queryParam = new HashMap<String,Object>(); queryParam.put("orgId", ClientUtils.getOrgId()); @@ -331,22 +356,22 @@ /** - * 查询班级 + * 鏌ヨ鐝骇 * - * type 1正常班級,2历史班級 + * type 1姝e父鐝礆锛�2鍘嗗彶鐝礆 */ public Result classList(String keyword, Pager pager, int type) { - //获取老师id + //鑾峰彇鑰佸笀id String teacherId = teacherService.getTeacherIdByUserId(ClientUtils.getUserId()); if (StringUtils.isEmpty(teacherId)) { - return new Result(false, "非老师角色无法查看班级"); + return new Result(false, "闈炶�佸笀瑙掕壊鏃犳硶鏌ョ湅鐝骇"); } QClsClass qClsClass = QClsClass.clsClass; QSubject qSubject = QSubject.subject; QClsClassReSubject qClsClassReSubject = QClsClassReSubject.clsClassReSubject; QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV; - //查询脚本 + //鏌ヨ鑴氭湰 JPAQuery<Tuple> queryDsl = this.getQueryFactory() .select(qClsClass.name, qClsClass.classId, qClsClass.classNumber, qClsClass.studentCount, qClsClass.createTime, qClsClass.startTime, qClsClass.endTime, qSubject) @@ -358,7 +383,7 @@ .and(qClsClassReSubject.subjectId.eq(qSubject.subjectId))) .groupBy(qClsClass.classId); - //总数 + //鎬绘暟 long count = queryDsl.fetchCount(); //listData @@ -383,7 +408,7 @@ .and(qSubjectProgressTreeV.nodeType.eq(Progress.PROGRESS_TYPE_SUBJECT))) .groupBy(qSubjectProgressTreeV.id.nodeId).fetchOne()); } else { - map.put("subjectName", "暂无开班课程"); + map.put("subjectName", "鏆傛棤寮�鐝绋�"); map.put("progressPercent", 0); } return map; -- Gitblit v1.8.0