Bladeren bron

3.4.0 update

xiaofei 11 maanden geleden
bovenliggende
commit
5ec1c75f6b

+ 2 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -1796,9 +1796,8 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
         examPrintPlan.setSchoolId(sysUser.getSchoolId());
         examPrintPlan.setExamId(examTask.getExamId());
         examPrintPlan.setOrgId(sysUser.getOrgId());
-        examPrintPlan.setName(examTask.getCourseName() + examTask.getPaperNumber());
-        examPrintPlan.setExamStartTime(System.currentTimeMillis());
-        examPrintPlan.setExamEndTime(System.currentTimeMillis());
+        BasicCourse basicCourse = basicCourseService.getById(examTask.getCourseId());
+        examPrintPlan.setName((basicCourse != null ? basicCourse.getName() : "") + examTask.getPaperNumber());
         BasicPrintConfig basicPrintConfig = basicPrintConfigService.getByExamId(basicExam.getId());
         List<String> stringList = JSONObject.parseArray(basicPrintConfig.getPrintContent(), String.class);
         if (!stringList.contains("PAPER")) {

+ 1 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintCommonServiceImpl.java

@@ -28,7 +28,6 @@ import com.qmth.teachcloud.common.enums.*;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.*;
 import com.qmth.teachcloud.mark.entity.MarkPaper;
-import com.qmth.teachcloud.mark.service.MarkPaperService;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.io.FilenameUtils;
@@ -896,7 +895,7 @@ public class PrintCommonServiceImpl implements PrintCommonService {
                     }
                 }
             } else {
-                if (ExamModelEnum.MODEL1.equals(basicExam.getExamModel()) || ExamModelEnum.MODEL4.equals(basicExam.getExamModel())) {
+                if (ExamModelEnum.MODEL1.equals(basicExam.getExamModel())) {
                     // 自动关联考生表中数据,并生成考场信息
                     List<ExamDetail> examDetailList1 = examTaskService.matchBasicExamStudent(basicExam, examTask, examTaskDetail, user);
                     if (CollectionUtils.isNotEmpty(examDetailList1)) {

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/TeachcloudCommonServiceImpl.java

@@ -512,7 +512,7 @@ public class TeachcloudCommonServiceImpl implements TeachcloudCommonService {
                 pathUrl = fileStoreUtil.getPrivateUrl(path, uploadFileEnum.getFssType());
             }
         } else {
-            pathUrl = fileStoreUtil.getPrivateUrl(path, fileStoreUtil.getUploadEnumByPath(path).getFssType());
+            pathUrl = fileStoreUtil.getPrivateUrlExpire(path, fileStoreUtil.getUploadEnumByPath(path).getFssType(), isExpire);
         }
         return pathUrl;
     }

+ 2 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkService.java

@@ -99,4 +99,6 @@ public interface MarkService {
     void calcObjectiveScore(MarkPaper markPaper);
 
     void updateMarkGroupStatus(Long examId, String paperNumber);
+
+    void checkStudentSubjectiveScore(Long examId, String coursePaperId, long groupCount, long unGroupQuestionCount);
 }

+ 14 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkQuestionServiceImpl.java

@@ -7,6 +7,7 @@ import java.util.stream.Stream;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import com.qmth.teachcloud.mark.service.*;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -34,9 +35,6 @@ import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.mark.mapper.MarkQuestionMapper;
 import com.qmth.teachcloud.mark.params.MarkObjectiveQuestionParams;
 import com.qmth.teachcloud.mark.params.MarkQuestionParams;
-import com.qmth.teachcloud.mark.service.MarkGroupService;
-import com.qmth.teachcloud.mark.service.MarkPaperService;
-import com.qmth.teachcloud.mark.service.MarkQuestionService;
 
 /**
  * <p>
@@ -56,6 +54,8 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
     @Resource
     private MarkGroupService markGroupService;
     @Resource
+    private MarkService markService;
+    @Resource
     private FileStoreUtil fileStoreUtil;
 
     @Override
@@ -222,7 +222,18 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
         }
 
         // 主观题结构有变动
+        List<MarkQuestion> subjectiveQuestions = questions.stream().filter(m -> m.getObjective()).collect(Collectors.toList());
+        List<MarkQuestion> subjectiveMarkQuestionList = markQuestionList.stream().filter(m -> m.getObjective()).collect(Collectors.toList());
+        if(!CollectionUtils.isEqualCollection(subjectiveQuestions, subjectiveMarkQuestionList)){
+            // 未分组的题目
+            long unGroupQuestionCount = this.countByExamIdAndPaperNumberAndObjectiveAndGroupNumberIsNull(examId, paperNumber, false);
+            long groupCount = CollectionUtils.size(markGroupService.listGroupByExamIdAndPaperNumber(examId, paperNumber));
+            // 考生主观题重新统分
+            markService.checkStudentSubjectiveScore(examId, markPaper.getCoursePaperId(),groupCount, unGroupQuestionCount);
+        }
 
+        // 更新分组状态
+        markService.updateMarkGroupStatus(examId, paperNumber);
     }
 
     @Override

+ 8 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkServiceImpl.java

@@ -1386,4 +1386,12 @@ public class MarkServiceImpl implements MarkService {
         markPaperService.updateGroupStatusByExamIdAndPaperNumber(groupNumberIsNull == 0, examId, paperNumber);
     }
 
+    @Override
+    public void checkStudentSubjectiveScore(Long examId, String coursePaperId, long groupCount, long unGroupQuestionCount) {
+        List<MarkStudent> markStudentList = markStudentService.listByExamIdAndCoursePaperId(examId, coursePaperId);
+        for (MarkStudent markStudent : markStudentList) {
+            checkStudentSubjective(markStudent.getId(), groupCount, unGroupQuestionCount);
+        }
+    }
+
 }

+ 0 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -33,7 +33,6 @@ import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
 import com.qmth.teachcloud.common.enums.mark.SubjectiveStatus;
 import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
 import com.qmth.teachcloud.common.service.FileUploadService;
-import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.*;
 import com.qmth.teachcloud.mark.bean.UpdateTimeVo;