瀏覽代碼

BUG修改

gaoxing 8 年之前
父節點
當前提交
c47ee18caf

+ 1 - 1
cqb-gen-paper/src/main/java/com/qmth/cqb/genpaper/web/GenPaperController.java

@@ -56,7 +56,7 @@ public class GenPaperController {
 
 
             } else if (genPaperDto.getSimpleGenPaperPolicy() == RandomGenPaperPolicy.BY_SCORE) {
             } else if (genPaperDto.getSimpleGenPaperPolicy() == RandomGenPaperPolicy.BY_SCORE) {
                 for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
                 for (int i = 1; i <= genPaperDto.getGenNumber(); i++) {
-                    genPaperDto.setPaperName(genPaperDto.getPaperName() + "_" + i);
+                    genPaperDto.setPaperName(paperName + "_" + i);
                     paperMap.putAll(genPaperService.genPaperByScore(genPaperDto));
                     paperMap.putAll(genPaperService.genPaperByScore(genPaperDto));
                     if (!paperMap.get("msg").equals("success")) {
                     if (!paperMap.get("msg").equals("success")) {
                         break;
                         break;

+ 1 - 1
cqb-paper/src/main/java/com/qmth/cqb/paper/service/ImportPaperService.java

@@ -145,7 +145,7 @@ public class ImportPaperService {
             paperDetailUnitRepo.save(paperDetailUnits);
             paperDetailUnitRepo.save(paperDetailUnits);
         }
         }
 
 
-        paperService.formatPaper(tempPaper);
+        paperService.formatPaper(tempPaper, null);
     }
     }
 
 
     /**
     /**

+ 14 - 11
cqb-paper/src/main/java/com/qmth/cqb/paper/service/PaperDetailUnitService.java

@@ -1,6 +1,11 @@
 package com.qmth.cqb.paper.service;
 package com.qmth.cqb.paper.service;
 
 
-import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
 import com.qmth.cqb.paper.dao.PaperDetailUnitRepo;
 import com.qmth.cqb.paper.dao.PaperDetailUnitRepo;
 import com.qmth.cqb.paper.dto.PaperDetailUnitExp;
 import com.qmth.cqb.paper.dto.PaperDetailUnitExp;
 import com.qmth.cqb.paper.model.Paper;
 import com.qmth.cqb.paper.model.Paper;
@@ -8,11 +13,9 @@ import com.qmth.cqb.paper.model.PaperDetail;
 import com.qmth.cqb.paper.model.PaperDetailUnit;
 import com.qmth.cqb.paper.model.PaperDetailUnit;
 import com.qmth.cqb.question.model.Question;
 import com.qmth.cqb.question.model.Question;
 import com.qmth.cqb.question.service.QuesService;
 import com.qmth.cqb.question.service.QuesService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
 
 
-import java.util.ArrayList;
-import java.util.List;
+import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
+import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
 
 
 @Service
 @Service
 public class PaperDetailUnitService {
 public class PaperDetailUnitService {
@@ -52,11 +55,11 @@ public class PaperDetailUnitService {
      * @param pduExp
      * @param pduExp
      * @return
      * @return
      */
      */
-    public PaperDetailUnit savePaperDetailUnit(PaperDetailUnitExp pduExp) {
+    public PaperDetailUnit savePaperDetailUnit(PaperDetailUnitExp pduExp, AccessUser user) {
         PaperDetailUnit oldPdu = paperDetailUnitRepo.findOne(pduExp.getId());
         PaperDetailUnit oldPdu = paperDetailUnitRepo.findOne(pduExp.getId());
         if (oldPdu.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
         if (oldPdu.getQuestionType() == QuesStructType.NESTED_ANSWER_QUESTION) {
             if (pduExp.getQuestion().getId().equals(oldPdu.getQuestion().getId())) {
             if (pduExp.getQuestion().getId().equals(oldPdu.getQuestion().getId())) {
-                //更新对象为套题本身
+                // 更新对象为套题本身
                 oldPdu.setQuestion(quesService.saveQues(pduExp.getQuestion()));
                 oldPdu.setQuestion(quesService.saveQues(pduExp.getQuestion()));
             } else {
             } else {
                 List<Double> subScoreList = oldPdu.getSubScoreList();
                 List<Double> subScoreList = oldPdu.getSubScoreList();
@@ -79,7 +82,7 @@ public class PaperDetailUnitService {
                 if (match) {
                 if (match) {
                     oldPdu.setQuestion(quesService.saveQues(oldPdu.getQuestion()));
                     oldPdu.setQuestion(quesService.saveQues(oldPdu.getQuestion()));
                 }
                 }
-                //更新套题unit当前总分与子题分数
+                // 更新套题unit当前总分与子题分数
                 oldPdu.setSubScoreList(subScoreList);
                 oldPdu.setSubScoreList(subScoreList);
             }
             }
         } else {
         } else {
@@ -88,7 +91,7 @@ public class PaperDetailUnitService {
         }
         }
         // 同时要跟新小题里面的Qustion对象
         // 同时要跟新小题里面的Qustion对象
         oldPdu = paperDetailUnitRepo.save(oldPdu);
         oldPdu = paperDetailUnitRepo.save(oldPdu);
-        paperService.formatPaper(oldPdu.getPaper());
+        paperService.formatPaper(oldPdu.getPaper(), user);
         return oldPdu;
         return oldPdu;
     }
     }
 
 
@@ -98,10 +101,10 @@ public class PaperDetailUnitService {
      * @param id
      * @param id
      * @return
      * @return
      */
      */
-    public void deletePaperDetailUnit(String id) {
+    public void deletePaperDetailUnit(String id, AccessUser user) {
         Paper paper = paperDetailUnitRepo.findOne(id).getPaper();
         Paper paper = paperDetailUnitRepo.findOne(id).getPaper();
         paperDetailUnitRepo.delete(id);
         paperDetailUnitRepo.delete(id);
-        paperService.formatPaper(paper);
+        paperService.formatPaper(paper, user);
     }
     }
 
 
     /**
     /**

+ 21 - 12
cqb-paper/src/main/java/com/qmth/cqb/paper/service/PaperService.java

@@ -98,10 +98,15 @@ public class PaperService {
      * @param paperExp
      * @param paperExp
      * @return
      * @return
      */
      */
-    public Paper savePaper(PaperExp paperExp) {
-        Paper paper = BeanCopierUtil.copyProperties(paperExp, Paper.class);
-        formatPaper(paper);
-        return paperRepo.save(paper);
+    public Paper savePaper(PaperExp paperExp, AccessUser user) {
+        Paper oldPaper = paperRepo.findOne(paperExp.getId());
+        if (oldPaper != null) {
+            oldPaper.setTitle(paperExp.getTitle());
+            oldPaper.setName(paperExp.getName());
+            oldPaper.setLastModifyName(user.getLoginName());
+            return paperRepo.save(oldPaper);
+        }
+        return null;
     }
     }
 
 
     /**
     /**
@@ -156,7 +161,7 @@ public class PaperService {
         examPaper.setExamId(examId);
         examPaper.setExamId(examId);
         examPaper.setGroupCode(groupCode);
         examPaper.setGroupCode(groupCode);
         examPaper.setCourseCode(courseCode);
         examPaper.setCourseCode(courseCode);
-//        examPaper.setPaperId(paperId);
+        // examPaper.setPaperId(paperId);
         examPaperRepo.save(examPaper);
         examPaperRepo.save(examPaper);
     }
     }
 
 
@@ -165,7 +170,7 @@ public class PaperService {
         examPaper.setExamId(examId);
         examPaper.setExamId(examId);
         examPaper.setGroupCode(groupCode);
         examPaper.setGroupCode(groupCode);
         examPaper.setCourseCode(courseCode);
         examPaper.setCourseCode(courseCode);
-//        examPaper.setPaperId(paperId);
+        // examPaper.setPaperId(paperId);
         examPaperRepo.delete(examPaper);
         examPaperRepo.delete(examPaper);
     }
     }
 
 
@@ -360,7 +365,7 @@ public class PaperService {
      *
      *
      * @param paper
      * @param paper
      */
      */
-    public void formatPaper(Paper paper) {
+    public void formatPaper(Paper paper, AccessUser user) {
         List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
         List<PaperDetail> paperDetails = paperDetailRepo.findByPaper(paper);
         // 计算试卷总分
         // 计算试卷总分
         List<PaperDetailUnit> paperDetailUnitAll = paperDetailUnitRepo.findByPaper(paper);
         List<PaperDetailUnit> paperDetailUnitAll = paperDetailUnitRepo.findByPaper(paper);
@@ -399,6 +404,9 @@ public class PaperService {
         paper.setUnitCount(paperDetailUnitAll.size());
         paper.setUnitCount(paperDetailUnitAll.size());
         paper.setPaperDetailCount(paperDetails.size());
         paper.setPaperDetailCount(paperDetails.size());
         paper.setTotalScore(totalScore);
         paper.setTotalScore(totalScore);
+        if (user != null) {
+            paper.setLastModifyName(user.getLoginName());
+        }
         paperDetailRepo.save(paperDetails);
         paperDetailRepo.save(paperDetails);
         paperRepo.save(paper);
         paperRepo.save(paper);
     }
     }
@@ -409,7 +417,7 @@ public class PaperService {
      * @param questionId
      * @param questionId
      * @return
      * @return
      */
      */
-    public List<String> deleteImportQuestionById(String questionId) {
+    public List<String> deleteImportQuestionById(String questionId, AccessUser user) {
         Question ques = quesRepo.findOne(questionId);
         Question ques = quesRepo.findOne(questionId);
         List<PaperDetailUnit> pdus = CommonUtils.toList(paperDetailUnitRepo.findByQuestion(ques));
         List<PaperDetailUnit> pdus = CommonUtils.toList(paperDetailUnitRepo.findByQuestion(ques));
         List<String> paperNames = new ArrayList<String>();
         List<String> paperNames = new ArrayList<String>();
@@ -430,7 +438,7 @@ public class PaperService {
             quesBakRepo.save(BeanCopierUtil.copyProperties(ques, QuestionBak.class));
             quesBakRepo.save(BeanCopierUtil.copyProperties(ques, QuestionBak.class));
             quesRepo.delete(ques);
             quesRepo.delete(ques);
             for (Paper paper : papers) {
             for (Paper paper : papers) {
-                formatPaper(paper);
+                formatPaper(paper, user);
             }
             }
 
 
         }
         }
@@ -462,7 +470,7 @@ public class PaperService {
         pdu.setNumber(pdus.indexOf(pdu) + 1);
         pdu.setNumber(pdus.indexOf(pdu) + 1);
         pdu.setScore(0d);
         pdu.setScore(0d);
         paperDetailUnitRepo.save(pdu);
         paperDetailUnitRepo.save(pdu);
-        formatPaper(paper);
+        formatPaper(paper, user);
         return paper;
         return paper;
 
 
     }
     }
@@ -508,7 +516,8 @@ public class PaperService {
         return quesService.findByIdExclude(selectedIds, paper.getCourseNo(), quesType, curPage, pageSize);
         return quesService.findByIdExclude(selectedIds, paper.getCourseNo(), quesType, curPage, pageSize);
     }
     }
 
 
-    public Paper selectQuestionsToPaper(String paperId, String paperDetailId, List<Question> questions) {
+    public Paper selectQuestionsToPaper(String paperId, String paperDetailId, List<Question> questions,
+            AccessUser user) {
         Paper paper = paperRepo.findOne(paperId);
         Paper paper = paperRepo.findOne(paperId);
         PaperDetail pd = paperDetailRepo.findOne(paperDetailId);
         PaperDetail pd = paperDetailRepo.findOne(paperDetailId);
         List<PaperDetailUnit> pdus = paperDetailUnitRepo.findByPaperDetail(pd);
         List<PaperDetailUnit> pdus = paperDetailUnitRepo.findByPaperDetail(pd);
@@ -530,7 +539,7 @@ public class PaperService {
         }
         }
 
 
         paperDetailUnitRepo.save(saveUnits);
         paperDetailUnitRepo.save(saveUnits);
-        formatPaper(paper);
+        formatPaper(paper, user);
         return paper;
         return paper;
     }
     }
 
 

+ 12 - 6
cqb-paper/src/main/java/com/qmth/cqb/paper/web/PaperController.java

@@ -86,8 +86,10 @@ public class PaperController {
      */
      */
     @ApiOperation(value = "保存试卷", notes = "保存试卷")
     @ApiOperation(value = "保存试卷", notes = "保存试卷")
     @PutMapping(value = "/paper")
     @PutMapping(value = "/paper")
-    public ResponseEntity savePaperById(@RequestBody PaperExp paper) {
-        return new ResponseEntity(paperService.savePaper(paper), HttpStatus.OK);
+    public ResponseEntity savePaperById(HttpServletRequest request, 
+                                        @RequestBody PaperExp paper) {
+        AccessUser user = (AccessUser) request.getAttribute("accessUser");     
+        return new ResponseEntity(paperService.savePaper(paper,user), HttpStatus.OK);
     }
     }
 
 
     /**
     /**
@@ -275,8 +277,10 @@ public class PaperController {
      */
      */
     @ApiOperation(value = "删除导入试卷中的试题", notes = "删除导入试卷中的试题")
     @ApiOperation(value = "删除导入试卷中的试题", notes = "删除导入试卷中的试题")
     @DeleteMapping(value = "/paper/deleteQuestion/{questionId}")
     @DeleteMapping(value = "/paper/deleteQuestion/{questionId}")
-    public ResponseEntity deleteImportPaperQuestion(@PathVariable String questionId) {
-        List<String> paperNames = paperService.deleteImportQuestionById(questionId);
+    public ResponseEntity deleteImportPaperQuestion(HttpServletRequest request, 
+                                                    @PathVariable String questionId) {
+        AccessUser user = (AccessUser) request.getAttribute("accessUser");
+        List<String> paperNames = paperService.deleteImportQuestionById(questionId,user);
         return new ResponseEntity(paperNames, HttpStatus.OK);
         return new ResponseEntity(paperNames, HttpStatus.OK);
     }
     }
 
 
@@ -406,10 +410,12 @@ public class PaperController {
      */
      */
     @ApiOperation(value = "向导入试卷中的新增试题", notes = "向导入试卷中的新增试题")
     @ApiOperation(value = "向导入试卷中的新增试题", notes = "向导入试卷中的新增试题")
     @PostMapping(value = "/paper/selectQuestions/{paperId}/{paperDetailId}")
     @PostMapping(value = "/paper/selectQuestions/{paperId}/{paperDetailId}")
-    public ResponseEntity selectQuestionsToPaper(@PathVariable String paperId, 
+    public ResponseEntity selectQuestionsToPaper(HttpServletRequest request,
+                                                @PathVariable String paperId, 
                                                 @PathVariable String paperDetailId,
                                                 @PathVariable String paperDetailId,
                                                 @RequestBody List<Question> questions) {
                                                 @RequestBody List<Question> questions) {
-        return new ResponseEntity(paperService.selectQuestionsToPaper(paperId, paperDetailId, questions),HttpStatus.OK);
+        AccessUser user = (AccessUser) request.getAttribute("accessUser");
+        return new ResponseEntity(paperService.selectQuestionsToPaper(paperId, paperDetailId, questions,user),HttpStatus.OK);
 
 
     }
     }
 
 

+ 12 - 6
cqb-paper/src/main/java/com/qmth/cqb/paper/web/PaperDetailUnitController.java

@@ -1,5 +1,7 @@
 package com.qmth.cqb.paper.web;
 package com.qmth.cqb.paper.web;
 
 
+import javax.servlet.http.HttpServletRequest;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.http.ResponseEntity;
@@ -17,6 +19,7 @@ import com.qmth.cqb.paper.model.PaperDetailUnit;
 import com.qmth.cqb.paper.service.PaperDetailUnitService;
 import com.qmth.cqb.paper.service.PaperDetailUnitService;
 import com.qmth.cqb.question.model.Question;
 import com.qmth.cqb.question.model.Question;
 
 
+import cn.com.qmth.examcloud.common.uac.entity.AccessUser;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 
 
 /**
 /**
@@ -61,8 +64,9 @@ public class PaperDetailUnitController {
      */
      */
     @ApiOperation(value = "更新小题", notes = "更新小题")
     @ApiOperation(value = "更新小题", notes = "更新小题")
     @PutMapping(value = "/paperDetailUnit")
     @PutMapping(value = "/paperDetailUnit")
-    public ResponseEntity updatePaperDetailUnit(@RequestBody PaperDetailUnitExp pdu) {
-        PaperDetailUnit pdUnit = unitService.savePaperDetailUnit(pdu);
+    public ResponseEntity updatePaperDetailUnit(HttpServletRequest request, @RequestBody PaperDetailUnitExp pdu) {
+        AccessUser user = (AccessUser) request.getAttribute("accessUser");
+        PaperDetailUnit pdUnit = unitService.savePaperDetailUnit(pdu, user);
         return new ResponseEntity(HttpStatus.OK);
         return new ResponseEntity(HttpStatus.OK);
 
 
     }
     }
@@ -75,8 +79,9 @@ public class PaperDetailUnitController {
      */
      */
     @ApiOperation(value = "新增小题", notes = "新增小题")
     @ApiOperation(value = "新增小题", notes = "新增小题")
     @PostMapping(value = "/paperDetailUnit")
     @PostMapping(value = "/paperDetailUnit")
-    public ResponseEntity addPaperDetailUnit(@RequestBody PaperDetailUnitExp pdu) {
-        PaperDetailUnit pdUnit = unitService.savePaperDetailUnit(pdu);
+    public ResponseEntity addPaperDetailUnit(HttpServletRequest request, @RequestBody PaperDetailUnitExp pdu) {
+        AccessUser user = (AccessUser) request.getAttribute("accessUser");
+        PaperDetailUnit pdUnit = unitService.savePaperDetailUnit(pdu, user);
         return new ResponseEntity(pdUnit, HttpStatus.OK);
         return new ResponseEntity(pdUnit, HttpStatus.OK);
     }
     }
 
 
@@ -88,8 +93,9 @@ public class PaperDetailUnitController {
      */
      */
     @ApiOperation(value = "删除小题", notes = "删除小题")
     @ApiOperation(value = "删除小题", notes = "删除小题")
     @DeleteMapping(value = "/paperDetailUnit/{unitId}")
     @DeleteMapping(value = "/paperDetailUnit/{unitId}")
-    public ResponseEntity removePaperDetailUnit(@PathVariable String unitId) {
-        unitService.deletePaperDetailUnit(unitId);
+    public ResponseEntity removePaperDetailUnit(HttpServletRequest request, @PathVariable String unitId) {
+        AccessUser user = (AccessUser) request.getAttribute("accessUser");
+        unitService.deletePaperDetailUnit(unitId, user);
         return new ResponseEntity(HttpStatus.OK);
         return new ResponseEntity(HttpStatus.OK);
     }
     }