|
@@ -12,7 +12,11 @@ import java.util.Set;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Example;
|
|
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.stereotype.Service;
|
|
|
|
+import org.springframework.util.Assert;
|
|
|
|
|
|
import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
|
|
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.dao.QuesRepo;
|
|
import com.qmth.cqb.question.model.QuesOption;
|
|
import com.qmth.cqb.question.model.QuesOption;
|
|
import com.qmth.cqb.question.model.Question;
|
|
import com.qmth.cqb.question.model.Question;
|
|
|
|
+import com.qmth.cqb.utils.enums.PaperType;
|
|
|
|
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
@@ -63,6 +68,9 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
@Autowired
|
|
@Autowired
|
|
private ExamPaperService examPaperService;
|
|
private ExamPaperService examPaperService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private MongoTemplate mongoTemplate;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public ExtractConfig findConfig(ExtractConfig condition) {
|
|
public ExtractConfig findConfig(ExtractConfig condition) {
|
|
if(condition.getExamId()==null){
|
|
if(condition.getExamId()==null){
|
|
@@ -145,6 +153,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
public Paper recombinationPaper(Paper paper,int upSetQuestionOrder,int upSetOptionOrder){
|
|
public Paper recombinationPaper(Paper paper,int upSetQuestionOrder,int upSetOptionOrder){
|
|
List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
|
|
List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
|
|
paper.setId(null);
|
|
paper.setId(null);
|
|
|
|
+ paper.setPaperType(PaperType.PREVIEW);//试卷类型为调卷规则预览卷
|
|
Paper newPaper = paperRepo.save(paper);//重新保存成新的paper
|
|
Paper newPaper = paperRepo.save(paper);//重新保存成新的paper
|
|
for(int i = 0;i<paperDetails.size();i++){
|
|
for(int i = 0;i<paperDetails.size();i++){
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
PaperDetail paperDetail = paperDetails.get(i);
|
|
@@ -281,4 +290,24 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
paperDetailUnit.setId(null);
|
|
paperDetailUnit.setId(null);
|
|
paperDetailUnitRepo.save(paperDetailUnit);//保存新的paperDetailUnit
|
|
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;
|
|
|
|
+ }
|
|
}
|
|
}
|