ソースを参照

分析课程和分析批次删除的部分逻辑问题

caozixuan 3 年 前
コミット
140cf50ecd

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

@@ -114,7 +114,7 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
                     gradeBatchPaperService.updateById(gradeBatchPaper);
                 }
             }
-            if (gradeBatchPaperList.size() == 0) {
+            if (gradeBatchPaperList.stream().noneMatch(GradeBatchPaper::getEnable)) {
                 gradeBatch.setStatus(GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER);
             } else {
                 long batchCount = gradeBatchPaperList.stream().filter(m -> m.getEnable() && GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM.equals(m.getStatus())).count();

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

@@ -174,7 +174,8 @@ public class GradeBatchServiceImpl extends ServiceImpl<GradeBatchMapper, GradeBa
 
             throw ExceptionResultEnum.ERROR.exception("成绩分析批次【" + String.join(",", cantDeleteBatchNameList) + "】存在分析课程,不能删除");
         }
-        if (teachCloudReportTaskUtils.syncDeleteExam(schoolId,thirdExamId)){
+        boolean result = teachCloudReportTaskUtils.syncDeleteExam(schoolId,thirdExamId);
+        if (result){
             this.removeById(id);
         }
     }

+ 11 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/GradePaperStructServiceImpl.java

@@ -261,8 +261,17 @@ public class GradePaperStructServiceImpl extends ServiceImpl<GradePaperStructMap
         String examId = String.valueOf(examPaperStructure.getThirdRelateId());
         // 科目代码(课程代码+卷型+课程序号)
         String subjectCode = examPaperStructure.getCourseCode().concat(examPaperStructure.getPaperType()).concat(examPaperStructure.getSequence());
-        String objective = examPaperStructure.getObjectiveStructure();
-        String cloudInfoJson = cloudMarkingTaskUtils.queryPaperStructure(schoolId, examId, subjectCode, SystemConstant.strNotNull(objective) ? examPaperStructure.getPaperType() : null);
+
+        String paperType = null;
+        String examPaperObj = examPaperStructure.getObjectiveStructure();
+        if (SystemConstant.strNotNull(examPaperObj)) {
+            List<Question> examPaperObjList = JSON.parseArray(examPaperObj, Question.class);
+            if (examPaperObjList != null && examPaperObjList.size() > 0) {
+                paperType = examPaperStructure.getPaperType();
+            }
+        }
+
+        String cloudInfoJson = cloudMarkingTaskUtils.queryPaperStructure(schoolId, examId, subjectCode,paperType);
         examPaperStructure.setCloudInfoJson(cloudInfoJson);
         examPaperStructure.setStructureChange(false);
         examPaperStructureService.updateById(examPaperStructure);

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/sync/TeachCloudReportTaskUtils.java

@@ -165,7 +165,7 @@ public class TeachCloudReportTaskUtils {
             if (jsonObject.containsKey("code")) {
                 String code = jsonObject.getString("code");
                 if ("200".equals(code)) {
-                    return jsonObject.getBoolean("success");
+                    return jsonObject.getBoolean("data");
                 } else {
                     throw ExceptionResultEnum.ERROR.exception(jsonObject.getString("error"));
                 }