chenken 8 жил өмнө
parent
commit
b47aa5d304

+ 10 - 2
cqb-paper/src/main/java/com/qmth/cqb/paper/model/ExtractConfig.java

@@ -205,7 +205,11 @@ public class ExtractConfig implements Serializable {
 	}
 
 	public void setScrambling_the_question_order(Short scrambling_the_question_order) {
-		this.scrambling_the_question_order = scrambling_the_question_order;
+		if(scrambling_the_question_order==null){
+			this.scrambling_the_question_order = 0;
+		}else{
+			this.scrambling_the_question_order = scrambling_the_question_order;
+		}
 	}
 
 	public Short getScrambling_the_option_order() {
@@ -213,7 +217,11 @@ public class ExtractConfig implements Serializable {
 	}
 
 	public void setScrambling_the_option_order(Short scrambling_the_option_order) {
-		this.scrambling_the_option_order = scrambling_the_option_order;
+		if(scrambling_the_option_order==null){
+			this.scrambling_the_option_order = 0;
+		}else{
+			this.scrambling_the_option_order = scrambling_the_option_order;
+		}
 	}
 
 	public Map<String, String> getFinishedPaperIdMap() {

+ 6 - 4
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ExtractConfigServiceImpl.java

@@ -103,11 +103,11 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		Map<String, String> finishedPaperIdMap = new HashMap<String, String>();
 		//取出调卷规则
 		ExtractConfig extractConfig = this.findConfigById(extractConfigId);
+		if(extractConfig==null){
+			throw new RuntimeException("调卷规则不存在");
+		}
 		//获得抽取好的试卷
 		Map<String,Paper> paperMap = this.getExamPaperByProbability(extractConfig.getExamPaperList());
-        if(paperMap==null){
-        	return;
-        }
         for (Map.Entry<String, Paper> entry : paperMap.entrySet()) {
         	String key = entry.getKey();
         	//根据原有试卷重新组卷得到新试卷
@@ -197,7 +197,9 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		while (it.hasNext()) {
 			String key = it.next();
 			Paper paper = this.getPaperByProbability(examPaperMap.get(key));
-			paperByTypeMap.put(key,paper);
+			//不能用原来的paper对象,否则examPaperList中的paper对象会被覆盖
+			Paper newPaper =paperRepo.findOne(paper.getId());
+			paperByTypeMap.put(key,newPaper);
 		}
         return paperByTypeMap;
 	}

+ 20 - 5
cqb-paper/src/main/java/com/qmth/cqb/paper/web/ExtractConfigController.java

@@ -2,6 +2,8 @@ package com.qmth.cqb.paper.web;
 
 import java.util.Map;
 
+import javax.servlet.http.HttpServletRequest;
+
 import io.swagger.annotations.ApiOperation;
 
 import org.apache.commons.collections4.map.HashedMap;
@@ -15,6 +17,8 @@ import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
+
 import com.qmth.cqb.paper.model.ExtractConfig;
 import com.qmth.cqb.paper.service.ExtractConfigService;
 
@@ -51,22 +55,33 @@ public class ExtractConfigController {
 	
 	@ApiOperation(value = "保存调卷规则", notes = "保存调卷规则")
     @PutMapping(value = "/extractConfig")
-	public Map<String,Object> saveExtractConfig(@RequestBody ExtractConfig extractConfig){
+	public Map<String,Object> saveExtractConfig(HttpServletRequest request,@RequestBody ExtractConfig extractConfig){
 		Map<String,Object> paramsMap = new HashedMap<String,Object>();
 		try{
+			AccessUser user = (AccessUser) request.getAttribute("accessUser");
+			extractConfig.setOrgId(user.getOrgId()+"");
 			extractConfigService.saveExtractConfig(extractConfig);
 			paramsMap.put("errMsg", "保存成功");
-			paramsMap.put("status", "save success");
+			paramsMap.put("status", "success");
 		}catch(Exception e){
 			paramsMap.put("errMsg", "保存失败");
-			paramsMap.put("status", "save failed");
+			paramsMap.put("status", "failed");
 		}
 		return paramsMap;
 	}
 	
 	@ApiOperation(value = "根据调卷规则生成试卷", notes = "根据调卷规则生成试卷")
     @PutMapping(value = "/makePaperByConfig")
-	public void makePaperByConfig(String id){
-		
+	public Map<String,Object> makePaperByConfig(String id){
+		Map<String,Object> paramsMap = new HashedMap<String,Object>();
+		try{
+			extractConfigService.makePaperByConfig(id);
+			paramsMap.put("errMsg", "试卷生成成功");
+			paramsMap.put("status", "success");
+		}catch(Exception e){
+			paramsMap.put("errMsg", "试卷生成失败");
+			paramsMap.put("status", "failed");
+		}
+		return paramsMap;
 	}
 }