diff --git a/web-adapter/src/main/java/com/zcloud/edu/web/archives/ArchivesController.java b/web-adapter/src/main/java/com/zcloud/edu/web/archives/ArchivesController.java index 05ef29c..64f804c 100644 --- a/web-adapter/src/main/java/com/zcloud/edu/web/archives/ArchivesController.java +++ b/web-adapter/src/main/java/com/zcloud/edu/web/archives/ArchivesController.java @@ -89,6 +89,12 @@ public class ArchivesController { archivesService.downloadReviewRevision(qry); return Response.buildSuccess(); } + @ApiOperation("单独下载安全培训教材或课程讲义") + @PostMapping("/downloadClassCur") + public Response downloadClassCur(@RequestBody ArchivesQry qry) { + archivesService.downloadClassCur(qry); + return Response.buildSuccess(); + } } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java index 8d1a5da..6d17d3b 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/archives/ArchivesQueryExe.java @@ -889,5 +889,56 @@ public class ArchivesQueryExe { throw new RuntimeException(e); } } + + + + + public ClassArchivesDTO downloadClassCurById(ArchivesQry qry){ + HashMap params = new HashMap(); + // 班级信息 + ClassDO classDO = classRepository.getByClassId(qry.getClassId()); + // 班级课程 + ClassCurriculumDO classCurriculumDO = classCurriculumRepository.getInfoById(qry.getClassCurriculumIdLong()); + List classCurriculumChapterDOList = classCurriculumChapterRepository.listByClassCurriculumId(classCurriculumDO.getClassCurriculumId()); + ClassCurriculumCO classCurriculumCO = new ClassCurriculumCO(); + BeanUtils.copyProperties(classCurriculumDO, classCurriculumCO); + List classCurriculumChapterCOList = classCurriculumChapterCoConvertor.converDOsToCOs(classCurriculumChapterDOList); + List resultList = Tools.buildEntityTree(classCurriculumChapterCOList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0"); + classCurriculumCO.setCurriculumChapterCOList(resultList); + List curList = new ArrayList<>(); + curList.add(classCurriculumCO); + + ClassArchivesDTO classArchivesDTO = new ClassArchivesDTO(); + classArchivesDTO.setClassName(classDO.getName()); + SSOUser ssoUser = AuthContext.getCurrentUser(); + classArchivesDTO.setCorpinfoId(ssoUser.getTenantId()); + classArchivesDTO.setClassCurriculumList(curList); + // 新增档案下载记录 + ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE(); + archivesPdfFileE.init("class_curriculum", classCurriculumDO.getClassCurriculumId(), 2, ssoUser.getTenantId(), classDO.getName()+"-"+classCurriculumDO.getCurriculumName()+"安全培训教材"); + ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO(); + BeanUtils.copyProperties(archivesPdfFileE, archivesPdfFileDO); + archivesPdfFileRepository.save(archivesPdfFileDO); + classArchivesDTO.setArchivesPdfFileId(archivesPdfFileDO.getId()); + return classArchivesDTO; + } + @Async("archivesAsyncExecutor") + public void execteDownloadClassCur(ClassArchivesDTO params){ + try { + byte[] word = execteClassCurriculumInfo(params.getClassCurriculumList().get(0)); + List byteArrayList = new ArrayList<>(); + byteArrayList.add(word); + byte[] pdf = WordToPdfUtil.mergeWordToPdf(byteArrayList); + String filepath = zcloudImgFilesFacade.saveFile(pdf, params.getClassName()+"-"+params.getClassCurriculumList().get(0).getCurriculumName()+"-安全培训教材或课程讲义-"+ DateUtil.getSdfTimes()+".pdf","classArchives", params.getCorpinfoId()); + ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE(); + archivesPdfFileE.initEdit(params.getArchivesPdfFileId(), filepath, 1, null); + ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO(); + BeanUtils.copyProperties(archivesPdfFileE, archivesPdfFileDO); + archivesPdfFileRepository.updateById(archivesPdfFileDO); + } catch (Exception e){ + e.printStackTrace(); +// throw new RuntimeException(e); + } + } } diff --git a/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java b/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java index 7f0e4ee..b03a982 100644 --- a/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java +++ b/web-app/src/main/java/com/zcloud/edu/command/query/study/StudentQueryExe.java @@ -101,7 +101,7 @@ public class StudentQueryExe { ClassE classE = new ClassE(); BeanUtils.copyProperties(classDO, classE); HashMap params = new HashMap(); - params.put("classId", studentDO.getClassId()); + params.put("eqClassId", studentDO.getClassId()); // 课程信息 List curEList = classCurriculumRepository.listAll(params); List classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class); diff --git a/web-app/src/main/java/com/zcloud/edu/service/archives/ArchivesServiceImpl.java b/web-app/src/main/java/com/zcloud/edu/service/archives/ArchivesServiceImpl.java index 2602805..5915e9e 100644 --- a/web-app/src/main/java/com/zcloud/edu/service/archives/ArchivesServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/edu/service/archives/ArchivesServiceImpl.java @@ -68,5 +68,12 @@ public class ArchivesServiceImpl implements ArchivesServiceI { archivesQueryExe.execteDownloadReviewInfo(classArchivesDTO); System.out.println("下载成功"); } + + @Override + public void downloadClassCur(ArchivesQry qry) { + ClassArchivesDTO classArchivesDTO = archivesQueryExe.downloadClassCurById(qry); + archivesQueryExe.execteDownloadClassCur(classArchivesDTO); + System.out.println("下载成功"); + } } diff --git a/web-client/src/main/java/com/zcloud/edu/api/archives/ArchivesServiceI.java b/web-client/src/main/java/com/zcloud/edu/api/archives/ArchivesServiceI.java index 3a2fced..2691c8a 100644 --- a/web-client/src/main/java/com/zcloud/edu/api/archives/ArchivesServiceI.java +++ b/web-client/src/main/java/com/zcloud/edu/api/archives/ArchivesServiceI.java @@ -18,5 +18,6 @@ public interface ArchivesServiceI { void downloadPersonArchives(ArchivesQry qry); void downloadClassArchives(ArchivesQry qry); void downloadReviewRevision(ArchivesQry qry); + void downloadClassCur(ArchivesQry qry); } diff --git a/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java b/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java index 80044ae..30df783 100644 --- a/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java +++ b/web-client/src/main/java/com/zcloud/edu/dto/archives/ArchivesQry.java @@ -30,6 +30,7 @@ public class ArchivesQry { private Long stuId; private String classId; private String classCurriculumId; + private Long classCurriculumIdLong; } diff --git a/web-infrastructure/src/main/resources/mapper/study/ClassCurriculumMapper.xml b/web-infrastructure/src/main/resources/mapper/study/ClassCurriculumMapper.xml index 10a819f..d9cfcf0 100644 --- a/web-infrastructure/src/main/resources/mapper/study/ClassCurriculumMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/study/ClassCurriculumMapper.xml @@ -16,7 +16,8 @@ co.corp_name, c.video_total_time curriculumVideoTotalTime, c.curriculum_introduce, - c.cover_path + c.cover_path, + cc.catalogue_level from class_curriculum cc