|
@@ -5,6 +5,7 @@ import cn.com.qmth.stmms.biz.exam.dao.ExamStudentDao;
|
|
import cn.com.qmth.stmms.biz.exam.model.*;
|
|
import cn.com.qmth.stmms.biz.exam.model.*;
|
|
import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
|
|
import cn.com.qmth.stmms.biz.exam.query.ExamStudentSearchQuery;
|
|
import cn.com.qmth.stmms.biz.exam.service.*;
|
|
import cn.com.qmth.stmms.biz.exam.service.*;
|
|
|
|
+import cn.com.qmth.stmms.biz.exception.StatusException;
|
|
import cn.com.qmth.stmms.biz.mark.dao.HeaderTagDao;
|
|
import cn.com.qmth.stmms.biz.mark.dao.HeaderTagDao;
|
|
import cn.com.qmth.stmms.biz.mark.dao.HeaderTrackDao;
|
|
import cn.com.qmth.stmms.biz.mark.dao.HeaderTrackDao;
|
|
import cn.com.qmth.stmms.biz.mark.model.*;
|
|
import cn.com.qmth.stmms.biz.mark.model.*;
|
|
@@ -184,9 +185,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
student.setSubjectCategory(subject.getCategory());
|
|
student.setSubjectCategory(subject.getCategory());
|
|
if (student.getSecretNumber() == null) {
|
|
if (student.getSecretNumber() == null) {
|
|
student.randomSecretNumber();
|
|
student.randomSecretNumber();
|
|
- while (secretNumberSet.contains(student.getSecretNumber())
|
|
|
|
- || studentDao.countByExamIdAndSecretNumber(student.getExamId(), student.getSecretNumber())
|
|
|
|
- > 0) {
|
|
|
|
|
|
+ while (secretNumberSet.contains(student.getSecretNumber()) || studentDao
|
|
|
|
+ .countByExamIdAndSecretNumber(student.getExamId(), student.getSecretNumber()) > 0) {
|
|
student.randomSecretNumber();
|
|
student.randomSecretNumber();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -431,10 +431,10 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
@Transactional
|
|
@Transactional
|
|
public boolean updateScanInfo(ExamStudent student) {
|
|
public boolean updateScanInfo(ExamStudent student) {
|
|
student.setUploadTime(new Date());
|
|
student.setUploadTime(new Date());
|
|
- return studentDao
|
|
|
|
- .updateScanInfo(student.getId(), student.getSheetCount(), student.getSliceCount(), student.getAnswers(),
|
|
|
|
- student.getBatchCode(), student.getPaperType(), student.isAbsent(), student.getUploadTime(),
|
|
|
|
- student.getObjectiveScore(), student.getObjectiveScoreList(), student.getCardNumber()) > 0;
|
|
|
|
|
|
+ return studentDao.updateScanInfo(student.getId(), student.getSheetCount(), student.getSliceCount(),
|
|
|
|
+ student.getAnswers(), student.getBatchCode(), student.getPaperType(), student.isAbsent(),
|
|
|
|
+ student.getUploadTime(), student.getObjectiveScore(), student.getObjectiveScoreList(),
|
|
|
|
+ student.getCardNumber()) > 0;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -480,7 +480,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
public void updateCollationLabelCode(int examId, String examNumber, String collationLabelCode) {
|
|
public void updateCollationLabelCode(int examId, String examNumber, String collationLabelCode) {
|
|
- studentDao.updateCollationLabelCode(examId,examNumber, collationLabelCode);
|
|
|
|
|
|
+ studentDao.updateCollationLabelCode(examId, examNumber, collationLabelCode);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -548,14 +548,14 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
@Override
|
|
@Override
|
|
public Predicate toPredicate(Root<ExamStudent> root, CriteriaQuery<?> cQuery, CriteriaBuilder cb) {
|
|
public Predicate toPredicate(Root<ExamStudent> root, CriteriaQuery<?> cQuery, CriteriaBuilder cb) {
|
|
List<Predicate> predicates = new LinkedList<Predicate>();
|
|
List<Predicate> predicates = new LinkedList<Predicate>();
|
|
- Expression<Double> evaluationItemSum = cb
|
|
|
|
- .sum(root.get("objectiveScore").as(Double.class), root.get("subjectiveScore").as(Double.class));
|
|
|
|
|
|
+ Expression<Double> evaluationItemSum = cb.sum(root.get("objectiveScore").as(Double.class),
|
|
|
|
+ root.get("subjectiveScore").as(Double.class));
|
|
if (query.getStartScore() != null) {
|
|
if (query.getStartScore() != null) {
|
|
Predicate predicate1 = cb.ge(evaluationItemSum, query.getStartScore());
|
|
Predicate predicate1 = cb.ge(evaluationItemSum, query.getStartScore());
|
|
Predicate predicate2 = cb.le(evaluationItemSum, query.getEndScore());
|
|
Predicate predicate2 = cb.le(evaluationItemSum, query.getEndScore());
|
|
if (query.getStartScore() == 0) {
|
|
if (query.getStartScore() == 0) {
|
|
- Predicate predicate = cb
|
|
|
|
- .or(cb.equal(root.get("absent"), true), cb.equal(root.get("breach"), true));
|
|
|
|
|
|
+ Predicate predicate = cb.or(cb.equal(root.get("absent"), true),
|
|
|
|
+ cb.equal(root.get("breach"), true));
|
|
Predicate predicate3 = cb.and(predicate1, predicate2);
|
|
Predicate predicate3 = cb.and(predicate1, predicate2);
|
|
predicates.add(cb.or(predicate, predicate3));
|
|
predicates.add(cb.or(predicate, predicate3));
|
|
} else {
|
|
} else {
|
|
@@ -628,8 +628,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
if (query.getObjectiveScore() != null) {
|
|
if (query.getObjectiveScore() != null) {
|
|
predicates.add(cb.equal(root.get("objectiveScore"), query.getObjectiveScore()));
|
|
predicates.add(cb.equal(root.get("objectiveScore"), query.getObjectiveScore()));
|
|
} else if (query.getObjectiveScoreGt() != null) {
|
|
} else if (query.getObjectiveScoreGt() != null) {
|
|
- predicates.add(cb.greaterThan(root.get("objectiveScore").as(Double.class),
|
|
|
|
- query.getObjectiveScoreGt()));
|
|
|
|
|
|
+ predicates.add(
|
|
|
|
+ cb.greaterThan(root.get("objectiveScore").as(Double.class), query.getObjectiveScoreGt()));
|
|
} else if (query.getObjectiveScoreLt() != null) {
|
|
} else if (query.getObjectiveScoreLt() != null) {
|
|
predicates
|
|
predicates
|
|
.add(cb.lessThan(root.get("objectiveScore").as(Double.class), query.getObjectiveScoreLt()));
|
|
.add(cb.lessThan(root.get("objectiveScore").as(Double.class), query.getObjectiveScoreLt()));
|
|
@@ -644,11 +644,11 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
if (query.getSubjectiveScore() != null) {
|
|
if (query.getSubjectiveScore() != null) {
|
|
predicates.add(cb.equal(root.get("subjectiveScore"), query.getSubjectiveScore()));
|
|
predicates.add(cb.equal(root.get("subjectiveScore"), query.getSubjectiveScore()));
|
|
} else if (query.getSubjectiveScoreGt() != null) {
|
|
} else if (query.getSubjectiveScoreGt() != null) {
|
|
- predicates.add(cb.greaterThan(root.get("subjectiveScore").as(Double.class),
|
|
|
|
- query.getSubjectiveScoreGt()));
|
|
|
|
|
|
+ predicates.add(
|
|
|
|
+ cb.greaterThan(root.get("subjectiveScore").as(Double.class), query.getSubjectiveScoreGt()));
|
|
} else if (query.getSubjectiveScoreLt() != null) {
|
|
} else if (query.getSubjectiveScoreLt() != null) {
|
|
- predicates.add(cb.lessThan(root.get("subjectiveScore").as(Double.class),
|
|
|
|
- query.getSubjectiveScoreLt()));
|
|
|
|
|
|
+ predicates.add(
|
|
|
|
+ cb.lessThan(root.get("subjectiveScore").as(Double.class), query.getSubjectiveScoreLt()));
|
|
}
|
|
}
|
|
if (query.getUpload() != null) {
|
|
if (query.getUpload() != null) {
|
|
predicates.add(cb.equal(root.get("upload"), query.getUpload()));
|
|
predicates.add(cb.equal(root.get("upload"), query.getUpload()));
|
|
@@ -793,9 +793,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
if (query.getSheetCount() != null) {
|
|
if (query.getSheetCount() != null) {
|
|
predicates.add(cb.equal(root.get("sheetCount"), query.getSheetCount()));
|
|
predicates.add(cb.equal(root.get("sheetCount"), query.getSheetCount()));
|
|
}
|
|
}
|
|
- return predicates.isEmpty() ?
|
|
|
|
- cb.conjunction() :
|
|
|
|
- cb.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
|
|
|
+ return predicates.isEmpty() ? cb.conjunction()
|
|
|
|
+ : cb.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
}
|
|
}
|
|
};
|
|
};
|
|
}
|
|
}
|
|
@@ -814,8 +813,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
@Override
|
|
@Override
|
|
public ExamStudent findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(Integer schoolId, String subjectCode,
|
|
public ExamStudent findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(Integer schoolId, String subjectCode,
|
|
String studentCode, String examSeqCode) {
|
|
String studentCode, String examSeqCode) {
|
|
- return studentDao
|
|
|
|
- .findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode, studentCode, examSeqCode);
|
|
|
|
|
|
+ return studentDao.findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode, studentCode,
|
|
|
|
+ examSeqCode);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -1004,8 +1003,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
public Map<MarkGroup, List<OriginTag>> getSliceTags(ExamStudent student, boolean withGroupScore,
|
|
public Map<MarkGroup, List<OriginTag>> getSliceTags(ExamStudent student, boolean withGroupScore,
|
|
List<PictureConfigItem> sliceConfig) {
|
|
List<PictureConfigItem> sliceConfig) {
|
|
Map<MarkGroup, List<OriginTag>> tagMap = new HashMap<MarkGroup, List<OriginTag>>();
|
|
Map<MarkGroup, List<OriginTag>> tagMap = new HashMap<MarkGroup, List<OriginTag>>();
|
|
- List<ExamQuestion> questions = questionService
|
|
|
|
- .findByExamAndSubjectAndObjective(student.getExamId(), student.getSubjectCode(), false);
|
|
|
|
|
|
+ List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjective(student.getExamId(),
|
|
|
|
+ student.getSubjectCode(), false);
|
|
List<ScoreItem> scoreList = student.getScoreList(false);
|
|
List<ScoreItem> scoreList = student.getScoreList(false);
|
|
List<MarkGroup> markGroups = groupService.findByExamAndSubject(student.getExamId(), student.getSubjectCode());
|
|
List<MarkGroup> markGroups = groupService.findByExamAndSubject(student.getExamId(), student.getSubjectCode());
|
|
for (MarkGroup group : markGroups) {
|
|
for (MarkGroup group : markGroups) {
|
|
@@ -1027,14 +1026,13 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
List<String> lines = new LinkedList<>();
|
|
List<String> lines = new LinkedList<>();
|
|
lines.add("成绩明细");
|
|
lines.add("成绩明细");
|
|
// 总分得分明细
|
|
// 总分得分明细
|
|
- lines.add("总分 (客观+主观) | " + format.format(student.getTotalScore()) + "=" + format
|
|
|
|
- .format(student.getObjectiveScore() != null ? student.getObjectiveScore() : 0) + "+" + format
|
|
|
|
- .format(student.getSubjectiveScore() != null ? student.getSubjectiveScore() : 0));
|
|
|
|
|
|
+ lines.add("总分 (客观+主观) | " + format.format(student.getTotalScore()) + "="
|
|
|
|
+ + format.format(student.getObjectiveScore() != null ? student.getObjectiveScore() : 0) + "+"
|
|
|
|
+ + format.format(student.getSubjectiveScore() != null ? student.getSubjectiveScore() : 0));
|
|
// 客观题得分明细
|
|
// 客观题得分明细
|
|
List<String> objectives = new LinkedList<>();
|
|
List<String> objectives = new LinkedList<>();
|
|
- List<ExamQuestion> questions = questionService
|
|
|
|
- .findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(), student.getSubjectCode(), true,
|
|
|
|
- student.getPaperType());
|
|
|
|
|
|
+ List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(),
|
|
|
|
+ student.getSubjectCode(), true, student.getPaperType());
|
|
List<ScoreItem> scoreList = student.getScoreList(true);
|
|
List<ScoreItem> scoreList = student.getScoreList(true);
|
|
List<String> details = new ArrayList<>();
|
|
List<String> details = new ArrayList<>();
|
|
int i = 0;
|
|
int i = 0;
|
|
@@ -1162,31 +1160,29 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
List<MarkTrack> tracks = trackService.findByLibraryId(library.getId());
|
|
List<MarkTrack> tracks = trackService.findByLibraryId(library.getId());
|
|
for (MarkTrack markTrack : tracks) {
|
|
for (MarkTrack markTrack : tracks) {
|
|
// 未作答时只显示汉字"空"
|
|
// 未作答时只显示汉字"空"
|
|
- originTags
|
|
|
|
- .add(new OriginTag(markTrack.getMarkerId(), Role.MARKER.toString(), markTrack.getGroupNumber(),
|
|
|
|
- markTrack.getQuestionNumber(),
|
|
|
|
- markTrack.isUnanswered() ? "空" : format.format(markTrack.getScore()),
|
|
|
|
- markTrack.getOffsetIndex(), markTrack.getOffsetX(), markTrack.getOffsetY()));
|
|
|
|
|
|
+ originTags.add(new OriginTag(markTrack.getMarkerId(), Role.MARKER.toString(),
|
|
|
|
+ markTrack.getGroupNumber(), markTrack.getQuestionNumber(),
|
|
|
|
+ markTrack.isUnanswered() ? "空" : format.format(markTrack.getScore()),
|
|
|
|
+ markTrack.getOffsetIndex(), markTrack.getOffsetX(), markTrack.getOffsetY()));
|
|
}
|
|
}
|
|
// 添加特殊标记
|
|
// 添加特殊标记
|
|
List<MarkSpecialTag> specialTags = specialTagService.findByLibraryId(library.getId());
|
|
List<MarkSpecialTag> specialTags = specialTagService.findByLibraryId(library.getId());
|
|
for (MarkSpecialTag markSpecialTag : specialTags) {
|
|
for (MarkSpecialTag markSpecialTag : specialTags) {
|
|
- originTags
|
|
|
|
- .add(new OriginTag(library.getMarkerId(), Role.MARKER.toString(), library.getGroupNumber(), "",
|
|
|
|
- markSpecialTag.getTagName(), markSpecialTag.getOffsetIndex(),
|
|
|
|
- markSpecialTag.getOffsetX(), markSpecialTag.getOffsetY()));
|
|
|
|
|
|
+ originTags.add(new OriginTag(library.getMarkerId(), Role.MARKER.toString(), library.getGroupNumber(),
|
|
|
|
+ "", markSpecialTag.getTagName(), markSpecialTag.getOffsetIndex(), markSpecialTag.getOffsetX(),
|
|
|
|
+ markSpecialTag.getOffsetY()));
|
|
}
|
|
}
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
- List<HeaderTag> headerTags = headerTagDao
|
|
|
|
- .findByStudentIdAndGroupNumberOrderByIdAsc(student.getId(), group.getNumber());
|
|
|
|
|
|
+ List<HeaderTag> headerTags = headerTagDao.findByStudentIdAndGroupNumberOrderByIdAsc(student.getId(),
|
|
|
|
+ group.getNumber());
|
|
for (HeaderTag headerTag : headerTags) {
|
|
for (HeaderTag headerTag : headerTags) {
|
|
originTags.add(new OriginTag(headerTag.getUserId(), Role.SUBJECT_HEADER.toString(),
|
|
originTags.add(new OriginTag(headerTag.getUserId(), Role.SUBJECT_HEADER.toString(),
|
|
headerTag.getGroupNumber(), "", headerTag.getTagName(), headerTag.getOffsetIndex(),
|
|
headerTag.getGroupNumber(), "", headerTag.getTagName(), headerTag.getOffsetIndex(),
|
|
headerTag.getOffsetX(), headerTag.getOffsetY()));
|
|
headerTag.getOffsetX(), headerTag.getOffsetY()));
|
|
}
|
|
}
|
|
- List<HeaderTrack> headerTracks = headerTrackDao
|
|
|
|
- .findByPkStudentIdAndGroupNumber(student.getId(), group.getNumber());
|
|
|
|
|
|
+ List<HeaderTrack> headerTracks = headerTrackDao.findByPkStudentIdAndGroupNumber(student.getId(),
|
|
|
|
+ group.getNumber());
|
|
for (HeaderTrack headerTrack : headerTracks) {
|
|
for (HeaderTrack headerTrack : headerTracks) {
|
|
originTags.add(new OriginTag(headerTrack.getUserId(), Role.SUBJECT_HEADER.toString(),
|
|
originTags.add(new OriginTag(headerTrack.getUserId(), Role.SUBJECT_HEADER.toString(),
|
|
headerTrack.getGroupNumber(), headerTrack.getQuestionNumber(),
|
|
headerTrack.getGroupNumber(), headerTrack.getQuestionNumber(),
|
|
@@ -1282,9 +1278,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
@Override
|
|
@Override
|
|
public List<Integer> findIdByExamIdAndSubjectCodeAndSubjectiveStatusAndUploadAndAbsentAndBreach(Integer examId,
|
|
public List<Integer> findIdByExamIdAndSubjectCodeAndSubjectiveStatusAndUploadAndAbsentAndBreach(Integer examId,
|
|
String subjectCode, SubjectiveStatus status, boolean uplaod, boolean absent, boolean breach) {
|
|
String subjectCode, SubjectiveStatus status, boolean uplaod, boolean absent, boolean breach) {
|
|
- return studentDao
|
|
|
|
- .findIdByExamIdAndSubjectCodeAndSubjectiveStatusAndUploadAndAbsentAndBreach(examId, subjectCode, status,
|
|
|
|
- uplaod, absent, breach);
|
|
|
|
|
|
+ return studentDao.findIdByExamIdAndSubjectCodeAndSubjectiveStatusAndUploadAndAbsentAndBreach(examId,
|
|
|
|
+ subjectCode, status, uplaod, absent, breach);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -1434,9 +1429,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
public int batchUpdate(List<ExamStudent> updateList) {
|
|
public int batchUpdate(List<ExamStudent> updateList) {
|
|
int i = 0;
|
|
int i = 0;
|
|
for (ExamStudent student : updateList) {
|
|
for (ExamStudent student : updateList) {
|
|
- i = i + this.studentDao
|
|
|
|
- .updateInfo(student.getId(), student.getCollege(), student.getClassName(), student.getTeacher(),
|
|
|
|
- student.getExamRoom(), student.getExamSite(), student.getRemark());
|
|
|
|
|
|
+ i = i + this.studentDao.updateInfo(student.getId(), student.getCollege(), student.getClassName(),
|
|
|
|
+ student.getTeacher(), student.getExamRoom(), student.getExamSite(), student.getRemark());
|
|
}
|
|
}
|
|
return i;
|
|
return i;
|
|
}
|
|
}
|
|
@@ -1528,11 +1522,12 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
StringBuilder sql = new StringBuilder(" WHERE 1=1 ");
|
|
StringBuilder sql = new StringBuilder(" WHERE 1=1 ");
|
|
if (query.getStartScore() != null) {
|
|
if (query.getStartScore() != null) {
|
|
if (query.getStartScore() == 0) {
|
|
if (query.getStartScore() == 0) {
|
|
- sql.append(" and (s.is_absent=1 or s.is_breach=1 or (s.subjective_score+s.objective_score>=" + query
|
|
|
|
- .getStartScore() + " and s.subjective_score+s.objective_score<=" + query.getEndScore() + ") )");
|
|
|
|
|
|
+ sql.append(" and (s.is_absent=1 or s.is_breach=1 or (s.subjective_score+s.objective_score>="
|
|
|
|
+ + query.getStartScore() + " and s.subjective_score+s.objective_score<=" + query.getEndScore()
|
|
|
|
+ + ") )");
|
|
} else {
|
|
} else {
|
|
- sql.append(" and s.is_absent=0 and s.is_breach=0 and s.subjective_score+s.objective_score>=" + query
|
|
|
|
- .getStartScore() + " and s.subjective_score+s.objective_score<=" + query.getEndScore());
|
|
|
|
|
|
+ sql.append(" and s.is_absent=0 and s.is_breach=0 and s.subjective_score+s.objective_score>="
|
|
|
|
+ + query.getStartScore() + " and s.subjective_score+s.objective_score<=" + query.getEndScore());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (query.getExamId() != null && query.getExamId() > 0) {
|
|
if (query.getExamId() != null && query.getExamId() > 0) {
|
|
@@ -1755,8 +1750,8 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
@Override
|
|
@Override
|
|
public ExamStudent findBySchoolIdAndExamIdAndSubjectCodeAndStudentCode(Integer schoolId, Integer examId,
|
|
public ExamStudent findBySchoolIdAndExamIdAndSubjectCodeAndStudentCode(Integer schoolId, Integer examId,
|
|
String subjectCode, String studentCode) {
|
|
String subjectCode, String studentCode) {
|
|
- return studentDao
|
|
|
|
- .findBySchoolIdAndExamIdAndSubjectCodeAndStudentCode(schoolId, examId, subjectCode, studentCode);
|
|
|
|
|
|
+ return studentDao.findBySchoolIdAndExamIdAndSubjectCodeAndStudentCode(schoolId, examId, subjectCode,
|
|
|
|
+ studentCode);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -1774,4 +1769,23 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
|
|
public boolean saveObjectivePageCount(ExamStudent student) {
|
|
public boolean saveObjectivePageCount(ExamStudent student) {
|
|
return studentDao.updateObjectivePageCount(student.getId(), student.getObjectivePageCount()) > 0;
|
|
return studentDao.updateObjectivePageCount(student.getId(), student.getObjectivePageCount()) > 0;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public void inspectTagFlag(Integer studentId, Boolean flag, Integer userId) {
|
|
|
|
+ ExamStudent es = studentDao.findOne(studentId);
|
|
|
|
+ if (es == null) {
|
|
|
|
+ throw new StatusException("未找到考试信息");
|
|
|
|
+ }
|
|
|
|
+ if (!SubjectiveStatus.MARKED.equals(es.getSubjectiveStatus())) {
|
|
|
|
+ throw new StatusException("该试卷未评完,不能标记");
|
|
|
|
+ }
|
|
|
|
+ studentDao.inspectTagFlag(studentId, flag, new Date(), userId);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Transactional
|
|
|
|
+ @Override
|
|
|
|
+ public void inspectTagClear(Integer studentId) {
|
|
|
|
+ studentDao.inspectTagClear(studentId);
|
|
|
|
+ }
|
|
}
|
|
}
|