Browse Source

1.查询paperDetail时,按照number排序
2.修改机考数据包BUG

chenken 7 năm trước cách đây
mục cha
commit
a39d6f0c3f

+ 1 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/dao/PaperDetailRepo.java

@@ -7,5 +7,5 @@ import com.qmth.cqb.paper.model.PaperDetail;
 import java.util.List;
 
 public interface PaperDetailRepo extends MongoRepository<PaperDetail, String>,QueryByExampleExecutor<PaperDetail> {
-	List<PaperDetail> findByPaper(Paper paper);
+	List<PaperDetail> findByPaperOrderByNumber(Paper paper);
 }

+ 1 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/PaperDetailService.java

@@ -76,7 +76,7 @@ public class PaperDetailService {
      * @return
      */
     public List<PaperDetail> getPaperDetailsByPaper(Paper paper) {
-        return paperDetailRepo.findByPaper(paper);
+        return paperDetailRepo.findByPaperOrderByNumber(paper);
     }
 
     /**

+ 3 - 3
cqb-paper/src/main/java/com/qmth/cqb/paper/service/PaperService.java

@@ -451,7 +451,7 @@ public class PaperService {
         PaperExp paperExp = BeanCopierUtil.copyProperties(paper, PaperExp.class);
         paperExp.setCourse(paper.getCourse());
         // 获取大题
-        List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+        List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
         List<PaperDetailExp> paperDetailExps = BeanCopierUtil.copyPropertiesOfList(paperDetails, PaperDetailExp.class);
         paperExp.setPaperDetails(paperDetailExps);
 
@@ -593,7 +593,7 @@ public class PaperService {
      * @param paper
      */
     public void formatPaper(Paper paper, AccessUser user) {
-        List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+        List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
         // 计算试卷总分
         List<PaperDetailUnit> paperDetailUnitAll = paperDetailUnitRepo.findByPaper(paper);
         int allQuesCount = 0;
@@ -841,7 +841,7 @@ public class PaperService {
     	String[] paperIds = selectedPaperIds.split(",");
     	for(int i = 0;i<paperIds.length;i++){
     		Paper oldpaper = paperRepo.findOne(paperIds[i]);
-    		List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(oldpaper);
+    		List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(oldpaper);
     		oldpaper.setId(null);
     		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     		String createTime = sdf.format(new Date());

+ 1 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/DzkdExportPaperService.java

@@ -82,7 +82,7 @@ public class DzkdExportPaperService extends ExportPaperAbstractService{
 		paperExp.setTitle(CommonUtils.PAPER_TITLE);
 		paperExp.setSubTitle(CommonUtils.PAPER_SUB_TITLE);
 		// 获取大题
-		List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+		List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
 		int objectNumber = 1;// 客观题大题序号
 		int objetcUnitSum = 0;
 		for (int i = 0; i < paperDetails.size(); i++) {

+ 8 - 8
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/ExportPaperAbstractService.java

@@ -253,7 +253,7 @@ public abstract class ExportPaperAbstractService {
 		paperExp.setTitle(CommonUtils.PAPER_TITLE);
 		paperExp.setSubTitle(CommonUtils.PAPER_SUB_TITLE);
 		// 获取大题
-		List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+		List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
 		int objectNumber = 1;// 客观题大题序号
 		int objetcUnitSum = 0;
 		for (int i = 0; i < paperDetails.size(); i++) {
@@ -629,10 +629,10 @@ public abstract class ExportPaperAbstractService {
     		if(!dirFile.exists()){
     			dirFile.mkdirs();
     		}
+    		//下载试卷中的音频文件到jsonDirectoryPath文件夹中
+			downloadQuestionAudio(computerTestPaper,jsonDirectoryPath,extractConfig.getExamId()+"");
     		//将computerTestPaper对象生成JSON文件存放在jsonDirectoryPath中
     		makeComputerTestPaperToJsonFile(extractConfig,computerTestPaper,jsonDirectoryPath);
-			//下载试卷中的音频文件到jsonDirectoryPath文件夹中
-			downloadQuestionAudio(computerTestPaper,jsonDirectoryPath,extractConfig.getExamId()+"");
 			//将文件夹打包成zip压缩包放在docxExport下
 			FileDisposeUtil.fileToZip(jsonDirectoryPath,"docxExport",jsonDirectoryName);
 			//上传zip压缩包到又拍云
@@ -682,11 +682,11 @@ public abstract class ExportPaperAbstractService {
     	List<ComputerTestPaperDetail> details = computerTestPaper.getDetails();
 		for(ComputerTestPaperDetail detail:details){
 			List<ComputerTestQuestion> questions = detail.getQuestions();
-			for(ComputerTestQuestion question:questions){
-				getBodyAndOptionAudioFile(question,question.getBody(),jsonDirectoryPath,computerTestPaper,examId);
-				List<ComputerTestOption> options = question.getOptions();
+			for(ComputerTestQuestion computerTestQuestion:questions){
+				getBodyAndOptionAudioFile(computerTestQuestion,computerTestQuestion.getBody(),jsonDirectoryPath,computerTestPaper,examId);
+				List<ComputerTestOption> options = computerTestQuestion.getOptions();
 				for(ComputerTestOption option:options){
-					getBodyAndOptionAudioFile(question,option.getBody(),jsonDirectoryPath,computerTestPaper,examId);
+					getBodyAndOptionAudioFile(computerTestQuestion,option.getBody(),jsonDirectoryPath,computerTestPaper,examId);
 				}
 				//子题音频处理
 				//List<ComputerTestQuestion> subQuestions = question.getSubQuestions();
@@ -703,7 +703,6 @@ public abstract class ExportPaperAbstractService {
 					PaperDetailUnit paperDetailUnit = paperDetailUnitRepo.findById(computerTestQuestion.getId());
 					QuestionAudio audio = questionAudioService.findByQuestionIdAndFileName(paperDetailUnit.getQuestion().getId(),block.getValue());
 					if(audio!=null){
-						FileDisposeUtil.saveUrlAs(downloadUrl+audio.getFileUrl(),jsonDirectoryPath+File.separator+block.getValue());
 						AudioTimeConfig audioTime = new AudioTimeConfig();
 						audioTime.setCourseCode(computerTestPaper.getCourseCode());
 						audioTime.setExamId(examId);
@@ -713,6 +712,7 @@ public abstract class ExportPaperAbstractService {
 						if(audioTimeConfig!=null){
 							block.setPlayTime(audioTimeConfig.getPlayTime());
 						}
+						FileDisposeUtil.saveUrlAs(downloadUrl+audio.getFileUrl(),jsonDirectoryPath+File.separator+block.getValue());
 					}
 				}
 			}

+ 1 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/export/SydxExportPaperService.java

@@ -139,7 +139,7 @@ public class SydxExportPaperService extends ExportPaperAbstractService{
         paperExp.setTitle(CommonUtils.PAPER_TITLE);
         paperExp.setSubTitle(CommonUtils.PAPER_SUB_TITLE);
         //获取大题
-        List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+        List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
         List<PaperDetailExp> paperDetailExps = BeanCopierUtil.copyPropertiesOfList(paperDetails,PaperDetailExp.class);
         paperExp.setPaperDetails(paperDetailExps);
 

+ 2 - 2
cqb-paper/src/main/java/com/qmth/cqb/paper/service/impl/ExtractConfigServiceImpl.java

@@ -256,7 +256,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	 * @return
 	 */
 	public Paper recombinationPaper(Paper paper,int upSetQuestionOrder,int upSetOptionOrder){
-		List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+		List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
 		paper.setId(null);
 		paper.setPaperType(PaperType.PREVIEW);//试卷类型为调卷规则预览卷
 		Paper newPaper = paperRepo.save(paper);//重新保存成新的paper
@@ -424,7 +424,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	private PaperDto getPaperDtoByPaper(Paper paper){
 		PaperDto paperDto = BeanCopierUtil.copyProperties(paper, PaperDto.class);
         // 获取大题
-        List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
+        List<PaperDetail> paperDetails = paperDetailRepo.findByPaperOrderByNumber(paper);
         //大题根据number进行排序 PaperDetail 对象中有compareTo方法
         Collections.sort(paperDetails);
         List<PaperDetailDto> paperDetailDtos = BeanCopierUtil.copyPropertiesOfList(paperDetails, PaperDetailDto.class);