|
@@ -4,6 +4,7 @@ import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Locale;
|
|
|
import java.util.Map;
|
|
@@ -20,6 +21,8 @@ import com.google.common.collect.Maps;
|
|
|
import com.google.common.collect.Sets;
|
|
|
|
|
|
import cn.com.qmth.examcloud.commons.helpers.poi.ExcelReader;
|
|
|
+import cn.com.qmth.examcloud.commons.util.BooleanUtil;
|
|
|
+import cn.com.qmth.examcloud.commons.util.DateUtil;
|
|
|
import cn.com.qmth.examcloud.commons.util.PathUtil;
|
|
|
import cn.com.qmth.examcloud.task.dao.ExamStudentImportRepo;
|
|
|
import cn.com.qmth.examcloud.task.dao.ExamStudentTempRepo;
|
|
@@ -165,7 +168,44 @@ public class ExamStudentImportParsingFileTask extends AbstractTask {
|
|
|
es.setPhone(trimAndNullIfBlank(line[11]));
|
|
|
es.setGrade(trimAndNullIfBlank(line[12]));
|
|
|
|
|
|
- es.setExt1(trimAndNullIfBlank(line[13]));
|
|
|
+ String d1 = trimAndNullIfBlank(line[13]);
|
|
|
+ String d2 = trimAndNullIfBlank(line[14]);
|
|
|
+
|
|
|
+ if (!new Boolean(null == d1).equals(new Boolean(null == d2))) {
|
|
|
+ failRecords.add(buildFailRecord(es.getLineNum(), "特殊考试时间不匹配"));
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ int trueNum = BooleanUtil.countTrue(null == d1, null == d2);
|
|
|
+ if (2 == trueNum) {
|
|
|
+ Date specialBeginTime = null;
|
|
|
+ Date specialEndTime = null;
|
|
|
+ try {
|
|
|
+ specialBeginTime = DateUtil.parseRandomly(d1);
|
|
|
+ } catch (Exception e) {
|
|
|
+ failRecords.add(buildFailRecord(es.getLineNum(), "特殊考试开始时间格式错误"));
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ specialEndTime = DateUtil.parseRandomly(d2);
|
|
|
+ } catch (Exception e) {
|
|
|
+ failRecords.add(buildFailRecord(es.getLineNum(), "特殊考试结束时间格式错误"));
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (specialBeginTime.after(specialEndTime)) {
|
|
|
+ failRecords.add(buildFailRecord(es.getLineNum(), "开始时间不能大于结束时间"));
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ es.setSpecialBeginTime(specialBeginTime);
|
|
|
+ es.setSpecialEndTime(specialEndTime);
|
|
|
+ }
|
|
|
+
|
|
|
+ es.setExt1(trimAndNullIfBlank(line[15]));
|
|
|
+ es.setExt2(trimAndNullIfBlank(line[16]));
|
|
|
+ es.setExt3(trimAndNullIfBlank(line[17]));
|
|
|
+ es.setExt4(trimAndNullIfBlank(line[18]));
|
|
|
+ es.setExt5(trimAndNullIfBlank(line[19]));
|
|
|
|
|
|
if (hasError(failRecords, es)) {
|
|
|
continue;
|
|
@@ -270,15 +310,27 @@ public class ExamStudentImportParsingFileTask extends AbstractTask {
|
|
|
}
|
|
|
|
|
|
if (hasError) {
|
|
|
- Map<String, Object> map = Maps.newHashMap();
|
|
|
- map.put("lineNum", entity.getLineNum());
|
|
|
- map.put("msg", sb.toString());
|
|
|
- failRecords.add(map);
|
|
|
+ failRecords.add(buildFailRecord(entity.getLineNum(), sb.toString()));
|
|
|
}
|
|
|
|
|
|
return hasError;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 构建错误信息
|
|
|
+ *
|
|
|
+ * @author WANGWEI
|
|
|
+ * @param lineNum
|
|
|
+ * @param msg
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private Map<String, Object> buildFailRecord(Long lineNum, String msg) {
|
|
|
+ Map<String, Object> map = Maps.newHashMap();
|
|
|
+ map.put("lineNum", lineNum);
|
|
|
+ map.put("msg", msg);
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 方法注释
|
|
|
*
|