|
@@ -864,6 +864,105 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
return fillList(exportList);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> exportWeekPo(ClassGradeUserQueryBo bo) {
|
|
|
+ Map<String, Object> totalRs = new HashMap<>();
|
|
|
+ List<ClassPeriodStudentExportWeekAllVo> totalList = new ArrayList<>();
|
|
|
+ Map<String, List<ClassPeriodStudentExportVo>> weekRs = new HashMap<>();
|
|
|
+ for(WeekDataVo weekDataVo : bo.getWeekList() ){
|
|
|
+ bo.setSearchWeekStartTime(weekDataVo.getSearchWeekStartTime());
|
|
|
+ bo.setSearchWeekEndTime(weekDataVo.getSearchWeekEndTime());
|
|
|
+ //查询班级学员信息
|
|
|
+ List<ClassPeriodStudentVo> classPeriodStudentVos = baseMapper.listUserPeriodExport(bo);
|
|
|
+ List<ClassPeriodStudentExportVo> exportList = new ArrayList<>();
|
|
|
+ //查找学员学习记录
|
|
|
+ for (ClassPeriodStudentVo classPeriodStudentVo : classPeriodStudentVos) {
|
|
|
+ Long secLong = 0L;
|
|
|
+ Long studyLong = 0L;
|
|
|
+
|
|
|
+ SubjectStudyRecordQueryBo subjectStudyRecordQueryBo = new SubjectStudyRecordQueryBo();
|
|
|
+ subjectStudyRecordQueryBo.setGoodsId(classPeriodStudentVo.getGoodsId());
|
|
|
+ subjectStudyRecordQueryBo.setUserId(classPeriodStudentVo.getUserId());
|
|
|
+ subjectStudyRecordQueryBo.setGradeId(bo.getGradeId());
|
|
|
+ User user = iUserService.getOne(new LambdaQueryWrapper<User>().eq(User::getUserId, classPeriodStudentVo.getUserId()));
|
|
|
+ if(Validator.isNotEmpty(user.getOneInchPhotos())){
|
|
|
+ classPeriodStudentVo.setOneInchPhotos(ALIYUN_OSS_ENDPOINT + "/" + user.getOneInchPhotos());
|
|
|
+ classPeriodStudentVo.setOneInchPhotosOss(user.getOneInchPhotos());
|
|
|
+ }
|
|
|
+ if(Validator.isNotEmpty(user.getIdCardImg1())){
|
|
|
+ classPeriodStudentVo.setIdCardImg1(ALIYUN_OSS_ENDPOINT + "/" + user.getIdCardImg1());
|
|
|
+ classPeriodStudentVo.setIdCardImg1Oss(user.getIdCardImg1());
|
|
|
+ }
|
|
|
+ if(Validator.isNotEmpty(user.getIdCardImg2())){
|
|
|
+ classPeriodStudentVo.setIdCardImg2(ALIYUN_OSS_ENDPOINT + "/" + user.getIdCardImg2());
|
|
|
+ classPeriodStudentVo.setIdCardImg2Oss(user.getIdCardImg2());
|
|
|
+ }
|
|
|
+ ClassPeriodStudentExportVo addItem = BeanUtil.toBean(classPeriodStudentVo, ClassPeriodStudentExportVo.class);
|
|
|
+
|
|
|
+ addItem.setStudyTimeStr(DateUtils.timestampToDate(classPeriodStudentVo.getServiceStartTime()) + "-" + DateUtils.timestampToDate(classPeriodStudentVo.getServiceEndTime()));
|
|
|
+ addItem.setClassTimeStr(DateUtils.timestampToDate(classPeriodStudentVo.getClassStartTime()) + "-" + DateUtils.timestampToDate(classPeriodStudentVo.getClassEndTime()));
|
|
|
+
|
|
|
+ ClassGradeUserQueryBo classGradeUserQueryBo1 = new ClassGradeUserQueryBo();
|
|
|
+ classGradeUserQueryBo1.setUserId(classPeriodStudentVo.getUserId());
|
|
|
+ classGradeUserQueryBo1.setGradeId(classPeriodStudentVo.getGradeId());
|
|
|
+ classGradeUserQueryBo1.setGoodsId(classPeriodStudentVo.getGoodsId());
|
|
|
+ classGradeUserQueryBo1.setSearchWeekStartTime(weekDataVo.getSearchWeekStartTime());
|
|
|
+ classGradeUserQueryBo1.setSearchWeekEndTime(weekDataVo.getSearchWeekEndTime());
|
|
|
+ addItem.setPeriodVoList(listUserStudyRecordWeek(classGradeUserQueryBo1));
|
|
|
+ exportList.add(addItem);
|
|
|
+ }
|
|
|
+ weekRs.put(weekDataVo.getWeekCxt(),exportList);
|
|
|
+ Map<String, Object> rs = fillListWeek(exportList);
|
|
|
+ List<ClassPeriodStudentExportWeekAllVo> list = (List<ClassPeriodStudentExportWeekAllVo>)rs.get("list");
|
|
|
+ ClassPeriodStudentExportWeekAllVo titleVo = new ClassPeriodStudentExportWeekAllVo();
|
|
|
+ titleVo.setWeekTime(weekDataVo.getWeekCxt());
|
|
|
+ totalList.add(titleVo);
|
|
|
+ totalList.addAll(list);
|
|
|
+
|
|
|
+ }
|
|
|
+ String filename = FileUtils.encodingZipFilename("用户压缩数据");
|
|
|
+ String zipFile = FileUtils.getZipAbsoluteFile(filename);
|
|
|
+ try {
|
|
|
+ ZipOutputStream outStream = new ZipOutputStream(new FileOutputStream(zipFile));
|
|
|
+ //生成ZIP
|
|
|
+ for(WeekDataVo weekDataVo : bo.getWeekList() ){
|
|
|
+ List<ClassPeriodStudentExportVo> exportList = weekRs.get(weekDataVo.getWeekCxt());
|
|
|
+ for (ClassPeriodStudentExportVo vo : exportList) {
|
|
|
+ ossService.zipPeopleWeekDownload(vo, outStream,weekDataVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ outStream.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ System.out.println(e.getMessage() + "压缩");
|
|
|
+ }
|
|
|
+ totalRs.put("list",totalList);
|
|
|
+ totalRs.put("zip", AjaxResult.success(filename));
|
|
|
+ return totalRs;
|
|
|
+ }
|
|
|
+
|
|
|
+ //填充满列表的用户信息
|
|
|
+ private Map<String, Object> fillListWeek(List<ClassPeriodStudentExportVo> list) {
|
|
|
+ List<ClassPeriodStudentExportWeekAllVo> newList = new ArrayList<>();
|
|
|
+ Map<String, Object> rs = new HashMap<>();
|
|
|
+ for (ClassPeriodStudentExportVo vo : list) {
|
|
|
+ for (UserPeriodExportVo cVo : vo.getPeriodVoList()) {
|
|
|
+ ClassPeriodStudentExportWeekAllVo item = BeanUtil.toBean(vo, ClassPeriodStudentExportWeekAllVo.class);
|
|
|
+ item.setId(cVo.getId());
|
|
|
+ item.setModuleName(cVo.getModuleName());
|
|
|
+ item.setChapterName(cVo.getChapterName());
|
|
|
+ item.setSectionName(cVo.getSectionName());
|
|
|
+ item.setDurationTime(Validator.isEmpty(cVo.getDurationTime())?new BigDecimal(0):((new BigDecimal(cVo.getDurationTime()).divide(new BigDecimal(3600),2,BigDecimal.ROUND_DOWN))));
|
|
|
+ item.setStudyTimeTxt(cVo.getStudyTimeTxt());
|
|
|
+ item.setStudyTimeLongTxt(cVo.getStudyTimeLongTxt());
|
|
|
+ item.setStudyStatusTxt(cVo.getStudyStatusTxt());
|
|
|
+ item.setScore(cVo.getScore());
|
|
|
+ newList.add(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ rs.put("list", newList);
|
|
|
+ return rs;
|
|
|
+ }
|
|
|
+
|
|
|
//填充满列表的用户信息
|
|
|
private Map<String, Object> fillList(List<ClassPeriodStudentExportVo> list) {
|
|
|
List<ClassPeriodStudentExportAllVo> newList = new ArrayList<>();
|
|
@@ -1539,6 +1638,237 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
|
|
|
return studyList;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<UserPeriodExportVo> listUserStudyRecordWeek(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);
|
|
|
+ userPeriodQueryBo.setSearchWeekStartTime(bo.getSearchWeekStartTime());
|
|
|
+ userPeriodQueryBo.setSearchWeekEndTime(bo.getSearchWeekEndTime());
|
|
|
+ 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);
|
|
|
+ if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
|
|
|
+ studyList.add(mergeData(i, moduleName, chapterName, sectionName, classPeriodSectionVo, (new BigDecimal(0)), false));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //章卷
|
|
|
+ sectionName = classPeriodSectionVo.getTypeName();
|
|
|
+ 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);
|
|
|
+ userPeriodQueryBo.setSearchWeekStartTime(bo.getSearchWeekStartTime());
|
|
|
+ userPeriodQueryBo.setSearchWeekEndTime(bo.getSearchWeekEndTime());
|
|
|
+ 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);
|
|
|
+ if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
|
|
|
+ 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);
|
|
|
+ userPeriodQueryBo.setSearchWeekStartTime(bo.getSearchWeekStartTime());
|
|
|
+ userPeriodQueryBo.setSearchWeekEndTime(bo.getSearchWeekEndTime());
|
|
|
+ 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);
|
|
|
+ if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
|
|
|
+ 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 = classPeriodSectionVo.getTypeName();
|
|
|
+ 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());
|
|
|
+ userPeriodQueryBo.setSearchWeekStartTime(bo.getSearchWeekStartTime());
|
|
|
+ userPeriodQueryBo.setSearchWeekEndTime(bo.getSearchWeekEndTime());
|
|
|
+ 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);
|
|
|
+ if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
|
|
|
+ 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());
|
|
|
+ userPeriodQueryBo.setSearchWeekStartTime(bo.getSearchWeekStartTime());
|
|
|
+ userPeriodQueryBo.setSearchWeekEndTime(bo.getSearchWeekEndTime());
|
|
|
+ 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);
|
|
|
+ if (!CollectionUtils.isEmpty(userPeriodStatusVos)) {
|
|
|
+ studyList.add(mergeData(i, moduleName, chapterName, sectionName, classPeriodSectionVo, (new BigDecimal(0)), false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return studyList;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 学习记录第二版
|
|
|
* @param bo
|