|
@@ -21,6 +21,7 @@ import com.qmth.teachcloud.common.service.MarkPaperService;
|
|
import com.qmth.teachcloud.common.service.MarkQuestionService;
|
|
import com.qmth.teachcloud.common.service.MarkQuestionService;
|
|
import com.qmth.teachcloud.mark.entity.MarkGroup;
|
|
import com.qmth.teachcloud.mark.entity.MarkGroup;
|
|
import com.qmth.teachcloud.mark.entity.MarkTask;
|
|
import com.qmth.teachcloud.mark.entity.MarkTask;
|
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkUserGroup;
|
|
import com.qmth.teachcloud.mark.mapper.MarkGroupMapper;
|
|
import com.qmth.teachcloud.mark.mapper.MarkGroupMapper;
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
@@ -46,16 +47,14 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private MarkQuestionService markQuestionService;
|
|
private MarkQuestionService markQuestionService;
|
|
-
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private MarkGroupService markGroupService;
|
|
@Resource
|
|
@Resource
|
|
private MarkPaperService markPaperService;
|
|
private MarkPaperService markPaperService;
|
|
-
|
|
|
|
@Resource
|
|
@Resource
|
|
private MarkUserGroupService markUserGroupService;
|
|
private MarkUserGroupService markUserGroupService;
|
|
-
|
|
|
|
@Resource
|
|
@Resource
|
|
private MarkUserClassService markUserClassService;
|
|
private MarkUserClassService markUserClassService;
|
|
-
|
|
|
|
@Resource
|
|
@Resource
|
|
private MarkTaskService markTaskService;
|
|
private MarkTaskService markTaskService;
|
|
@Resource
|
|
@Resource
|
|
@@ -184,7 +183,7 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
markGroupProgressDto.setTaskCount(groupNumberMarkTask.size());
|
|
markGroupProgressDto.setTaskCount(groupNumberMarkTask.size());
|
|
markGroupProgressDto.setMarkedCount(markTaskService.markedCount(groupNumberMarkTask));
|
|
markGroupProgressDto.setMarkedCount(markTaskService.markedCount(groupNumberMarkTask));
|
|
markGroupProgressDto.setLeftCount(markGroupProgressDto.getTaskCount() - markGroupProgressDto.getMarkedCount());
|
|
markGroupProgressDto.setLeftCount(markGroupProgressDto.getTaskCount() - markGroupProgressDto.getMarkedCount());
|
|
- markGroupProgressDto.setCurrentCount(markService.applyCurrentCount());
|
|
|
|
|
|
+ markGroupProgressDto.setCurrentCount(markService.applyCurrentCount(markGroup));
|
|
markGroupProgressDto.setPercent(markTaskService.calcPercent(markGroupProgressDto.getMarkedCount(), markGroupProgressDto.getTaskCount()));
|
|
markGroupProgressDto.setPercent(markTaskService.calcPercent(markGroupProgressDto.getMarkedCount(), markGroupProgressDto.getTaskCount()));
|
|
markGroupProgressDto.setArbitrateCount(markTaskService.waitArbitrateCount(groupNumberMarkTask));
|
|
markGroupProgressDto.setArbitrateCount(markTaskService.waitArbitrateCount(groupNumberMarkTask));
|
|
markGroupProgressDtoList.add(markGroupProgressDto);
|
|
markGroupProgressDtoList.add(markGroupProgressDto);
|
|
@@ -202,16 +201,27 @@ public class MarkGroupServiceImpl extends ServiceImpl<MarkGroupMapper, MarkGroup
|
|
for (MarkGroupClassProgressDto markGroupClassProgressDto : markGroupClassProgressDtoIPage.getRecords()) {
|
|
for (MarkGroupClassProgressDto markGroupClassProgressDto : markGroupClassProgressDtoIPage.getRecords()) {
|
|
List<MarkTask> totalMarkTaskList = new ArrayList<>();
|
|
List<MarkTask> totalMarkTaskList = new ArrayList<>();
|
|
List<MarkUser> totalMarkUserList = new ArrayList<>();
|
|
List<MarkUser> totalMarkUserList = new ArrayList<>();
|
|
|
|
+ int count = 0;
|
|
for (String s : markGroupClassProgressDto.getGroupNumbers().split(",")) {
|
|
for (String s : markGroupClassProgressDto.getGroupNumbers().split(",")) {
|
|
Integer groupNumber = Integer.parseInt(s);
|
|
Integer groupNumber = Integer.parseInt(s);
|
|
totalMarkTaskList.addAll(markTaskService.listByExamIdAndPaperNumberAndGroupNumberAndUserId(examId, paperNumber, groupNumber, null));
|
|
totalMarkTaskList.addAll(markTaskService.listByExamIdAndPaperNumberAndGroupNumberAndUserId(examId, paperNumber, groupNumber, null));
|
|
totalMarkUserList.addAll(markUserGroupService.listGroupUserByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, groupNumber));
|
|
totalMarkUserList.addAll(markUserGroupService.listGroupUserByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, groupNumber));
|
|
|
|
+
|
|
|
|
+ MarkGroup markGroup = markGroupService.getByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, groupNumber);
|
|
|
|
+ List<MarkUser> markUserList = markUserClassService.listClassMarkerByExamIdAndPaperNumberAndGroupNumberAndClassName(examId, paperNumber, groupNumber, markGroupClassProgressDto.getClassName());
|
|
|
|
+ for (MarkUser markUser : markUserList) {
|
|
|
|
+ MarkUserGroup markUserGroup = markUserGroupService.getByExamIdAndPaperNumberAndGroupNumberAndUserId(examId, paperNumber, groupNumber, markUser.getUserId());
|
|
|
|
+ if (markUserGroup != null) {
|
|
|
|
+ int markerCount = markService.applyCurrentCount(markGroup);
|
|
|
|
+ count += markerCount;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
markGroupClassProgressDto.setMarkerCount(totalMarkUserList.size());
|
|
markGroupClassProgressDto.setMarkerCount(totalMarkUserList.size());
|
|
markGroupClassProgressDto.setTaskCount(totalMarkTaskList.size());
|
|
markGroupClassProgressDto.setTaskCount(totalMarkTaskList.size());
|
|
markGroupClassProgressDto.setMarkedCount(markTaskService.markedCount(totalMarkTaskList));
|
|
markGroupClassProgressDto.setMarkedCount(markTaskService.markedCount(totalMarkTaskList));
|
|
markGroupClassProgressDto.setLeftCount(markGroupClassProgressDto.getTaskCount() - markGroupClassProgressDto.getMarkedCount());
|
|
markGroupClassProgressDto.setLeftCount(markGroupClassProgressDto.getTaskCount() - markGroupClassProgressDto.getMarkedCount());
|
|
- markGroupClassProgressDto.setCurrentCount(markService.applyCurrentCount());
|
|
|
|
|
|
+ markGroupClassProgressDto.setCurrentCount(count);
|
|
markGroupClassProgressDto.setPercent(markTaskService.calcPercent(markGroupClassProgressDto.getMarkedCount(), markGroupClassProgressDto.getTaskCount()));
|
|
markGroupClassProgressDto.setPercent(markTaskService.calcPercent(markGroupClassProgressDto.getMarkedCount(), markGroupClassProgressDto.getTaskCount()));
|
|
markGroupClassProgressDto.setArbitrateCount(markTaskService.waitArbitrateCount(totalMarkTaskList));
|
|
markGroupClassProgressDto.setArbitrateCount(markTaskService.waitArbitrateCount(totalMarkTaskList));
|
|
}
|
|
}
|