|
@@ -183,7 +183,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
- public boolean deleteGradeBatchPaper(Long batchId, List<Long> idList) {
|
|
|
|
|
|
+ public void deleteGradeBatchPaper(Long batchId, List<Long> idList) {
|
|
for (Long id : idList) {
|
|
for (Long id : idList) {
|
|
GradeBatchPaper gradeBatchPaper = this.getById(id);
|
|
GradeBatchPaper gradeBatchPaper = this.getById(id);
|
|
if (GradeAnalyzePaperStatusEnum.CALCULATING.equals(gradeBatchPaper.getStatus())) {
|
|
if (GradeAnalyzePaperStatusEnum.CALCULATING.equals(gradeBatchPaper.getStatus())) {
|
|
@@ -203,7 +203,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
// 更新enale=false
|
|
// 更新enale=false
|
|
UpdateWrapper<GradeBatchPaper> updateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<GradeBatchPaper> updateWrapper = new UpdateWrapper<>();
|
|
updateWrapper.lambda().set(GradeBatchPaper::getEnable, false).in(GradeBatchPaper::getId, idList);
|
|
updateWrapper.lambda().set(GradeBatchPaper::getEnable, false).in(GradeBatchPaper::getId, idList);
|
|
- return this.update(updateWrapper);
|
|
|
|
|
|
+ this.update(updateWrapper);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -254,6 +254,46 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
public void updatePaperAndBatchStatus(Long schoolId, String paperNumber, String paperType) {
|
|
public void updatePaperAndBatchStatus(Long schoolId, String paperNumber, String paperType) {
|
|
|
|
+ if (this.analyzeDataReady(schoolId, paperNumber, paperType)) {
|
|
|
|
+ List<GradeBatchPaper> gradeBatchPaperList = this.list(new QueryWrapper<GradeBatchPaper>().lambda()
|
|
|
|
+ .eq(GradeBatchPaper::getSchoolId, schoolId)
|
|
|
|
+ .eq(GradeBatchPaper::getPaperNumber, paperNumber)
|
|
|
|
+ .eq(GradeBatchPaper::getPaperType, paperType));
|
|
|
|
+ // 如果所有数据都有,则更新状态
|
|
|
|
+ // 更新批次科目状态
|
|
|
|
+ for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
|
|
|
|
+ gradeBatchPaper.setStatus(GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
|
|
|
|
+ this.updateById(gradeBatchPaper);
|
|
|
|
+
|
|
|
|
+ // 更新批次状态
|
|
|
|
+ GradeBatch gradeBatch = gradeBatchService.getById(gradeBatchPaper.getBatchId());
|
|
|
|
+ // 批次未推送成功,不更新状态
|
|
|
|
+ if (GradeAnalyzePaperStatusEnum.PUSH_GRADE_BATCH.equals(gradeBatch.getStatus())) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if (GradeAnalyzePaperStatusEnum.FINISH_CALCULATE.equals(gradeBatch.getStatus())) {
|
|
|
|
+ gradeBatch.setStatus(GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
|
|
|
|
+ gradeBatchService.updateById(gradeBatch);
|
|
|
|
+ } else {
|
|
|
|
+ QueryWrapper<GradeBatchPaper> queryWrapperList = new QueryWrapper<>();
|
|
|
|
+ queryWrapperList.lambda().eq(GradeBatchPaper::getBatchId, gradeBatchPaper.getBatchId());
|
|
|
|
+ List<GradeBatchPaper> gradeBatchPaperAll = this.list(queryWrapperList);
|
|
|
|
+ if (!gradeBatchPaperAll.isEmpty()) {
|
|
|
|
+ long count = gradeBatchPaperAll.stream().filter(m -> !GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE.equals(m.getStatus())).count();
|
|
|
|
+ if (count == 0) {
|
|
|
|
+ // 更新批次状态
|
|
|
|
+ UpdateWrapper<GradeBatch> updateWrapper = new UpdateWrapper<>();
|
|
|
|
+ updateWrapper.lambda().set(GradeBatch::getStatus, GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE).eq(GradeBatch::getId, gradeBatchPaper.getBatchId());
|
|
|
|
+ gradeBatchService.update(updateWrapper);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public boolean analyzeDataReady(Long schoolId, String paperNumber, String paperType) {
|
|
// 检验维度数据存在
|
|
// 检验维度数据存在
|
|
boolean dimensionExist = gradePaperDimensionService.list(new QueryWrapper<GradePaperDimension>().lambda()
|
|
boolean dimensionExist = gradePaperDimensionService.list(new QueryWrapper<GradePaperDimension>().lambda()
|
|
.eq(GradePaperDimension::getSchoolId, schoolId)
|
|
.eq(GradePaperDimension::getSchoolId, schoolId)
|
|
@@ -261,7 +301,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
.eq(GradePaperDimension::getPaperType, paperType))
|
|
.eq(GradePaperDimension::getPaperType, paperType))
|
|
.size() > 0;
|
|
.size() > 0;
|
|
if (!dimensionExist) {
|
|
if (!dimensionExist) {
|
|
- return;
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
// 检验结构数据存在
|
|
// 检验结构数据存在
|
|
boolean structExist = gradePaperStructService.list(new QueryWrapper<GradePaperStruct>().lambda()
|
|
boolean structExist = gradePaperStructService.list(new QueryWrapper<GradePaperStruct>().lambda()
|
|
@@ -270,7 +310,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
.eq(GradePaperStruct::getPaperType, paperType))
|
|
.eq(GradePaperStruct::getPaperType, paperType))
|
|
.size() > 0;
|
|
.size() > 0;
|
|
if (!structExist) {
|
|
if (!structExist) {
|
|
- return;
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
// 检验试卷基础分析数据存在
|
|
// 检验试卷基础分析数据存在
|
|
boolean paperExist = gradePaperService.list(new QueryWrapper<GradePaper>()
|
|
boolean paperExist = gradePaperService.list(new QueryWrapper<GradePaper>()
|
|
@@ -280,7 +320,7 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
.eq(GradePaper::getPaperType, paperType))
|
|
.eq(GradePaper::getPaperType, paperType))
|
|
.size() > 0;
|
|
.size() > 0;
|
|
if (!paperExist) {
|
|
if (!paperExist) {
|
|
- return;
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
// 精熟度定义数据存在
|
|
// 精熟度定义数据存在
|
|
boolean moduleDefineExist = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
|
|
boolean moduleDefineExist = gradeModuleDefineService.list(new QueryWrapper<GradeModuleDefine>()
|
|
@@ -290,53 +330,15 @@ public class GradeBatchPaperServiceImpl extends ServiceImpl<GradeBatchPaperMappe
|
|
.eq(GradeModuleDefine::getPaperType, paperType))
|
|
.eq(GradeModuleDefine::getPaperType, paperType))
|
|
.size() > 0;
|
|
.size() > 0;
|
|
if (!moduleDefineExist) {
|
|
if (!moduleDefineExist) {
|
|
- return;
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
|
|
+
|
|
// 模块评价数据存在
|
|
// 模块评价数据存在
|
|
- boolean moduleEvaluationExist = gradeModuleEvaluationService.list(new QueryWrapper<GradeModuleEvaluation>()
|
|
|
|
|
|
+ return gradeModuleEvaluationService.list(new QueryWrapper<GradeModuleEvaluation>()
|
|
.lambda()
|
|
.lambda()
|
|
.eq(GradeModuleEvaluation::getSchoolId, schoolId)
|
|
.eq(GradeModuleEvaluation::getSchoolId, schoolId)
|
|
.eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
|
|
.eq(GradeModuleEvaluation::getPaperNumber, paperNumber)
|
|
.eq(GradeModuleEvaluation::getPaperType, paperType))
|
|
.eq(GradeModuleEvaluation::getPaperType, paperType))
|
|
.size() > 0;
|
|
.size() > 0;
|
|
-
|
|
|
|
- if (!moduleEvaluationExist) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<GradeBatchPaper> gradeBatchPaperList = this.list(new QueryWrapper<GradeBatchPaper>().lambda()
|
|
|
|
- .eq(GradeBatchPaper::getSchoolId, schoolId)
|
|
|
|
- .eq(GradeBatchPaper::getPaperNumber, paperNumber)
|
|
|
|
- .eq(GradeBatchPaper::getPaperType, paperType));
|
|
|
|
- // 如果所有数据都有,则更新状态
|
|
|
|
- // 更新批次科目状态
|
|
|
|
- for (GradeBatchPaper gradeBatchPaper : gradeBatchPaperList) {
|
|
|
|
- gradeBatchPaper.setStatus(GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
|
|
|
|
- this.updateById(gradeBatchPaper);
|
|
|
|
-
|
|
|
|
- // 更新批次状态
|
|
|
|
- GradeBatch gradeBatch = gradeBatchService.getById(gradeBatchPaper.getBatchId());
|
|
|
|
- // 批次未推送成功,不更新状态
|
|
|
|
- if (GradeAnalyzePaperStatusEnum.PUSH_GRADE_BATCH.equals(gradeBatch.getStatus())) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
- if (GradeAnalyzePaperStatusEnum.FINISH_CALCULATE.equals(gradeBatch.getStatus())) {
|
|
|
|
- gradeBatch.setStatus(GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE);
|
|
|
|
- gradeBatchService.updateById(gradeBatch);
|
|
|
|
- } else {
|
|
|
|
- QueryWrapper<GradeBatchPaper> queryWrapperList = new QueryWrapper<>();
|
|
|
|
- queryWrapperList.lambda().eq(GradeBatchPaper::getBatchId, gradeBatchPaper.getBatchId());
|
|
|
|
- List<GradeBatchPaper> gradeBatchPaperAll = this.list(queryWrapperList);
|
|
|
|
- if (!gradeBatchPaperAll.isEmpty()) {
|
|
|
|
- long count = gradeBatchPaperAll.stream().filter(m -> !GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE.equals(m.getStatus())).count();
|
|
|
|
- if (count == 0) {
|
|
|
|
- // 更新批次状态
|
|
|
|
- UpdateWrapper<GradeBatch> updateWrapper = new UpdateWrapper<>();
|
|
|
|
- updateWrapper.lambda().set(GradeBatch::getStatus, GradeAnalyzePaperStatusEnum.READY_TO_CALCULATE).eq(GradeBatch::getId, gradeBatchPaper.getBatchId());
|
|
|
|
- gradeBatchService.update(updateWrapper);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|