Browse Source

。。。

WANG 6 năm trước cách đây
mục cha
commit
667a39a10f

+ 1 - 1
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/job/ExamStudentImportDataProcessingTask.java

@@ -119,7 +119,7 @@ public class ExamStudentImportDataProcessingTask extends AbstractTask {
 		for (Map<String, Object> cur : failRecords) {
 			sb.append("line:").append(cur.get("lineNum")).append(cur.get("msg")).append("\n");
 		}
-		sb.append("==============================================\n");
+		sb.append("====================异常数据\n");
 		String resultFilePath = PathUtil.getCanonicalPath(
 				dir + "/" + EXAM_STUDENT_IMPORT_FILES + "/" + importEntity.getResultFilePath());
 		File resultFile = new File(resultFilePath);

+ 14 - 3
examcloud-task-service/src/main/java/cn/com/qmth/examcloud/task/service/job/ExamStudentImportParsingFileTask.java

@@ -7,6 +7,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.io.FileUtils;
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Component;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
 
 import cn.com.qmth.examcloud.commons.base.helpers.poi.ExcelReader;
 import cn.com.qmth.examcloud.commons.base.util.PathUtil;
@@ -121,9 +123,13 @@ public class ExamStudentImportParsingFileTask extends AbstractTask {
 		Long examId = importEntity.getExamId();
 		List<ExamStudentTempEntity> list = Lists.newArrayList();
 
+		Set<String> fullSet = Sets.newHashSet();
+
 		List<Map<String, Object>> failRecords = Collections
 				.synchronizedList(new ArrayList<Map<String, Object>>());
 
+		StringBuilder sb = new StringBuilder();
+		sb.append("====================重复数据\n");
 		for (int i = 0; i < lineList.size(); i++) {
 			String[] line = lineList.get(i);
 			if (0 == i) {
@@ -164,6 +170,12 @@ public class ExamStudentImportParsingFileTask extends AbstractTask {
 			}
 
 			list.add(es);
+			String key = es.getIdentityNumber() + "____" + es.getCourseCode();
+			if (fullSet.contains(key)) {
+				sb.append("line:").append(es.getLineNum()).append("重复数据,做覆盖更新").append("\n");
+			} else {
+				fullSet.add(key);
+			}
 			if (0 == i % 100) {
 				examStudentTempRepo.save(list);
 
@@ -172,12 +184,11 @@ public class ExamStudentImportParsingFileTask extends AbstractTask {
 		}
 
 		examStudentTempRepo.save(list);
-
-		StringBuilder sb = new StringBuilder();
+		sb.append("====================数据规格错误数据\n");
 		for (Map<String, Object> cur : failRecords) {
 			sb.append("line:").append(cur.get("lineNum")).append(cur.get("msg")).append("\n");
 		}
-		sb.append("==============================================\n");
+
 		File resultFile = new File(resultFilePath);
 
 		try {