|
@@ -168,6 +168,18 @@ public class ExamStudentController extends BaseParameterController {
|
|
|
if (student.getId() != null) {
|
|
|
ExamStudent previous = studentService.findById(student.getId());
|
|
|
if (previous != null) {
|
|
|
+ /**
|
|
|
+ * 前提条件:该学生已经上传答题卡 upload = true
|
|
|
+ * 处理逻辑:如果修改“学习中心”或“课程名称”或“准考证号”则需要要求重新上传答题卡,并将上传状态重置为“未上传”
|
|
|
+ */
|
|
|
+ boolean showTip = false;
|
|
|
+ if(previous.isUpload()){
|
|
|
+ if((!previous.getCampusName().equals(student.getCampusName())) || (!previous.getSubjectCode().equals(student.getSubjectCode()))
|
|
|
+ || (!previous.getExamNumber().equals(student.getExamNumber()))){
|
|
|
+ previous.setUpload(false);
|
|
|
+ showTip =true;
|
|
|
+ }
|
|
|
+ }
|
|
|
previous.setCampusName(student.getCampusName());
|
|
|
previous.setSubjectCode(subject.getCode());
|
|
|
previous.setSubjectName(subject.getName());
|
|
@@ -178,6 +190,7 @@ public class ExamStudentController extends BaseParameterController {
|
|
|
if (checkExamNumber(previous, null, null)) {
|
|
|
studentService.save(previous);
|
|
|
addMessage(redirectAttributes, "考生" + previous.getName() + "保存成功");
|
|
|
+ if(showTip) addMessage(redirectAttributes,"修改成功,但需要重新上传考生答题卡");
|
|
|
} else {
|
|
|
addMessage(redirectAttributes, "准考证号" + previous.getExamNumber() + "已存在");
|
|
|
redirectAttributes.addAttribute("id", student.getId());
|
|
@@ -300,7 +313,7 @@ public class ExamStudentController extends BaseParameterController {
|
|
|
String fileName = "违纪考生导入模板.xlsx";
|
|
|
List<ExamStudentVO> list = Lists.newArrayList();
|
|
|
list.add(new ExamStudentVO());
|
|
|
- new ExportExcel("", ExamStudentVO.class, 2).setDataList(list).write(response, fileName).dispose();
|
|
|
+ new ExportExcel("违纪考生", ExamStudentVO.class, 2).setDataList(list).write(response, fileName).dispose();
|
|
|
return null;
|
|
|
} catch (Exception e) {
|
|
|
addMessage(redirectAttributes, "导入模板下载失败!失败信息:" + e.getMessage());
|
|
@@ -314,19 +327,30 @@ public class ExamStudentController extends BaseParameterController {
|
|
|
Exam exam = examService.findById(examId);
|
|
|
try {
|
|
|
int successNum = 0;
|
|
|
- ImportExcel ei = new ImportExcel(file, 0, 0);
|
|
|
+ int failureNum = 0;
|
|
|
+ StringBuilder failureMsg = new StringBuilder();
|
|
|
+ ImportExcel ei = new ImportExcel(file, 1, 0);
|
|
|
List<ExamStudentVO> list = ei.getDataList(ExamStudentVO.class);
|
|
|
for (ExamStudentVO studentVO : list) {
|
|
|
if ( StringUtils.isBlank(studentVO.getExamNumber())) {
|
|
|
continue;
|
|
|
}
|
|
|
ExamStudent student = studentService.findByExamIdAndExamNumber(examId,studentVO.getExamNumber());
|
|
|
- student.setBreach(true);
|
|
|
- studentService.save(student);
|
|
|
- saveMarkLibrary(student);
|
|
|
- successNum ++;
|
|
|
+ if(student != null){
|
|
|
+ student.setBreach(true);
|
|
|
+ studentService.save(student);
|
|
|
+ saveMarkLibrary(student);
|
|
|
+ successNum ++;
|
|
|
+ }else {
|
|
|
+ failureMsg.append("<br/>准考证号 " + studentVO.getExamNumber() + " 不存在; ");
|
|
|
+ failureNum ++;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
- addMessage(redirectAttributes, "已成功导入 " + successNum + " 条用户");
|
|
|
+ if (failureNum > 0) {
|
|
|
+ failureMsg.insert(0, ",失败 " + failureNum + " 条用户");
|
|
|
+ }
|
|
|
+ addMessage(redirectAttributes, "已成功导入 " + successNum + " 条用户" + failureMsg);
|
|
|
} catch (Exception e) {
|
|
|
log.error("Batch import BreachStudent error!", e);
|
|
|
addMessage(redirectAttributes, "导入违纪考生失败!失败信息:" + e.getMessage());
|