自动生成配置文件和mapper xml

newBigdata
xiaoCJ 11 months ago
parent 7edc6fe017
commit ef403efc68

@ -148,7 +148,16 @@ public class TeaGradeManageController {
@RequestParam(required = false) String classId,
@RequestParam(required = false) String examManageId) {
List<TeaExamAndUserDto> list = getTeaExamAndUserDtos(schoolId, keyWord, classId, examManageId);
list.sort(new TeaGradeManageServiceImpl.StuUserDtoComparator()); //比较器按得分排序
// 先对列表按照 totalScore 进行降序排序
list.sort((a, b) -> {
BigDecimal scoreA = Optional.ofNullable(a.getTotalScore()).orElse(BigDecimal.ZERO);
BigDecimal scoreB = Optional.ofNullable(b.getTotalScore()).orElse(BigDecimal.ZERO);
return scoreB.compareTo(scoreA);
});
// 遍历排序后的列表,给每个对象设置 scoreRank 字段
for (int i = 0; i < list.size(); i++) {
list.get(i).setScoreRank(i + 1); // 排名从1开始
}
PageInfo<TeaExamAndUserDto> pageInfo = PageUtil.pageHelper(list, index, size);
return new ResultEntity<>(pageInfo);
}
@ -162,7 +171,7 @@ public class TeaGradeManageController {
}
// @GetMapping("/exportExam")
// @GetMapping("/exportExam")
// @ApiOperation("考试模式--页面单个考试导出")
public void exportExam() {
//TODO 待写 页面单个考试导出
@ -315,6 +324,8 @@ public class TeaGradeManageController {
StuUserExample.Criteria stuUserCriteria = stuUserExample.createCriteria();
StuUserExample.Criteria stuUserCriteria1 = stuUserExample.createCriteria();
stuUserCriteria.andSchoolIdEqualTo(schoolId);
stuUserCriteria.andRoleIdEqualTo(4);
stuUserCriteria1.andRoleIdEqualTo(4);
stuUserCriteria1.andSchoolIdEqualTo(schoolId);
List<TeaExamAndUserDto> list = new ArrayList();
if (StringUtils.isNotBlank(keyWord)) {
@ -341,11 +352,22 @@ public class TeaGradeManageController {
if (StringUtils.isNotBlank(examManageId)) {
studentExamCriteria.andExamManageIdEqualTo(examManageId);
}
List<StuStudentExam> stuStudentExams = studentExamMapper.selectByExample(studentExamExample);
for (StuStudentExam stuStudentExam : stuStudentExams) {
teaExamAndUserDto.setObjectiveScore(stuStudentExam.getObjectiveScore());
teaExamAndUserDto.setCaseScore(stuStudentExam.getCaseScore());
teaExamAndUserDto.setTotalScore(stuStudentExam.getTotalScore());
StuStudentExamExample example = new StuStudentExamExample();
example.createCriteria().andUseridEqualTo(userid).andExamManageIdEqualTo(examManageId);
List<StuStudentExamWithBLOBs> stuStudentExams = studentExamMapper.selectByExampleWithBLOBs(example);
if (!stuStudentExams.isEmpty()) {
StuStudentExamWithBLOBs stuStudentExam = stuStudentExams.get(0);
if (stuStudentExam != null) {
if (stuStudentExam.getObjectiveScore() != null) {
teaExamAndUserDto.setObjectiveScore(stuStudentExam.getObjectiveScore());
}
if (stuStudentExam.getCaseScore() != null) {
teaExamAndUserDto.setCaseScore(stuStudentExam.getCaseScore());
}
if (stuStudentExam.getTotalScore() != null) {
teaExamAndUserDto.setTotalScore(stuStudentExam.getTotalScore());
}
}
}
list.add(teaExamAndUserDto);
}

@ -51,6 +51,7 @@ public class TeaGradeManageServiceImpl implements ITeaGradeManageService {
@Override
public PageInfo<TeaTrainingInfoDTO> getTrainingInfo(Integer index, Integer size, String schoolId, String keyWord, String classId, String userId) {
List<TeaTrainingInfoDTO> list = getTeaTrainingInfoDTOS(schoolId, keyWord, classId, userId);
assert list != null;
list.sort(new TotalScoreComparator());
int i = 0;
for (TeaTrainingInfoDTO teaTrainingInfoDTO : list) {
@ -362,8 +363,10 @@ public class TeaGradeManageServiceImpl implements ITeaGradeManageService {
//封装参数
BigDecimal chapterNum = sysCourseChapterMapper.selectChapterBySchoolId(schoolId);
if (totalScore.intValue() != 0) {
BigDecimal score = totalScore.divide(chapterNum,2,RoundingMode.HALF_UP);//已完成的模块分数/总模块数量
BigDecimal score = totalScore.divide(chapterNum, 2, RoundingMode.HALF_UP);//已完成的模块分数/总模块数量
teaTrainingInfoDTO.setTotalScore(score);
}else {
teaTrainingInfoDTO.setTotalScore(BigDecimal.ZERO);
}
if (allProgress.intValue() != 0 && stuTrainings.size() != 0) {
BigDecimal divide = allProgress.divide(BigDecimal.valueOf(stuTrainings.size()), 2, RoundingMode.HALF_UP);
@ -385,7 +388,7 @@ public class TeaGradeManageServiceImpl implements ITeaGradeManageService {
} else if (o2 == null) {
return 1;
} else {
return Integer.compare(o2.getTotalScore().intValueExact(), o1.getTotalScore().intValueExact());
return Integer.compare(o2.getTotalScore().intValue(), o1.getTotalScore().intValue());
}
}
}

Loading…
Cancel
Save