670a9d4230a3eb3575d791fb3e2899188f225378.svn-base 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.kingdee.shr.compensation.web.handler.integrate;
  2. import java.util.List;
  3. import java.util.Map;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import javax.servlet.http.HttpSession;
  7. import org.apache.log4j.Logger;
  8. import org.springframework.ui.ModelMap;
  9. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  10. import com.kingdee.shr.compensation.web.handler.CmpWorkFlowPersonalDetailHandler;
  11. public class CmpWorkFlowPersonalDetailHandlerEx extends CmpWorkFlowPersonalDetailHandler{
  12. private static Logger logger = Logger.getLogger(CmpWorkFlowPersonalDetailHandler.class);
  13. @Override
  14. public String exportAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap)
  15. throws Exception {
  16. try {
  17. logger.error("进入二开导出方法");
  18. request.setAttribute("title", this.getExportTitle(request));
  19. List<Map<String, Object>> colModel = this.getGirdColModel(request);
  20. com.kingdee.shr.compensation.web.handler.integrate.FileExportHelper excel = new com.kingdee.shr.compensation.web.handler.integrate.FileExportHelper();
  21. String exportSql = this.getExportSql(request);
  22. String[] queryMode = excel.doAssembleQueryMode(request, colModel);
  23. boolean isPdfExport = this.isPdfExport(request);
  24. if (isPdfExport) {
  25. excel.exportToPDF(request, response, exportSql, queryMode);
  26. } else {
  27. excel.exportToExcel(request, response, exportSql, queryMode);
  28. }
  29. } catch (Exception var9) {
  30. this.handleException(var9);
  31. }
  32. return null;
  33. }
  34. private List<Map<String, Object>> getGirdColModel(HttpServletRequest request) throws SHRWebException {
  35. HttpSession session = request.getSession();
  36. List<Map<String, Object>> colModel = (List)session.getAttribute(this.getModelCacheKey());
  37. if (null == colModel) {
  38. String cmpSchemeId = this.getCmpSchemeId(request);
  39. colModel = this.assembleModel(cmpSchemeId, request);
  40. }
  41. return colModel;
  42. }
  43. private String getModelCacheKey() throws SHRWebException {
  44. return this.getExprotSqlCacheKey() + "grid_model";
  45. }
  46. private String getExprotSqlCacheKey() throws SHRWebException {
  47. return this.getCacheKeyPrefix() + "export_sql";
  48. }
  49. private String getExportSql(HttpServletRequest request) throws SHRWebException {
  50. return this.getExportSqlCache(request);
  51. }
  52. private boolean isPdfExport(HttpServletRequest request) {
  53. String suffix = request.getParameter("suffix");
  54. return "pdf".equalsIgnoreCase(suffix);
  55. }
  56. }