|
@@ -1,8 +1,9 @@
|
|
|
package cn.com.qmth.dp.examcloud.oe.modules.update_fillblank_question_type;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-
|
|
|
+import cn.com.qmth.dp.examcloud.oe.entity.question.Paper;
|
|
|
+import cn.com.qmth.dp.examcloud.oe.entity.question.PaperDetailUnit;
|
|
|
+import cn.com.qmth.dp.examcloud.oe.entity.question.Question;
|
|
|
+import com.mongodb.client.result.UpdateResult;
|
|
|
import org.bson.types.ObjectId;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
@@ -11,66 +12,62 @@ import org.springframework.data.mongodb.core.query.Query;
|
|
|
import org.springframework.data.mongodb.core.query.Update;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import com.mongodb.client.result.UpdateResult;
|
|
|
-
|
|
|
-import cn.com.qmth.dp.examcloud.oe.entity.question.Paper;
|
|
|
-import cn.com.qmth.dp.examcloud.oe.entity.question.PaperDetailUnit;
|
|
|
-import cn.com.qmth.dp.examcloud.oe.entity.question.Question;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* 修改填空题题型
|
|
|
- *
|
|
|
- * @author chenken
|
|
|
- *
|
|
|
*/
|
|
|
@Service
|
|
|
public class UpdateFillblankQuestionTypeService {
|
|
|
- // orgid=137
|
|
|
- @Autowired
|
|
|
- MongoTemplate mongoTemplate;
|
|
|
|
|
|
- public void start() {
|
|
|
- Date start = new Date();
|
|
|
- //查找试卷
|
|
|
- Query query = new Query();
|
|
|
- query.addCriteria(Criteria.where("orgId").is("137").and("paperType").is("IMPORT").and("name").regex("211\\(复制课程\\)"));
|
|
|
- List<Paper> ps = mongoTemplate.find(query, Paper.class, "paper");
|
|
|
- if (ps != null && ps.size() > 0) {
|
|
|
- System.out.println("total:" + ps.size());
|
|
|
- int index = 0;
|
|
|
- long questionCount=0;
|
|
|
- for (Paper paper : ps) {
|
|
|
- index++;
|
|
|
- System.out.println("paper_index:" + index);
|
|
|
- //查找该试卷下的填空题paperDetailUnit
|
|
|
- Query query2 = new Query();
|
|
|
- query2.addCriteria(Criteria.where("paper.$id").is(new ObjectId(paper.getId())).and("questionType").is("FILL_BLANK_QUESTION"));
|
|
|
- List<PaperDetailUnit> ds = mongoTemplate.find(query2, PaperDetailUnit.class, "paperDetailUnit");
|
|
|
- if (ds != null && ds.size() > 0) {
|
|
|
- for (PaperDetailUnit detail : ds) {
|
|
|
- //修改paperDetailUnit的questiontype
|
|
|
- updatePaperDetailUnit(detail.getId());
|
|
|
- //查找该试卷下的填空题paperDetailUnit对应的question
|
|
|
- Query query3 = new Query();
|
|
|
- query3.addCriteria(Criteria.where("_id").is(new ObjectId(detail.getQuestion().getId())));
|
|
|
- List<Question> qs = mongoTemplate.find(query3, Question.class, "question");
|
|
|
- if (qs != null && qs.size() > 0) {
|
|
|
- for (Question qe : qs) {
|
|
|
- //修改paperDetailUnit对应的question 的questiontype
|
|
|
- long ret2=updateQuestion(qe.getId(),qe.getQuesBody());
|
|
|
- questionCount=questionCount+ret2;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- System.out.println("dispose questionCount:" +questionCount);
|
|
|
- } else {
|
|
|
- System.out.println("total:" + 0);
|
|
|
- }
|
|
|
- Date end = new Date();
|
|
|
- System.out.println("*****************end:" + ((end.getTime() - start.getTime()) / (1000 * 60)) + "分钟");
|
|
|
- }
|
|
|
+ @Autowired
|
|
|
+ private MongoTemplate mongoTemplate;
|
|
|
+
|
|
|
+ public void start() {
|
|
|
+ Date start = new Date();
|
|
|
+ //查找试卷
|
|
|
+ Query query = new Query();
|
|
|
+ query.addCriteria(Criteria.where("orgId").is("17511").and("paperType").is("IMPORT").and("name").regex("_2212zk"));
|
|
|
+ List<Paper> ps = mongoTemplate.find(query, Paper.class, "paper");
|
|
|
+ System.out.println("total:" + ps.size());
|
|
|
+
|
|
|
+ if (ps.size() > 0) {
|
|
|
+ int index = 0;
|
|
|
+ long questionCount = 0;
|
|
|
+ for (Paper paper : ps) {
|
|
|
+ index++;
|
|
|
+ System.out.println("paper_index:" + index);
|
|
|
+
|
|
|
+ //查找该试卷下的填空题paperDetailUnit
|
|
|
+ Query query2 = new Query();
|
|
|
+ query2.addCriteria(Criteria.where("paper.$id").is(new ObjectId(paper.getId())).and("questionType").is("FILL_BLANK_QUESTION"));
|
|
|
+ List<PaperDetailUnit> ds = mongoTemplate.find(query2, PaperDetailUnit.class, "paperDetailUnit");
|
|
|
+ if (ds != null && ds.size() > 0) {
|
|
|
+ for (PaperDetailUnit detail : ds) {
|
|
|
+ //修改paperDetailUnit的questiontype
|
|
|
+ updatePaperDetailUnit(detail.getId());
|
|
|
+
|
|
|
+ //查找该试卷下的填空题paperDetailUnit对应的question
|
|
|
+ Query query3 = new Query();
|
|
|
+ query3.addCriteria(Criteria.where("_id").is(new ObjectId(detail.getQuestion().getId())));
|
|
|
+ List<Question> qs = mongoTemplate.find(query3, Question.class, "question");
|
|
|
+ if (qs != null && qs.size() > 0) {
|
|
|
+ for (Question qe : qs) {
|
|
|
+ //修改paperDetailUnit对应的question 的questiontype
|
|
|
+ long ret2 = updateQuestion(qe.getId(), qe.getQuesBody());
|
|
|
+ questionCount = questionCount + ret2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ System.out.println("dispose questionCount:" + questionCount);
|
|
|
+ }
|
|
|
+
|
|
|
+ Date end = new Date();
|
|
|
+ System.out.println("*****************end:" + ((end.getTime() - start.getTime()) / (1000 * 60)) + "分钟");
|
|
|
+ }
|
|
|
|
|
|
public long updatePaperDetailUnit(String paperDetailUnitId) {
|
|
|
// 查询相应的题目
|
|
@@ -82,17 +79,18 @@ public class UpdateFillblankQuestionTypeService {
|
|
|
|
|
|
return res;
|
|
|
}
|
|
|
-
|
|
|
- public long updateQuestion(String questionId,String body) {
|
|
|
+
|
|
|
+ public long updateQuestion(String questionId, String body) {
|
|
|
// 查询相应的题目
|
|
|
Query query = Query.query(Criteria.where("_id").is(new ObjectId(questionId)));
|
|
|
Update update = new Update();
|
|
|
update.set("questionType", "TEXT_ANSWER_QUESTION");
|
|
|
update.set("quesBody", body.replaceAll("###", "______"));
|
|
|
-
|
|
|
+
|
|
|
UpdateResult upResult = mongoTemplate.updateFirst(query, update, "question");
|
|
|
long res = upResult.getMatchedCount();
|
|
|
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
}
|