diff --git a/src/main/java/com/pyc/campus/controller/WebController.java b/src/main/java/com/pyc/campus/controller/WebController.java index e5eaa70609785c30434f9fbbb26ecf65b9f71b0a..d4140aa89ff3912a9aa00570eb0074f449978ef9 100644 --- a/src/main/java/com/pyc/campus/controller/WebController.java +++ b/src/main/java/com/pyc/campus/controller/WebController.java @@ -17,6 +17,7 @@ import org.springframework.security.core.context.SecurityContextImpl; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -44,6 +45,38 @@ public class WebController { this.friendListRepository=friendListRepository; } + @RequestMapping("/desc") + public String desc(Model model, HttpSession session){ + SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); + String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); + List gradeListDesc = gradeRepository.findAllByStudentIDOrderByGradeDesc(currentStudentId); + int minGrade = gradeRepository.findMinGrade(currentStudentId); + int maxGrade = gradeRepository.findMaxGrade(currentStudentId); + int sumCredit = gradeRepository.findSumCredit(currentStudentId); + float avgGPA = gradeRepository.findAvgGPA(currentStudentId); + model.addAttribute("minGrade", minGrade); + model.addAttribute("maxGrade", maxGrade); + model.addAttribute("sumCredit", sumCredit); + model.addAttribute("avgGPA",avgGPA); + model.addAttribute("gradeItems", gradeListDesc); + return "page/QueryGrade"; + } + @RequestMapping("/asc") + public String asc(Model model, HttpSession session){ + SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); + String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); + List gradeListAsc = gradeRepository.findAllByStudentIDOrderByGradeAsc(currentStudentId); + int minGrade = gradeRepository.findMinGrade(currentStudentId); + int maxGrade = gradeRepository.findMaxGrade(currentStudentId); + int sumCredit = gradeRepository.findSumCredit(currentStudentId); + float avgGPA = gradeRepository.findAvgGPA(currentStudentId); + model.addAttribute("minGrade", minGrade); + model.addAttribute("maxGrade", maxGrade); + model.addAttribute("sumCredit", sumCredit); + model.addAttribute("avgGPA",avgGPA); + model.addAttribute("gradeItems", gradeListAsc); + return "page/QueryGrade"; + } @RequestMapping("/home") public String home(Model model, HttpSession session){ SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); @@ -463,6 +496,14 @@ public class WebController { SecurityContextImpl securityContext = (SecurityContextImpl)session.getAttribute("SPRING_SECURITY_CONTEXT"); String currentStudentId = ((UserDetails) securityContext.getAuthentication().getPrincipal()).getUsername(); List gradeList = gradeRepository.findAllByStudentID(currentStudentId); + int minGrade = gradeRepository.findMinGrade(currentStudentId); + int maxGrade = gradeRepository.findMaxGrade(currentStudentId); + int sumCredit = gradeRepository.findSumCredit(currentStudentId); + float avgGPA = gradeRepository.findAvgGPA(currentStudentId); + model.addAttribute("minGrade", minGrade); + model.addAttribute("maxGrade", maxGrade); + model.addAttribute("sumCredit", sumCredit); + model.addAttribute("avgGPA",avgGPA); model.addAttribute("gradeItems", gradeList); return "page/QueryGrade"; } diff --git a/src/main/java/com/pyc/campus/dao/GradeRepository.java b/src/main/java/com/pyc/campus/dao/GradeRepository.java index d32115f7ea182fef3048756227da907319b30305..50f0a56929372c3af5685740f8a746ffef3eee8e 100644 --- a/src/main/java/com/pyc/campus/dao/GradeRepository.java +++ b/src/main/java/com/pyc/campus/dao/GradeRepository.java @@ -10,6 +10,7 @@ package com.pyc.campus.dao; import com.pyc.campus.domain.Grade; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.data.rest.core.annotation.RestResource; @@ -20,4 +21,22 @@ public interface GradeRepository extends JpaRepository { List findAllByStudentID(String studentId); @RestResource(path="findAllByName", rel="findAllByName") List findAllByName(@Param("name")String name); + // 按成绩降序排列 + //@Query("select Grade from Grade g where g.studentID=?1 order by g.grade desc ") + List findAllByStudentIDOrderByGradeDesc(String stuID); + //按成绩升序排列 + List findAllByStudentIDOrderByGradeAsc(String stuID); + // 查找最低成绩 + @Query("select min(g.grade) from Grade g where g.studentID=?1") + int findMinGrade(String stuID); + // 查找最高成绩 + @Query("select max(g.grade) from Grade g where g.studentID=?1") + int findMaxGrade(String stuID); + // 查找总学分 + @Query("select sum(g.credit) from Grade g where g.studentID=?1") + int findSumCredit(String stuID); + // 查找总平均绩点 + @Query("select avg(g.gpa) from Grade g where g.studentID=?1") + float findAvgGPA(String stuID); + } diff --git a/src/main/resources/templates/page/BrowserQuestion.html b/src/main/resources/templates/page/BrowserQuestion.html index 6837695b38b9ab2843e4692c805df38b681a115d..cf1a538f3fec8d9b375e9f376b8c6c0060795180 100644 --- a/src/main/resources/templates/page/BrowserQuestion.html +++ b/src/main/resources/templates/page/BrowserQuestion.html @@ -67,45 +67,7 @@ - +
diff --git a/src/main/resources/templates/page/QueryGrade.html b/src/main/resources/templates/page/QueryGrade.html index 5ebcd2e7713326dfb4a55533af31f9cf786fa252..138db5854de1f09ed78fc22c5e930f34db2eac8d 100644 --- a/src/main/resources/templates/page/QueryGrade.html +++ b/src/main/resources/templates/page/QueryGrade.html @@ -71,45 +71,7 @@
- +
@@ -160,6 +122,20 @@
+
+

+ 当前最低课程成绩:,最高成绩:, + 已获得学分:,总平均绩点: +

+
+
+
+ +
+
+ +
+
diff --git a/src/main/resources/templates/page/UpQuestion.html b/src/main/resources/templates/page/UpQuestion.html index 87511cddfdb4e076b34ec939a899f48bd84227da..035691fe00a810e52c1422cf9f493c2324885c47 100644 --- a/src/main/resources/templates/page/UpQuestion.html +++ b/src/main/resources/templates/page/UpQuestion.html @@ -75,45 +75,7 @@
- +