|
@@ -139,40 +139,27 @@ public class GroupingService {
|
|
|
* @param objectMap
|
|
|
*/
|
|
|
public void getGroupMarkersProgress(Long workId, MarkSubject markSubject, List<Long> userMarkLeaders, Long markerId, boolean isTotalMarkLeader, Map<String, Object> objectMap) {
|
|
|
- long t1 = System.currentTimeMillis();
|
|
|
List<Map<String, Object>> groupMarkers = new ArrayList<>();
|
|
|
List<Map<String, List<Long>>> groupLeaderAndMarkers = markerGroupLeaderService.listGroupLeaderAndMarkersByWorkIdAndSubjectAndStage(workId, markSubject.getSubject(), markSubject.getStage());
|
|
|
if (!isTotalMarkLeader && Objects.nonNull(markerId)) {
|
|
|
groupLeaderAndMarkers = groupLeaderAndMarkers.stream().filter(m -> m.get("markLeaders").contains(markerId)).collect(Collectors.toList());
|
|
|
}
|
|
|
- long t2 = System.currentTimeMillis();
|
|
|
- System.out.println("t2-t1:" + (t2 - t1));
|
|
|
if (!CollectionUtils.isEmpty(groupLeaderAndMarkers)) {
|
|
|
-
|
|
|
Long batchNo;
|
|
|
if (markSubject.getStage().name() == MarkStage.SCORE.name()) {
|
|
|
batchNo = paperRepo.findMaxScoreBatchNoByWorkIdAndSubject(workId, markSubject.getSubject());
|
|
|
} else {
|
|
|
batchNo = paperRepo.findMaxBatchNoByWorkIdAndSubject(workId, markSubject.getSubject());
|
|
|
}
|
|
|
- long t21 = System.currentTimeMillis();
|
|
|
- System.out.println("t21-t2:" + (t21 - t2));
|
|
|
for (Map<String, List<Long>> groupLeaderAndMarker : groupLeaderAndMarkers) {
|
|
|
- long t3 = System.currentTimeMillis();
|
|
|
Map<String, Object> tempMap = new HashMap<>();
|
|
|
List<Long> markerLeaders = groupLeaderAndMarker.get("markLeaders");
|
|
|
List<Long> markers = groupLeaderAndMarker.get("markers");
|
|
|
- long t4 = System.currentTimeMillis();
|
|
|
- System.out.println("t4-t3:" + (t4 - t3));
|
|
|
|
|
|
List<Long> paperIds = markerGroupLeaderService.listPaperIdsByWorkIdAndSubjectAndStage(workId, markSubject.getSubject(), markSubject.getStage(), markers);
|
|
|
- long t41 = System.currentTimeMillis();
|
|
|
- System.out.println("t41-t4:" + (t41 - t4));
|
|
|
//仲裁数量
|
|
|
List<Paper> arbitratedPaperList = paperRepo.findByWorkIdAndSubjectAndIsArbitratedTrue(workId, markSubject.getSubject());
|
|
|
long arbitrate = CollectionUtils.isEmpty(arbitratedPaperList) || CollectionUtils.isEmpty(paperIds) ? 0L : arbitratedPaperList.stream().filter(m -> paperIds.contains(m.getId())).count();
|
|
|
- long t5 = System.currentTimeMillis();
|
|
|
- System.out.println("t5-t4:" + (t5 - t4));
|
|
|
if (!CollectionUtils.isEmpty(markerLeaders)) {
|
|
|
userMarkLeaders.addAll(markerLeaders);
|
|
|
List<Map<String, Object>> markerLeaderList = new ArrayList<>();
|
|
@@ -186,7 +173,6 @@ public class GroupingService {
|
|
|
}
|
|
|
tempMap.put("kzzProgress", markerLeaderList);
|
|
|
}
|
|
|
- long t6 = System.currentTimeMillis();
|
|
|
|
|
|
// 评卷员
|
|
|
//各评卷员评卷进度
|
|
@@ -196,8 +182,6 @@ public class GroupingService {
|
|
|
} else {
|
|
|
qStats = markTaskRepo.listGroupByQuestionAndMarkerAndBatchNoAndMarkerId(workId, markSubject.getSubject().name(), markSubject.getStage().ordinal(), markSubject.getTest(), batchNo, markers);
|
|
|
}
|
|
|
- long t7 = System.currentTimeMillis();
|
|
|
- System.out.println("t7-t6:" + (t7 - t6));
|
|
|
if (qStats != null) {
|
|
|
List<MarkQuestionStatDTO> questionStatDTOs = new ArrayList<>();
|
|
|
for (Object[] objects : qStats) {
|
|
@@ -209,8 +193,6 @@ public class GroupingService {
|
|
|
groupMarkers.add(tempMap);
|
|
|
}
|
|
|
}
|
|
|
- long t9 = System.currentTimeMillis();
|
|
|
- System.out.println("t9-t2:" + (t9 - t2));
|
|
|
objectMap.put("groupMarkers", groupMarkers);
|
|
|
}
|
|
|
|