he2802 3 rokov pred
rodič
commit
73ff579f8c

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/IClassGradeUserService.java

@@ -63,6 +63,8 @@ public interface IClassGradeUserService extends IService<ClassGradeUser> {
 
 	List<ClassPeriodStudentVo> listUserPeriod(ClassGradeUserQueryBo bo);
 
+	List<UserPeriodExportVo> listUserStudyRecord(ClassGradeUserQueryBo bo);
+
     List<ClassPeriodUserVo> listPeriod(ClassGradeUserQueryBo bo);
 
 	List<ClassPeriodVo> listPeriodAudit(ClassGradeUserQueryBo bo);

+ 217 - 207
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -429,213 +429,12 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
 
             addItem.setStudyTimeStr(DateUtils.timestampToDate(classPeriodStudentVo.getStudyStartTime())+"-"+DateUtils.timestampToDate(classPeriodStudentVo.getStudyEndTime()));
             addItem.setClassTimeStr(DateUtils.timestampToDate(classPeriodStudentVo.getClassStartTime())+"-"+DateUtils.timestampToDate(classPeriodStudentVo.getClassEndTime()));
-            //学习记录
-            ClassGradeUserQueryBo cGQB = new ClassGradeUserQueryBo();
-            cGQB.setGoodsId(classPeriodStudentVo.getGoodsId());
-            cGQB.setUserId(classPeriodStudentVo.getUserId());
-            cGQB.setGradeId(classPeriodStudentVo.getGradeId());
-            List<ClassPeriodVo> list = listPeriodAudit(cGQB);
-            String moduleName = "";
-            String chapterName = "";
-            String sectionName = "";
-            List<UserPeriodExportVo> studyList = new ArrayList<>();
-            long i = 0;
-            Long gradeId = classPeriodStudentVo.getGradeId();
-            Long userId = classPeriodStudentVo.getUserId();
-            Long goodsId = classPeriodStudentVo.getGoodsId();
-            for(ClassPeriodVo classPeriodVo : list){
-                //为模块搜索下面的章 和节 并搜索学时记录
-                if (classPeriodVo.getType() == 1){
-                    moduleName = classPeriodVo.getTypeName();
-                    List<ClassPeriodChapterVo> classPeriodChapterVos = baseMapper.listperiodChapter(classPeriodVo.getId(), goodsId,classPeriodVo.getCourseId(), userId,gradeId);
-                    for (ClassPeriodChapterVo classPeriodChapterVo : classPeriodChapterVos) {
-                        if (classPeriodChapterVo.getType() == 2) {
-                            chapterName = classPeriodChapterVo.getTypeName();
-                            List<ClassPeriodSectionVo> classPeriodSectionVos = baseMapper.listPeriodSection(classPeriodChapterVo.getId(), goodsId, classPeriodVo.getCourseId(), userId);
-                            classPeriodSectionVos.addAll(baseMapper.listperiodExam(classPeriodChapterVo.getId(), goodsId,classPeriodVo.getCourseId(), userId,classPeriodVo.getId()));
-                            for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos) {
-                                i++;
-                                if (classPeriodSectionVo.getType() == 3) {
-                                    sectionName = classPeriodSectionVo.getTypeName();
-                                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
-                                    userPeriodQueryBo.setSectionId(classPeriodSectionVo.getId());
-                                    userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
-                                    userPeriodQueryBo.setGoodsId(goodsId);
-                                    userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
-                                    userPeriodQueryBo.setChapterId(classPeriodChapterVo.getId());
-                                    userPeriodQueryBo.setModuleId(classPeriodVo.getId());
-                                    userPeriodQueryBo.setGradeId(gradeId);
-                                    List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
-                                    if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
-                                        int numIndex = userPeriodStatusVos.size() - 1;
-                                        UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
-                                        classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
-                                        classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
-                                        classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
-                                        classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
-                                        classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
-                                        classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
-                                        classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
-                                        classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
-                                        classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
-                                        classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
-                                        classPeriodSectionVo.setDurationTime(userPeriodStatusVo.getDurationTime());
-                                    }
-                                    classPeriodSectionVo.setModuleId(classPeriodVo.getId());
-                                    classPeriodSectionVo.setChapterId(classPeriodChapterVo.getId());
-                                    classPeriodSectionVo.setGoodsId(goodsId);
-                                    classPeriodSectionVo.setGradeId(gradeId);
-                                    studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,(new BigDecimal(0)),false));
-                                }else {
-                                    //章卷
-                                    sectionName = "";
-                                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
-                                    userPeriodQueryBo.setExamId(classPeriodSectionVo.getId());
-                                    userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
-                                    userPeriodQueryBo.setGoodsId(goodsId);
-                                    userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
-                                    userPeriodQueryBo.setChapterId(classPeriodChapterVo.getId());
-                                    userPeriodQueryBo.setModuleId(classPeriodVo.getId());
-                                    userPeriodQueryBo.setGradeId(gradeId);
-                                    List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
-                                    if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
-                                        int numIndex = userPeriodStatusVos.size() - 1;
-                                        UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
-                                        classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
-                                        classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
-                                        classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
-                                        classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
-                                        classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
-                                        classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
-                                        classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
-                                        classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
-                                        classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
-                                        classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
-                                        classPeriodChapterVo.setPerformance(Convert.toBigDecimal(userPeriodStatusVo.getPerformance()));
-                                    }
-                                    classPeriodSectionVo.setModuleId(classPeriodVo.getId());
-                                    classPeriodSectionVo.setChapterId(classPeriodChapterVo.getId());
-                                    classPeriodSectionVo.setGoodsId(goodsId);
-                                    classPeriodSectionVo.setGradeId(gradeId);
-                                    studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,classPeriodChapterVo.getPerformance(),true));
-                                }
-                            }
-                        }
-                    }
-                }
-                //为章搜索节记录和学时记录
-                if (classPeriodVo.getType() == 2){
-                    moduleName = "";
-                    chapterName = classPeriodVo.getTypeName();
-                    List<ClassPeriodSectionVo> classPeriodSectionVos = baseMapper.listPeriodSection(classPeriodVo.getId(), goodsId, classPeriodVo.getCourseId(), userId);
-                    for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos) {
-                        i++;
-                        sectionName = classPeriodSectionVo.getTypeName();
-                        UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
-                        userPeriodQueryBo.setSectionId(classPeriodSectionVo.getId());
-                        userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
-                        userPeriodQueryBo.setGoodsId(goodsId);
-                        userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
-                        userPeriodQueryBo.setChapterId(classPeriodVo.getId());
-                        userPeriodQueryBo.setModuleId(0L);
-                        userPeriodQueryBo.setGradeId(gradeId);
-                        List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
-                        if (!CollectionUtils.isEmpty(userPeriodStatusVos)){
-                            int numIndex = userPeriodStatusVos.size() - 1;
-                            UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
-                            classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
-                            classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
-                            classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
-                            classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
-                            classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
-                            classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
-                            classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
-                            classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
-                            classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
-                            classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
-                            classPeriodSectionVo.setDurationTime(userPeriodStatusVo.getDurationTime());
-                        }
-                        classPeriodSectionVo.setModuleId(0L);
-                        classPeriodSectionVo.setChapterId(classPeriodVo.getId());
-                        classPeriodSectionVo.setGoodsId(goodsId);
-                        classPeriodSectionVo.setGradeId(gradeId);
-                        studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,(new BigDecimal(0)),false));
-                    }
-                    List<ClassPeriodSectionVo> classPeriodSectionVos1 = baseMapper.listPeriodSectionExam(classPeriodVo.getId(), goodsId, classPeriodVo.getCourseId(), userId);
-                    for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos1) {
-                        //章卷
-                        i++;
-                        sectionName = "";
-                        UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
-                        userPeriodQueryBo.setExamId(classPeriodSectionVo.getId());
-                        userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
-                        userPeriodQueryBo.setGoodsId(bo.getGoodsId());
-                        userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
-                        userPeriodQueryBo.setChapterId(classPeriodVo.getId());
-                        userPeriodQueryBo.setModuleId(0L);
-                        userPeriodQueryBo.setGradeId(bo.getGradeId());
-                        List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
-                        if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
-                            int numIndex = userPeriodStatusVos.size() - 1;
-                            UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
-                            classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
-                            classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
-                            classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
-                            classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
-                            classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
-                            classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
-                            classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
-                            classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
-                            classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
-                            classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
-                            classPeriodVo.setPerformance(Convert.toBigDecimal(userPeriodStatusVo.getPerformance()));
-                        }
-                        classPeriodSectionVo.setModuleId(0L);
-                        classPeriodSectionVo.setChapterId(classPeriodVo.getId());
-                        classPeriodSectionVo.setGoodsId(goodsId);
-                        classPeriodSectionVo.setGradeId(gradeId);
-                        studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,classPeriodVo.getPerformance(),true));
-                    }
-                    classPeriodSectionVos.addAll(classPeriodSectionVos1);
-                    classPeriodVo.setClassPeriodSectionList(classPeriodSectionVos);
-                }
-                //为节搜索学时记录
-                if (classPeriodVo.getType() == 3){
-                    i++;
-                    sectionName = classPeriodVo.getTypeName();
-                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
-                    userPeriodQueryBo.setSectionId(classPeriodVo.getId());
-                    userPeriodQueryBo.setCourseId(classPeriodVo.getCourseId());
-                    userPeriodQueryBo.setGoodsId(bo.getGoodsId());
-                    userPeriodQueryBo.setUserId(classPeriodVo.getUserId());
-                    userPeriodQueryBo.setChapterId(0L);
-                    userPeriodQueryBo.setModuleId(0L);
-                    userPeriodQueryBo.setGradeId(bo.getGradeId());
-                    List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
-                    if (!CollectionUtils.isEmpty(userPeriodStatusVos)){
-                        int numIndex = userPeriodStatusVos.size() - 1;
-                        UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
-                        classPeriodVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
-                        classPeriodVo.setStatus(userPeriodStatusVo.getStatus());
-                        classPeriodVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
-                        classPeriodVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
-                        classPeriodVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
-                        classPeriodVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
-                        classPeriodVo.setPeriodId(userPeriodStatusVo.getPeriodId());
-                        classPeriodVo.setPeriodStatusId(userPeriodStatusVo.getId());
-                        classPeriodVo.setAuditTime(userPeriodStatusVo.getAuditTime());
-                        classPeriodVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
-                        classPeriodVo.setDurationTime(userPeriodStatusVo.getDurationTime());
-                    }
-                    classPeriodVo.setModuleId(0L);
-                    classPeriodVo.setChapterId(0L);
-                    classPeriodVo.setGoodsId(bo.getGoodsId());
-                    classPeriodVo.setGradeId(bo.getGradeId());
-                    ClassPeriodSectionVo classPeriodSectionVo = BeanUtil.toBean(classPeriodVo, ClassPeriodSectionVo.class);
-                    studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,(new BigDecimal(0)),false));
-                }
-            }
-            addItem.setPeriodVoList(studyList);
+
+            ClassGradeUserQueryBo classGradeUserQueryBo1 = new ClassGradeUserQueryBo();
+            classGradeUserQueryBo1.setUserId(classPeriodStudentVo.getUserId());
+            classGradeUserQueryBo1.setGradeId(classPeriodStudentVo.getGradeId());
+            classGradeUserQueryBo1.setGoodsId(classPeriodStudentVo.getGoodsId());
+            addItem.setPeriodVoList(listUserStudyRecord(classGradeUserQueryBo1));
             exportList.add(addItem);
         }
         return exportList;
@@ -833,6 +632,217 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         return classPeriodStudentVos;
     }
 
+    @Override
+    public List<UserPeriodExportVo> listUserStudyRecord(ClassGradeUserQueryBo bo) {
+        //学习记录
+        ClassGradeUserQueryBo cGQB = new ClassGradeUserQueryBo();
+        cGQB.setGoodsId(bo.getGoodsId());
+        cGQB.setUserId(bo.getUserId());
+        cGQB.setGradeId(bo.getGradeId());
+        List<ClassPeriodVo> list = listPeriodAudit(cGQB);
+        String moduleName = "";
+        String chapterName = "";
+        String sectionName = "";
+        List<UserPeriodExportVo> studyList = new ArrayList<>();
+        long i = 0;
+        Long gradeId = bo.getGradeId();
+        Long userId = bo.getUserId();
+        Long goodsId = bo.getGoodsId();
+        for(ClassPeriodVo classPeriodVo : list){
+            //为模块搜索下面的章 和节 并搜索学时记录
+            if (classPeriodVo.getType() == 1){
+                moduleName = classPeriodVo.getTypeName();
+                List<ClassPeriodChapterVo> classPeriodChapterVos = baseMapper.listperiodChapter(classPeriodVo.getId(), goodsId,classPeriodVo.getCourseId(), userId,gradeId);
+                for (ClassPeriodChapterVo classPeriodChapterVo : classPeriodChapterVos) {
+                    if (classPeriodChapterVo.getType() == 2) {
+                        chapterName = classPeriodChapterVo.getTypeName();
+                        List<ClassPeriodSectionVo> classPeriodSectionVos = baseMapper.listPeriodSection(classPeriodChapterVo.getId(), goodsId, classPeriodVo.getCourseId(), userId);
+                        classPeriodSectionVos.addAll(baseMapper.listperiodExam(classPeriodChapterVo.getId(), goodsId,classPeriodVo.getCourseId(), userId,classPeriodVo.getId()));
+                        for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos) {
+                            i++;
+                            if (classPeriodSectionVo.getType() == 3) {
+                                sectionName = classPeriodSectionVo.getTypeName();
+                                UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                                userPeriodQueryBo.setSectionId(classPeriodSectionVo.getId());
+                                userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
+                                userPeriodQueryBo.setGoodsId(goodsId);
+                                userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
+                                userPeriodQueryBo.setChapterId(classPeriodChapterVo.getId());
+                                userPeriodQueryBo.setModuleId(classPeriodVo.getId());
+                                userPeriodQueryBo.setGradeId(gradeId);
+                                List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
+                                if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
+                                    int numIndex = userPeriodStatusVos.size() - 1;
+                                    UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
+                                    classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
+                                    classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
+                                    classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
+                                    classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
+                                    classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
+                                    classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
+                                    classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                                    classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
+                                    classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
+                                    classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
+                                    classPeriodSectionVo.setDurationTime(userPeriodStatusVo.getDurationTime());
+                                }
+                                classPeriodSectionVo.setModuleId(classPeriodVo.getId());
+                                classPeriodSectionVo.setChapterId(classPeriodChapterVo.getId());
+                                classPeriodSectionVo.setGoodsId(goodsId);
+                                classPeriodSectionVo.setGradeId(gradeId);
+                                studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,(new BigDecimal(0)),false));
+                            }else {
+                                //章卷
+                                sectionName = "";
+                                UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                                userPeriodQueryBo.setExamId(classPeriodSectionVo.getId());
+                                userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
+                                userPeriodQueryBo.setGoodsId(goodsId);
+                                userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
+                                userPeriodQueryBo.setChapterId(classPeriodChapterVo.getId());
+                                userPeriodQueryBo.setModuleId(classPeriodVo.getId());
+                                userPeriodQueryBo.setGradeId(gradeId);
+                                List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
+                                if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
+                                    int numIndex = userPeriodStatusVos.size() - 1;
+                                    UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
+                                    classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
+                                    classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
+                                    classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
+                                    classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
+                                    classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
+                                    classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
+                                    classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                                    classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
+                                    classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
+                                    classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
+                                    classPeriodChapterVo.setPerformance(Convert.toBigDecimal(userPeriodStatusVo.getPerformance()));
+                                }
+                                classPeriodSectionVo.setModuleId(classPeriodVo.getId());
+                                classPeriodSectionVo.setChapterId(classPeriodChapterVo.getId());
+                                classPeriodSectionVo.setGoodsId(goodsId);
+                                classPeriodSectionVo.setGradeId(gradeId);
+                                studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,classPeriodChapterVo.getPerformance(),true));
+                            }
+                        }
+                    }
+                }
+            }
+            //为章搜索节记录和学时记录
+            if (classPeriodVo.getType() == 2){
+                moduleName = "";
+                chapterName = classPeriodVo.getTypeName();
+                List<ClassPeriodSectionVo> classPeriodSectionVos = baseMapper.listPeriodSection(classPeriodVo.getId(), goodsId, classPeriodVo.getCourseId(), userId);
+                for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos) {
+                    i++;
+                    sectionName = classPeriodSectionVo.getTypeName();
+                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                    userPeriodQueryBo.setSectionId(classPeriodSectionVo.getId());
+                    userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
+                    userPeriodQueryBo.setGoodsId(goodsId);
+                    userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
+                    userPeriodQueryBo.setChapterId(classPeriodVo.getId());
+                    userPeriodQueryBo.setModuleId(0L);
+                    userPeriodQueryBo.setGradeId(gradeId);
+                    List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
+                    if (!CollectionUtils.isEmpty(userPeriodStatusVos)){
+                        int numIndex = userPeriodStatusVos.size() - 1;
+                        UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
+                        classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
+                        classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
+                        classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
+                        classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
+                        classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
+                        classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
+                        classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                        classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
+                        classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
+                        classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
+                        classPeriodSectionVo.setDurationTime(userPeriodStatusVo.getDurationTime());
+                    }
+                    classPeriodSectionVo.setModuleId(0L);
+                    classPeriodSectionVo.setChapterId(classPeriodVo.getId());
+                    classPeriodSectionVo.setGoodsId(goodsId);
+                    classPeriodSectionVo.setGradeId(gradeId);
+                    studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,(new BigDecimal(0)),false));
+                }
+                List<ClassPeriodSectionVo> classPeriodSectionVos1 = baseMapper.listPeriodSectionExam(classPeriodVo.getId(), goodsId, classPeriodVo.getCourseId(), userId);
+                for (ClassPeriodSectionVo classPeriodSectionVo : classPeriodSectionVos1) {
+                    //章卷
+                    i++;
+                    sectionName = "";
+                    UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                    userPeriodQueryBo.setExamId(classPeriodSectionVo.getId());
+                    userPeriodQueryBo.setCourseId(classPeriodSectionVo.getCourseId());
+                    userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                    userPeriodQueryBo.setUserId(classPeriodSectionVo.getUserId());
+                    userPeriodQueryBo.setChapterId(classPeriodVo.getId());
+                    userPeriodQueryBo.setModuleId(0L);
+                    userPeriodQueryBo.setGradeId(bo.getGradeId());
+                    List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
+                    if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
+                        int numIndex = userPeriodStatusVos.size() - 1;
+                        UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
+                        classPeriodSectionVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
+                        classPeriodSectionVo.setStatus(userPeriodStatusVo.getStatus());
+                        classPeriodSectionVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
+                        classPeriodSectionVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
+                        classPeriodSectionVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
+                        classPeriodSectionVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
+                        classPeriodSectionVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                        classPeriodSectionVo.setPeriodStatusId(userPeriodStatusVo.getId());
+                        classPeriodSectionVo.setAuditTime(userPeriodStatusVo.getAuditTime());
+                        classPeriodSectionVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
+                        classPeriodVo.setPerformance(Convert.toBigDecimal(userPeriodStatusVo.getPerformance()));
+                    }
+                    classPeriodSectionVo.setModuleId(0L);
+                    classPeriodSectionVo.setChapterId(classPeriodVo.getId());
+                    classPeriodSectionVo.setGoodsId(goodsId);
+                    classPeriodSectionVo.setGradeId(gradeId);
+                    studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,classPeriodVo.getPerformance(),true));
+                }
+                classPeriodSectionVos.addAll(classPeriodSectionVos1);
+                classPeriodVo.setClassPeriodSectionList(classPeriodSectionVos);
+            }
+            //为节搜索学时记录
+            if (classPeriodVo.getType() == 3){
+                i++;
+                sectionName = classPeriodVo.getTypeName();
+                UserPeriodQueryBo userPeriodQueryBo = new UserPeriodQueryBo();
+                userPeriodQueryBo.setSectionId(classPeriodVo.getId());
+                userPeriodQueryBo.setCourseId(classPeriodVo.getCourseId());
+                userPeriodQueryBo.setGoodsId(bo.getGoodsId());
+                userPeriodQueryBo.setUserId(classPeriodVo.getUserId());
+                userPeriodQueryBo.setChapterId(0L);
+                userPeriodQueryBo.setModuleId(0L);
+                userPeriodQueryBo.setGradeId(bo.getGradeId());
+                List<UserPeriodStatusVo> userPeriodStatusVos = userPeriodStatusService.selectPeriodStatus(userPeriodQueryBo);
+                if (!CollectionUtils.isEmpty(userPeriodStatusVos)){
+                    int numIndex = userPeriodStatusVos.size() - 1;
+                    UserPeriodStatusVo userPeriodStatusVo = userPeriodStatusVos.get(numIndex);
+                    classPeriodVo.setNumIndex(Convert.toLong(userPeriodStatusVos.size()));
+                    classPeriodVo.setStatus(userPeriodStatusVo.getStatus());
+                    classPeriodVo.setNumList(Convert.toLong(userPeriodStatusVos.size()));
+                    classPeriodVo.setStudyEndTime(userPeriodStatusVo.getRecordEndTime());
+                    classPeriodVo.setStudyStartTime(userPeriodStatusVo.getRecordStartTime());
+                    classPeriodVo.setPeriodStatus(userPeriodStatusVo.getPeriodStatus());
+                    classPeriodVo.setPeriodId(userPeriodStatusVo.getPeriodId());
+                    classPeriodVo.setPeriodStatusId(userPeriodStatusVo.getId());
+                    classPeriodVo.setAuditTime(userPeriodStatusVo.getAuditTime());
+                    classPeriodVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
+                    classPeriodVo.setDurationTime(userPeriodStatusVo.getDurationTime());
+                }
+                classPeriodVo.setModuleId(0L);
+                classPeriodVo.setChapterId(0L);
+                classPeriodVo.setGoodsId(bo.getGoodsId());
+                classPeriodVo.setGradeId(bo.getGradeId());
+                ClassPeriodSectionVo classPeriodSectionVo = BeanUtil.toBean(classPeriodVo, ClassPeriodSectionVo.class);
+                studyList.add(mergeData(i,moduleName,chapterName,sectionName,classPeriodSectionVo,(new BigDecimal(0)),false));
+            }
+        }
+        return studyList;
+    }
+
     @Override
     public List<ClassPeriodUserVo> listPeriod(ClassGradeUserQueryBo bo) {
         //班级学员信息

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -641,7 +641,7 @@
             AND cme.course_id =#{courseId}
         </if>
         <if test="userId != null and userId !='' ">
-            AND usr.user_id=#{userId}
+            AND ubr.user_id=#{userId}
         </if>
         AND cme.chapter_id = cmc.chapter_id
         LIMIT 1 ) AS performance