|
@@ -1,21 +1,6 @@
|
|
|
package com.qmth.cqb.paper.service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.HashSet;
|
|
|
-import java.util.Iterator;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-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.domain.Page;
|
|
|
-import org.springframework.data.domain.PageRequest;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
+import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
|
|
|
import com.google.gson.Gson;
|
|
|
import com.qmth.cqb.paper.dao.ExamPaperRepo;
|
|
|
import com.qmth.cqb.paper.dao.PaperDetailRepo;
|
|
@@ -24,11 +9,7 @@ import com.qmth.cqb.paper.dao.PaperRepo;
|
|
|
import com.qmth.cqb.paper.dto.PaperDetailExp;
|
|
|
import com.qmth.cqb.paper.dto.PaperDetailUnitExp;
|
|
|
import com.qmth.cqb.paper.dto.PaperExp;
|
|
|
-import com.qmth.cqb.paper.model.ExamPaper;
|
|
|
-import com.qmth.cqb.paper.model.Paper;
|
|
|
-import com.qmth.cqb.paper.model.PaperDetail;
|
|
|
-import com.qmth.cqb.paper.model.PaperDetailUnit;
|
|
|
-import com.qmth.cqb.paper.model.PaperSearchInfo;
|
|
|
+import com.qmth.cqb.paper.model.*;
|
|
|
import com.qmth.cqb.question.dao.QuesBakRepo;
|
|
|
import com.qmth.cqb.question.dao.QuesRepo;
|
|
|
import com.qmth.cqb.question.model.Question;
|
|
@@ -39,8 +20,14 @@ import com.qmth.cqb.utils.BeanCopierUtil;
|
|
|
import com.qmth.cqb.utils.CommonUtils;
|
|
|
import com.qmth.cqb.utils.enums.PaperStatus;
|
|
|
import com.qmth.cqb.utils.enums.PaperType;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.Example;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.domain.PageRequest;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* Created by songyue on 16/12/28.
|
|
@@ -80,7 +67,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 查询所有已导入试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperSearchInfo
|
|
|
* @param curPage
|
|
|
* @param pageSize
|
|
@@ -95,7 +82,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 保存试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperExp
|
|
|
* @return
|
|
|
*/
|
|
@@ -107,7 +94,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 查询所有已组试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperSearchInfo
|
|
|
* @param curPage
|
|
|
* @param pageSize
|
|
@@ -122,7 +109,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 查询考试试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param id
|
|
|
* @param courseCode
|
|
|
* @param groupCode
|
|
@@ -145,7 +132,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 设置考试试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param examId
|
|
|
* @param courseCode
|
|
|
* @param groupCode
|
|
@@ -192,7 +179,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 根据试卷ID获取试卷下面的大题
|
|
|
- *
|
|
|
+ *
|
|
|
* @param id
|
|
|
* @return
|
|
|
*/
|
|
@@ -202,7 +189,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 批量删除试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperIds
|
|
|
*/
|
|
|
public void deletePapers(List<String> paperIds) {
|
|
@@ -213,7 +200,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 批量通过试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperIds
|
|
|
*/
|
|
|
public void passPapers(List<String> paperIds) {
|
|
@@ -226,7 +213,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 批量不通过试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperIds
|
|
|
*/
|
|
|
public void noPassPapers(List<String> paperIds) {
|
|
@@ -239,7 +226,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 批量待审核试卷
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperIds
|
|
|
*/
|
|
|
public void backPapers(List<String> paperIds) {
|
|
@@ -252,7 +239,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 初始化导出试卷DTO
|
|
|
- *
|
|
|
+ *
|
|
|
* @param id
|
|
|
* @return
|
|
|
*/
|
|
@@ -271,8 +258,8 @@ public class PaperService {
|
|
|
for (int i = 0; i < paperDetailExps.size(); i++) {
|
|
|
List<PaperDetailUnit> paperDetailUnits = paperDetailUnitRepo.findByPaperDetail(paperDetails.get(i));
|
|
|
if (paperDetailUnits != null && paperDetailUnits.size() > 0) {
|
|
|
- List<PaperDetailUnitExp> paperDetailUnitExps = BeanCopierUtil.copyPropertiesOfList(paperDetailUnits,
|
|
|
- PaperDetailUnitExp.class);
|
|
|
+ List<PaperDetailUnitExp> paperDetailUnitExps = BeanCopierUtil
|
|
|
+ .copyPropertiesOfList(paperDetailUnits, PaperDetailUnitExp.class);
|
|
|
paperDetailExps.get(i).setPaperDetailUnits(paperDetailUnitExps);
|
|
|
} else {
|
|
|
paperDetailExps.get(i).setUnitCount(0);
|
|
@@ -287,7 +274,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 初始化试卷内容(增加序号)
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperExp
|
|
|
*/
|
|
|
public void initPaper(PaperExp paperExp) {
|
|
@@ -327,7 +314,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 格式化查询条件
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperSearchInfo
|
|
|
*/
|
|
|
public void formatPaperSearchInfo(PaperSearchInfo paperSearchInfo) {
|
|
@@ -347,7 +334,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 填充大题小题数量与分数
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paper
|
|
|
*/
|
|
|
public void formatPaper(Paper paper) {
|
|
@@ -398,7 +385,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 先备份准备删掉的试题,然后再删掉
|
|
|
- *
|
|
|
+ *
|
|
|
* @param questionId
|
|
|
* @return
|
|
|
*/
|
|
@@ -432,7 +419,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 向试卷中插入一个试题
|
|
|
- *
|
|
|
+ *
|
|
|
* @param paperId
|
|
|
* @param paperDetailId
|
|
|
* @return
|
|
@@ -460,7 +447,7 @@ public class PaperService {
|
|
|
|
|
|
/**
|
|
|
* 获取试题所的试卷名称
|
|
|
- *
|
|
|
+ *
|
|
|
* @param questionId
|
|
|
* @return
|
|
|
*/
|
|
@@ -475,7 +462,7 @@ public class PaperService {
|
|
|
}
|
|
|
|
|
|
public Page<Question> listQuestionforSelect(String paperId, int curPage, int pageSize, QuesStructType quesType) {
|
|
|
- List<Question> questions = new ArrayList<Question>();
|
|
|
+ Set<String> paperQuestions = new HashSet<>();
|
|
|
Paper paper = paperRepo.findOne(paperId);
|
|
|
QuestionSearchCondition ques = new QuestionSearchCondition();
|
|
|
if (quesType != null) {
|
|
@@ -486,12 +473,13 @@ public class PaperService {
|
|
|
// ques.setQuesParams(quesParams);
|
|
|
List<PaperDetailUnit> pdus = paperDetailUnitRepo.findByPaper(paper);
|
|
|
for (PaperDetailUnit pdu : pdus) {
|
|
|
- questions.add(pdu.getQuestion());
|
|
|
+ //questions.add(pdu.getQuestion());
|
|
|
+ paperQuestions.add(pdu.getQuestion().getId());
|
|
|
}
|
|
|
Page<Question> allQuestions = quesService.findAll(ques, curPage, pageSize);
|
|
|
Iterator<Question> que = allQuestions.iterator();
|
|
|
while (que.hasNext()) {
|
|
|
- if (questions.contains(que.next())) {
|
|
|
+ if (paperQuestions.contains(que.next().getId())) {
|
|
|
que.remove();
|
|
|
}
|
|
|
}
|