添加安全培训教材或课程讲义下载功能

dev
zhangyue 2026-02-11 16:20:32 +08:00
parent 4bf73dc66c
commit 675485fa8e
7 changed files with 69 additions and 2 deletions

View File

@ -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();
}
}

View File

@ -889,5 +889,56 @@ public class ArchivesQueryExe {
throw new RuntimeException(e);
}
}
public ClassArchivesDTO downloadClassCurById(ArchivesQry qry){
HashMap<String, Object> params = new HashMap<String, Object>();
// 班级信息
ClassDO classDO = classRepository.getByClassId(qry.getClassId());
// 班级课程
ClassCurriculumDO classCurriculumDO = classCurriculumRepository.getInfoById(qry.getClassCurriculumIdLong());
List<ClassCurriculumChapterDO> classCurriculumChapterDOList = classCurriculumChapterRepository.listByClassCurriculumId(classCurriculumDO.getClassCurriculumId());
ClassCurriculumCO classCurriculumCO = new ClassCurriculumCO();
BeanUtils.copyProperties(classCurriculumDO, classCurriculumCO);
List<ClassCurriculumChapterCO> classCurriculumChapterCOList = classCurriculumChapterCoConvertor.converDOsToCOs(classCurriculumChapterDOList);
List<ClassCurriculumChapterCO> resultList = Tools.buildEntityTree(classCurriculumChapterCOList, "classCurriculumChapterId", "parentId", "childCurriculumChapterCOList", "0");
classCurriculumCO.setCurriculumChapterCOList(resultList);
List<ClassCurriculumCO> 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<byte[]> 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);
}
}
}

View File

@ -101,7 +101,7 @@ public class StudentQueryExe {
ClassE classE = new ClassE();
BeanUtils.copyProperties(classDO, classE);
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("classId", studentDO.getClassId());
params.put("eqClassId", studentDO.getClassId());
// 课程信息
List<ClassCurriculumDO> curEList = classCurriculumRepository.listAll(params);
List<ClassCurriculumE> classCurList = BeanUtil.copyToList(curEList, ClassCurriculumE.class);

View File

@ -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("下载成功");
}
}

View File

@ -18,5 +18,6 @@ public interface ArchivesServiceI {
void downloadPersonArchives(ArchivesQry qry);
void downloadClassArchives(ArchivesQry qry);
void downloadReviewRevision(ArchivesQry qry);
void downloadClassCur(ArchivesQry qry);
}

View File

@ -30,6 +30,7 @@ public class ArchivesQry {
private Long stuId;
private String classId;
private String classCurriculumId;
private Long classCurriculumIdLong;
}

View File

@ -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