You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
library_manage_system/WebContent/manager/04judgeSus.jsp

80 lines
3.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<%@ page import="javabean.DateTime" %> // 导入自定义的DateTime类用于获取当前日期时间
<%@ page import="javabean.CompareDate" %> // 导入自定义的CompareDate类用于比较日期
<%@ page import="java.sql.*" %> // 导入Java SQL包用于数据库操作
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> // 设置页面语言为Java内容类型和字符编码为UTF-8
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="judge" scope="session" class="javabean.JDBCBean"></jsp:useBean> // 使用JSP标签声明一个名为judge的会话范围的JavaBean对象类为javabean.JDBCBean
<%
String book = request.getParameter("bookid"); // 从请求中获取参数bookid的值
session.setAttribute("book", book); // 将bookid的值存储到会话属性中
if(session.getAttribute("manager")!=null){ // 检查会话中是否存在manager属性判断用户是否已登录
DateTime date = new DateTime(); // 创建DateTime对象实例
String now = date.show(); // 调用DateTime对象的show方法获取当前日期时间字符串
String bookid = request.getParameter("bookid"); // 再次从请求中获取参数bookid的值
String sql="select*from borrow_books where book_id = "+bookid; // 构建SQL查询语句查询借书记录表
ResultSet rs = judge.executeQuery(sql); // 执行SQL查询返回结果集
String end = ""; // 初始化变量end用于存储借书记录中的归还日期
String ret = ""; // 初始化变量ret用于存储借书记录中的归还日期
String card = ""; // 初始化变量card用于存储借书记录中的借书卡ID
while (rs.next()) { // 遍历结果集
end = rs.getString("end_date"); // 获取归还日期
ret = rs.getString("return_date"); // 获取实际归还日期
card = rs.getString("card_id"); // 获取借书卡ID
}
if(ret==null){ // 如果实际归还日期为空,表示书未归还
//CompareDate cd = new CompareDate();
long n = CompareDate.show(now,end); // 计算当前日期与归还日期之间的天数差
//out.println(sql);
//out.println(n);
//out.println(end);
//out.println(now);
session.setAttribute("days", n); // 将天数差存储到会话属性中
String sql1="select*from borrow_card where id = "+card; // 构建SQL查询语句查询借书卡信息
ResultSet rs1 = judge.executeQuery(sql1); // 执行SQL查询返回结果集
String rule = ""; // 初始化变量rule用于存储规则ID
while (rs1.next()) { // 遍历结果集
rule = rs1.getString("rule_id"); // 获取规则ID
}
String sql2="select*from rules where id = "+rule; // 构建SQL查询语句查询规则信息
ResultSet rs2 = judge.executeQuery(sql2); // 执行SQL查询返回结果集
String fee = ""; // 初始化变量fee用于存储超时费用
while (rs2.next()) { // 遍历结果集
fee = rs2.getString("overtime_fee"); // 获取超时费用
}
session.setAttribute("fee", fee); // 将超时费用存储到会话属性中
%>
window.location.href = "04return.jsp"; // 跳转到04return.jsp页面
<%
}else{ // 如果实际归还日期不为空,表示书已归还或不存在
%>
("该书未借出或不存在!");
window.location.href = "04judge.jsp"; // 跳转到04judge.jsp页面
<%
}
}else{ // 如果会话中不存在manager属性表示用户未登录
%>
('请先登录!');
window.parent.location.href = "../loginManager.html"; // 跳转到登录页面
<%
}
%>
</body>
</html>