⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 borrow.java~11~

📁 图书管理系统,B/S,C/S都有,附有源代码
💻 JAVA~11~
字号:
package book;

import database.DataBase;
import database.DateTime;
import java.sql.ResultSet;
import reader.Readers;
import javax.servlet.http.HttpServletRequest;

/**
 * <p>Title: library</p>
 * <p>Description: library</p>
 * <p>Copyright: Copyright (c) 2007</p>
 * <p>Company: </p>
 * @author nino
 * @version 0.1
 */

public class borrow {

  private String errMsg;
  private String readerSN;
  private String bookSN;
  private javax.servlet.http.HttpServletRequest request; //建立页面请求

  public String getErrMsg() {
    return errMsg;
  }

  public String getBookSN() {
    return bookSN;
  }

  public String getReaderSN() {
    return readerSN;
  }

  public boolean borrow(HttpServletRequest res) throws Exception {

    //获取页面请求信息
    request = res;
    DataBase db = new DataBase();
    String newBookSN = db.toSql(request.getParameter("bookSN"));
    String newReaderSN = db.toSql(request.getParameter("readerSN"));

    Readers reader = new Readers();

    if (reader.isReaderExist(newReaderSN)) {
      if (!reader.isReaderLocked(newReaderSN)) {
        if (!reader.isExpReader(newReaderSN)) {
          if (!reader.isBBRL(newReaderSN)) {
            Books book = new Books();
            if (!book.isExpBook(newReaderSN)) {
              if (book.isBookExist(newBookSN)) {
                if (book.isBookIn(newBookSN)) {
                  if (book.canBorrow(newReaderSN, newBookSN)) {

                    //执行借阅
                    DateTime dt = new DateTime();

                    //获取该读者信息
                    db.prepareStatement(
                        "select 读者姓名,借阅权限 from Reader where 读者编号 = ?");
                    db.setString(1, db.toSql(newReaderSN));
                    ResultSet rs = db.executeQuery();
                    rs.next();
                    String newReaderName = db.toSql(rs.getString(1));
                    String newReaderPower = db.toSql(rs.getString(2));

                    db.prepareStatement(
                        "select 借阅期限 from ReaderLevel where 借阅权限 = ?");
                    db.setString(1, newReaderPower);
                    rs = db.executeQuery();
                    rs.next();
                    int newRPBT = Integer.parseInt(rs.getString(1));
                    rs.close();

                    //计算还书日期
                    String newCD = db.toSql(dt.getDate());
                    String newRD = db.toSql(dt.gainMonth(newRPBT));

                    //将借阅信息写入
                    db.prepareStatement(
                        "insert into Borrow values(?,?,?,?,?,'0')");
                    db.setString(1, newBookSN);
                    db.setString(2, newReaderSN);
                    db.setString(3, newReaderName);
                    db.setString(4, newCD);
                    db.setString(5, newRD);
                    db.executeUpdate();

                    //将图书不在库信息写入
                    db.prepareStatement("update Book set 是否在库 = '0'");
                    db.executeUpdate();

                    return true;
                  }
                  else {
                    errMsg = "编号为" + newReaderSN + "的读者不够权限借阅编号为" + newBookSN +
                        "的图书!";
                    return false;
                  }
                }
                else {
                  errMsg = "编号为" + newBookSN + "的图书不在库,已借出!";
                  return false;
                }
              }
              else {
                errMsg = "编号为" + newBookSN + "的图书不存在!";
                return false;
              }
            }
            else {
              errMsg = "编号为" + newReaderSN + "的读者有逾期未归还的图书,请先归还图书后再借阅新书!";
              return false;
            }
          }
          else {
            errMsg = "编号为" + newReaderSN + "的读者的图书借阅数量已满!";
            return false;
          }
        }
        else {
          errMsg = "编号为" + newReaderSN + "的读者借阅有效期已过期!";
          return false;
        }
      }
      else {
        errMsg = "编号为" + newReaderSN + "的读者被已锁定!";
        return false;
      }
    }
    else {
      errMsg = "编号为" + newReaderSN + "的读者编号不存在!";
      return false;
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -