📄 renewbook.java
字号:
package book;
import database.DataBase;
import database.DateTime;
import java.sql.ResultSet;
import reader.Readers;
import admin.admin;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**
* <p>Title: library</p>
* <p>Description: library</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: </p>
* @author nino
* @version 0.1
*/
public class renewBook {
private String errMsg;
private String readerSN;
private String bookSN;
private javax.servlet.http.HttpServletRequest request; //建立页面请求
private javax.servlet.http.HttpSession session; //接收页面SESSION
public String getErrMsg() {
return errMsg;
}
public String getBookSN() {
return bookSN;
}
public String getReaderSN() {
return readerSN;
}
public boolean renewBook(HttpServletRequest res, HttpSession ses) throws
Exception {
DataBase db = new DataBase();
//获取页面请求信息
request = res;
String newBookSN = db.toSql(request.getParameter("bookSN"));
//从SESSION中获取管理员ID
session = ses;
String supervisor = db.toSql( (String) session.getAttribute("supervisor"));
//关闭数据库连接
db.close();
admin admin = new admin();
if (admin.isAdminRB(supervisor)) {
Books book = new Books();
if (book.isBorrow(newBookSN)) {
if (!book.isBookExp(newBookSN)) {
if (!book.isCBRL(newBookSN)) {
return true;
}
else {
errMsg = "编号为" + newBookSN + "的图书续借次数已满,无法续借!";
return false;
}
}
else {
errMsg = "编号为" + newBookSN + "逾期未还,无法进行续借手续!";
return false;
}
}
else {
errMsg = "没有编号为" + newBookSN + "的借阅信息!";
return false;
}
}
else {
errMsg = "编号为" + supervisor + "的管理员没有权限进行续借图书的操作!";
return false;
}
}
public boolean exeRenew(HttpServletRequest res) throws Exception {
//获取页面请求信息
request = res;
DataBase db = new DataBase();
DateTime dt = new DateTime();
Readers reader = new Readers();
Books book = new Books();
String newBookSN = db.toSql(request.getParameter("bookSN"));
try {
//获取图书借阅信息
db.prepareStatement("select 读者编号,还书日期,续借 from Borrow where 图书编号 = ?");
db.setString(1, newBookSN);
ResultSet rs = db.executeQuery();
rs.next();
String newReaderSN = rs.getString(1);
String RD = rs.getString(2);
int CB = Integer.parseInt(rs.getString(3));
rs.close();
//获取续借次数和续借期限
reader.getReaderPower(newReaderSN);
int RPCT = reader.getRPCT(); //续借期限
//更新还书日期和续借次数
String newRD = dt.gainMonth(RD, RPCT);
CB += 1;
String newCB = Integer.toString(CB);
//写入还书日期和续借次数
db.prepareStatement("update Borrow set 还书日期 = ? ,续借 = ? where 图书编号 = ?");
db.setString(1, newRD);
db.setString(2, newCB);
db.setString(3, newBookSN);
db.executeUpdate();
return true;
}
catch (Exception e) {
errMsg = "编号为" + newBookSN + "的图书续借失败!";
return false;
}
finally {
//关闭数据库连接
db.close();
}
}
public boolean autoRenewBook(HttpServletRequest res) throws
Exception {
DataBase db = new DataBase();
Books book = new Books();
//获取页面请求信息
request = res;
String newBookSN = request.getParameter("bookSN");
String newReaderSN = request.getParameter("readerSN");
String newReaderName = request.getParameter("readerName");
//查询是否有借阅信息
db.prepareStatement(
"select * from Borrow where 图书编号 = ? and 读者编号 = ? and 读者姓名 = ? ");
db.setString(1, newBookSN);
db.setString(2, newReaderSN);
db.setString(3, newReaderName);
ResultSet rs = db.executeQuery();
if (rs.next()) {
//有图书借阅信息
//图书是否逾期未还,逾期未还书不予续借
if (!book.isBookExp(newBookSN)) {
//图书的续借次数是否已满,如已满不予续借
if (!book.isCBRL(newBookSN)) {
//执行续借图书
if (exeRenew(newBookSN)) {
return true;
}
errMsg = "未知错误,编号为" + newBookSN + "无法网上续借,请到图书馆办理人工续借手续!";
return false;
}
else {
errMsg = "编号为" + newBookSN + "的图书续借次数已满,无法续借!";
return false;
}
}
else {
errMsg = "编号为" + newBookSN + "逾期未还,无法进行续借手续!";
return false;
}
}
else {
errMsg = "图书编号,读者编号,读者姓名不相符,请确认无误后再尝试自动续借!";
return false;
}
}
public boolean exeRenew(String newBookSN) throws Exception {
//获取页面请求信息
DataBase db = new DataBase();
DateTime dt = new DateTime();
Readers reader = new Readers();
Books book = new Books();
try {
//获取图书借阅信息
db.prepareStatement("select 读者编号,还书日期,续借 from Borrow where 图书编号 = ?");
db.setString(1, newBookSN);
ResultSet rs = db.executeQuery();
rs.next();
String newReaderSN = rs.getString(1);
String RD = rs.getString(2);
int CB = Integer.parseInt(rs.getString(3));
rs.close();
//获取续借次数和续借期限
reader.getReaderPower(newReaderSN);
int RPCT = reader.getRPCT(); //续借期限
//更新还书日期和续借次数
String newRD = dt.gainMonth(RD, RPCT);
CB += 1;
String newCB = Integer.toString(CB);
//写入还书日期和续借次数
db.prepareStatement("update Borrow set 还书日期 = ? ,续借 = ? where 图书编号 = ?");
db.setString(1, newRD);
db.setString(2, newCB);
db.setString(3, newBookSN);
db.executeUpdate();
return true;
}
catch (Exception e) {
errMsg = "编号为" + newBookSN + "的图书续借失败!";
return false;
}
finally {
//关闭数据库连接
db.close();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -