📄 reportaction.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 + -