Prechádzať zdrojové kódy

提交导出试卷文件BUG

chenken 7 rokov pred
rodič
commit
1b03ea2684

+ 22 - 18
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/ExtractConfigFileServiceImpl.java

@@ -164,18 +164,20 @@ public class ExtractConfigFileServiceImpl implements ExtractConfigFileService {
 		ExportStructure exportStructure = exportStructureService.findStructureByExamId(exportModel.getExamId()+"");
 		//如果是普通类型的批量导出,并且选择了导出试卷结构
 		if(exportModel.getExportContentList().contains(ExamFileType.PAPER_STRUCTURE_OBJECTIVE.name())
-				&&exportModel.getExportWay()==ExportWay.BATCH
-					&&exportStructure.getExportType()==ExportType.NORMAL){
-			paperIds = checkAllCourseByExamId(exportModel.getExamId(),exportStructure.getExportType());
-			//生成试卷结构到downloadDirectory目录
-			if(paperIds.size()>0){
-				//创建试卷结构Excel文件
-				makePaperStructure(exportStructure.getExamName(),paperIds,exportStructure);
-			}
+				&&exportModel.getExportWay()==ExportWay.BATCH){
+			if(exportStructure!=null&&exportStructure.getExportType()==ExportType.NORMAL){
+				paperIds = checkAllCourseByExamId(exportModel.getExamId(),exportStructure.getExportType());
+				if(paperIds.size()>0){
+					//创建试卷结构Excel文件到downloadDirectory目录
+					makePaperStructure(exportStructure.getExamName(),paperIds,exportStructure);
+				}
+			}			
 		}
 		//如果是普通类型的单个导出
-		if(exportModel.getExportWay()==ExportWay.SINGLE&&exportStructure.getExportType()==ExportType.NORMAL){
-			paperIds = getFinishPaperIds(exportModel);
+		if(exportModel.getExportWay()==ExportWay.SINGLE){
+			if(exportStructure==null||exportStructure.getExportType()==ExportType.NORMAL){
+				paperIds = getFinishPaperIds(exportModel);
+			}
 		}
 		//根据条件获取到文件下载路径,下载文件到服务器的downloadDirectory文件夹
 		List<ExamFile> examFiles = examFileService.findExamFileListByExportPaperInfoModel(exportModel);
@@ -340,14 +342,16 @@ public class ExtractConfigFileServiceImpl implements ExtractConfigFileService {
 	private void downloadQuestionAudio(List<Paper> papers,ExamFile examFile){
 		if(examFile.getExamFileType()==ExamFileType.PAPER){
 			for(Paper paper:papers){
-				if(paper.getOrgId().equals(examFile.getOrgId())
-						&&paper.getCourse().getCode().equals(examFile.getCourseId())){
-					List<PaperDetailUnit> paperDetailUnits = paperDetailUnitRepo.findByPaper(paper);
-					for(PaperDetailUnit unit:paperDetailUnits){
-						if(unit.getQuestion().getHasAudio()!=null&&unit.getQuestion().getHasAudio()){
-							List<QuestionAudio> questionAudios = questionAudioService.findQuestionAudiosByQuestionId(unit.getQuestion().getId());
-							for(QuestionAudio audio:questionAudios){
-								FileDisposeUtil.saveUrlAs(downloadUrl+audio.getFileUrl(),downloadDirectory+File.separator+examFile.getFileName()+"_"+audio.getFileName());
+				if(paper.getHasAudio()!=null&&paper.getHasAudio()){
+					if(paper.getOrgId().equals(examFile.getOrgId())
+							&&paper.getCourse().getCode().equals(examFile.getCourseId())){
+						List<PaperDetailUnit> paperDetailUnits = paperDetailUnitRepo.findByPaper(paper);
+						for(PaperDetailUnit unit:paperDetailUnits){
+							if(unit.getQuestion().getHasAudio()!=null&&unit.getQuestion().getHasAudio()){
+								List<QuestionAudio> questionAudios = questionAudioService.findQuestionAudiosByQuestionId(unit.getQuestion().getId());
+								for(QuestionAudio audio:questionAudios){
+									FileDisposeUtil.saveUrlAs(downloadUrl+audio.getFileUrl(),downloadDirectory+File.separator+examFile.getFileName()+"_"+audio.getFileName());
+								}
 							}
 						}
 					}