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

📄 reportaction.java

📁 企业人力资源管理
💻 JAVA
字号:
package com.y2.hr.report.web.action;

import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.y2.hr.base.web.action.BaseAction;
import com.y2.hr.config.users.bean.Users;
import com.y2.hr.human.common.ExportExcel;
import com.y2.hr.human.file.bean.HumanFile;
import com.y2.hr.human.file.biz.HumanFileBiz;
import com.y2.hr.report.biz.ReportBiz;

public class ReportAction extends BaseAction {

	private ReportBiz reportBiz = null;

	public void setReportBiz(ReportBiz reportBiz) {
		this.reportBiz = reportBiz;
	}

	/**
	 * 页面跳转
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward toUrl(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String url = request.getParameter("url");
		return mapping.findForward(url);
	}

	/**
	 * 报表预备操作
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward doReport(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String type = request.getParameter("type");
		if ("excel".equals(type)) {
			String primaryKeyTable = request.getParameter("primaryKeyTable");
			List<?> list = this.primaryKeyBiz.getPrimary(primaryKeyTable);
			request.setAttribute("primaryKeyTable", primaryKeyTable);
			request.setAttribute("list", list);
		} else if ("pdf".equals(type)) {

		} else if ("xml".equals(type)) {

		} else {
			return null;
		}
		return mapping.findForward(type + "_operate");
	}

	/**
	 * 报表操作
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward doDone(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String type = request.getParameter("type");
		String msg = null;
		if ("excel".equals(type)) {
			msg = HumanFileReportExcel(request, response);// HumanFile的Excel操作
			return null;
		} else if ("pdf".equals(type)) {

		} else if ("xml".equals(type)) {

		} else {
			return null;
		}
		request.setAttribute("msg", msg);
		return mapping.findForward("report_msg_error");
	}

	private String HumanFileReportExcel(HttpServletRequest request,
			HttpServletResponse response) {
		String msg = null;
		String primaryKey[] = request.getParameterValues("primaryKey");
		if (null == primaryKey) {
			msg = "您没有选择报表的字段,不能生成报表!";
		} else {
			String primaryKeyTable = request.getParameter("primaryKeyTable");
			String hql = "from HumanFile h";
			String condition = " where 1=1";
			if ("HumanFile".equals(primaryKeyTable)) {// 获取人员档案的筛选条件
				String fileFirstKind = request.getParameter("fileFirstKind");
				String fileSecondKind = request.getParameter("fileSecondKind");
				String fileThirdKind = request.getParameter("fileThirdKind");
				String majorKind = request.getParameter("majorKind");
				String major = request.getParameter("major");
				String startTime = request.getParameter("startTime");
				String endTime = request.getParameter("endtTime");
				if (null != fileFirstKind) {
					condition += " and h.fileFirstKind like '" + fileFirstKind
							+ "'";
				}
				if (null != fileSecondKind) {
					condition += " and h. like '" + fileSecondKind + "'";
				}
				if (null != fileThirdKind) {
					condition += " and h.fileThirdKind like '" + fileThirdKind
							+ "'";
				}
				if (null != majorKind) {
					condition += " and h.majorKind like '" + majorKind + "'";
				}
				if (null != major) {
					condition += " and h.major like '" + major + "'";
				}
				if (null != startTime && !"".equals(startTime)) {
					condition += " and h.registTime > '" + startTime + "'";
				}
				if (null != endTime && !"".equals(endTime)) {
					condition += " and h.registTime < '" + endTime + "'";
				}
			}
			hql += condition;
			// 此处进行查询及Excel内容生成,以上以通过
			List<?> list = this.reportBiz.search(hql);
			if (list.size() > 0) {
				response.setContentType("application/ms-excel");
				response.setHeader("Content-Disposition",
						"attachment;Filename=export.xls");
				OutputStream fos = null;
				try {
					fos = response.getOutputStream();
				} catch (IOException e) {
					e.printStackTrace();
				}
				ExportExcel.writeExcel(fos, "人力资源档案列表", primaryKey, list);
			}
		}
		return msg;
	}
}

⌨️ 快捷键说明

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