From 83c795e9d040110973df19a9a3d953518d27b35d Mon Sep 17 00:00:00 2001
From: Administrator <2863138610@qq.com>
Date: 星期三, 16 十一月 2022 09:52:44 +0800
Subject: [PATCH] 资源管理修改
---
src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java | 128 ++++++++-------
src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java | 315 +++++++++++++++++++-------------------
src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java | 12
3 files changed, 229 insertions(+), 226 deletions(-)
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
index 4f55be4..136aa80 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
@@ -52,7 +52,7 @@
@Service
public class ClassLectureService extends CommonAppService implements IClassLectureService {
-
+
private final Logger log = LogManager.getLogger(ClassLectureService.class);
@Autowired
@@ -69,7 +69,7 @@
@Autowired
ProgressDAO progressDao;
-
+
@Autowired
IMsgInfoService msgInfoService;
@@ -95,8 +95,12 @@
@Override
public List<MyLectureV> listLectureV(String learnerId, String chapterId, String keyword, Integer pageSize,
Integer pageNum, String type) {
- StringBuffer hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=? and status=? order by lectureCreateTime desc");
- List<Object> args = CollectionUtils.newList(chapterId, learnerId,ClsSubjectLecture.STATUS_DRAFT);
+ StringBuffer hql = new StringBuffer("from MyLectureV where subjectId=? and id.userId=? order by lectureCreateTime desc");
+// StringBuffer hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=? and status=? order by lectureCreateTime desc");
+
+// List<Object> args = CollectionUtils.newList(chapterId, learnerId,ClsSubjectLecture.STATUS_DRAFT);
+ List<Object> args = CollectionUtils.newList(chapterId, learnerId);
+
if (StringUtils.isNotEmpty(type)) {
hql.append(" and lectureType=?");
@@ -107,10 +111,10 @@
return result;
}
-
+
/**
* 课程课件
- *
+ *
*/
@Override
public Map<String,Object> listLectureBySubjectOrderCreateTime(String subjectId, String classId, String sort, Pager pager) {
@@ -118,18 +122,18 @@
if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType()) {//公开课课件
return this.listOpenLectureBySubjectOrderCreateTime(subjectId, sort, pager);
}
-
+
QMyLectureV qMyLectureV = QMyLectureV.myLectureV;
-
+
OrderSpecifier<Date> order = "desc".equals(sort)?new OrderSpecifier<Date>(Order.DESC, qMyLectureV.lectureCreateTime):
new OrderSpecifier<Date>(Order.ASC, qMyLectureV.lectureCreateTime);
-
+
JPAQuery<MyLectureV> query = this.getQueryFactory().selectFrom(qMyLectureV)
.where(qMyLectureV.subjectId.eq(subjectId).
and(qMyLectureV.classId.eq(classId)).and(qMyLectureV.id.userId.eq(ClientUtils.getUserId())));
-
+
long count = query.fetchCount();
-
+
return CollectionUtils.newObjectMap("count", count, "listData", query.limit(pager.getPageSize()).offset(pager.getOffset())
.orderBy(order)
.fetch().stream()
@@ -144,10 +148,10 @@
return map;
}).collect(Collectors.toList()));
}
-
+
/**
* 公开课课件
- *
+ *
* @param subjectId
* @param sort
* @param pager
@@ -157,14 +161,14 @@
public Map<String,Object> listOpenLectureBySubjectOrderCreateTime(String subjectId, String sort, Pager pager) {
QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
QProgress qProgress = QProgress.progress;
-
+
OrderSpecifier<Date> order = "desc".equals(sort)?new OrderSpecifier<Date>(Order.DESC, qSubjectLecture.createTime):
new OrderSpecifier<Date>(Order.ASC, qSubjectLecture.createTime);
-
+
JPAQuery<SubjectLecture> query = this.getQueryFactory().selectFrom(qSubjectLecture).where(qSubjectLecture.subjectId.eq(subjectId).and(qSubjectLecture.deleteFlag.isFalse()).and(qSubjectLecture.status.eq(SubjectLecture.STATUS_DRAFT)));
-
+
long count = query.fetchCount();
-
+
return CollectionUtils.newObjectMap("count", count, "listData", query.limit(pager.getPageSize()).offset(pager.getOffset())
.orderBy(order)
.fetch().stream()
@@ -236,30 +240,30 @@
lecture.setClassId(chapter.getClassId());
lecture.setStatus(res.getStatus());
save(lecture);
-
+
// 发送消息
doPublishMsg(lecture);
return new Result(true, "success");
}
-
+
//添加课程,发送消息
private void doPublishMsg(ClsSubjectLecture lecture){
Subject subject = this.read(Subject.class, lecture.getSubjectId());
-
+
if(!subject.getStatus().equals(Subject.STATUS_ISSUED)){
return ;
}
-
+
//查询直播关联的班级
String hql = "select userId from StuStudent where classId =:classId and deleteFlag is false ";
-
+
List<String> lstUserIds = this.findByComplexHql(hql, CollectionUtils.newObjectMap("classId",lecture.getClassId()), String.class);
-
+
if(lstUserIds!=null && lstUserIds.size()>0){
Map<String,String> attrs = CollectionUtils.newStringMap("lectureId",lecture.getLectureId(),"lectureName",lecture.getName(),"subjectId",subject.getSubjectId(),
"lectureType",lecture.getLectureType(),"subjectName",subject.getName());
-
+
msgInfoService.doSendTextMsgToUsers(lstUserIds.toArray(new String[lstUserIds.size()]),MsgInfo.TYPE_COURSEWARE,"发布了课件",attrs);
}
}
@@ -345,7 +349,7 @@
return result;
}
-
+
@Override
public List<Map<String, Object>> listLectureBySubject(String subjectId, String type, String classId) {
StringBuffer hql = new StringBuffer("select name as lectureName, "
@@ -366,8 +370,8 @@
return this.findListWithMapByHql(hql.toString(), args);
}
-
-
+
+
@Override
public List<Map<String, Object>> listStuLectureBySubject(String subjectId, String classId) {
if(StringUtils.isEmpty(subjectId) || StringUtils.isEmpty(classId)) {
@@ -390,10 +394,10 @@
return map;
}).collect(Collectors.toList());
}
-
+
/**
* 我的公开课课件查询
- *
+ *
* @param subjectId
* @return
*/
@@ -418,10 +422,10 @@
return map;
}).collect(Collectors.toList());
}
-
+
/**
* 查询数量
- *
+ *
* @param subjectId
* @param classId
* @return
@@ -488,7 +492,7 @@
return result;
}
-
+
public List<SubjectChapter> getListOpenChapter(String subjectId) {
StringBuffer hql = new StringBuffer(
@@ -506,18 +510,18 @@
return result;
}
-
+
@Override
public Result doClearLecturesToClass( String classId,String subjectId) {
this.bulkUpdate("update ClsSubjectLecture set deleteFlag = true where classId=? and subjectId = ? ",
new String[]{classId,subjectId});
-
+
this.bulkUpdate("update ClsSubjectChapter set deleteFlag = true where classId=? and subjectId = ? ",
new String[]{classId,subjectId});
-
+
return new Result(true);
}
-
+
@Override
public Result doCopyLecturesToClass(String origSubjectId, String subjectId, String classId) {
Map<String, String> subjectIdMap = CollectionUtils.newStringMap(SubjectChapter.ROOT_CHAPTER_ID,
@@ -567,7 +571,7 @@
@Override
public List<ClsSubjectLecture> listLecture(String subjectId) {
-
+
StringBuffer hql = new StringBuffer("from ClsSubjectLecture where subjectId = ? and deleteFlag is false");
List<Object> args = CollectionUtils.newList(subjectId);
@@ -575,30 +579,30 @@
return find(hql.toString(), args, ClsSubjectLecture.class);
}
-
+
@Override
public Result listSubjectLecture(String classId, String sort, Pager pager) {
if(StringUtils.isEmpty(classId)) {
return new Result(false, "班级id不能为空");
}
QMyLectureV qMyLectureV = QMyLectureV.myLectureV;
-
+
OrderSpecifier<Date> order = "desc".equals(sort)?new OrderSpecifier<Date>(Order.DESC, qMyLectureV.lectureCreateTime):
new OrderSpecifier<Date>(Order.ASC, qMyLectureV.lectureCreateTime);
-
+
JPAQuery<MyLectureV> query = this.getQueryFactory()
.selectFrom(qMyLectureV)
.where(new QueryDslOptionBuilder()
.and(qMyLectureV.classId::eq, classId).and(qMyLectureV.id.userId::eq,ClientUtils.getUserId())
.build()
);
-
+
long count = query.fetchCount();
-
+
// 获取查询结果集合
QueryResults<MyLectureV> results = query.limit(pager.getPageSize()).offset(pager.getOffset()).orderBy(order).fetchResults();
-
- List<Map<String,Object>> resultLst =
+
+ List<Map<String,Object>> resultLst =
results.getResults()
.stream()
.map(tuple -> {
@@ -641,11 +645,11 @@
return new Result(true);
}
-
-
+
+
/**
* 获取章节下的课件
- *
+ *
* @param chapterLst
* @param lectures
* @return
@@ -659,9 +663,9 @@
}
}
}
-
+
this.getTopChapters(chapterLst);
-
+
for (int i=chapterLst.size()-1;i>=0;i--) {
ClsSubjectChapter objClsSubjectChapter = chapterLst.get(i);
if(objClsSubjectChapter.getLectures() == null || objClsSubjectChapter.getLectures().isEmpty()) {
@@ -669,13 +673,13 @@
}
}
}
-
+
return chapterLst;
}
-
+
/**
* 获取章节的第一层数据
- *
+ *
* @param chapterLst
* @return
*/
@@ -702,11 +706,11 @@
chapterLst = this.getTopChapters(chapterLst);
}
}
-
+
return chapterLst;
}
-
-
+
+
@Override
public int readDocPageCount(String resItemId) {
ResItemDoc resItemDoc = read(ResItemDoc.class, resItemId);
@@ -721,10 +725,10 @@
return schHandout.getPageCount();
}
-
+
/**
* 课件按目录分类
- *
+ *
* @param classId
* @param subjectId
* @param type
@@ -732,12 +736,12 @@
*/
public Result coursewareChapterList(String classId,String subjectId, String type) {
Subject subject = this.read(Subject.class, subjectId);
-
+
if(Subject.TYPE_PUBLIC_SUBJECT == subject.getType() || Subject.TYPE_ORG_SUBJECT == subject.getType()) {//公开课和管理员课程
QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
//课件
List<Map<String, Object>> lectures = this.listStuLectureByOpenSubject(subjectId);
-
+
List<SubjectChapter> lstSubjectChapterLst = this.getListOpenChapter(subjectId);
List<ClsSubjectChapter> lstClsSubjectChapter = new ArrayList<>();
if(lstSubjectChapterLst != null && !lstSubjectChapterLst.isEmpty()) {
@@ -751,20 +755,20 @@
} catch (InvocationTargetException e) {
log.error("拷贝属性失败BeanUtils.copyProperties(objClsSubjectChapter, objSubjectChapter)", e);
}
-
+
lstClsSubjectChapter.add(objClsSubjectChapter);
}
}
//章节
List<ClsSubjectChapter> chapterLst = this.getChapterLectures(lstClsSubjectChapter, lectures);
-
+
long count = this.getQueryFactory().selectFrom(qSubjectLecture)
.where(qSubjectLecture.subjectId.eq(subjectId).and(qSubjectLecture.deleteFlag.isFalse()).
and(qSubjectLecture.status.eq(SubjectLecture.STATUS_DRAFT))).fetchCount();
return new Result(true, "success", CollectionUtils.newObjectMap("count",count, "listData", QBeanUtils.listBean2ListMap(chapterLst,
CollectionUtils.newStringMap("name", "name", "chapterId", "chapterId", "lectures", "lectures"))));
-
+
}else{
//课件
List<Map<String, Object>> lectures = this.listStuLectureBySubject(subjectId, classId);
diff --git a/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java b/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
index 2573165..0201575 100644
--- a/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
+++ b/src/main/java/com/qxueyou/scc/teach/res/service/impl/ResService.java
@@ -87,7 +87,7 @@
res.setCoverPageUrl(coverPageUrl);
res.setItemDestId(resItemId);
res.setName(name);
- res.setStatus(Res.STATUS_CONVER);
+ res.setStatus(Res.STATUS_DRAFT);
res.setType(type);
res.setResDirId(dirId);
res.setRemark(remark);
@@ -109,7 +109,7 @@
TraceUtils.setCreateTrace(res);
res.setItemDestId(resItemId);
res.setName(name);
- res.setStatus(Res.STATUS_CONVER);
+ res.setStatus(Res.STATUS_DRAFT);
res.setType(type);
res.setLibId(dir.getLibId());
res.setResDirId(dirId);
@@ -258,9 +258,9 @@
ResLib lib = this.getResLib(libType, ownerId);
StringBuffer hql = new StringBuffer(
- "from Res where deleteFlag is false and name like ? and libId=? and status=? order by updateTime desc");
+ "from Res where deleteFlag is false and name like ? and libId like ? and status=? order by updateTime desc");
- List<Object> args = CollectionUtils.newList(keyword + "%", lib == null ? null : lib.getLibId(),Res.STATUS_DRAFT);
+ List<Object> args = CollectionUtils.newList(keyword + "%", lib == null ? "%" : lib.getLibId() + "%",Res.STATUS_DRAFT);
if (!StringUtils.isEmpty(resType)) {
hql.append(" and type=?");
@@ -276,9 +276,9 @@
public int listResCountByLib(String libType, String ownerId, String text, String resType) {
ResLib lib = this.getResLib(libType, ownerId);
- StringBuffer hql = new StringBuffer("from Res where deleteFlag is false and libId=? order by updateTime desc");
+ StringBuffer hql = new StringBuffer("from Res where deleteFlag is false and libId like ? order by updateTime desc");
- List<Object> args = CollectionUtils.newList(null == lib ? null : lib.getLibId());
+ List<Object> args = CollectionUtils.newList(null == lib ? "%" : lib.getLibId()+"%");
if (!StringUtils.isEmpty(resType)) {
hql.append(" and type=?");
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 7bd791a..1a79549 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
@@ -86,7 +86,7 @@
@Autowired
ILectureService lectureService;
-
+
@Autowired
IClassLectureService clsLectureService;
@@ -104,7 +104,7 @@
@Autowired
private ITeacherService teacherService;
-
+
@Autowired
private IMediaLiveService mediaLiveService;
@@ -127,7 +127,7 @@
subject.setOrgId(ClientUtils.getOrgId());
save(subject);
-
+
//初始化创建 根节点
SubjectChapter chapter = new SubjectChapter();
TraceUtils.setCreateTrace(chapter);
@@ -157,14 +157,14 @@
subject.setType(type);
save(subject);
-
+
//更新所有关联的课程
if(subject.getType()==Subject.TYPE_ORG_SUBJECT){
this.bulkUpdate("update Subject t set t.name=?,t.contentFileId=?,"
+ "t.coverPageFileId=?,t.coverPageUrl=? where t.deleteFlag is false and t.origSubjectId=? ",new Object[]{subject.getName(),
subject.getContentFileId(),subject.getCoverPageFileId(),subject.getCoverPageUrl(),subject.getSubjectId()} );
}
-
+
return new Result(true, "success");
}
@@ -172,13 +172,13 @@
public Result delete(String[] subjectIds) {
for (String subjectId : subjectIds) {
deleteSubject(subjectId);
-
+
//删除班级课程
List<Map<String,Object>> result = this.findListWithMapByHql(
"select r.classId as classId,r.subjectId as subjectId from ClsClassReSubject r,Subject j "
- + "where r.subjectId = j.subjectId and j.origSubjectId=:origSubjectId and r.deleteFlag is false and j.deleteFlag is false",
+ + "where r.subjectId = j.subjectId and j.origSubjectId=:origSubjectId and r.deleteFlag is false and j.deleteFlag is false",
CollectionUtils.newObjectMap("origSubjectId",subjectId));
-
+
if(result!=null && result.size()>0){
for(Map<String,Object> map : result){
this.deleteClsSubject((String)map.get("classId"), new String []{(String)map.get("subjectId")});
@@ -191,7 +191,7 @@
/**
* 删除单个课程
- *
+ *
* @param chapterId
* 章节id
* @return
@@ -219,7 +219,7 @@
hql.append(" and type=?");
args.add(type);
}
-
+
if (!StringUtils.isEmpty(status)) {
hql.append(" and status=?");
args.add(status);
@@ -231,14 +231,14 @@
}
hql.append(" order by createTime desc");
List<Subject> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, Subject.class);
-
+
return result;
}
-
+
/**
* app教师端课程列表
- *
+ *
* @param text
* @param status
* @param type
@@ -252,12 +252,12 @@
if(StringUtils.isEmpty(teacherId)) {
return new Result(false, "当前用户无老师角色");
}
-
+
QSubject qSubject = QSubject.subject;
QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
QProgress qProgress = QProgress.progress;
QClsClassReSubject qClsClassReSubject = QClsClassReSubject.clsClassReSubject;
-
+
JPAQuery<Tuple> query = this.getQueryFactory()
.select(qSubject.subjectId, qSubject.name, qSubject.term,qSubject.coverPageUrl, qSubject.schoolYear, qSubject.createTime, qSubject.type)
.from(qSubject)
@@ -265,9 +265,9 @@
.and(qSubject.status.eq(Subject.STATUS_ISSUED)).and(qSubject.type.eq(type))
.and(qSubject.createId.eq(ClientUtils.getUserId()))
.and(qSubject.name.like("%" + keyword + "%")));
-
+
long count = query.fetchCount();
-
+
List<Map<String, Object>> listData = query.orderBy(qSubject.createTime.desc()).limit(pager.getPageSize())
.offset(pager.getOffset()).fetch().stream().map(tuple -> {
Map<String, Object> map = new HashMap<String, Object>(10);
@@ -292,20 +292,20 @@
return map;
}).collect(Collectors.toList());
-
+
return new Result(true, "", CollectionUtils.newObjectMap("count", count, "listData", listData));
}
@Override
public int listCount(String text, String teacherId, String status,Integer type) {
StringBuffer hql = new StringBuffer("from Subject where name like ? and orgId=? and deleteFlag is false and origSubjectId is null ");
- List<Object> args = CollectionUtils.newList(text + "%",ClientUtils.getOrgId());
-
+ List<Object> args = CollectionUtils.newList(text + "%",ClientUtils.getOrgId());
+
if(type!=null){
hql.append(" and type=?");
args.add(type);
}
-
+
if (StringUtils.isNotBlank(status)) {
hql = hql.append(" and status = ?");
args.add(status);
@@ -329,7 +329,7 @@
public String readSubjectContent(String subjectId) {
Subject sub = read(subjectId);
-
+
//读取原课程
if(StringUtils.isNotBlank(sub.getOrigSubjectId())) {
sub = read(sub.getOrigSubjectId());
@@ -366,7 +366,7 @@
/**
* 发布单个课程
- *
+ *
* @param chapterId
* 章节id
* @return
@@ -379,16 +379,16 @@
subject.setStatus(Subject.STATUS_ISSUED);
save(subject);
-
+
//更新所有关联的课程
this.bulkUpdate("update Subject set status='" + Subject.STATUS_ISSUED + "' where origSubjectId=? and deleteFlag is false ",new Object[]{subjectId});
-
+
return new Result(true, "success");
}
/**
* 发布单个课程
- *
+ *
* @param chapterId
* 章节id
* @return
@@ -401,7 +401,7 @@
subject.setStatus(Subject.STATUS_OFFLINE);
save(subject);
-
+
//更新所有关联的课程
this.bulkUpdate("update Subject set status='" + Subject.STATUS_OFFLINE + "' where origSubjectId=? and deleteFlag is false ",new Object[]{subjectId});
@@ -427,19 +427,18 @@
public List<Map<String, Object>> listChapterStudyProgress(String subjectId) {
QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
-
List<Map<String, Object>> lstResult = this.getQueryFactory().selectFrom(qSubjectProgressTreeV).
- where(qSubjectProgressTreeV.parentId.eq(subjectId).and(qSubjectProgressTreeV.id.userId.eq(ClientUtils.getUserId())))
+ where(qSubjectProgressTreeV.id.nodeId.eq(subjectId).and(qSubjectProgressTreeV.id.userId.eq(ClientUtils.getUserId())))
.fetch().stream().map(objSubjectProgressTreeV ->{
Map<String, Object> map = new HashMap<>();
map.put("chapterName", objSubjectProgressTreeV.getNodeName());
map.put("chapterId", objSubjectProgressTreeV.getId().getNodeId());
map.put("percent", objSubjectProgressTreeV.getPercent());
map.put("studyTime", objSubjectProgressTreeV.getProgressValue());
-
+
return map;
}).collect(Collectors.toList());
-
+
return lstResult;
}
@@ -474,7 +473,7 @@
Subject origSubject = this.read(origSubjectId);
UserTeacher teacher = this.read(UserTeacher.class, teacherId);
BeanUtils.copyProperties(newSubject,origSubject);
-
+
TraceUtils.setCreateTrace(newSubject);
newSubject.setSubjectId(null);
newSubject.setTeacherId(teacherId);
@@ -487,30 +486,30 @@
newSubject.setTeacherName(teacher.getName());
newSubject.setOrgId(ClientUtils.getOrgId());
save(newSubject);
-
+
//添加班级课程关系
addClassReSubject(newSubject.getSubjectId(),classId);
-
+
//复制课件
clsLectureService.doCopyLecturesToClass(origSubjectId,newSubject.getSubjectId(),classId);
-
+
return new Result(true, "success",CollectionUtils.newStringMap("subjectId",newSubject.getSubjectId()));
}
-
+
private void addClassReSubject(String subjectId, String classId) {
ClsClassReSubject re = new ClsClassReSubject();
TraceUtils.setCreateTrace(re);
re.setClassId(classId);
re.setSubjectId(subjectId);
save(re);
- }
+ }
@Override
public Result updateClsSubject(String classId,String subjectId,String origSubjectId, String teacherId, Integer schoolYear,Integer term) {
Subject origSubject = this.read(origSubjectId);
Subject subject = this.read(subjectId);
UserTeacher teacher = this.read(UserTeacher.class, teacherId);
-
+
//如果原课程做出了修改
if(!origSubjectId.equals(subject.getOrigSubjectId())){
subject.setContentFileId(origSubject.getCoverPageFileId());
@@ -519,36 +518,36 @@
subject.setName(origSubject.getName());
subject.setOrigSubjectId(origSubjectId);
subject.setOrigCopySubjectId(origSubjectId);
-
+
//清理并复制原课程
clsLectureService.doClearLecturesToClass(classId,subjectId);
clsLectureService.doCopyLecturesToClass(origSubjectId, subjectId, classId);
}
-
+
TraceUtils.setUpdateTrace(subject);
subject.setTeacherId(teacherId);
subject.setTeacherName(teacher.getName());
subject.setSchoolYear(schoolYear);
subject.setTerm(term);
-
+
save(subject);
return new Result(true, "success");
}
-
+
@Override
public Result deleteClsSubject(String classId,String[] subjectIds) {
Map<String,Object> paramMap = new HashMap<String,Object>();
paramMap.put("classId", classId);
paramMap.put("subjectIds", subjectIds);
-
+
List<String> reIdLst = this.findByComplexHql("select r.clsReSubjectId from ClsClassReSubject r where r.deleteFlag is false and r.classId=:classId and r.subjectId in (:subjectIds) ",
paramMap, String.class);
-
+
//删除关联关系
if(reIdLst!=null && reIdLst.size()>0){
this.bulkUpdateInLoop("update ClsClassReSubject set deleteFlag = true where clsReSubjectId=?", reIdLst.toArray());
}
-
+
this.delete(subjectIds);
return new Result(true, "success");
}
@@ -624,7 +623,7 @@
QUser qUser = QUser.user;
String nodeId = StringUtils.isNotEmpty(subjectId)?subjectId:classId;
String nodeType = StringUtils.isNotEmpty(subjectId)?Progress.PROGRESS_TYPE_SUBJECT:Progress.PROGRESS_TYPE_CLASS;
-
+
List<Map<String, Object>> lstMap = this.getQueryFactory().select(qSubjectProgressTreeV.progressValue,
qSubjectProgressTreeV.percent, qUser.name, qUser.userId,qSubjectProgressTreeV.id.nodeId).from(qSubjectProgressTreeV, qUser).
where(qSubjectProgressTreeV.id.userId.eq(qUser.userId).and(qSubjectProgressTreeV.nodeType.eq(nodeType))
@@ -654,13 +653,13 @@
.when(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_CHECKED)
.or(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_COMMIT)))
.then(BigDecimal.ONE).otherwise(BigDecimal.ZERO).sum();
-
+
//case分数
NumberExpression<BigDecimal> caseScoreSum = new CaseBuilder()
.when(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_CHECKED)
.or(qExerciseResultV.completeStatus.eq(ExerciseCompleteInfo.STATUS_COMMIT)))
.then(qExerciseResultV.score).otherwise(BigDecimal.ZERO).sum();
-
+
List<Map<String, Object>> lstMap = this.getQueryFactory().select(qExerciseResultV.userId,qExerciseResultV.studentName,
caseScoreSum.divide(caseCount), qExerciseResultV.count(), caseCount).from(qExerciseResultV).where(predicate).
groupBy(qExerciseResultV.userId).
@@ -671,19 +670,19 @@
map.put("avgScore", tuple.get(2, BigDecimal.class));
map.put("exerciseCount",tuple.get(3, BigDecimal.class));
map.put("commitExerciseCount", tuple.get(4, BigDecimal.class));
-
+
return map;
}).collect(Collectors.toList());
-
+
return lstMap;
}
/**
- *
+ *
*/
private List<Map<String, Object>> examInfoDesc(String classId, String subjectId) {
-
+
QExamResultV qExamResultV = QExamResultV.examResultV;
//查询条件
Predicate predicate = StringUtils.isEmpty(subjectId)?qExamResultV.id.classId.eq(classId):
@@ -694,7 +693,7 @@
//case分数
NumberExpression<BigDecimal> caseScoreSum = new CaseBuilder()
.when(qExamResultV.status.eq("0")).then(BigDecimal.ZERO).otherwise(qExamResultV.score).sum();
-
+
List<Map<String, Object>> lstMap = this.getQueryFactory().select(qExamResultV.userId,qExamResultV.studentName,
caseScoreSum.divide(caseCount), qExamResultV.count(), caseCount).from(qExamResultV).where(predicate).
groupBy(qExamResultV.userId).
@@ -705,7 +704,7 @@
map.put("avgScore", tuple.get(2, BigDecimal.class));
map.put("examCount",tuple.get(3, BigDecimal.class));
map.put("commitExamCount", tuple.get(4, BigDecimal.class));
-
+
return map;
}).collect(Collectors.toList());
return lstMap;
@@ -722,11 +721,11 @@
}
return new Result(true, "success", map);
}
-
+
@Override
public List<Map<String,Object>> queryAvailableSubjectIdAndName(String teacherId,Integer subjectType){
List<Map<String,Object>> result = null;
-
+
if(subjectType==Subject.TYPE_PUBLIC_SUBJECT){
result = this.findListWithMapByHql(
"select subjectId as subjectId ,name as subjectName from Subject where deleteFlag is false and type=" + Subject.TYPE_PUBLIC_SUBJECT + " and orgId='" + ClientUtils.getOrgId() + "'" , null);
@@ -739,8 +738,8 @@
"select subjectId as subjectId ,name as subjectName from Subject where deleteFlag is false and type=" + Subject.TYPE_ORG_SUBJECT + " and orgId='" + ClientUtils.getOrgId() + "'", null);
}
}
-
- return result;
+
+ return result;
}
@Override
@@ -764,12 +763,12 @@
return lstMap;
}
-
+
@Override
public List<Map<String,Object>> clsSubjectlist(String classId, Integer schoolYear, Integer term) {
QSubject qSubject = QSubject.subject;
QClsClassReSubject qClsClassReSubject = QClsClassReSubject.clsClassReSubject;
-
+
QueryDslOptionBuilder builder = new QueryDslOptionBuilder().
and(qSubject.deleteFlag::eq, false)
.and(qClsClassReSubject.classId::eq, classId)
@@ -781,7 +780,7 @@
if(term != null && term != 0){//学期
builder = builder.and(qSubject.term::eq, term);
}
-
+
return this.getQueryFactory().select(qSubject.name,qSubject.origSubjectId,qSubject.subjectId,qSubject.schoolYear, qSubject.term).distinct()
.from(qSubject, qClsClassReSubject)
.where(builder.build())
@@ -797,18 +796,18 @@
return map;
}).collect(Collectors.toList());
}
-
+
@Override
public List<Map<String,Object>> termList(String classId) {
QSubject qSubject = QSubject.subject;
QClsClassReSubject qClsClassReSubject = QClsClassReSubject.clsClassReSubject;
-
+
QueryDslOptionBuilder builder = new QueryDslOptionBuilder().
and(qSubject.deleteFlag::eq, false)
.and(qClsClassReSubject.classId::eq, classId)
.and(qClsClassReSubject.subjectId::eq, qSubject.subjectId)
.and(qClsClassReSubject.deleteFlag::eq, false).and(qSubject.status::eq, Subject.STATUS_ISSUED);
-
+
return this.getQueryFactory().select(qSubject.schoolYear.as("schoolYear"),qSubject.term.as("term"))
.from(qSubject, qClsClassReSubject)
.where(builder.build().and(qSubject.schoolYear.isNotNull())
@@ -822,37 +821,37 @@
return map;
}).collect(Collectors.toList());
}
-
+
/**
* 我的班级信息
- *
+ *
* @param classId
* @return
*/
public Map<String,Object> myClassInfo(String classId){
ClsClass objClsClass = this.read(ClsClass.class, classId);
QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
-
+
List<Subject> lstSubject = objClsClass.getSubjects();
-
+
//过滤掉状态为草稿的
List<String> teachers = lstSubject.stream().filter(u->u.getStatus().equals(Subject.STATUS_ISSUED)).map(tuple -> {
return tuple.getTeacherName();
}).collect(Collectors.toList());
-
+
SubjectProgressTreeV objSubjectProgressTreeV = this.getQueryFactory().selectFrom(qSubjectProgressTreeV)
.where(qSubjectProgressTreeV.id.nodeId.eq(classId).and(qSubjectProgressTreeV.id.userId.eq(ClientUtils.getUserId())).and(qSubjectProgressTreeV.nodeType.eq("class"))).fetchOne();
-
+
if(objSubjectProgressTreeV != null) {
-
+
long allCount = this.getQueryFactory().selectFrom(qSubjectProgressTreeV)
.where(qSubjectProgressTreeV.id.nodeId.eq(classId)).fetchCount();
-
+
long lgCount = this.getQueryFactory().selectFrom(qSubjectProgressTreeV)
.where(qSubjectProgressTreeV.id.nodeId.eq(classId).and(qSubjectProgressTreeV.percent.gt(objSubjectProgressTreeV.getPercent()))).fetchCount();
//排行
float rank = (allCount-lgCount)/allCount;
-
+
return CollectionUtils.newObjectMap("className", objClsClass.getName(), "progressPercent",
objSubjectProgressTreeV.getPercent(), "progressValue", objSubjectProgressTreeV.getProgressValue(), "rank", rank, "teacherName", teachers);
}else {
@@ -860,17 +859,17 @@
0, "progressValue", 0, "rank", 0, teachers);
}
}
-
+
/**
* 获取我的课程进度
- *
+ *
* @param classId
* @return
*/
public List<Map<String,Object>> myClsSubjectlist(String classId, String userId, Pager pager){
String teacherId = this.teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
QMySubjectV qMySubjectV = QMySubjectV.mySubjectV;
-
+
Predicate predicate = null;
if(StringUtils.isNotEmpty(teacherId)) {
predicate = qMySubjectV.id.classId.eq(classId).and(qMySubjectV.id.userId.eq(userId)).and(qMySubjectV.teacherId.eq(teacherId).and(qMySubjectV.subjectStatus.eq(Subject.STATUS_ISSUED)));
@@ -897,16 +896,16 @@
return map;
}).collect(Collectors.toList());
}
-
+
/**
* 获取我的课程数量
- *
+ *
* @param classId
* @return
*/
public long myClsSubjectCount(String classId){
QMySubjectV qMySubjectV = QMySubjectV.mySubjectV;
-
+
return this.getQueryFactory().select(qMySubjectV.id.subjectId,
qMySubjectV.subjectName,qMySubjectV.term,
qMySubjectV.schoolYear,qMySubjectV.percent)
@@ -914,17 +913,17 @@
.where(qMySubjectV.id.classId.eq(classId).and(qMySubjectV.id.userId.eq(ClientUtils.getUserId())).and(qMySubjectV.subjectStatus.eq(Subject.STATUS_ISSUED)))
.fetchCount();
}
-
+
/**
* 获取学员的课程进度
- *
+ *
* @param classId
* @return
*/
public List<Map<String,Object>> studentSubjectProgress(String classId, Pager pager){
String teacherId = this.teacherService.getTeacherIdByUserId(ClientUtils.getUserId());
QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV;
-
+
QMySubjectV qMySubjectV = QMySubjectV.mySubjectV;
return this.getQueryFactory().select(qMySubjectV.id.subjectId,
qMySubjectV.subjectName,qMySubjectV.term,qMySubjectV.coverPageUrl,
@@ -947,21 +946,21 @@
.where(qSubjectProgressTreeV.id.nodeId.eq(tuple.get(qMySubjectV.id.subjectId))
.and(qSubjectProgressTreeV.nodeType.eq(Progress.PROGRESS_TYPE_SUBJECT)))
.groupBy(qSubjectProgressTreeV.id.nodeId).fetchOne());
-
+
map.put("coverPageUrl", tuple.get(qMySubjectV.coverPageUrl));
map.put("lectureCount", this.getLectureCount(tuple.get(qMySubjectV.id.subjectId)));
return map;
}).collect(Collectors.toList());
}
-
+
/**
* 获取课件数量
- *
+ *
* @param subjectId
* @return
*/
public long getLectureCount(String subjectId) {
-
+
Subject subject = this.read(subjectId);
if(subject == null) {
return 0l;
@@ -969,22 +968,22 @@
if(subject.getType() == Subject.TYPE_CLS_SUBJECT) {//班级课程
QClsSubjectLecture qSubjectLecture = QClsSubjectLecture.clsSubjectLecture;
-
+
return this.getQueryFactory().selectFrom(qSubjectLecture).where(qSubjectLecture.deleteFlag.isFalse()
.and(qSubjectLecture.subjectId.eq(subjectId)).and(qSubjectLecture.status.eq(SubjectLecture.STATUS_DRAFT))).fetchCount();
}else {
QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
-
+
return this.getQueryFactory().selectFrom(qSubjectLecture).where(qSubjectLecture.deleteFlag.isFalse()
.and(qSubjectLecture.subjectId.eq(subjectId)).and(qSubjectLecture.status.eq(SubjectLecture.STATUS_DRAFT))).fetchCount();
}
}
-
-
+
+
/**
* 我的公开课列表
- *
+ *
* @param pageNum
* @param pageSize
* @param keyword
@@ -994,7 +993,7 @@
QSubject qSubject = QSubject.subject;
QProgress qProgress = QProgress.progress;
QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
-
+
JPAQuery<Tuple> query = this.getQueryFactory()
.select(qSubject.subjectId, qSubject.name, qSubject.term,qSubject.coverPageUrl, qSubject.schoolYear,
qProgress.progressPercent.avg().as(qProgress.progressPercent), qProgress.progressValue.sum().as(qProgress.progressValue))
@@ -1004,12 +1003,12 @@
.and(qProgress.learnerId.eq(ClientUtils.getUserId()))
.and(qSubject.name.like("%" + keyword + "%").and(qProgress.deleteFlag.isFalse()))
.and(qProgress.type.eq(Progress.PROGRESS_TYPE_LECTURE)).and(qSubject.status.eq(Subject.STATUS_ISSUED))).groupBy(qSubject.subjectId);
-
+
long count = query.fetchCount();
List<Map<String, Object>> listData = query.orderBy(qProgress.createTime.desc()).limit(pageSize).offset(pageNum).fetch().stream().map(tuple -> {
Map<String, Object> map = new HashMap<String, Object>(7);
String subjectId = tuple.get(qSubject.subjectId);
-
+
map.put("name", tuple.get(qSubject.name));
map.put("subjectId", subjectId);
map.put("schoolYear", tuple.get(qSubject.schoolYear));
@@ -1019,16 +1018,16 @@
map.put("progressValue", tuple.get(qProgress.progressValue));
Map<String,Object> openSubjectDetail = this.openSubjectDetail(subjectId);
-
+
// 直播数量
map.put("mediaVideoLiveCount",openSubjectDetail.get("mediaVideoLiveCount"));
// 课件数量
map.put("subjectLectureCount",openSubjectDetail.get("subjectLectureCount"));
-
+
//学习人次
map.put("studyCount",openSubjectDetail.get("studyCount"));
-
+
map.put("content",openSubjectDetail.get("content"));
// 已观看完成课件数量
@@ -1036,13 +1035,13 @@
return map;
}).collect(Collectors.toList());
-
+
return CollectionUtils.newObjectMap("count", count, "listData", listData);
}
-
+
/**
* 课程统计详情
- *
+ *
* @param subjectId
* @return
*/
@@ -1051,7 +1050,7 @@
QMediaVideoLive qMediaVideoLive = QMediaVideoLive.mediaVideoLive;
QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
QProgress qProgress = QProgress.progress;
-
+
// 直播数量
map.put("mediaVideoLiveCount",
this.getQueryFactory().select(qMediaVideoLive).from(qMediaVideoLive)
@@ -1066,14 +1065,14 @@
.where(qSubjectLecture.deleteFlag.isFalse()
.and(qSubjectLecture.subjectId.eq(subjectId)).and(qSubjectLecture.status.eq(SubjectLecture.STATUS_DRAFT)))
.fetchCount());
-
+
//学习人次
map.put("studyCount",
this.getQueryFactory().selectDistinct(qProgress.learnerId).from(qProgress, qSubjectLecture)
.where(qProgress.deleteFlag.isFalse().and(qSubjectLecture.deleteFlag.isFalse()).and(qSubjectLecture.subjectId.eq(subjectId)).and(qProgress.type.eq(Progress.PROGRESS_TYPE_LECTURE))
.and(qProgress.targetId.eq(qSubjectLecture.lectureId)))
.fetchCount());
-
+
map.put("content", this.readSubjectContent(subjectId));
// 已观看完成课件数量
@@ -1084,58 +1083,58 @@
.and(qProgress.progressPercent.gt(0.95)).and(qProgress.targetId.eq(qSubjectLecture.lectureId))
.and(qSubjectLecture.subjectId.eq(subjectId)))
.fetchCount());
-
+
return map;
}
-
+
/**
* 公开课详情
- *
+ *
* @param subjectId
* @return
*/
public Map<String,Object> openSubjectInfo(String subjectId){
QProgress qProgress = QProgress.progress;
QSubjectLecture qSubjectLecture = QSubjectLecture.subjectLecture;
-
+
Subject objSubject = this.read(subjectId);
-
+
Tuple progress = this.getQueryFactory()
.select(qProgress.progressPercent.sum().as(qProgress.progressPercent), qProgress.progressValue.sum().as(qProgress.progressValue)).from(qProgress,qSubjectLecture).where(qProgress.learnerId.eq(ClientUtils.getUserId())
.and(qProgress.targetId.eq(qSubjectLecture.lectureId))
.and(qProgress.deleteFlag.isFalse()).and(qSubjectLecture.deleteFlag.isFalse()).and(qSubjectLecture.subjectId.eq(subjectId))
.and(qProgress.type.eq(Progress.PROGRESS_TYPE_LECTURE))).fetchOne();
-
+
Map<String, Object> subjectInfo = new HashMap<String, Object>(7);
-
+
subjectInfo.put("name", objSubject.getName());
subjectInfo.put("subjectId", subjectId);
subjectInfo.put("schoolYear", objSubject.getSchoolYear());
subjectInfo.put("term", objSubject.getTerm());
subjectInfo.put("coverPageUrl", objSubject.getCoverPageUrl());
subjectInfo.put("teacherName", objSubject.getTeacherName());
-
+
Map<String,Object> openSubjectDetail = this.openSubjectDetail(subjectId);
-
+
Map<String, Object> map = new HashMap<String, Object>(7);
-
+
// 直播数量
map.put("mediaVideoLiveCount",openSubjectDetail.get("mediaVideoLiveCount"));
// 课件数量
map.put("subjectLectureCount",openSubjectDetail.get("subjectLectureCount"));
-
+
//学习人次
map.put("studyCount",openSubjectDetail.get("studyCount"));
-
+
subjectInfo.put("content",openSubjectDetail.get("content"));
// 已观看完成课件数量
map.put("subjectLectureDoCount",openSubjectDetail.get("subjectLectureDoCount"));
-
+
map.put("subjectInfo", subjectInfo);
-
+
if(openSubjectDetail.get("subjectLectureCount") == null || progress == null || progress.get(qProgress.progressPercent) == null) {
subjectInfo.put("progressPercent", 0);
}else {
@@ -1205,7 +1204,7 @@
/**
* 公开课列表
- *
+ *
* @param pageNum
* @param pageSize
* @param keyword
@@ -1213,7 +1212,7 @@
*/
public Map<String,Object> openSubjectList(Integer pageNum, Integer pageSize, String keyword){
QOpenSubjectV qOpenSubjectV = QOpenSubjectV.openSubjectV;
-
+
JPAQuery<OpenSubjectV> query = this.getQueryFactory().selectFrom(qOpenSubjectV).where(qOpenSubjectV.subjectName.like("%" + keyword + "%"));
long count = query.fetchCount();
@@ -1234,13 +1233,13 @@
return map;
}).collect(Collectors.toList());
-
+
return CollectionUtils.newObjectMap("count", count, "listData", listData);
}
-
+
/**
* 班级学员课件总体进度
- *
+ *
* @param subjectId
* @param classId
* @return
@@ -1267,10 +1266,10 @@
return map;
}).collect(Collectors.toList());
}
-
+
/**
* 学员课程作业进度
- *
+ *
* @param classId
* @param subjectId
* @return
@@ -1296,7 +1295,7 @@
.and(qHomeworkScoreV.userId.eq(student.getUserId()))
.and(qHomeworkScoreV.exerciseStatus.eq(ExerciseInfo.EXERCISE_STATUS_PUBLISHED)))
.groupBy(qHomeworkScoreV.userId).fetchOne();
-
+
Map<String,Object> map = new HashMap<String,Object>(4);
if(tuple == null) {
map.put("subjectId", subjectId);
@@ -1310,13 +1309,13 @@
map.put("avgScore", String.valueOf(commitHomeworkCount == 0 || tuple.get(2, BigDecimal.class) == null?BigDecimal.ZERO:tuple.get(2, BigDecimal.class).divide(BigDecimal.valueOf(commitHomeworkCount), 2, BigDecimal.ROUND_HALF_UP)));
map.put("commitHomeworkCount", commitHomeworkCount);
}
-
+
return map;
}
-
+
/**
* 学员考试作业进度
- *
+ *
* @param classId
* @param subjectId
* @return
@@ -1326,7 +1325,7 @@
StuStudent student = read(StuStudent.class, studentId);
Subject subject = read(Subject.class, subjectId);
-
+
Tuple tuple = this.getQueryFactory().select(qExamScoreV.subjectId, qExamScoreV.count(), new CaseBuilder()
.when(qExamScoreV.status.eq("0")).then(BigDecimal.ZERO).otherwise(qExamScoreV.score).sum(), new CaseBuilder()
.when(qExamScoreV.status.eq("0")).then(0).otherwise(1).sum()).
@@ -1341,18 +1340,18 @@
map.put("commitExamCount", 0);
}else {
int commitExamCount = tuple.get(3, Integer.class) == null?0:tuple.get(3, Integer.class);
-
+
map.put("examCount", tuple.get(1, Integer.class) == null?0:tuple.get(1, Integer.class));
map.put("avgScore", String.valueOf(commitExamCount == 0 || tuple.get(2, BigDecimal.class) == null?BigDecimal.ZERO:tuple.get(2, BigDecimal.class).divide(new BigDecimal(commitExamCount), 2, BigDecimal.ROUND_HALF_UP)));
map.put("commitExamCount", tuple.get(3, Integer.class) == null?0:tuple.get(3, Integer.class));
}
-
+
return map;
}
-
+
/**
* 我的课件情况
- *
+ *
* @param classId
* @return
*/
@@ -1374,10 +1373,10 @@
return map;
}).collect(Collectors.toList());
}
-
+
/**
* 我的课程,按时间排序
- *
+ *
* @param classId
* @return
*/
@@ -1392,16 +1391,16 @@
clsSubject.put("homework", CollectionUtils.newObjectMap("homeworkCount", exerciseInfoService.queryStuExerciseListCount("", null, ClientUtils.getUserId(), origSubjectId, null)));
clsSubject.put("lecture", CollectionUtils.newObjectMap("lectureCount", 0, "completeLectureCount", 0));
clsSubject.put("mediaVideoLive", CollectionUtils.newObjectMap("mediaVideoLiveCount", this.mediaLiveService.listCount("", new String[] {classId}, origSubjectId, null)));
-
+
this.setSubjectStatistics("lecture", clsSubject, lectures);
}
-
+
return clsSubjectlist;
}
-
+
/**
* 统计课程的数据
- *
+ *
* @param type 类型
* @param clsSubject 课程
* @param lstStatistics 统计信息
@@ -1414,17 +1413,17 @@
}
}
}
-
+
}
-
+
/**
* 我的课程详情
- *
+ *
* @param classId
* @return
*/
public Map<String,Object> mySubjectInfo(String subjectId, String classId,HttpServletRequest request) {
-
+
QMySubjectV qMySubjectV = QMySubjectV.mySubjectV;
QMyLectureV qMyLectureV = QMyLectureV.myLectureV;
Object userId = request.getSession().getAttribute("userId");
@@ -1436,7 +1435,7 @@
.where(qMySubjectV.id.classId.eq(classId).and(qMySubjectV.id.userId.eq(ClientUtils.getUserId()))
.and(qMySubjectV.id.subjectId.eq(subjectId)))
.fetchOne();
-
+
Subject objSubject = this.read(subjectId);
Map<String, Object> subject = new HashMap<String, Object>(5);
@@ -1457,7 +1456,7 @@
}
String origSubjectId = objSubject.getOrigSubjectId();
-
+
// 考试统计
long examsCount = this.examService.listStudentExamCount("", new String[] {classId}, origSubjectId, null);
@@ -1476,13 +1475,13 @@
return CollectionUtils.newObjectMap("mediaVideoLivesCount", mediaVideoLivesCount, "examsCount", examsCount,
"homeworksCount", homeworksCount, "subjectInfo", subject, "lectureCount",
- tupleLecture == null?0:tupleLecture.get(0, Long.class),
+ tupleLecture == null?0:tupleLecture.get(0, Long.class),
"completeLectureCount", tupleLecture == null?0:tupleLecture.get(1,Integer.class));
}
-
+
/**
* 我的课程按学期分类
- *
+ *
* @param classId
* @return
*/
@@ -1499,7 +1498,7 @@
/**
* 课程按学期分类
- *
+ *
* @param classId
* @return
*/
@@ -1507,7 +1506,7 @@
public List<Map<String,Object>> termSubjectList(String classId, List<Map<String,Object>> clsSubjectlist) {
//学期
List<Map<String,Object>> termList = this.termList(classId);
-
+
if(termList != null && !termList.isEmpty()) {
for(Map<String,Object> term : termList) {
if(termList != null && !termList.isEmpty()) {
@@ -1524,11 +1523,11 @@
}
return termList;
}
-
-
+
+
/**
* 查询课程关联的班级课程信息
- *
+ *
* @param classId
* @return
*/
@@ -1538,8 +1537,8 @@
+ " s.schoolYear as schoolYear,s.term as term,c.classId as classId,c.name as className"
+ " from Subject s ,ClsClassReSubject r ,ClsClass c where s.subjectId = r.subjectId "
+ " and r.classId = c.classId and s.origSubjectId =:origSubjectId and s.deleteFlag is false";
-
- return this.findListWithMapByHql(hql,CollectionUtils.newObjectMap("origSubjectId",origSubjectId));
- }
-
-};
\ No newline at end of file
+
+ return this.findListWithMapByHql(hql,CollectionUtils.newObjectMap("origSubjectId",origSubjectId));
+ }
+
+};
--
Gitblit v1.8.0