|
|
<%@ page import="java.sql.*" %>
|
|
|
<%@ page import="javabean.EndTime" %>
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
|
|
pageEncoding="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="borrow" scope="session" class="javabean.JDBCBean"></jsp:useBean>
|
|
|
<%
|
|
|
String user = request.getParameter("userid"); // 获取请求参数中的用户ID
|
|
|
String book = request.getParameter("bookid"); // 获取请求参数中的图书ID
|
|
|
String date1 = request.getParameter("date1"); // 获取请求参数中的借阅日期
|
|
|
// String date2 = request.getParameter("date2"); // 获取请求参数中的归还日期(被注释掉)
|
|
|
|
|
|
String sql1 = "select * from borrow_card where ID =" + user; // SQL查询语句,根据用户ID查询借阅卡信息
|
|
|
ResultSet rs1 = borrow.executeQuery(sql1); // 执行SQL查询,返回结果集
|
|
|
|
|
|
if(session.getAttribute("manager")!=null){ // 检查会话中是否有管理员登录
|
|
|
if (rs1.next()) { // 如果查询到借阅卡信息
|
|
|
String rule = rs1.getString("rule_id"); // 获取借阅卡的规则ID
|
|
|
int cardstatus = Integer.parseInt(rs1.getString("STATUS")); // 获取借阅卡状态
|
|
|
|
|
|
String sql4="select*from rules where id = " + rule; // SQL查询语句,根据规则ID查询规则信息
|
|
|
ResultSet rs4 = borrow.executeQuery(sql4); // 执行SQL查询,返回结果集
|
|
|
int n = 0; // 初始化变量n
|
|
|
String library = ""; // 初始化图书馆字符串
|
|
|
String[] libraryArray = {}; // 初始化图书馆数组
|
|
|
int num = 0; // 初始化可借阅数量
|
|
|
while(rs4.next()){ // 遍历规则结果集
|
|
|
n = rs4.getInt("limit_day"); // 获取借阅天数限制
|
|
|
library = rs4.getString("borrow_library"); // 获取可借阅的图书馆
|
|
|
libraryArray = library.split("、"); // 将图书馆字符串分割成数组
|
|
|
num = rs4.getInt("borrow_num"); // 获取可借阅数量
|
|
|
}
|
|
|
|
|
|
EndTime endtime = new EndTime(); // 创建EndTime对象
|
|
|
String end = endtime.show(n); // 计算并获取借阅结束日期
|
|
|
|
|
|
if(cardstatus!=0){ // 如果借阅卡状态有效
|
|
|
String sql2 = "select * from books where ID =" + book; // SQL查询语句,根据图书ID查询图书信息
|
|
|
ResultSet rs2 = borrow.executeQuery(sql2); // 执行SQL查询,返回结果集
|
|
|
if (rs2.next()) { // 如果查询到图书信息
|
|
|
int status = Integer.parseInt(rs2.getString("STATUS")); // 获取图书状态
|
|
|
String lib = Integer.toString(rs2.getInt("library_id")); // 获取图书所在图书馆ID
|
|
|
for(int z=0;z<libraryArray.length;z++){ // 遍历图书馆数组
|
|
|
if(libraryArray[z].equals(lib)){ // 如果图书所在图书馆在可借阅范围内
|
|
|
String countSql = "select count(*) as count from borrow_books where manager_id is null and card_id =" + user; // SQL查询语句,统计当前用户已借阅的图书数量
|
|
|
ResultSet rsSql = borrow.executeQuery(countSql); // 执行SQL查询,返回结果集
|
|
|
int count = 0; // 初始化已借阅数量
|
|
|
while(rsSql.next()){ // 遍历结果集
|
|
|
count = rsSql.getInt("count"); // 获取已借阅数量
|
|
|
}
|
|
|
if(count<num){ // 如果已借阅数量小于可借阅数量
|
|
|
if(status==1){ // 如果图书状态为可借
|
|
|
String sql = "insert into borrow_books(CARD_ID,BOOK_ID,BORROW_DATE,END_DATE) values('" + user + "','" + book + "','" + date1 + "','" + end + "')"; // SQL插入语句,插入借阅记录
|
|
|
int i = borrow.executeUpdate(sql); // 执行SQL插入操作,返回受影响的行数
|
|
|
if (i == 1) { // 如果插入成功
|
|
|
try {
|
|
|
// 显示借阅成功消息并跳转页面
|
|
|
%>
|
|
|
('借阅成功!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
String sql3="update books set STATUS=0 where ID=" + book; // SQL更新语句,更新图书状态为不可借
|
|
|
borrow.executeUpdate(sql3); // 执行SQL更新操作
|
|
|
<%
|
|
|
} catch (Exception e) { // 如果发生异常
|
|
|
// 显示借阅未成功消息并跳转页面
|
|
|
%>
|
|
|
('借阅未成功!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
} else { // 如果插入失败
|
|
|
// 显示借阅未成功消息并跳转页面
|
|
|
%>
|
|
|
('借阅未成功!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
}else{ // 如果图书状态不可借
|
|
|
// 显示图书已借出消息并跳转页面
|
|
|
%>
|
|
|
('该图书已借出!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
}else{ // 如果已借阅数量达到或超过可借阅数量
|
|
|
// 显示已达到借阅数量上限消息并跳转页面
|
|
|
%>
|
|
|
('该用户已达到可借阅数量上限!若需还书,请先借阅其他书籍!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
}if(z==libraryArray.length-1 && !libraryArray[z].equals(lib)){ // 如果遍历完所有图书馆且图书不在可借阅范围内
|
|
|
// 显示图书不在可借阅图书馆内消息并跳转页面
|
|
|
%>
|
|
|
('该图书未在可借阅的图书馆内!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
}
|
|
|
}else{ // 如果查询不到图书信息
|
|
|
// 显示图书不存在消息并跳转页面
|
|
|
%>
|
|
|
('该图书不存在!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
}else{ // 如果借阅卡状态无效
|
|
|
// 显示借阅卡已挂失消息并跳转页面
|
|
|
%>
|
|
|
('借阅卡已挂失!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
} else { // 如果查询不到借阅卡信息
|
|
|
// 显示用户不存在消息并跳转页面
|
|
|
%>
|
|
|
('用户不存在!');
|
|
|
window.location.href = "02borrow.jsp";
|
|
|
<%
|
|
|
}
|
|
|
}else{ // 如果会话中没有管理员登录
|
|
|
// 显示请先登录消息并跳转页面
|
|
|
%>
|
|
|
('请先登录!');
|
|
|
window.parent.location.href = "../loginManager.html";
|
|
|
<%
|
|
|
}
|
|
|
%>
|
|
|
</body>
|
|
|
</html>
|