package project.web.admin.controller.report; import java.io.IOException; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import kernel.exception.BusinessException; import kernel.util.DateUtils; import kernel.util.StringUtils; import kernel.web.Page; import kernel.web.PageActionSupport; import project.web.admin.service.report.AdminAllStatisticsService; /** * DAPP_总充提报表 */ @RestController public class AdminAllStatisticsController extends PageActionSupport { private Logger logger = LoggerFactory.getLogger(AdminAllStatisticsController.class); @Autowired private AdminAllStatisticsService adminAllStatisticsService; private final String action = "normal/adminAllStatisticsAction!"; /** * 总充提报表 */ @RequestMapping(action + "list.action") public ModelAndView list(HttpServletRequest request) { String start_time = request.getParameter("start_time"); String end_time = request.getParameter("end_time"); String para_time = request.getParameter("para_time"); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("auto_monitor_statistics_all_list"); int pageNo = 1; int pageSize = 30; Page page = null; try { pageNo = this.checkAndSetPageNo(request.getParameter("pageNo")); // this.initTime(start_time, end_time, para_time); // start_time,end_time都为空时开始初始化 if (null == start_time && null == end_time && null == para_time) { end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = DateUtils.format(DateUtils.getMonthStart(new Date()), DateUtils.DF_yyyyMMdd); // para_time = "day";//默认一周 } if ("day".equals(para_time)) { // 当天 end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = end_time; } else if ("week".equals(para_time)) { // 往前推7天 end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = DateUtils.format(DateUtils.addDate(new Date(), -7), DateUtils.DF_yyyyMMdd); } else if ("month".equals(para_time)) { // 往前推一月 end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = DateUtils.format(DateUtils.addMonth(new Date(), -1), DateUtils.DF_yyyyMMdd); } else if ("all".equals(para_time)) { // 所有数据 end_time = null; start_time = null; } page = this.adminAllStatisticsService.pagedQuery(pageNo, pageSize, start_time, end_time, this.getLoginPartyId()); Map sumdata = this.adminAllStatisticsService.sumDatas(start_time, end_time, this.getLoginPartyId()); modelAndView.addObject("sumdata", sumdata); } catch (BusinessException e) { modelAndView.addObject("error", e.getMessage()); return modelAndView; } catch (Throwable t) { logger.error(" error ", t); modelAndView.addObject("error", "[ERROR] " + t.getMessage()); return modelAndView; } modelAndView.addObject("pageNo", pageNo); modelAndView.addObject("pageSize", pageSize); modelAndView.addObject("page", page); modelAndView.addObject("start_time", start_time); modelAndView.addObject("end_time", end_time); modelAndView.addObject("para_time", para_time); return modelAndView; } /** * 导出订单数据到文件 */ @RequestMapping(action + "exportData.action") public ModelAndView exportData(HttpServletRequest request) { String start_time = request.getParameter("start_time"); String end_time = request.getParameter("end_time"); String para_time = request.getParameter("para_time"); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("auto_monitor_statistics_all_list"); int pageNo = 1; int pageSize = 30; try { pageNo = this.checkAndSetPageNo(request.getParameter("pageNo")); // this.initTime(start_time, end_time, para_time); // start_time,end_time都为空时开始初始化 if (null == start_time && null == end_time && null == para_time) { end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = DateUtils.format(DateUtils.getMonthStart(new Date()), DateUtils.DF_yyyyMMdd); // para_time = "day";//默认一周 } if ("day".equals(para_time)) { // 当天 end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = end_time; } else if ("week".equals(para_time)) { // 往前推7天 end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = DateUtils.format(DateUtils.addDate(new Date(), -7), DateUtils.DF_yyyyMMdd); } else if ("month".equals(para_time)) { // 往前推一月 end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); start_time = DateUtils.format(DateUtils.addMonth(new Date(), -1), DateUtils.DF_yyyyMMdd); } else if ("all".equals(para_time)) { // 所有数据 end_time = null; start_time = null; } String error = this.adminAllStatisticsService.loadExportData(this.getResponse(), pageSize, start_time, end_time, this.getLoginPartyId()); if (!StringUtils.isNullOrEmpty(error)) { throw new BusinessException(error); } } catch (BusinessException e) { modelAndView.addObject("error", e.getMessage()); return modelAndView; } catch (IOException e) { logger.error("export fail:{}", e); modelAndView.addObject("error", "程序错误,导出异常"); return modelAndView; } catch (Throwable t) { logger.error(" error ", t); modelAndView.addObject("error", "[ERROR] " + t.getMessage()); return modelAndView; } modelAndView.addObject("start_time", start_time); modelAndView.addObject("end_time", end_time); modelAndView.addObject("para_time", para_time); return modelAndView; } // private void initTime(String start_time, String end_time, String para_time) { // // start_time,end_time都为空时开始初始化 // if (null == start_time && null == end_time && null == para_time) { // end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); // start_time = DateUtils.format(DateUtils.getMonthStart(new Date()), DateUtils.DF_yyyyMMdd); //// para_time = "day";//默认一周 // return; // } // if ("day".equals(para_time)) { // // 当天 // end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); // start_time = end_time; // } else if ("week".equals(para_time)) { // // 往前推7天 // end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); // start_time = DateUtils.format(DateUtils.addDate(new Date(), -7), DateUtils.DF_yyyyMMdd); // } else if ("month".equals(para_time)) { // // 往前推一月 // end_time = DateUtils.format(new Date(), DateUtils.DF_yyyyMMdd); // start_time = DateUtils.format(DateUtils.addMonth(new Date(), -1), DateUtils.DF_yyyyMMdd); // // logger.error("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); // logger.error("{},{},{}", start_time, end_time, para_time); // } else if ("all".equals(para_time)) { // // 所有数据 // end_time = null; // start_time = null; // } // } }