📄 bookmanage.java
字号:
- borrowedNum;
getJTextField_copies().setText(
copies.toString());
} else {
JOptionPane.showMessageDialog(null, "数据修改失败");
}
}
}
}
});
}
return jButton_edit;
}
/**
* This method initializes jButton3
*
* @return javax.swing.JButton
*/
private JButton getJButton_del() {
if (jButton_del == null) {
jButton_del = new JButton();
jButton_del.setIcon(new ImageIcon("E:/img/standard_127_20.png"));
jButton_del.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (checkEmpty()) {
// 书目记录的删除只有其所有图书复本都在库的情况下才可以
// 即 copies = stocks
// 而copies > stocks 则说明出错
if (!deleteable) {
JOptionPane.showMessageDialog(null,
"书目记录的删除只有其所有图书复本都在库的情况下才可以");
} else {
BookOper db = new BookOper();
String[] names = getJTableValue();
System.out.println(names[0]);
int ch = JOptionPane.showConfirmDialog(null,
"你真的要删除该记录?", "删除数据",
JOptionPane.YES_NO_OPTION);
if (ch == JOptionPane.YES_OPTION) {
if (db.delete(names[0])) {
JOptionPane.showMessageDialog(null,
"数据删除成功");
// row = getJTable().getSelectedRow();
// TableModel td = getJTable().getModel();
// DefaultTableModel model =
// (DefaultTableModel)
// td;
// model.removeRow(row);
search(0);
} else {
JOptionPane.showMessageDialog(null,
"数据删除失败");
}
}
}
}
}
});
}
return jButton_del;
}
/**
* This method initializes jToolBar1
*
* @return javax.swing.JToolBar
*/
private JToolBar getJToolBar_borrowedNum() {
if (jToolBar_borrowedNum == null) {
jLabel_borrowedNum = new JLabel();
jLabel_borrowedNum.setText("借出");
jToolBar_borrowedNum = new JToolBar();
jToolBar_borrowedNum.setFloatable(false);
jToolBar_borrowedNum.add(jLabel_borrowedNum);
jToolBar_borrowedNum.add(getJTextField_borrowedNum());
}
return jToolBar_borrowedNum;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField_borrowedNum() {
if (jTextField_borrowedNum == null) {
jTextField_borrowedNum = new JTextField();
jTextField_borrowedNum.setEditable(false);
}
return jTextField_borrowedNum;
}
/**
* This method initializes jPanel_info
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel_info() {
if (jPanel_info == null) {
jLabel_pagination = new JLabel();
jLabel_pagination.setIcon(new ImageIcon(
"E:/img/standard_014_32.png"));
jLabel_pagination
.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent e) {
if (jPanel_pagination.isVisible()) {
jPanel_pagination.setVisible(false);
search(0);
} else {
jPanel_pagination.setVisible(true);
pagination(1);
}
}
});
jPanel_info = new JPanel();
jPanel_info.add(jLabel_pagination, null);
jPanel_info.add(getJTextField_search(), null);
jPanel_info.add(getJToggleButton_new(), null);
jPanel_info.add(getJButton_borrow(), null);
}
return jPanel_info;
}
/**
* This method initializes jToggleButton_new
*
* @return javax.swing.JToggleButton
*/
private JToggleButton getJToggleButton_new() {
if (jToggleButton_new == null) {
jToggleButton_new = new JToggleButton();
jToggleButton_new.setIcon(new ImageIcon(
"E:/img/standard_157_20.png"));
jToggleButton_new.setText("新书推荐");
jToggleButton_new
.addItemListener(new java.awt.event.ItemListener() {
public void itemStateChanged(java.awt.event.ItemEvent e) {
if (jToggleButton_new.isSelected()) {
search(1);
} else {
search(0);
}
}
});
}
return jToggleButton_new;
}
/**
* This method initializes jButton_borrower
*
* @return javax.swing.JButton
*/
private JButton getJButton_borrow() {
if (jButton_borrow == null) {
jButton_borrow = new JButton();
jButton_borrow.setIcon(new ImageIcon("E:/img/standard_158_20.png"));
jButton_borrow.setText("借书");
jButton_borrow
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
// .....要检查 是不是已续借过!!!!
// 续借过的书归还后,有5天不能再次续借,作为续借缓冲期(供其他有需要的借阅者借阅)
if (checkEmpty() && checkFree() && checkOutDate()
&& checkRenewed()) {
// 当借阅者已在近期(5天内)借阅记录上 借过此书,并归还
// 此时,要作特殊处理
// 若未续借,则说明此次借书为 续借!!!!
// 若已续借,则借阅者 在5天内不可再续借!!!
// 如果在借期,未续借过,则说明此次借书为 续借
String detail_id = DetailOper.isRenewAction(
getJTextField_isbn().getText().trim(),
Login.BORR.getBorrower_id(), up);
// 如果 此书在5天前归还了,未续借过,则说明此次借书为 续借
String detail_id0 = DetailOper.isRenewAction0(
getJTextField_isbn().getText().trim(),
Login.BORR.getBorrower_id());
if (detail_id0 != null) {
Iterator iter = DetailOper.getInfo(3,
detail_id0).iterator();
if (iter.hasNext()) {
selectedDetail = (Detail) iter.next();
}
selectedDetail.setReturn_date(null);
selectedDetail.setIsReturn("0");
renew(true);
} else if (detail_id != null) {
Iterator iter = DetailOper.getInfo(3,
detail_id).iterator();
if (iter.hasNext()) {
selectedDetail = (Detail) iter.next();
}
selectedDetail.setReturn_date(null);
selectedDetail.setIsReturn("0");
renew(false);
} else {
String book = getJTextField_book()
.getText();
String isbn = getJTextField_isbn()
.getText();
Integer copies = Integer
.valueOf(getJTextField_copies()
.getText());
int ch = JOptionPane.showConfirmDialog(
null, "你想借《" + book + "》?", "借书?",
JOptionPane.YES_NO_OPTION);
if (ch == JOptionPane.YES_OPTION) {
// 往Detail表中添加一记录
// 并修改 此用户 的已借书数量+1
// 及 此书 的副本数量-1
// 记录当前时间为借书时间
Date borrow_date = DetailOper
.getSysdate();
// ......
// 这里应还书时间用 orecle时间函数计算
// long next = 90*24*60*60*1000;
// Date return_date = new
// Date(b_date.getTime()+next);
Detail detail = new Detail(null,
Login.BORR.getBorrower_id(),
getJTextField_isbn().getText(),
borrow_date, "0", null, "0",
null, null, null, null);
Borrower borrower = new Borrower(
Login.BORR.getBorrower_id(),
Login.BORR.getBorrow_num() + 1);
Book bok = new Book(isbn, copies - 1);
if (DetailOper.add(detail)
&& BorrowerOper
.updateNum(borrower)
&& BookOper.updateNum(bok)) {
JOptionPane.showMessageDialog(null,
"操作成功!");
// 临时数据也要保存
Login.BORR.setBorrow_num(Login.BORR
.getBorrow_num() + 1);
search(0);
mySearch(1);
RefreshTip();
// 重置
getJToggleButton_allDetail()
.setSelected(false);
getJToggleButton_urge()
.setSelected(false);
getJTextField_isbn().setText(null);
selectedDetail = null;
} else {
JOptionPane.showMessageDialog(null,
"操作失败!");
}
}
}
}
}
});
}
return jButton_borrow;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton_return() {
if (jButton_return == null) {
jButton_return = new JButton();
jButton_return.setIcon(new ImageIcon("E:/img/standard_158_20.png"));
jButton_return.setText("还书");
jButton_return
.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (checkMyEmpty()) {
// // "流水号", "书名","借阅日期", "是否续借", "续借日期",
// "是否已归还","归还日期", "须交罚金"}
String book = selectedDetail.getBook();
int ch = JOptionPane.showConfirmDialog(null,
"你想还《" + book + "》?", "还书?",
JOptionPane.YES_NO_OPTION);
if (ch == JOptionPane.YES_OPTION) {
// 往Detail表中修改记录
// 并修改 此用户 的已借书数量-1
// 及 此书 的副本数量+1
// 交罚金!!!!!!!!
if (selectedDetail.getFine() <= 0
|| JOptionPane.showConfirmDialog(
null, "这本书借阅期限已过,是否要交罚金?",
"交罚金?!",
JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION
) {
// 交了罚金,故设罚金为0
// NO!!
// 要记录下来
// selectedDetail.setFine(0f);
// 记录当前时间为还书时间
Date return_date = DetailOper
.getSysdate();
selectedDetail
.setReturn_date(return_date);
// 设置已还书
selectedDetail.setIsReturn("1");
// /要考虑 事务 问题????!!!!!
Borrower borrower = new Borrower(
Login.BORR.getBorrower_id(),
Login.BORR.getBorrow_num() - 1);
// 通过isbn查找原copies
String isbn = selectedDetail.getIsbn();
Book bok = (Book) BookOper.query(isbn)
.iterator().next();
Integer copies = bok.getCopies() + 1;
bok = new Book(isbn, copies);
if (DetailOper.update(selectedDetail)
& BorrowerOper
.updateNum(borrower)
& BookOper.updateNum(bok)) {
JOptionPane.showMessageDialog(null,
"操作成功!");
// 临时数据也要保存
Login.BORR.setBorrow_num(Login.BORR
.getBorrow_num() - 1);
search(0);
outDate = false;// 重置
mySearch(1);
RefreshTip();
selectedDetail = null;// 重置
} else {
JOptionPane.showMessageDialog(null,
"操作失败!");
}
}
}
}
}
});
}
return jButton_return;
}
// 已借图书表 检查 是否已选择
private boolean checkMyEmpty() {
if (selectedDetail == null) {
JOptionPane.showMessageDialog(null, "请选择一条图书记录来进行操作!!");
return false;
}
return true;
}
private void renew(boolean flag) {
int ch = 0;
if (flag) {
String book = getJTextField_book().getText();
ch = JOptionPane.showConfirmDialog(null, "你刚(五天内)归还这本《" + book
+ "》,你是否想续借此书?", "续借?", JOptionPane.YES_NO_OPTION);
} else {
String book = selectedDetail.getBook();
ch = JOptionPane.showConfirmDialog(null, "你想续借《" + book + "》?",
"续借?", JOptionPane.YES_NO_OPTION);
}
if (ch == JOptionPane.YES_OPTION) {
// 往Detail表中修改记录
// 记录当前时间为续借时间
Date renew_date = DetailOper.getSysdate();
selectedDetail.setRenew_date(renew_date);
// 设置已续借
selectedDetail.setIsRenew("1");
if (DetailOper.update(selectedDetail)) {
JOptionPane.showMessageDialog(null, "操作成功!");
// 特殊处理---借了,还,还了,还借@!#$@#$#
if (flag) {
String isbn = getJTextField_isbn().getText();
Integer copies = Integer.valueOf(getJTextField_copies()
.getText());
Borrower borrower = new Borrower(Login.BORR
.getBorrower_id(), Login.BORR.getBorrow_num() + 1);
Book bok = new Book(isbn, copies - 1);
BorrowerOper.updateNum(borrower);
BookOper.updateNum(bok);
// 临时数据也要保存
Login.BORR.setBorrow_num(Login.BORR.getBorrow_num() + 1);
}
search(0);
mySearch(1);
RefreshTip();
// 重置
getJToggleButton_allDetail().setSelected(false);
getJToggleButton_urge().setSelected(false);
getJTextField_isbn().setText(null);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -