Ver Fonte

试卷结构保存 不校验

caozixuan há 3 anos atrás
pai
commit
0647508a04

+ 41 - 26
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java

@@ -165,7 +165,7 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
                 .eq(GradePaperStruct::getPaperNumber, paperNumber)
                 .eq(GradePaperStruct::getPaperType, paperType));
         this.saveBatch(gradePaperStructList);
-        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId,paperNumber,paperType);
+        gradeBatchPaperService.updatePaperAndBatchStatus(schoolId, paperNumber, paperType);
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -273,7 +273,7 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
             }
         }
 
-        String cloudInfoJson = cloudMarkingTaskUtils.queryPaperStructure(schoolId, examId, subjectCode,paperType);
+        String cloudInfoJson = cloudMarkingTaskUtils.queryPaperStructure(schoolId, examId, subjectCode, paperType);
         examPaperStructure.setCloudInfoJson(cloudInfoJson);
         examPaperStructure.setStructureChange(false);
         examPaperStructureService.updateById(examPaperStructure);
@@ -299,6 +299,44 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
         Long schoolId = requestUser.getSchoolId();
         Long userId = requestUser.getId();
 
+        return datasource.stream().flatMap(e -> {
+            GradePaperStruct gradePaperStruct = new GradePaperStruct();
+            gradePaperStruct.setSchoolId(schoolId);
+            gradePaperStruct.setPaperNumber(paperNumber);
+            gradePaperStruct.setPaperType(paperType);
+            gradePaperStruct.setPaperName(paperName);
+            gradePaperStruct.setQuestionName(e.getBigTopicName() + " " + e.getBigQuestionNumber() + SystemConstant.HYPHEN + e.getSmallQuestionNumber());
+            gradePaperStruct.setNumberType(e.getNumberType());
+            gradePaperStruct.setBigQuestionNumber(e.getBigQuestionNumber());
+            gradePaperStruct.setSmallQuestionNumber(e.getSmallQuestionNumber());
+            gradePaperStruct.setBigTopicName(e.getBigTopicName());
+            gradePaperStruct.setFullScore(e.getFullScore());
+            gradePaperStruct.setScoreRules(e.getScoreRules());
+            if (SystemConstant.strNotNull(e.getKnowledgeDimension())) {
+                gradePaperStruct.setKnowledgeDimension(e.getKnowledgeDimension());
+            }
+            if (SystemConstant.strNotNull(e.getAbilityDimension())) {
+                gradePaperStruct.setAbilityDimension(e.getAbilityDimension());
+            }
+            gradePaperStruct.insertInfo(userId);
+            return Stream.of(gradePaperStruct);
+        }).collect(Collectors.toList());
+    }
+
+    /**
+     * 保存教研分析分析中基础配置命题蓝图设置保存时的数据校验
+     * <p>
+     * 1.优先校验云阅卷试卷结构返回字段
+     * 2.如果云阅卷试卷结构返回字段为空,则和知学知考原字段做比较
+     * </p>
+     *
+     * @param datasource  保存的试卷结构数据集
+     * @param paperNumber 试卷编号
+     * @param paperType   试卷类型
+     * @param requestUser 请求用户
+     */
+    private void checkPaperStructWhenSave(List<GradePaperStructDatasource> datasource, String paperNumber, String paperType, SysUser requestUser) {
+        Long schoolId = requestUser.getSchoolId();
         ExamPaperStructure examPaperStructure = examPaperStructureService.getOne(new QueryWrapper<ExamPaperStructure>()
                 .lambda()
                 .eq(ExamPaperStructure::getSchoolId, schoolId)
@@ -307,7 +345,7 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
         if (Objects.isNull(examPaperStructure)) {
             throw ExceptionResultEnum.ERROR.exception("该试卷还没有上传评卷参数设置");
         }
-        // 客观题
+        //客观题
         List<Question> examPaperObjList = new ArrayList<>();
         // 主观题
         List<Question> examPaperSubList = new ArrayList<>();
@@ -364,28 +402,5 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
             throw ExceptionResultEnum.ERROR.exception(code, "试卷编号为【" + paperNumber + "】,试卷类型为【" + paperType +
                     "】的分析试卷结构和 [" + comparison + "] 试卷结构在【" + QuestionType.SUBJECTIVE.getDesc() + "】上不一致");
         }
-
-        return datasource.stream().flatMap(e -> {
-            GradePaperStruct gradePaperStruct = new GradePaperStruct();
-            gradePaperStruct.setSchoolId(schoolId);
-            gradePaperStruct.setPaperNumber(paperNumber);
-            gradePaperStruct.setPaperType(paperType);
-            gradePaperStruct.setPaperName(paperName);
-            gradePaperStruct.setQuestionName(e.getBigTopicName() + " " + e.getBigQuestionNumber() + SystemConstant.HYPHEN + e.getSmallQuestionNumber());
-            gradePaperStruct.setNumberType(e.getNumberType());
-            gradePaperStruct.setBigQuestionNumber(e.getBigQuestionNumber());
-            gradePaperStruct.setSmallQuestionNumber(e.getSmallQuestionNumber());
-            gradePaperStruct.setBigTopicName(e.getBigTopicName());
-            gradePaperStruct.setFullScore(e.getFullScore());
-            gradePaperStruct.setScoreRules(e.getScoreRules());
-            if (SystemConstant.strNotNull(e.getKnowledgeDimension())) {
-                gradePaperStruct.setKnowledgeDimension(e.getKnowledgeDimension());
-            }
-            if (SystemConstant.strNotNull(e.getAbilityDimension())) {
-                gradePaperStruct.setAbilityDimension(e.getAbilityDimension());
-            }
-            gradePaperStruct.insertInfo(userId);
-            return Stream.of(gradePaperStruct);
-        }).collect(Collectors.toList());
     }
 }