|
@@ -101,11 +101,30 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public void deleteGroupByExamIdAndPaperNumberAndGroupNumber(Long examId, String paperNumber, Integer groupNumber) {
|
|
|
- UpdateWrapper<MarkGroup> updateWrapper = new UpdateWrapper<>();
|
|
|
- updateWrapper.lambda().eq(MarkGroup::getExamId, examId)
|
|
|
+ // 删除分组
|
|
|
+ UpdateWrapper<MarkGroup> markGroupUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ markGroupUpdateWrapper.lambda().eq(MarkGroup::getExamId, examId)
|
|
|
.eq(MarkGroup::getPaperNumber, paperNumber)
|
|
|
.eq(MarkGroup::getNumber, groupNumber);
|
|
|
- this.remove(updateWrapper);
|
|
|
+ this.remove(markGroupUpdateWrapper);
|
|
|
+ // 删除评卷员
|
|
|
+ UpdateWrapper<MarkUserGroup> markUserGroupUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ markUserGroupUpdateWrapper.lambda().eq(MarkUserGroup::getExamId, examId)
|
|
|
+ .eq(MarkUserGroup::getPaperNumber, paperNumber)
|
|
|
+ .eq(MarkUserGroup::getGroupNumber, groupNumber);
|
|
|
+ markUserGroupService.remove(markUserGroupUpdateWrapper);
|
|
|
+
|
|
|
+ // 清除题目分组号
|
|
|
+ UpdateWrapper<MarkQuestion> markQuestionUpdateWrapper = new UpdateWrapper<>();
|
|
|
+ markQuestionUpdateWrapper.lambda().set(MarkQuestion::getGroupNumber, null)
|
|
|
+ .eq(MarkQuestion::getExamId, examId)
|
|
|
+ .eq(MarkQuestion::getPaperNumber, paperNumber)
|
|
|
+ .eq(MarkQuestion::getGroupNumber, groupNumber);
|
|
|
+ markQuestionService.update(markQuestionUpdateWrapper);
|
|
|
+
|
|
|
+ // 更新MarkPaper中groupStatus
|
|
|
+ markPaperService.updateGroupStatusByExamIdAndPaperNumber(false, examId, paperNumber);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -294,20 +313,22 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
|
throw ExceptionResultEnum.ERROR.exception("请选择评卷员");
|
|
|
}
|
|
|
List<MarkUserGroup> markUserGroupList = markUserGroupService.listByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, markGroupDto.getGroupNumber());
|
|
|
+ List<Long> userIds = new ArrayList<>();
|
|
|
if (CollectionUtils.isNotEmpty(markUserGroupList)) {
|
|
|
- List<Long> userIds = markUserGroupList.stream().map(MarkUserGroup::getUserId).collect(Collectors.toList());
|
|
|
- List<MarkUserGroup> markUserGroups = new ArrayList<>();
|
|
|
- for (MarkUser marker : markGroupDto.getMarkers()) {
|
|
|
- if (userIds.contains(marker.getUserId())) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- markUserGroups.add(new MarkUserGroup(examId, paperNumber, markGroupDto.getGroupNumber(), marker.getUserId(), markPaper.getMarkMode()));
|
|
|
- }
|
|
|
- if (CollectionUtils.isNotEmpty(markUserGroups)) {
|
|
|
- markUserGroupService.saveBatch(markUserGroups);
|
|
|
+ userIds = markUserGroupList.stream().map(MarkUserGroup::getUserId).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ List<MarkUserGroup> markUserGroups = new ArrayList<>();
|
|
|
+ for (MarkUser marker : markGroupDto.getMarkers()) {
|
|
|
+ if (userIds.contains(marker.getUserId())) {
|
|
|
+ continue;
|
|
|
}
|
|
|
+ markUserGroups.add(new MarkUserGroup(examId, paperNumber, markGroupDto.getGroupNumber(), marker.getUserId(), markPaper.getMarkMode()));
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isNotEmpty(markUserGroups)) {
|
|
|
+ markUserGroupService.saveBatch(markUserGroups);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 更新MarkPaper中groupStatus
|
|
|
long groupNumberIsNull = markQuestionService.countQuestionByExamIdAndPaperNumberAndGroupNumberIsNull(examId, paperNumber, false);
|
|
|
markPaperService.updateGroupStatusByExamIdAndPaperNumber(groupNumberIsNull == 0, examId, paperNumber);
|
|
@@ -342,6 +363,13 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
|
markGroup.setPicList(JSON.toJSONString(markGroupDto.getPictureConfigs()));
|
|
|
this.updateById(markGroup);
|
|
|
|
|
|
+ // 结构分组号
|
|
|
+ markQuestionService.updateGroupNumberByExamIdAndPaperNumberAndGroupNumber(null, examId, paperNumber, markGroupDto.getGroupNumber());
|
|
|
+ for (MarkQuestion markQuestion : markGroupDto.getQuestions()) {
|
|
|
+ markQuestion.setGroupNumber(markGroupDto.getGroupNumber());
|
|
|
+ markQuestionService.updateById(markQuestion);
|
|
|
+ }
|
|
|
+
|
|
|
List<MarkUserGroup> markUserGroupList = markUserGroupService.listByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, markGroupDto.getGroupNumber());
|
|
|
if (CollectionUtils.isNotEmpty(markUserGroupList)) {
|
|
|
MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|