|
@@ -47,7 +47,7 @@ public class AssignTaskService {
|
|
|
|
|
|
@Autowired
|
|
|
RandomUtil randomUtil;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
SqlUtil sqlUtil;
|
|
|
|
|
@@ -109,7 +109,8 @@ public class AssignTaskService {
|
|
|
/**
|
|
|
* 分组任务模式,将该科目的评卷员分成N组,将该科目试卷平均分给这些组,每组内的评卷员每人将这些试卷打分
|
|
|
* 比如:6个评卷员分2组,有1000份试卷,每组评500份,每个评卷员评500份
|
|
|
- * @param papers
|
|
|
+ *
|
|
|
+ * @param papers
|
|
|
* @param markerGroups
|
|
|
* @param taskList
|
|
|
*/
|
|
@@ -127,7 +128,7 @@ public class AssignTaskService {
|
|
|
// Map<Long, MarkTask> randomMap = markTasks.stream().collect(Collectors.toMap(MarkTask::getRandomSeqNew, Function.identity(), (dto1, dto2) -> dto1));
|
|
|
List<Object[]> markTasks = markTaskRepo.findAllByWorkId(markSubject.getWorkId());
|
|
|
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]));
|
|
|
//定序序号记录
|
|
|
Map map = new HashMap();
|
|
|
while (iterator.hasNext()) {
|
|
@@ -163,7 +164,7 @@ public class AssignTaskService {
|
|
|
markTask.setSerialNumber(serialNumber);
|
|
|
markTask.setDisplayNumber(displayNumber);
|
|
|
} else {
|
|
|
- if(paper.isSample() && paper.getLevel() != null){
|
|
|
+ if (paper.isSample() && paper.getLevel() != null) {
|
|
|
Level level = levelRepo.findByWorkIdAndCode(markSubject.getWorkId(), paper.getLevel());
|
|
|
markTask = new MarkTask(marker, paper, level, markSubject.getStage(), random, markSubject.getTest());
|
|
|
} else {
|
|
@@ -192,7 +193,22 @@ public class AssignTaskService {
|
|
|
}
|
|
|
idx++;
|
|
|
}
|
|
|
- markTaskRepo.save(markTaskList);
|
|
|
+
|
|
|
+ List<MarkTask> data = new ArrayList<>();
|
|
|
+ int mod = markTaskList.size() / 5000;
|
|
|
+ for (MarkTask markTask : markTaskList) {
|
|
|
+ if (data.size() == markTaskList.size() / mod) {
|
|
|
+ markTaskRepo.save(data);
|
|
|
+ data.clear();
|
|
|
+ }
|
|
|
+ data.add(markTask);
|
|
|
+ }
|
|
|
+ //将剩下的数据也导入
|
|
|
+ if (!data.isEmpty()) {
|
|
|
+ markTaskRepo.save(data);
|
|
|
+ }
|
|
|
+
|
|
|
+// markTaskRepo.save(markTaskList);
|
|
|
paperRepo.save(paperList);
|
|
|
if (markSubject.getTest() != 1) {
|
|
|
//更新subject表formal为正试评卷
|
|
@@ -244,14 +260,14 @@ public class AssignTaskService {
|
|
|
sql.append(" FROM ");
|
|
|
sql.append(" paper p ");
|
|
|
sql.append(" WHERE ");
|
|
|
- sql.append(" p.work_id = '"+markSubject.getWorkId()+"' AND p.subject = '"+markSubject.getSubject().name()+"' ");
|
|
|
+ sql.append(" p.work_id = '" + markSubject.getWorkId() + "' AND p.subject = '" + markSubject.getSubject().name() + "' ");
|
|
|
sql.append(" AND p.is_test = 0 ");
|
|
|
sql.append(" AND p.level IS NOT NULL ");
|
|
|
sql.append(" AND p.is_missing = FALSE ");
|
|
|
sql.append(" AND p.is_active = TRUE ");
|
|
|
sql.append(" GROUP BY p.work_id , p.question_id, p.subject , p.level ");
|
|
|
sql.append(" ORDER BY p.level ");
|
|
|
- List list = sqlUtil.execSqlForMap(sql.toString());
|
|
|
+ List list = sqlUtil.execSqlForMap(sql.toString());
|
|
|
List<TaskPublishSetting> taskPublishSettings = new ArrayList<>(list.size());
|
|
|
for (Object o : list) {
|
|
|
Map map = (Map) o;
|