|
@@ -16,8 +16,8 @@ import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.teachcloud.common.enums.GradeAnalyzePaperStatusEnum;
|
|
|
import com.qmth.teachcloud.common.enums.TaskResultEnum;
|
|
|
import com.qmth.teachcloud.common.enums.TaskStatusEnum;
|
|
|
-import com.qmth.teachcloud.common.service.BasicSemesterService;
|
|
|
import com.qmth.teachcloud.common.kit.TeachCloudReportTaskUtils;
|
|
|
+import com.qmth.teachcloud.common.service.BasicSemesterService;
|
|
|
import com.qmth.teachcloud.common.util.Base64Util;
|
|
|
import com.qmth.teachcloud.common.util.ShaUtils;
|
|
|
import org.slf4j.Logger;
|
|
@@ -75,7 +75,8 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
if (basicSemester == null) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("学期不存在");
|
|
|
}
|
|
|
- thirdSemesterId = teachCloudReportTaskUtils.syncSemester(schoolId, thirdSemesterId, basicSemester.getName(), basicSemester.getStartTime(), basicSemester.getEndTime(), true);
|
|
|
+ thirdSemesterId = teachCloudReportTaskUtils.syncSemester(schoolId, thirdSemesterId, basicSemester.getName(),
|
|
|
+ basicSemester.getStartTime(), basicSemester.getEndTime(), true);
|
|
|
if (thirdSemesterId == null) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("学期同步失败");
|
|
|
}
|
|
@@ -83,7 +84,8 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
gradeBatch.setThirdSemesterId(thirdSemesterId);
|
|
|
|
|
|
|
|
|
- thirdExamId = teachCloudReportTaskUtils.syncExam(schoolId, thirdExamId, gradeBatch.getBatchName(), gradeBatch.getBatchTime(), String.valueOf(thirdSemesterId), true);
|
|
|
+ thirdExamId = teachCloudReportTaskUtils.syncExam(schoolId, thirdExamId, gradeBatch.getBatchName(),
|
|
|
+ gradeBatch.getBatchTime(), String.valueOf(thirdSemesterId), true);
|
|
|
if (thirdExamId == null) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("考试同步失败");
|
|
|
}
|
|
@@ -96,7 +98,8 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
List<GradeBatchPaper> gradeBatchPaperList = gradeBatchPaperService.list(queryWrapper);
|
|
|
for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
|
|
|
String courseCode = gradeBatchPaper.getPaperNumber() + gradeBatchPaper.getPaperType();
|
|
|
- boolean syncCourse = teachCloudReportTaskUtils.syncCourse(schoolId, String.valueOf(thirdExamId), courseCode, gradeBatchPaper.getPaperName(), gradeBatchPaper.getPaperType(), gradeBatchPaper.getTeachCollegeName(), gradeBatchPaper.getEnable());
|
|
|
+ boolean syncCourse = teachCloudReportTaskUtils.syncCourse(schoolId, String.valueOf(thirdExamId),
|
|
|
+ courseCode, gradeBatchPaper.getPaperName(), gradeBatchPaper.getPaperType(), gradeBatchPaper.getTeachCollegeName(), gradeBatchPaper.getEnable());
|
|
|
if (syncCourse) {
|
|
|
|
|
|
if (!gradeBatchPaper.getEnable()) {
|
|
@@ -104,9 +107,13 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
}
|
|
|
|
|
|
QueryWrapper<GradeBatchPaper> gradeBatchPaperQueryWrapper = new QueryWrapper<>();
|
|
|
- gradeBatchPaperQueryWrapper.lambda().eq(GradeBatchPaper::getSchoolId, schoolId).eq(GradeBatchPaper::getPaperNumber, gradeBatchPaper.getPaperNumber()).eq(GradeBatchPaper::getPaperType, gradeBatchPaper.getPaperType());
|
|
|
+ gradeBatchPaperQueryWrapper.lambda().eq(GradeBatchPaper::getSchoolId, schoolId)
|
|
|
+ .eq(GradeBatchPaper::getExamId, examId)
|
|
|
+ .eq(GradeBatchPaper::getPaperNumber, gradeBatchPaper.getPaperNumber()).eq(GradeBatchPaper::getPaperType, gradeBatchPaper.getPaperType());
|
|
|
List<GradeBatchPaper> gradeBatchPapers = gradeBatchPaperService.list(gradeBatchPaperQueryWrapper);
|
|
|
- long count = gradeBatchPapers.stream().filter(m -> GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE.equals(m.getStatus()) || GradeAnalyzePaperStatusEnum.CALCULATING.equals(m.getStatus()) || GradeAnalyzePaperStatusEnum.FINISH_CALCULATE.equals(m.getStatus())).count();
|
|
|
+ long count = gradeBatchPapers.stream()
|
|
|
+ .filter(m -> GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE.equals(m.getStatus()) || GradeAnalyzePaperStatusEnum.CALCULATING.equals(m.getStatus())
|
|
|
+ || GradeAnalyzePaperStatusEnum.FINISH_CALCULATE.equals(m.getStatus())).count();
|
|
|
|
|
|
|
|
|
gradeBatchPaper.setGradeCourseCode(courseCode);
|
|
@@ -121,11 +128,13 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
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();
|
|
|
- gradeBatch.setStatus(batchCount > 0 ? GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM : GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
|
|
|
+ long batchCount = gradeBatchPaperList.stream()
|
|
|
+ .filter(m -> m.getEnable() && GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM.equals(m.getStatus())).count();
|
|
|
+ gradeBatch.setStatus(batchCount > 0 ?
|
|
|
+ GradeAnalyzePaperStatusEnum.SETTING_GRADE_PAPER_PARAM :
|
|
|
+ GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
result = TaskResultEnum.SUCCESS;
|
|
|
} catch (Exception e) {
|
|
@@ -177,7 +186,8 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
errorMessage = e.getMessage();
|
|
|
if (e instanceof ApiException) {
|
|
|
|
|
|
- if (SystemConstant.strNotNull(errorMessage) && errorMessage.contains("【") && errorMessage.contains("】") && errorMessage.contains("[") && errorMessage.contains("]")) {
|
|
|
+ if (SystemConstant.strNotNull(errorMessage) && errorMessage.contains("【") && errorMessage.contains("】")
|
|
|
+ && errorMessage.contains("[") && errorMessage.contains("]")) {
|
|
|
String code = errorMessage.substring(errorMessage.indexOf("[") + 1, errorMessage.indexOf("]"));
|
|
|
|
|
|
if (String.valueOf(ExceptionResultEnum.PAPER_STRUCT_EXCEPTION.getCode()).equals(code)) {
|
|
@@ -186,14 +196,14 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
remark = paperNumber;
|
|
|
errorMessage = errorMessage.substring(0, errorMessage.indexOf("["));
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -259,21 +269,22 @@ public class DataSyncReportServiceImpl implements DataSyncReportService {
|
|
|
Long thirdExamId = gradeBatch.getThirdExamId();
|
|
|
|
|
|
|
|
|
- List<GradeBatchPaper> gradeBatchPaperList = gradeBatchPaperService.list(new QueryWrapper<GradeBatchPaper>()
|
|
|
- .lambda()
|
|
|
- .eq(GradeBatchPaper::getSchoolId, schoolId)
|
|
|
- .eq(GradeBatchPaper::getBatchId, gradeBatch.getId()));
|
|
|
+ List<GradeBatchPaper> gradeBatchPaperList = gradeBatchPaperService.list(
|
|
|
+ new QueryWrapper<GradeBatchPaper>().lambda().eq(GradeBatchPaper::getSchoolId, schoolId).eq(GradeBatchPaper::getBatchId, gradeBatch.getId()));
|
|
|
|
|
|
if (gradeBatchPaperList != null && gradeBatchPaperList.size() > 0) {
|
|
|
List<GradeBatchPaper> enableGradeBatchPaperList = gradeBatchPaperList.stream().filter(GradeBatchPaper::getEnable).collect(Collectors.toList());
|
|
|
if (enableGradeBatchPaperList.size() > 0) {
|
|
|
List<String> cantDeleteBatchNameList = enableGradeBatchPaperList.stream().map(GradeBatchPaper::getPaperNumber).collect(Collectors.toList());
|
|
|
- throw ExceptionResultEnum.ERROR.exception("成绩分析批次存在分析课程【" + String.join(",", cantDeleteBatchNameList) + "】,不能删除,请先删除分析课程");
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(
|
|
|
+ "成绩分析批次存在分析课程【" + String.join(",", cantDeleteBatchNameList) + "】,不能删除,请先删除分析课程");
|
|
|
} else {
|
|
|
|
|
|
for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
|
|
|
String courseCode = gradeBatchPaper.getPaperNumber() + gradeBatchPaper.getPaperType();
|
|
|
- boolean syncCourse = teachCloudReportTaskUtils.syncCourse(schoolId, String.valueOf(thirdExamId), courseCode, gradeBatchPaper.getPaperName(), gradeBatchPaper.getPaperType(), gradeBatchPaper.getTeachCollegeName(), gradeBatchPaper.getEnable());
|
|
|
+ boolean syncCourse = teachCloudReportTaskUtils.syncCourse(schoolId, String.valueOf(thirdExamId),
|
|
|
+ courseCode, gradeBatchPaper.getPaperName(), gradeBatchPaper.getPaperType(),
|
|
|
+ gradeBatchPaper.getTeachCollegeName(), gradeBatchPaper.getEnable());
|
|
|
if (syncCourse) {
|
|
|
|
|
|
gradeBatchPaperService.removeById(gradeBatchPaper.getId());
|