From c600eb961aee6d178271d334beac7dd19f8fc289 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期五, 17 十月 2025 09:13:22 +0800
Subject: [PATCH] 修改

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java
index 0b7b717..5aa21c6 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java
@@ -212,7 +212,7 @@
         }else{//顺序分配
             int totalPage=totalQuestionCount/questionCount;//不能整除,忽略最后一页
             Random random=new Random();
-            int startIndex=random.nextInt(totalPage)+1;
+            int startIndex=random.nextInt(totalPage);
             questions=questionMapper.selectQuestionWithLimit(currentUser.getCompanyId(), bankId,questionTypeEnum.getCode(),startIndex, questionCount);
         }
         List<ExPaperQuestion> paperQuestionList=questions.stream().map(item -> {
@@ -234,9 +234,9 @@
             throw new ApiException("试卷名称已存在");
         }
         //校验考卷下是否有学员
-        if(checkPaperHasStudent(examPaper.getId())){
-            throw new ApiException("该试卷下已分配学员,不能编辑");
-        }
+//        if(checkPaperHasStudent(examPaper.getId())){
+//            throw new ApiException("该试卷下已分配学员,不能编辑");
+//        }
         examPaper.setCode(null);//编号不能修改
         if(examPaper.getLimitTime()>0){
             examPaper.setLimited(1);
@@ -249,19 +249,19 @@
             throw new ApiException("更新试卷失败");
         }
         //重新分配题
-        if(examPaper.getSingleRebuild()==1){
+        if(examPaper.getSingleNum()!=null && examPaper.getSingleRebuild()==1 && examPaper.getSingleNum()>0 ){
             deletePaperQuestion(examPaper.getId(),QuestionTypeEnum.SINGLE);
             assignSingleQuestion(examPaper);
         }
-        if(examPaper.getMultiRebuild()==1) {
+        if( examPaper.getMultiNum()!=null && examPaper.getMultiRebuild()==1 && examPaper.getMultiNum()>0) {
            deletePaperQuestion(examPaper.getId(),QuestionTypeEnum.MULTI);
            assignMultiQuestion(examPaper);
         }
-        if(examPaper.getJudgeRebuild()==1) {
+        if(examPaper.getJudgeNum()!=null && examPaper.getJudgeRebuild()==1 && examPaper.getJudgeNum()>0) {
            deletePaperQuestion(examPaper.getId(),QuestionTypeEnum.JUDGE);
            assignJudgeQuestion(examPaper);
         }
-        if(examPaper.getEasyRebuild()==1) {
+        if(examPaper.getEasyNum()!=null && examPaper.getEasyRebuild()==1 && examPaper.getEasyNum()>0) {
             deletePaperQuestion(examPaper.getId(),QuestionTypeEnum.EASY);
             assignEasyQuestion(examPaper);
         }

--
Gitblit v1.9.2