|
@@ -73,7 +73,9 @@ public class AssignTaskService {
|
|
List<Object[]> markTasks = markTaskRoughLevelRepo.findAllByWorkId(markSubject.getWorkId());
|
|
List<Object[]> markTasks = markTaskRoughLevelRepo.findAllByWorkId(markSubject.getWorkId());
|
|
Map<Long, Object> randomMap = new HashMap<>();
|
|
Map<Long, Object> randomMap = new HashMap<>();
|
|
markTasks.forEach(m -> randomMap.put(Long.valueOf(m[1].toString()), m[0]));
|
|
markTasks.forEach(m -> randomMap.put(Long.valueOf(m[1].toString()), m[0]));
|
|
|
|
+ // 解析粗档位
|
|
List<Level> levels = levelRepo.findByWorkId(markSubject.getWorkId());
|
|
List<Level> levels = levelRepo.findByWorkId(markSubject.getWorkId());
|
|
|
|
+ List<RoughLevel> roughLevels = DetermineRoughLevelService.parseRoughLevels(levels);
|
|
|
|
|
|
Map<Long, MarkerGroup> groupMap = markerGroups.stream().collect(Collectors.toMap(MarkerGroup::getId, Function.identity()));
|
|
Map<Long, MarkerGroup> groupMap = markerGroups.stream().collect(Collectors.toMap(MarkerGroup::getId, Function.identity()));
|
|
for (Map.Entry<Long, List<Paper>> entry : groupPaperMap.entrySet()) {
|
|
for (Map.Entry<Long, List<Paper>> entry : groupPaperMap.entrySet()) {
|
|
@@ -88,13 +90,17 @@ public class AssignTaskService {
|
|
markerCount++;
|
|
markerCount++;
|
|
Long random = randomUtil.getRandom(marker.getWorkId(), randomMap);
|
|
Long random = randomUtil.getRandom(marker.getWorkId(), randomMap);
|
|
MarkTaskRoughLevel markTask;
|
|
MarkTaskRoughLevel markTask;
|
|
- if (paper.isRoughSample() && paper.getLevel() != null) {
|
|
|
|
- Level level = levels.stream().filter(m -> String.valueOf(m.getRoughCode()).equals(paper.getLevel())).findFirst().orElseGet(null);
|
|
|
|
|
|
+ if (paper.isRoughSample() && paper.getRoughLevel() != null) {
|
|
|
|
+ Optional<RoughLevel> optional = roughLevels.stream().filter(m -> m.getRoughCode().equals(paper.getRoughLevel())).findFirst();
|
|
|
|
+ if (!optional.isPresent()) {
|
|
|
|
+ throw new RuntimeException("未找到档位【" + paper.getRoughLevel() + "】");
|
|
|
|
+ }
|
|
|
|
+ RoughLevel level = optional.get();
|
|
markTask = new MarkTaskRoughLevel(marker, paper, level, markSubject.getStage(), random, markSubject.getTest());
|
|
markTask = new MarkTaskRoughLevel(marker, paper, level, markSubject.getStage(), random, markSubject.getTest());
|
|
|
|
|
|
// 初始化排序值
|
|
// 初始化排序值
|
|
if (markerCount == markUsers.size()) {
|
|
if (markerCount == markUsers.size()) {
|
|
- paper.setSortNum(level.getRoughWeight() * markerCount);
|
|
|
|
|
|
+ paper.setSortNum(level.getWeight() * markerCount);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
markTask = new MarkTaskRoughLevel(marker, paper, markSubject.getStage(), random, markSubject.getTest());
|
|
markTask = new MarkTaskRoughLevel(marker, paper, markSubject.getStage(), random, markSubject.getTest());
|
|
@@ -566,7 +572,8 @@ public class AssignTaskService {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 随机发任务
|
|
* 随机发任务
|
|
- * @param papersList 试卷集合
|
|
|
|
|
|
+ *
|
|
|
|
+ * @param papersList 试卷集合
|
|
* @param groupPaperMap 分组考生名单
|
|
* @param groupPaperMap 分组考生名单
|
|
* @param taskCount 任务数量
|
|
* @param taskCount 任务数量
|
|
* @param stage
|
|
* @param stage
|
|
@@ -599,7 +606,7 @@ public class AssignTaskService {
|
|
list.addAll(papersList);
|
|
list.addAll(papersList);
|
|
} else {
|
|
} else {
|
|
// 开启粗分档,并且当前为细分档时,系统默认按档位从高到低取任务,评委端显示也是从高到低
|
|
// 开启粗分档,并且当前为细分档时,系统默认按档位从高到低取任务,评委端显示也是从高到低
|
|
- if(MarkStage.LEVEL.equals(markSubject.getStage()) && ParamCache.levelConfigMap.get(String.valueOf(markSubject.getWorkId())).getRoughLevelEnable() ==1){
|
|
|
|
|
|
+ if (MarkStage.LEVEL.equals(markSubject.getStage()) && ParamCache.levelConfigMap.get(String.valueOf(markSubject.getWorkId())).getRoughLevelEnable() == 1) {
|
|
papersList.sort(Comparator.comparing(Paper::getRoughLevel));
|
|
papersList.sort(Comparator.comparing(Paper::getRoughLevel));
|
|
list = papersList.subList(0, leftCount);
|
|
list = papersList.subList(0, leftCount);
|
|
} else {
|
|
} else {
|