Bläddra i källkod

组卷bug修改,分数

weiwenhai 7 år sedan
förälder
incheckning
959470a5b4

+ 5 - 4
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/service/core/api/GenPaperController.java

@@ -49,6 +49,7 @@ public class GenPaperController extends ControllerSupport {
         genPaperDto.setOrgId(user.getRootOrgId().toString());
         genPaperDto.setCreator(user.getDisplayName());
         Map<String, Object> paperMap = new HashMap<String, Object>();
+        String paperName = genPaperDto.getPaperName();
         try {
         	//判断试卷名称是否一样
 			boolean result = paperService.checkPaperName(genPaperDto.getPaperName(), PaperType.GENERATE,user.getRootOrgId()+"");
@@ -67,18 +68,18 @@ public class GenPaperController extends ControllerSupport {
 	        }else {
 	        	//如果是组多套试卷
 				for(int i = 1; i <= genPaperDto.getGenNumber(); i++){
-					genPaperDto.setPaperName(genPaperDto.getPaperName() + "_" + i);
+					genPaperDto.setPaperName(paperName + "_" + i);
 					//判断抽题类型  按数量  按分数
 					if (genPaperDto.getSimpleGenPaperPolicy().getKey() == 1L) {
 		                paperMap.putAll(genPaperService.genPaperByQuestionNumW(genPaperDto,user));
 		            }else {
 		            	paperMap.putAll(genPaperService.genPaperByScoreW(genPaperDto,user));
 		            }
-					if (!paperMap.get("msg").equals("success")) {
-						return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
-                    }
 				}
 			}
+			if (!paperMap.get("msg").equals("success")) {
+				return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);
+            }
 		} catch (Exception e) {
 			return new ResponseEntity<Object>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
 		}

+ 11 - 6
examcloud-core-questions-dao/src/main/java/cn/com/qmth/examcloud/core/questions/dao/entity/PaperDetailUnit.java

@@ -278,24 +278,29 @@ public class PaperDetailUnit implements Serializable, Comparable<PaperDetailUnit
 		final int prime = 31;
 		int result = 1;
 		result = prime * result
-				+ ((question == null) ? 0 : question.hashCode());
+				+ ((question == null) ? 0 : question.getId().hashCode());
 		return result;
 	}
 
 	@Override
 	public boolean equals(Object obj) {
-		if (this == obj)
+		if (this == obj){
 			return true;
-		if (obj == null)
+		}
+		if (obj == null){
 			return false;
-		if (getClass() != obj.getClass())
+		}
+		if (getClass() != obj.getClass()){
 			return false;
+		}
 		PaperDetailUnit other = (PaperDetailUnit) obj;
 		if (question == null) {
-			if (other.question != null)
+			if (other.question != null){
 				return false;
-		} else if (!question.equals(other.question))
+			}
+		} else if (!question.getId().equals(other.question.getId())){
 			return false;
+		}
 		return true;
 	}
     

+ 5 - 2
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/GenPaperService.java

@@ -238,7 +238,8 @@ public class GenPaperService {
     			//试卷总分
     			Double paperScore = unitList.get(0).getPaper().getTotalScore();
     			if(paperScore.doubleValue() < needScore.doubleValue()){
-    				paperMsgMap.put("msg", unitList.get(0).getPaper().getName() + "分数不够");
+    				Paper paper = paperRepo.findOne(paperId);
+    				paperMsgMap.put("msg", "\""+paper.getName()+"\"试卷,分数不够");
                     return paperMsgMap;
     			}
     			//生成随机抽取的题号
@@ -270,6 +271,7 @@ public class GenPaperService {
     		paperService.formatPaper(paper, user);
             paperMsgMap.put("paper", paper);
             paperMsgMap.put("msg", "success");
+            return paperMsgMap;
     	}
     	return null;
     }
@@ -306,7 +308,8 @@ public class GenPaperService {
     			//计算所有题目数量
     			int questionSum = countQuestions(unitList);
     			if(needNumber>questionSum){
-    				paperMsgMap.put("msg", unitList.get(0).getPaper().getName() + "题源不够");
+    				Paper paper = paperRepo.findOne(paperId);
+    				paperMsgMap.put("msg", "\""+paper.getName()+"\"试卷,题源不够");
                     return paperMsgMap;
     			}
     			//生成随机抽取的题号