|
@@ -809,36 +809,25 @@ public class MarkServiceImpl implements MarkService {
|
|
|
@Override
|
|
|
public void deleteMarkGroup(MarkGroup markGroup, boolean deleteGroupInfo) {
|
|
|
// 正评相关数据
|
|
|
- markTrackService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(),
|
|
|
- markGroup.getNumber());
|
|
|
- markSpecialTagService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
- markHeaderTrackService.deleteByExamIdAndPaperNumberAndGroupNumberAndStudentId(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber(), null);
|
|
|
- markHeaderTagService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
- markArbitrateHistoryService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
- markProblemHistoryService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
- markTaskService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(),
|
|
|
- markGroup.getNumber());
|
|
|
+ markTrackService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markSpecialTagService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markHeaderTrackService.deleteByExamIdAndPaperNumberAndGroupNumberAndStudentId(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber(), null);
|
|
|
+ markHeaderTagService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markArbitrateHistoryService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markProblemHistoryService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markTaskService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
// 考生分组状态与得分明细
|
|
|
- markGroupStudentService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
- markSubjectiveScoreService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markGroupStudentService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markSubjectiveScoreService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
// 删除分组
|
|
|
releaseByMarkGroup(markGroup);
|
|
|
+ // 删除分组时,同步删除评卷员、分组等信息
|
|
|
if (deleteGroupInfo) {
|
|
|
// 评卷员数据
|
|
|
- markUserGroupService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markUserGroupService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
// 小题数据
|
|
|
- markQuestionService.updateGroupNumberByExamIdAndPaperNumberAndGroupNumber(null, markGroup.getExamId(),
|
|
|
- markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
- markGroupService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(),
|
|
|
- markGroup.getNumber());
|
|
|
+ markQuestionService.updateGroupNumberByExamIdAndPaperNumberAndGroupNumber(null, markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
+ markGroupService.deleteByExamIdAndPaperNumberAndGroupNumber(markGroup.getExamId(), markGroup.getPaperNumber(), markGroup.getNumber());
|
|
|
// 更新MarkPaper中groupStatus
|
|
|
updateMarkGroupStatus(markGroup.getExamId(), markGroup.getPaperNumber());
|
|
|
}
|
|
@@ -846,17 +835,13 @@ public class MarkServiceImpl implements MarkService {
|
|
|
// 未分组的题目
|
|
|
long unGroupQuestionCount = markQuestionService.countByExamIdAndPaperNumberAndObjectiveAndGroupNumberIsNull(
|
|
|
markGroup.getExamId(), markGroup.getPaperNumber(), false);
|
|
|
-
|
|
|
// 考生整体状态与总分更新
|
|
|
long groupCount = markGroupService.countByExamIdAndPaperNumber(markGroup.getExamId(), markGroup.getPaperNumber());
|
|
|
if (groupCount == 0 || unGroupQuestionCount > 0) {
|
|
|
- markStudentService.updateSubjectiveStatusAndScore(markGroup.getExamId(), markGroup.getPaperNumber(),
|
|
|
- SubjectiveStatus.UNMARK, 0D, null);
|
|
|
-// inspectHistoryService.deleteByExamIdAndSubjectCode(group.getExamId(), group.getSubjectCode());
|
|
|
+ markStudentService.updateSubjectiveStatusAndScore(markGroup.getExamId(), markGroup.getPaperNumber(), SubjectiveStatus.UNMARK, 0D, null);
|
|
|
} else {
|
|
|
List<Long> studentList = markStudentService.findIdByExamIdAndPaperNumberAndSubjectiveStatus(
|
|
|
- markGroup.getExamId(), markGroup.getPaperNumber(), SubjectiveStatus.UNMARK,
|
|
|
- SubjectiveStatus.MARKED);
|
|
|
+ markGroup.getExamId(), markGroup.getPaperNumber(), SubjectiveStatus.UNMARK, SubjectiveStatus.MARKED);
|
|
|
for (Long studentId : studentList) {
|
|
|
checkStudentSubjective(studentId, groupCount, unGroupQuestionCount);
|
|
|
}
|