bookaction.java

来自「实现图书的借阅和管理信息化」· Java 代码 · 共 594 行 · 第 1/2 页

JAVA
594
字号
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.moonman.libraryManager.control.struts.action;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.Timer;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.actions.MappingDispatchAction;
import org.apache.struts.upload.FormFile;
import org.apache.struts.validator.DynaValidatorActionForm;

import com.moonman.libraryManager.model.quartz.BorrowRun;
import com.moonman.libraryManager.model.quartz.TimerJob;
import com.moonman.libraryManager.model.service.BookService;
import com.moonman.libraryManager.model.service.BorrowService;
import com.moonman.libraryManager.model.service.PlaceService;
import com.moonman.libraryManager.model.vo.Admin;
import com.moonman.libraryManager.model.vo.Books;
import com.moonman.libraryManager.model.vo.Borrow;
import com.moonman.libraryManager.model.vo.Place;
import com.moonman.libraryManager.model.vo.Reader;
import com.moonman.libraryManager.model.vo.Rules;
import com.moonman.libraryManager.model.vo.Store;

/**
 * MyEclipse Struts Creation date: 01-14-2008
 * 
 * XDoclet definition:
 * 
 * @struts.action parameter="queryBookShow" validate="true"
 */
public class BookAction extends MappingDispatchAction {
	/*
	 * Generated Methods
	 */

	private BookService bookService;

	private PlaceService placeService;

	private BorrowService borrowService;

	public void setBorrowService(BorrowService borrowService) {
		this.borrowService = borrowService;
	}

	public void setPlaceService(PlaceService placeService) {
		this.placeService = placeService;
	}

	// 使用type ioc2 进行注入
	public void setBookService(BookService bookService) {
		this.bookService = bookService;
	}

	/**
	 * Method execute
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward queryBookShow(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		return mapping.findForward("queryShow");
	}

	/**
	 * 根据条件查询图书信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward queryBookByContition(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		DynaActionForm df = (DynaActionForm) form;
		String type = "书名";
		String content = "";
		if (df != null) {
			type = df.getString("type");
			content = df.getString("content");
		}
		List<Books> list = this.bookService.getBookByContition(type, content);
		request.setAttribute("books", list);

		String pageSize = request.getParameter("pS");
		String currentPageNumber = request.getParameter("currPage");

		int startRow = 0;
		if (pageSize == null || "".equals(pageSize)) {
			pageSize = "5";
		}
		if (currentPageNumber == null || "".equals(currentPageNumber)) {
			currentPageNumber = "1";
		}
		if (startRow == 0) {
			startRow = (Integer.parseInt(currentPageNumber) - 1)
					* Integer.parseInt(pageSize);
		}
		// 总行数
		int totalRows = list.size();
		// 获得一页的数据
		List<Books> lst = this.bookService.getBookByPageIndexAndContition(type,
				content, Integer.parseInt(pageSize), startRow);
		request.setAttribute("startRow", startRow + "");
		request.setAttribute("books", lst);
		request.setAttribute("totalRows", totalRows + "");
		request.setAttribute("pageSize", pageSize);

		return mapping.findForward("querySuccess");
	}

	/**
	 * 根据图书编号查询图书详细信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward getBookDetailById(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		String classId = request.getParameter("id");
		Books book = this.bookService.getStoreByIsbn(classId);
		request.setAttribute("book", book);
		return mapping.findForward("bookDetail");
	}

	/**
	 * 根据条件查询图书信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward bookShow(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		DynaActionForm df = (DynaActionForm) form;
		String type = "书名";
		String content = "";
		if (df != null) {
			type = df.getString("type");
			content = df.getString("content");
		}
		List<Books> list = this.bookService.getBookByContition(type, content);
		request.setAttribute("books", list);

		String pageSize = request.getParameter("pS");
		String currentPageNumber = request.getParameter("currPage");

		int startRow = 0;
		if (pageSize == null || "".equals(pageSize)) {
			pageSize = "5";
		}
		if (currentPageNumber == null || "".equals(currentPageNumber)) {
			currentPageNumber = "1";
		}
		if (startRow == 0) {
			startRow = (Integer.parseInt(currentPageNumber) - 1)
					* Integer.parseInt(pageSize);
		}
		// 总行数
		int totalRows = list.size();
		// 获得一页的数据
		List<Books> lst = this.bookService.getBookByPageIndexAndContition(type,
				content, Integer.parseInt(pageSize), startRow);
		request.setAttribute("startRow", startRow + "");
		request.setAttribute("books", lst);
		request.setAttribute("totalRows", totalRows + "");
		request.setAttribute("pageSize", pageSize);

		return mapping.findForward("bookShow");
	}

	/**
	 * 显示添加图书的界面
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward bookAddShow(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// 获得所有馆藏地信息
		List<Place> lst = this.placeService.getPlaces();
		request.setAttribute("places", lst);
		return mapping.findForward("bookAddShow");
	}

	/**
	 * 删除图书的界面
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward deleteBookByClassId(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) {
		String classId = request.getParameter("id");
		this.bookService.deleteBookByClassId(classId);
		return mapping.findForward("delSuccess");
	}

	/**
	 * 添加图书
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward bookAdd(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		DynaValidatorActionForm dv = (DynaValidatorActionForm) form;
		FormFile file = (FormFile) dv.get("cover");
		// 处理文件上传
		if (this.treateUpLoad(request, file)) {
			// 添加图书到持久化介质中
			this.bookService.addBook(this.encaEntity(request, dv));
			// 向官藏表中添加图书
		}
		return mapping.findForward("bookAddSuccess");
	}

	/**
	 * 修改图书信息
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward bookModify(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		DynaValidatorActionForm dv = (DynaValidatorActionForm) form;
		FormFile file = (FormFile) dv.get("cover");
		String classId = dv.getString("classId");
		Books book = this.bookService.getBookByClassId(classId);
		File fi = new File(this.getServlet().getServletContext().getRealPath(
				"/imageLoad")
				+ "/" + book.getCover());
		if (fi.exists()) {
			fi.delete();
		}
		// 处理文件上传
		if (this.treateUpLoad(request, file)) {
			// 添加图书到持久化介质中
			this.bookService.modifyBookByBook(this.encaEntity(request, dv));
			// 向官藏表中添加图书

		}
		return mapping.findForward("bookModifySuccess");
	}

	/**
	 * 实现修改图书的界面

⌨️ 快捷键说明

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