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

📄 adminaction.java

📁 图书馆管理系统 能满足 查询
💻 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 + -