|
@@ -1121,7 +1121,87 @@ public class ImportPaperService {
|
|
|
return pText.replaceAll("\\["+word+"\\]","").replaceAll("[:|:]", "").trim();
|
|
|
}
|
|
|
|
|
|
- public static void main(String[] args){
|
|
|
+ /**
|
|
|
+ * 克隆试卷
|
|
|
+ * @param paperId
|
|
|
+ * @param paperName
|
|
|
+ * @param courseNo
|
|
|
+ * @param user
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Map<String, Object> clonePaper(String paperId, String paperName, String courseNo, AccessUser user){
|
|
|
+ Map<String, Object> map = new HashMap<String, Object>();
|
|
|
+ String msg = paperService.checkPaperName(paperName, user.getRootOrgId().toString());
|
|
|
+ if (msg != null) {
|
|
|
+ map.put("msg", msg);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ //根据paperId查询试卷
|
|
|
+ Paper oldPaper = paperRepo.findOne(paperId);
|
|
|
+ if(oldPaper == null){
|
|
|
+ msg = "克隆试卷不存在";
|
|
|
+ map.put("msg", msg);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ //克隆原试卷所有属性
|
|
|
+ Paper newPaper = cloneOldPaper(oldPaper,paperName,courseNo,user);
|
|
|
+ //克隆所有大题和小题
|
|
|
+ clonePaperDetails(newPaper,oldPaper,paperName,user);
|
|
|
+ map.put("msg", "success");
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ //克隆所有大题和小题
|
|
|
+ private void clonePaperDetails(Paper newPaper, Paper oldPaper,String paperName,AccessUser user) {
|
|
|
+ List<PaperDetail> oldPaperDetails = paperDetailRepo.findByPaperOrderByNumber(oldPaper);
|
|
|
+ if(oldPaperDetails != null && oldPaperDetails.size() >0){
|
|
|
+ for(PaperDetail oldPaperDetail:oldPaperDetails){
|
|
|
+ PaperDetail paperDetail = new PaperDetail();
|
|
|
+ //给大题对象属性赋值
|
|
|
+ paperDetail.setPaper(newPaper);
|
|
|
+ paperDetail.setNumber(oldPaperDetail.getNumber());
|
|
|
+ paperDetail.setName(oldPaperDetail.getName());
|
|
|
+ paperDetail.setTitle(oldPaperDetail.getTitle());
|
|
|
+ paperDetail.setScore(oldPaperDetail.getScore());
|
|
|
+ paperDetail.setUnitCount(oldPaperDetail.getUnitCount());
|
|
|
+ paperDetail.setCreator(user.getName());
|
|
|
+ paperDetail.setCreateTime(CommonUtils.getCurDateTime());
|
|
|
+ paperDetail = paperDetailRepo.save(paperDetail);
|
|
|
+ //查询大题下面所有小题
|
|
|
+ List<PaperDetailUnit> oldPaperDetailUnits = paperDetailUnitRepo.findByPaperDetailOrderByNumber(oldPaperDetail);
|
|
|
+ for(PaperDetailUnit oldPaperDetailUnit:oldPaperDetailUnits){
|
|
|
+ PaperDetailUnit paperDetailUnit = new PaperDetailUnit();
|
|
|
+ paperDetailUnit.setPaper(newPaper);
|
|
|
+ paperDetailUnit.setNumber(oldPaperDetailUnit.getNumber());
|
|
|
+ paperDetailUnit.setScore(oldPaperDetailUnit.getScore());
|
|
|
+ paperDetailUnit.setSubScoreList(oldPaperDetailUnit.getSubScoreList());
|
|
|
+ paperDetailUnit.setPaperDetail(paperDetail);
|
|
|
+ paperDetailUnit.setQuestionType(oldPaperDetailUnit.getQuestionType());
|
|
|
+ paperDetailUnit.setQuestion(oldPaperDetailUnit.getQuestion());
|
|
|
+ paperDetailUnit.setOptionOrder(oldPaperDetailUnit.getOptionOrder());
|
|
|
+ paperDetailUnit.setCreator(user.getName());
|
|
|
+ paperDetailUnit.setCreateTime(CommonUtils.getCurDateTime());
|
|
|
+ paperDetailUnit.setPaperType(oldPaperDetailUnit.getPaperType());
|
|
|
+ paperDetailUnitRepo.save(paperDetailUnit);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //克隆原试卷所有属性
|
|
|
+ private Paper cloneOldPaper(Paper oldPaper,String paperName,String courseNo, AccessUser user) {
|
|
|
+ Course course = courseRepo.findFirstByCodeAndOrgId(courseNo,user.getRootOrgId().toString());
|
|
|
+ oldPaper.setName(paperName);
|
|
|
+ oldPaper.setCreateTime(CommonUtils.getCurDateTime());
|
|
|
+ oldPaper.setLastModifyName(user.getName());
|
|
|
+ oldPaper.setOrgId(user.getRootOrgId().toString());
|
|
|
+ oldPaper.setCourse(course);
|
|
|
+ oldPaper.setId(null);
|
|
|
+ return paperRepo.save(oldPaper);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args){
|
|
|
try {
|
|
|
File file = new File("/Users/songyue/Downloads/行政组织学A卷.docx");
|
|
|
File outFile = new File("/Users/songyue/Downloads/行政组织学A1卷.docx");
|