修改首页

pull/1/head
xiaoCJ 2 years ago
parent 3b946c1e13
commit 031d196ab2

@ -42,14 +42,13 @@ public class IndexController {
public ResultEntity<PageInfo<Member>> findAll(@ApiParam("分页索引:{0}为第一页") Integer index, public ResultEntity<PageInfo<Member>> findAll(@ApiParam("分页索引:{0}为第一页") Integer index,
@ApiParam("页量") @RequestParam Integer size, @ApiParam("页量") @RequestParam Integer size,
@ApiParam("班级") @RequestParam(required = false) String classGrade, @ApiParam("班级") @RequestParam(required = false) String classGrade,
@ApiParam("学号") @RequestParam(required = false) String studentNumber,
@ApiParam("姓名") @RequestParam(required = false) String name, @ApiParam("姓名") @RequestParam(required = false) String name,
@ApiParam("日期") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime, @ApiParam("日期") @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@ApiParam("实训任务名字") @RequestParam(required = false) String trainingName @ApiParam("实训任务名字") @RequestParam(required = false) String trainingName
) { ) {
JwtUser currentUser = TokenProvider.getJWTUser(request); JwtUser currentUser = TokenProvider.getJWTUser(request);
int schoolId = currentUser.getSchoolId(); int schoolId = currentUser.getSchoolId();
PageInfo<Member> byConditions = indexService.findByConditions(index, size, classGrade, studentNumber, name, startTime, trainingName, schoolId); PageInfo<Member> byConditions = indexService.findByConditions(index, size, classGrade, name, startTime, trainingName, schoolId);
return new ResultEntity<>(byConditions); return new ResultEntity<>(byConditions);
} }

@ -22,14 +22,12 @@ public class IndexService {
private final MemberMapper memberMapper; private final MemberMapper memberMapper;
private final TrainingMapper trainingMapper; private final TrainingMapper trainingMapper;
//TODO 实训任务结束后系统自动显示模拟交易实训成绩,教师评分之后显示实验报告成绩。
// 首页分页 排序 模糊查询 // 首页分页 排序 模糊查询
public PageInfo<Member> findByConditions(Integer index, Integer size, String classGrade, String studentNumber, String name, Date startTime, String trainingName, Integer schoolId) { public PageInfo<Member> findByConditions(Integer index, Integer size, String classGrade, String name, Date startTime, String trainingName, Integer schoolId) {
TrainingExample trainingExample = new TrainingExample(); TrainingExample trainingExample = new TrainingExample();
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
// 跳转到首页 没有参数 显示所有 // 跳转到首页 没有参数 显示所有
if (classGrade == null && studentNumber == null && name == null && startTime == null && trainingName == null) { if (classGrade == null && name == null && startTime == null && trainingName == null) {
MemberExample memberExample = new MemberExample(); MemberExample memberExample = new MemberExample();
MemberExample.Criteria criteria = memberExample.createCriteria(); MemberExample.Criteria criteria = memberExample.createCriteria();
if (schoolId != null) { if (schoolId != null) {
@ -52,35 +50,25 @@ public class IndexService {
if (StringUtils.isNotEmpty(trainingName)) { if (StringUtils.isNotEmpty(trainingName)) {
criteria.andTrainingNameEqualTo(trainingName); criteria.andTrainingNameEqualTo(trainingName);
} }
if (startTime!=null) { if (startTime != null) {
criteria.andStartTimeEqualTo(startTime); criteria.andStartTimeEqualTo(startTime);
} }
List<Training> trainings = null; List<Training> trainings = null;
if (StringUtils.isNotEmpty(trainingName) || startTime!=null) { if (StringUtils.isNotEmpty(trainingName) || startTime != null) {
trainings = trainingMapper.selectByExample(trainingExample); trainings = trainingMapper.selectByExample(trainingExample);
} }
List<Member> members = new ArrayList<>(); List<Member> members = new ArrayList<>();
if (trainings == null || trainings.isEmpty()) {
if (classGrade == null && name == null) {
return null;
}
}
if (trainings != null && !trainings.isEmpty()) { if (trainings != null && !trainings.isEmpty()) {
//根据trainingName查到了对象 //根据trainingName查到了对象
for (Training training : trainings) { for (Training training : trainings) {
MemberExample memberExample = new MemberExample();
MemberExample.Criteria criteria1 = memberExample.createCriteria();
String trainingId = training.getTrainingId(); String trainingId = training.getTrainingId();
if (trainingId != null) { List<Member> membersForTraining = memberMapper.selectMembers(schoolId, name, classGrade, trainingId); //
criteria1.andTrainingIdEqualTo(trainingId);
}
if (StringUtils.isNotEmpty(classGrade)) {
criteria1.andClassGradeLike("%" + classGrade + "%");
}
if (StringUtils.isNotEmpty(studentNumber)) {
criteria1.andStudentNumberLike("%" + studentNumber + "%");
}
if (StringUtils.isNotEmpty(name)) {
criteria1.andNameLike("%" + name + "%");
}
memberExample.setOrderByClause("yield DESC");
List<Member> membersForTraining = memberMapper.selectByExample(memberExample);
for (int i = 1; i <= membersForTraining.size(); i++) { for (int i = 1; i <= membersForTraining.size(); i++) {
for (Member member : membersForTraining) { for (Member member : membersForTraining) {
member.setStuRank(i); member.setStuRank(i);
@ -88,33 +76,17 @@ public class IndexService {
} }
} }
members.addAll(membersForTraining); members.addAll(membersForTraining);
}
return new PageInfo<>(members); return new PageInfo<>(members);
} }
//没有传training表中两个参数时直接查member表
MemberExample memberExample = new MemberExample();
MemberExample.Criteria criteria1 = memberExample.createCriteria();
if (schoolId != null) {
criteria1.andSchoolIdEqualTo(schoolId);
}
if (StringUtils.isNotEmpty(classGrade)) {
criteria1.andClassGradeLike("%" + classGrade + "%");
}
if (StringUtils.isNotEmpty(studentNumber)) {
criteria1.andStudentNumberLike("%" + studentNumber + "%");
}
if (StringUtils.isNotEmpty(name)) {
criteria1.andNameLike("%" + name + "%");
} }
memberExample.setOrderByClause("yield DESC");
PageHelper.startPage(index, size); PageHelper.startPage(index, size);
List<Member> membersForTraining = memberMapper.selectByExample(memberExample); List<Member> resultMembers = memberMapper.selectMemberByNameAndNumber(schoolId, name);
for (int i = 1; i <= membersForTraining.size(); i++) { for (int i = 1; i <= resultMembers.size(); i++) {
for (Member member : membersForTraining) { for (Member resultMember : resultMembers) {
member.setStuRank(i); resultMember.setStuRank(i);
i++; i++;
} }
} }
return new PageInfo<>(membersForTraining); return new PageInfo<>(resultMembers);
} }
} }

Loading…
Cancel
Save