@RequestMapping("download") public void download(ReportVo reportVo, HttpServletResponse response, HttpServletRequest request) throws IOException { if (reportVo != null) { String template = "config/templates/" + reportVo.getReportType() + ".html"; PdfDocumentGenerator pdfGenerator = new PdfDocumentGenerator(); List<User> users = userService.findAll(); if (users != null) { List<DocumentVo> employeeReportVos = new ArrayList<DocumentVo>(); for (User user : users) { EmployeeReportVo employeeReportVo = new EmployeeReportVo(user, reportVo.getReportType()); if (employeeReportVo.getIsEmployee() != null && employeeReportVo.getIsEmployee()) { employeeReportVos.add(employeeReportVo); } } try { if (reportVo.getReportType().equals(ReportType.TimeCardReport.name()) || reportVo.getReportType().equals(ReportType.ExceptionsReport.name())) { try { pdfGenerator.generate( createTimeCardReport(reportVo, employeeReportVos), response.getOutputStream()); } catch (Exception e) { e.printStackTrace(); } } else { pdfGenerator.generate(template, employeeReportVos, response.getOutputStream()); } } catch (DocumentGeneratingException e) { e.printStackTrace(); } } } }
@RequestMapping("/condition") public ModelAndView condition( ReportType type, HttpServletResponse response, HttpServletRequest request) throws Exception { ModelAndView view = new ModelAndView(); User user = SessionUtils.getUser(request); if (user != null && user.getCompany() != null) { List<PayGroup> payGroups = tmsService.findAllPageGroups(user.getCompany().getId()); view.getModelMap().put("payGroupList", payGroups); } if (ReportType.TimeCardReport.getName().equals(type.getName())) { view.setViewName("admin/report/timecard"); } if (ReportType.TimeCardDetailsReport.getName().equals(type.getName())) { view.setViewName("admin/report/timecarddetails"); } if (ReportType.EmployeesListReport.getName().equals(type.getName())) { view.setViewName("admin/report/employeelist"); } if (ReportType.ExceptionsReport.getName().equals(type.getName())) { view.getModelMap().put("types", ExcetpitonTypes.values()); view.setViewName("admin/report/exceptions"); } if (ReportType.OnsiteReport.getName().equals(type.getName())) { view.setViewName("admin/report/onsite"); } if (ReportType.LeaveReport.getName().equals(type.getName())) { view.setViewName("admin/report/leave"); } if (ReportType.JobHoursSummaryReport.getName().equals(type.getName())) { view.setViewName("admin/report/jobhourssummary"); } if (ReportType.JobHoursDetailsReport.getName().equals(type.getName())) { view.setViewName("admin/report/jobhoursdetails"); } if (ReportType.AuditingReport.getName().equals(type.getName())) { view.setViewName("admin/report/auditing"); } return view; }