deason 2 lat temu
rodzic
commit
8d49e91dd0

+ 57 - 59
src/main/java/cn/com/qmth/dp/examcloud/oe/modules/update_fillblank_question_type/UpdateFillblankQuestionTypeService.java

@@ -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;
     }
+
 }

+ 6 - 0
src/test/java/cn/com/qmth/dp/examcloud/oe/test/ExportTest.java

@@ -7,6 +7,7 @@ import cn.com.qmth.dp.examcloud.oe.modules.fixExamStudentId.FixExamStudentId;
 import cn.com.qmth.dp.examcloud.oe.modules.get_student_answer_detail.GetStduentAnswerDetailService;
 import cn.com.qmth.dp.examcloud.oe.modules.get_student_one_question_answer.GetStduentOneAnswerService;
 import cn.com.qmth.dp.examcloud.oe.modules.update_correct_answer.FixCorrectAnswerAndResetScoreService;
+import cn.com.qmth.dp.examcloud.oe.modules.update_fillblank_question_type.UpdateFillblankQuestionTypeService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +30,9 @@ public class ExportTest {
     @Autowired
     private FixCorrectAnswerAndResetScoreService fixCorrectAnswerAndResetScoreService;
 
+    @Autowired
+    private UpdateFillblankQuestionTypeService updateFillblankQuestionTypeService;
+
     @Autowired
     private FixExamStudentId fixExamStudentId;
 
@@ -38,6 +42,8 @@ public class ExportTest {
     @Test
     public void exportTest() throws Exception {
 
+        // updateFillblankQuestionTypeService.start();
+
         // examRecordDataTool.start();
 
         // fixCorrectAnswerAndResetScoreService.start();