📄 adminaction.java
字号:
package com.jxyd.action;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.jxyd.common.Char;
import com.jxyd.common.Fenye;
import com.jxyd.dao.AdminDAO;
import com.jxyd.dao.UserDAO;
import com.jxyd.vo.BookBean;
import com.jxyd.vo.LendBean;
import com.jxyd.vo.UserBean;
public class AdminAction extends DispatchAction {
private final Logger log = Logger.getLogger(getClass());
public ActionForward LendBookPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
System.out.println("hello world!");
if (request.getSession().getAttribute("loginfoA") == null) {
return new ActionForward("/login.jsp");
}
return mapping.findForward("lendbook");// 点击借书管理时的跳转页面
}
public ActionForward ReturnBookPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
if (request.getSession().getAttribute("loginfoA") == null) {
return new ActionForward("/login.jsp");
}
return mapping.findForward("returnbook");// 点击借书管理时的跳转页面
}
public ActionForward AddBookPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
if (request.getSession().getAttribute("loginfoA") == null) {
return new ActionForward("/login.jsp");
}
return mapping.findForward("addbookpage");// 点击添加图书时的跳转页面
}
/**
* 根据读者图书证编号返回对应读者信息,用于借书、还书操作
*
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward SelectUserByCode(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
String userpwd = request.getParameter("pwd");
String BarCode = request.getParameter("userCode");// 获得页面的用户借阅证号
UserDAO udao = new UserDAO();
UserBean ub = new UserBean();
try {
if (userpwd != null) {
ub = udao.SelectUserByUId(BarCode, userpwd);
} else if (userpwd == null) {
ub = udao.SelectUserByUId(BarCode);
}
if (ub != null) {
if (ub.getNowLendNum() > ub.getLimitLendNum()) {
request.setAttribute("error", "对不起,您已经借满!");
return mapping.findForward("lendbook");
} else {
request.setAttribute("ub", ub);
System.out.println(ub.getName() + userpwd);
return mapping.findForward("userajaxpage");
}
} else {
request.setAttribute("error",
" <script language=JavaScript>alert(" + "'该用户不存在!'"
+ ");</script>");
return mapping.findForward("userajaxpage");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
/**
* 根据图书条码号返回对应图书信息,用与借书操作
*
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward SelectBookByCode(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
String bookcode = request.getParameter("bookcode").trim();
AdminDAO adao = new AdminDAO();
try {
BookBean bb = adao.SelectBookbycode(bookcode);
if (bb != null) {
request.setAttribute("bb", bb);
return mapping.findForward("bookajaxpage");
} else {
request.setAttribute("error",
" <script language=JavaScript>alert(" + "'没有该图书!'"
+ ");</script>");
return mapping.findForward("lendbook");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
/**
* 借书操作
*
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward LendBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String userCode = request.getParameter("userCode").trim();// 读者条码号
String bookCode = request.getParameter("bookCode").trim();// 图书条码号
System.out.println(userCode + "==========" + bookCode);
String bookName = request.getParameter("bname").trim();// 书名
String userName = request.getParameter("uname");// 读者姓名
String ISBN = request.getParameter("isbn").trim();
Integer type = Integer.parseInt(request.getParameter("type"));// 读者类型
GregorianCalendar now = new GregorianCalendar();
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
String lenddate = f.format(now.getTime());
if (type == 1) {
now.add(f.MONTH_FIELD, 3);// 当读者为教员时,当前月份加3个月即为应该归还的日期
} else if (type == 2) {
now.add(f.MONTH_FIELD, 2);// 当读者为教员学生时,当前月份加2个月
}
String shouldreturndate = f.format(now.getTime());// 设置应归还的日期
System.out.println(userCode + bookCode);
LendBean lb = new LendBean();
lb.setUserId(userCode);
lb.setBookCode(bookCode);
lb.setLendDate(lenddate);
lb.setShouldReturnDate(shouldreturndate);
lb.setBookName(bookName);
lb.setUserName(userName);
lb.setISBN(ISBN);
lb.setType(type);// 设置读者类型
lb.setState(1);// 设置借阅状态为1,表示借书
AdminDAO adao = new AdminDAO();
try {
UserDAO udao = new UserDAO();
UserBean ub = udao.SelectUserByUId(userCode);
adao.LentBook(lb);// 执行借书操作
udao.UpdateNowLend(ub.getNowLendNum() + 1, userCode);// 并向读者表中的已借字段加1
adao.UpdateBook(bookCode,
adao.SelectBookbycode(bookCode).getNum() - 1); // 图书表里的馆藏数目减1
// 到此,借书操作完成
log.info("读者"+ub.getName()+"于"+lb.getLendDate()+"借出"+lb.getBookName());
} catch (Exception e) {
e.printStackTrace();
}
// 执行借阅后并在页面下方显示出来
ArrayList<?> list = null;
try {
Fenye fenye = new Fenye();
fenye.setPageSize(5);
fenye.init(request, "admin.do", null, adao.count(userCode), "p", 3);
list = adao.SelectLendBook(userCode, fenye.getStart(), fenye
.getPageSize());// 查询该读者借阅的全部图书
if (list != null) {
request.setAttribute("lb", list);
request.setAttribute("fenye", fenye);
}
} catch (Exception e) {
// TODO: handle exception
}
return mapping.findForward("lendajaxpage");
}
/**
* 还书操作
*
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward ReturnBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String userCode = request.getParameter("userCode").trim();// 读者条码号
String bookCode = request.getParameter("bookCode").trim();// 图书条码号
System.out.println("userCode=" + userCode + "%%%%%%%%%%bookCode="
+ bookCode);
Integer lendTime = null;
boolean flag = false;
AdminDAO adao = new AdminDAO();
LendBean lb = adao.SelectLend(bookCode, userCode);
String lenddate = lb.getLendDate();// 借书时间
String shoureturndate = lb.getShouldReturnDate();// 应该归还的时间
GregorianCalendar now = new GregorianCalendar();
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
String returndate = f.format(now.getTime());
lb.setReturnDate(returndate);// 设置归还时间
lb.setState(2);
try {
Date t1 = f.parse(lenddate);
Date t2 = f.parse(returndate);
Date t3 = f.parse(shoureturndate);
lendTime = Integer.valueOf((int) (t2.getTime() - t1.getTime())
/ (1000 * 60 * 60 * 24));// 计算实际借出的天数
lb.setLendTime(lendTime);
int overtime = Integer.valueOf((int) (t3.getTime() - t2.getTime())
/ (1000 * 60 * 60 * 24));// 计算超期时间
if (overtime < 0) {// 表示超期
lb.setYesNo(1);
lb.setAmerce(lendTime * 0.1);// 计算罚款金额
}
flag = adao.ReturBook(lb);// 执行还书操作
if (flag) {
UserDAO udao = new UserDAO();
UserBean ub = udao.SelectUserByUId(userCode);
udao.UpdateNowLend(ub.getNowLendNum() - 1, userCode);// 并向读者表中的已借字段减1
adao.UpdateBook(bookCode, adao.SelectBookbycode(bookCode)
.getNum() + 1); // 图书表里的馆藏数目加1
}
// 到此,还书操作完成
log.info("读者"+lb.getUserName()+"于"+lb.getReturnDate()+"归还图书"+lb.getBookName());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (flag) {
ArrayList<?> list = null;
try {
Fenye fenye = new Fenye();
fenye.setPageSize(5);
fenye.init(request, "admin.do", null, adao.count(userCode),
"p", 3);
list = adao.SelectLendBook(userCode, fenye.getStart(), fenye
.getPageSize());// 查询该读者借阅的全部图书
if (list != null) {
request.setAttribute("lb", list);
request.setAttribute("fenye", fenye);
}
} catch (Exception e) {
// TODO: handle exception
}
}
return mapping.findForward("returnajaxpage");
}
public ActionForward AddBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String bname = request.getParameter("bname").trim();
String bookCode = request.getParameter("bookCode").trim();
String isbn = request.getParameter("isbn").trim();
String author = request.getParameter("author").trim();
String pcom = request.getParameter("pcom").trim();
String pdate = request.getParameter("pdate").trim();
String classId = request.getParameter("classId").trim();
String price = request.getParameter("price").trim();
String mark = request.getParameter("mark").trim();
Integer num = Integer.parseInt(request.getParameter("num"));
String adddate = request.getParameter("adddate");
try {
BookBean bb = new BookBean();
bb.setTitle(bname);
bb.setCodeId(bookCode);
bb.setISBN(Integer.parseInt(isbn));
bb.setAuthor(author);
bb.setPublishCom(Char.chStr(pcom, "UTF-8"));
bb.setPublishDate(pdate);
bb.setClassId(classId);
bb.setPrice(Double.valueOf(price));
bb.setMark(mark);
bb.setNum(num);
bb.setAddDate(adddate);
AdminDAO adao = new AdminDAO();
boolean flag = adao.AddBook(bb);// 添加图书成功
if (flag) {
return mapping.findForward("storagebook");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
/**
* 显示库存图书
*
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward StorageBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
if (request.getSession().getAttribute("loginfoA") == null) {
return new ActionForward("/login.jsp");
}
String sv = request.getParameter("select");
String book = request.getParameter("book");
AdminDAO adao = new AdminDAO();
Fenye fenye = new Fenye();
fenye.setPageSize(15);
fenye.init(request, "admin.do", null, adao.count(book, sv), "p", 3);
ArrayList<?> list = null;
list = adao.SelectAllBook(fenye.getStart(), fenye.getPageSize(), book,
sv);// 图书查询
request.setAttribute("book", list);
request.setAttribute("fenye", fenye);
return mapping.findForward("storagebookpage");
}
public ActionForward EditeBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String bookcode = request.getParameter("bookcode").trim();
AdminDAO adao = new AdminDAO();
BookBean bb = adao.SelectBookbycode(bookcode);
request.setAttribute("bb", bb);
return mapping.findForward("editebook");
}
public ActionForward DeleteBook(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Integer id = Integer.parseInt(request.getParameter("bookid"));
AdminDAO adao = new AdminDAO();
boolean flag = adao.DeleteBook(id);
if (flag) {
return mapping.findForward("storagebook");
}
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -