Bladeren bron

Merge remote-tracking branch 'origin/dev0410' into dev0410

宋悦 8 jaren geleden
bovenliggende
commit
d4e84ac311

+ 44 - 43
cqb-comm-utils/src/main/java/com/qmth/cqb/utils/enums/PaperType.java

@@ -1,43 +1,44 @@
-package com.qmth.cqb.utils.enums;
-
-/**
- * Created by songyue on 17/3/15.
- */
-public enum PaperType {
-
-    IMPORT(1L,"导入"),
-    GENERATE(2L,"组卷");
-
-
-    private Long id;
-    private String name;
-
-    private PaperType(Long id, String name) {
-        this.id = id;
-        this.name = name;;
-    }
-
-    private PaperType(){
-
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String toString(){
-        return getName();
-    }
-}
+package com.qmth.cqb.utils.enums;
+
+/**
+ * Created by songyue on 17/3/15.
+ */
+public enum PaperType {
+
+    IMPORT(1L,"导入"),
+    GENERATE(2L,"组卷"),
+    PREVIEW(3L,"调卷规则预览卷");
+
+
+    private Long id;
+    private String name;
+
+    private PaperType(Long id, String name) {
+        this.id = id;
+        this.name = name;;
+    }
+
+    private PaperType(){
+
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String toString(){
+        return getName();
+    }
+}

+ 6 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ExtractConfigService.java

@@ -1,5 +1,6 @@
 package com.qmth.cqb.paper.service;
 
+import java.util.List;
 import java.util.Map;
 
 import com.qmth.cqb.paper.model.ExtractConfig;
@@ -49,4 +50,9 @@ public interface ExtractConfigService {
 	 * @return
 	 */
 	public Paper recombinationPaper(Paper paper,int upSetQuestionOrder,int upSetOptionOrder);
+	/**
+	 * 根据courseNo和orgId取出所有被引用的试卷 ID
+	 * @return
+	 */
+	public List<String> getExamPaperId(String courseCode,String orgId);
 }

+ 29 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ExtractConfigServiceImpl.java

@@ -12,7 +12,11 @@ import java.util.Set;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Example;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
 import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
 
 import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
 
@@ -28,6 +32,7 @@ import com.qmth.cqb.paper.model.PaperDetailUnit;
 import com.qmth.cqb.question.dao.QuesRepo;
 import com.qmth.cqb.question.model.QuesOption;
 import com.qmth.cqb.question.model.Question;
+import com.qmth.cqb.utils.enums.PaperType;
 
 /**
  * 
@@ -63,6 +68,9 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
     @Autowired
     private ExamPaperService examPaperService;
     
+    @Autowired
+    private MongoTemplate mongoTemplate;
+    
 	@Override
 	public ExtractConfig findConfig(ExtractConfig condition) {
 		if(condition.getExamId()==null){
@@ -145,6 +153,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 	public Paper recombinationPaper(Paper paper,int upSetQuestionOrder,int upSetOptionOrder){
 		List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
 		paper.setId(null);
+		paper.setPaperType(PaperType.PREVIEW);//试卷类型为调卷规则预览卷
 		Paper newPaper = paperRepo.save(paper);//重新保存成新的paper
 		for(int i = 0;i<paperDetails.size();i++){
 			PaperDetail paperDetail = paperDetails.get(i);
@@ -281,4 +290,24 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
 		paperDetailUnit.setId(null);
 		paperDetailUnitRepo.save(paperDetailUnit);//保存新的paperDetailUnit
 	}
+
+	@Override
+	public List<String> getExamPaperId(String courseCode,String orgId) {
+		Assert.hasLength(courseCode,"courseCode不能为空");
+		Assert.hasLength(orgId,"orgId不能为空");
+		List<String> paperIdList = new ArrayList<String>();
+		Query query = new Query();
+		query.addCriteria(Criteria.where("courseCode").is(courseCode));
+		query.addCriteria(Criteria.where("orgId").is(orgId));
+		List<ExtractConfig> extractConfigList = this.mongoTemplate.find(query, ExtractConfig.class);
+		for(ExtractConfig extractConfig:extractConfigList){
+			List<ExamPaper> examPaperList = extractConfig.getExamPaperList();
+			if(examPaperList!=null&&examPaperList.size()>0){
+				for(ExamPaper examPaper:examPaperList){
+					paperIdList.add(examPaper.getPaper().getId());
+				}
+			}
+		}
+		return paperIdList;
+	}
 }