package com.cabletech.business.assess.action;
import java.io.OutputStream;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import com.cabletech.baseinfo.business.entity.UserInfo;
import com.cabletech.business.ah.excelreport.exports.ExcelExportUtils;
import com.cabletech.business.assess.model.AssessExaminationResult;
import com.cabletech.business.assess.service.AssessScoreQueryService;
import com.cabletech.business.assess.service.impl.AssessScoreQueryServiceImpl;
import com.cabletech.common.base.BaseAction;
/**
* 月度考核成绩生成管理
*
* @author 杨隽 2012-08-08 创建
*/
@Namespace("/assess")
@Results({
@Result(name = "query", location = "/assess/monthappraise/assess_month_score_query.jsp"),
@Result(name = "list", location = "/assess/monthappraise/assess_month_score_list.jsp") })
@Action("/assessMonthScoreQueryAction")
public class AssessMonthScoreQueryAction extends
BaseAction<AssessExaminationResult, String> {
/**
* 序列化编号
*/
private static final long serialVersionUID = 1L;
/**
* 生成成绩查询页面
*/
private static final String QUERY = "query";
/**
* 月度考核成绩生成业务服务
*/
@Resource(name = "assessScoreQueryServiceImpl")
private AssessScoreQueryService assessScoreQueryService;
/**
* 进入考核成绩生成页面
*
* @return String
*/
public String query() {
return QUERY;
}
/**
* 考核成绩生成
*/
public String list() {
UserInfo user = super.getUser();
String queryType = super.getParameter("querytype");
String yearMonth = super.getParameter("yearmonth");
Map<String, Object> tableMap = assessScoreQueryService.queryScoreList(
yearMonth, queryType, user);
super.getRequest().getSession().setAttribute("tableMap", tableMap);
return LIST;
}
/**
* 考核成绩导出
*/
@SuppressWarnings("unchecked")
public void export() {
Map<String, Object> tableMap = (Map<String, Object>) super.getRequest()
.getSession().getAttribute("tableMap");
String title = super.getParameter("yearmonth");
if (AssessScoreQueryServiceImpl.BUSINESS_TYPE_QUERY.equals(super
.getParameter("querytype"))) {
title += "专业";
}
if (AssessScoreQueryServiceImpl.SUM_QUERY.equals(super
.getParameter("querytype"))) {
title += "综合";
}
title += "月度考核成绩";
String fileName = title + ".xls";
tableMap.put("title", title);
Workbook wb = ExcelExportUtils.exportReport(tableMap, title);
try {
super.getResponse().reset();
super.getResponse().setContentType(CONTENT_TYPE);
super.getResponse().setHeader(
"Content-Disposition",
"attachment;filename="
+ new String(fileName.getBytes(), "iso-8859-1"));
OutputStream out = super.getResponse().getOutputStream();
wb.write(out);
} catch (Exception ex) {
logger.error("", ex);
}
}
@Override
public AssessExaminationResult getModel() {
return null;
}
@Override
protected void prepareViewModel() {
}
@Override
protected void prepareSaveModel() {
}
}