|
@@ -12,6 +12,7 @@ import cn.com.qmth.examcloud.core.questions.dao.QuesPkgPathRepo;
|
|
|
import cn.com.qmth.examcloud.core.questions.dao.entity.*;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.bson.types.ObjectId;
|
|
|
import org.docx4j.XmlUtils;
|
|
|
import org.docx4j.dml.CTPositiveSize2D;
|
|
|
import org.docx4j.dml.wordprocessingDrawing.Inline;
|
|
@@ -35,6 +36,7 @@ import org.springframework.data.mongodb.core.query.Query;
|
|
|
import org.springframework.data.mongodb.core.query.Update;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
|
|
|
import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
|
|
|
import cn.com.qmth.examcloud.core.questions.dao.PaperDetailUnitRepo;
|
|
|
import cn.com.qmth.examcloud.core.questions.dao.PaperRepo;
|
|
@@ -607,7 +609,29 @@ public class QuesServiceImpl implements QuesService{
|
|
|
query.addCriteria(Criteria.where("quesProperties").elemMatch(Criteria.where("firstProperty.id").is(Long.valueOf(searchCondition.getFirstPropertyId()))));
|
|
|
}
|
|
|
}
|
|
|
- long count = this.mongoTemplate.count(query, Question.class);
|
|
|
+ long count = 0;
|
|
|
+ List<Question> questionList = this.mongoTemplate.find(query,Question.class);
|
|
|
+ if(questionList == null || questionList.size()<1){
|
|
|
+ return count;
|
|
|
+ }
|
|
|
+ List<String> oIds = new ArrayList<String>();
|
|
|
+ for (Question unit : questionList) {
|
|
|
+ oIds.add(unit.getId());
|
|
|
+ }
|
|
|
+ List<ObjectId> objectIds = new ArrayList<ObjectId>();
|
|
|
+ for(String id:oIds){
|
|
|
+ objectIds.add(new ObjectId(id));
|
|
|
+ }
|
|
|
+ Query query2=new Query();
|
|
|
+ query2.addCriteria(Criteria.where("question.$id").in(objectIds));
|
|
|
+ query2.addCriteria(Criteria.where("paperType").is(PaperType.IMPORT));
|
|
|
+ List<PaperDetailUnit> paperDetailUnits = this.mongoTemplate.find(query2, PaperDetailUnit.class);
|
|
|
+ for(PaperDetailUnit unit:paperDetailUnits){
|
|
|
+ String quesNames = searchCondition.getQuesNames();
|
|
|
+ if(quesNames.contains(unit.getPaperDetail().getName())){
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
return count;
|
|
|
}
|
|
|
|