|
@@ -6,6 +6,7 @@ import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+import cn.com.qmth.examcloud.core.questions.service.bean.CouresInfo;
|
|
import cn.com.qmth.examcloud.core.questions.service.bean.PaperDetailDtoAssembler;
|
|
import cn.com.qmth.examcloud.core.questions.service.bean.PaperDetailDtoAssembler;
|
|
import cn.com.qmth.examcloud.core.questions.service.bean.PaperDetailUnitDtoAssembler;
|
|
import cn.com.qmth.examcloud.core.questions.service.bean.PaperDetailUnitDtoAssembler;
|
|
import cn.com.qmth.examcloud.core.questions.service.bean.PaperDtoAssembler;
|
|
import cn.com.qmth.examcloud.core.questions.service.bean.PaperDtoAssembler;
|
|
@@ -29,6 +30,7 @@ import org.springframework.data.mongodb.core.query.Query;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.util.Assert;
|
|
import org.springframework.util.Assert;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import cn.com.qmth.examcloud.core.questions.base.question.PaperDetailDto;
|
|
import cn.com.qmth.examcloud.core.questions.base.question.PaperDetailDto;
|
|
import cn.com.qmth.examcloud.core.questions.base.question.PaperDetailUnitDto;
|
|
import cn.com.qmth.examcloud.core.questions.base.question.PaperDetailUnitDto;
|
|
@@ -67,7 +69,10 @@ import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
|
|
import cn.com.qmth.examcloud.commons.base.exception.StatusException;
|
|
import cn.com.qmth.examcloud.commons.base.exception.StatusException;
|
|
import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
|
|
import cn.com.qmth.examcloud.examwork.api.ExamCloudService;
|
|
import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
|
|
import cn.com.qmth.examcloud.examwork.api.bean.ExamBean;
|
|
|
|
+import cn.com.qmth.examcloud.examwork.api.bean.ExamCourseRelationBean;
|
|
|
|
+import cn.com.qmth.examcloud.examwork.api.request.GetExamCourseListReq;
|
|
import cn.com.qmth.examcloud.examwork.api.request.GetExamReq;
|
|
import cn.com.qmth.examcloud.examwork.api.request.GetExamReq;
|
|
|
|
+import cn.com.qmth.examcloud.examwork.api.response.GetExamCourseListResp;
|
|
import cn.com.qmth.examcloud.examwork.api.response.GetExamResp;
|
|
import cn.com.qmth.examcloud.examwork.api.response.GetExamResp;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -982,7 +987,7 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
extractConfig.setExamType(bean.getExamType());
|
|
extractConfig.setExamType(bean.getExamType());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return new PageImpl<ExtractConfig>(extractConfigList,new PageRequest(currentPage,pageSize),count);
|
|
|
|
|
|
+ return new PageImpl<ExtractConfig>(extractConfigList,new PageRequest(currentPage - 1,pageSize),count);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -1124,22 +1129,53 @@ public class ExtractConfigServiceImpl implements ExtractConfigService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public List<String> findCourseByExtractConfig(Long examId,String orgId) {
|
|
|
|
- List<String> courseCodeList = new ArrayList<String>();
|
|
|
|
|
|
+ public List<CouresInfo> findCourseByExtractConfig(Long examId,String orgId) {
|
|
if(examId == null){
|
|
if(examId == null){
|
|
throw new StatusException("Q-","examId is null");
|
|
throw new StatusException("Q-","examId is null");
|
|
}
|
|
}
|
|
|
|
+ //从考务查询改考试下的所有开启课程
|
|
|
|
+ List<CouresInfo> courseInfoList = new ArrayList<CouresInfo>();
|
|
|
|
+ GetExamCourseListReq req = new GetExamCourseListReq();
|
|
|
|
+ req.setExamId(Long.valueOf(examId));
|
|
|
|
+ req.setCourseEnable(true);
|
|
|
|
+ Long start = 1l;
|
|
|
|
+ int count = 0;
|
|
|
|
+ while (true) {
|
|
|
|
+ req.setStart(start);
|
|
|
|
+ GetExamCourseListResp resp = examCloudService.getExamCourseList(req);
|
|
|
|
+ for(ExamCourseRelationBean bean:resp.getRelationList()){
|
|
|
|
+ CouresInfo info = new CouresInfo(bean);
|
|
|
|
+ courseInfoList.add(info);
|
|
|
|
+ }
|
|
|
|
+ if(start.equals(resp.getNext())){
|
|
|
|
+ break;
|
|
|
|
+ }else {
|
|
|
|
+ start = resp.getNext();
|
|
|
|
+ }
|
|
|
|
+ count++;
|
|
|
|
+ if(count>1000){
|
|
|
|
+ throw new StatusException("Q-", "考试下课程的数据量过大");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(CollectionUtils.isEmpty(courseInfoList)){
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ //查询已经改考试下已经制定的课程的调卷规则
|
|
Query query = new Query();
|
|
Query query = new Query();
|
|
query.addCriteria(Criteria.where("orgId").is(orgId));
|
|
query.addCriteria(Criteria.where("orgId").is(orgId));
|
|
query.addCriteria(Criteria.where("examId").is(examId));
|
|
query.addCriteria(Criteria.where("examId").is(examId));
|
|
List<ExtractConfig> extractConfigList = this.mongoTemplate.find(query, ExtractConfig.class);
|
|
List<ExtractConfig> extractConfigList = this.mongoTemplate.find(query, ExtractConfig.class);
|
|
if(extractConfigList != null && extractConfigList.size()>0){
|
|
if(extractConfigList != null && extractConfigList.size()>0){
|
|
for(ExtractConfig extractConfig:extractConfigList){
|
|
for(ExtractConfig extractConfig:extractConfigList){
|
|
- courseCodeList.add(extractConfig.getCourseCode());
|
|
|
|
|
|
+ CouresInfo info = new CouresInfo();
|
|
|
|
+ info.setCourseCode(extractConfig.getCourseCode());
|
|
|
|
+ if(courseInfoList.contains(info)){
|
|
|
|
+ courseInfoList.remove(info);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- return courseCodeList;
|
|
|
|
|
|
+ return courseInfoList;
|
|
}
|
|
}
|
|
- return courseCodeList;
|
|
|
|
|
|
+ return courseInfoList;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|