fix: 教师无法审批错误

This commit is contained in:
2024-12-16 21:40:20 +08:00
parent be0b49b3d1
commit 7fde34d238
4 changed files with 212 additions and 73 deletions

View File

@@ -98,7 +98,9 @@ public class LeaveRequestDAOImpl implements LeaveRequestDAO {
@Override
public LeaveRequest findById(int id) {
String sql = "SELECT lr.*, s.* FROM leave_requests lr " +
String sql = "SELECT lr.*, s.id as student_id, s.student_id as student_number, " +
"s.name, s.class_name, s.contact, s.college, s.major, s.is_graduating " +
"FROM leave_requests lr " +
"JOIN students s ON lr.student_id = s.id " +
"WHERE lr.id = ?";
try (Connection conn = DatabaseUtil.getConnection();
@@ -119,7 +121,9 @@ public class LeaveRequestDAOImpl implements LeaveRequestDAO {
@Override
public List<LeaveRequest> findAll() {
List<LeaveRequest> requests = new ArrayList<>();
String sql = "SELECT lr.*, s.* FROM leave_requests lr " +
String sql = "SELECT lr.*, s.id as student_id, s.student_id as student_number, " +
"s.name, s.class_name, s.contact, s.college, s.major, s.is_graduating " +
"FROM leave_requests lr " +
"JOIN students s ON lr.student_id = s.id";
try (Connection conn = DatabaseUtil.getConnection();
Statement stmt = conn.createStatement();
@@ -137,7 +141,9 @@ public class LeaveRequestDAOImpl implements LeaveRequestDAO {
@Override
public List<LeaveRequest> findByStudentId(int studentId) {
List<LeaveRequest> requests = new ArrayList<>();
String sql = "SELECT lr.*, s.* FROM leave_requests lr " +
String sql = "SELECT lr.*, s.id as student_id, s.student_id as student_number, " +
"s.name, s.class_name, s.contact, s.college, s.major, s.is_graduating " +
"FROM leave_requests lr " +
"JOIN students s ON lr.student_id = s.id " +
"WHERE lr.student_id = ? ORDER BY lr.request_time DESC";
try (Connection conn = DatabaseUtil.getConnection();
@@ -158,7 +164,9 @@ public class LeaveRequestDAOImpl implements LeaveRequestDAO {
@Override
public List<LeaveRequest> findByStatus(ApprovalStatus status) {
List<LeaveRequest> requests = new ArrayList<>();
String sql = "SELECT lr.*, s.* FROM leave_requests lr " +
String sql = "SELECT lr.*, s.id as student_id, s.student_id as student_number, " +
"s.name, s.class_name, s.contact, s.college, s.major, s.is_graduating " +
"FROM leave_requests lr " +
"JOIN students s ON lr.student_id = s.id " +
"WHERE lr.status = ? ORDER BY lr.request_time DESC";
try (Connection conn = DatabaseUtil.getConnection();
@@ -211,10 +219,13 @@ public class LeaveRequestDAOImpl implements LeaveRequestDAO {
// 设置学生信息
Student student = new Student();
student.setId(rs.getInt("student_id"));
student.setStudentId(rs.getString("student_id"));
student.setStudentId(rs.getString("student_number"));
student.setName(rs.getString("name"));
student.setClassName(rs.getString("class_name"));
student.setContact(rs.getString("contact"));
student.setCollege(rs.getString("college"));
student.setMajor(rs.getString("major"));
student.setGraduating(rs.getBoolean("is_graduating"));
request.setStudent(student);
Timestamp approvalTime = rs.getTimestamp("approval_time");