|
@@ -1,7 +1,9 @@
|
|
package com.qmth.cqb.paper.service;
|
|
package com.qmth.cqb.paper.service;
|
|
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
|
|
+import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.HashSet;
|
|
import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -22,6 +24,7 @@ import org.springframework.data.mongodb.core.MongoTemplate;
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.util.Assert;
|
|
|
|
|
|
import com.google.gson.Gson;
|
|
import com.google.gson.Gson;
|
|
import com.qmth.cqb.paper.dao.ExamPaperRepo;
|
|
import com.qmth.cqb.paper.dao.ExamPaperRepo;
|
|
@@ -46,6 +49,7 @@ import com.qmth.cqb.utils.BeanCopierUtil;
|
|
import com.qmth.cqb.utils.CommonUtils;
|
|
import com.qmth.cqb.utils.CommonUtils;
|
|
import com.qmth.cqb.utils.enums.PaperStatus;
|
|
import com.qmth.cqb.utils.enums.PaperStatus;
|
|
import com.qmth.cqb.utils.enums.PaperType;
|
|
import com.qmth.cqb.utils.enums.PaperType;
|
|
|
|
+import com.sun.org.apache.bcel.internal.generic.NEW;
|
|
|
|
|
|
import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
|
|
import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
|
|
import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
|
|
import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
|
|
@@ -746,5 +750,42 @@ public class PaperService {
|
|
return paperRepo.findByIdNotInAndCourseNoAndOrgIdAndPaperType(selectedIds, paperSearchInfo.getCourseNo(),
|
|
return paperRepo.findByIdNotInAndCourseNoAndOrgIdAndPaperType(selectedIds, paperSearchInfo.getCourseNo(),
|
|
paperSearchInfo.getOrgId(), PaperType.IMPORT, page);
|
|
paperSearchInfo.getOrgId(), PaperType.IMPORT, page);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 将选中的导入试卷复制为卷库试卷
|
|
|
|
+ */
|
|
|
|
+ public void useBasePaper(String selectedPaperIds,String userId){
|
|
|
|
+ Assert.hasLength(selectedPaperIds, "试卷id不能为空!");
|
|
|
|
+ String[] paperIds = selectedPaperIds.split(",");
|
|
|
|
+ for(int i = 0;i<paperIds.length;i++){
|
|
|
|
+ Paper oldpaper = paperRepo.findOne(paperIds[i]);
|
|
|
|
+ List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(oldpaper);
|
|
|
|
+ oldpaper.setId(null);
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String createTime = sdf.format(new Date());
|
|
|
|
+ oldpaper.setCreateTime(createTime);
|
|
|
|
+ oldpaper.setCreator(userId);
|
|
|
|
+ oldpaper.setLastModifyName(userId);
|
|
|
|
+ oldpaper.setPaperType(PaperType.GENERATE);//试卷类型 修改为组卷
|
|
|
|
+ Paper newPaper = paperRepo.save(oldpaper);
|
|
|
|
+ for(int j = 0;j<paperDetails.size();j++){
|
|
|
|
+ PaperDetail paperDetail = paperDetails.get(j);
|
|
|
|
+ List<PaperDetailUnit> paperDetailUnits = paperDetailUnitService.getUnitsByPaperDetail(paperDetail);
|
|
|
|
+ paperDetail.setPaper(newPaper);//关联新Paper
|
|
|
|
+ paperDetail.setId(null);
|
|
|
|
+ paperDetail.setCreateTime(createTime);
|
|
|
|
+ paperDetail.setCreator(userId);
|
|
|
|
+ PaperDetail newPaperDetail = paperDetailRepo.save(paperDetail);//保存新的paperDetail
|
|
|
|
+ for(int k = 0;k<paperDetailUnits.size();k++){
|
|
|
|
+ //重新设置保存PaperDetailUnit
|
|
|
|
+ PaperDetailUnit paperDetailUnit = paperDetailUnits.get(k);
|
|
|
|
+ paperDetailUnit.setPaper(newPaper); //关联新Paper
|
|
|
|
+ paperDetailUnit.setPaperDetail(newPaperDetail); //关联新paperDetail
|
|
|
|
+ paperDetailUnit.setId(null);
|
|
|
|
+ paperDetailUnit.setCreateTime(createTime);
|
|
|
|
+ paperDetailUnit.setCreator(userId);
|
|
|
|
+ paperDetailUnitRepo.save(paperDetailUnit);//保存新的paperDetailUnit
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|