public String searchWeek() throws Exception { HttpSession session = request.getSession(); if (saleWeekCond == null) { saleWeekCond = new SaleMonitorCond(); } if (CustomerUtils.isStrEmpty(saleWeekCond.getDate1())) { saleWeekCond.setDate1(CommonUtils.getWeekFirstForString()); } if (CustomerUtils.isStrEmpty(saleWeekCond.getDate2())) { saleWeekCond.setDate2(CommonUtils.getWeekEndForString()); } List<Integer> projectIds = new ArrayList<Integer>(); String from = request.getParameter("from"); if ("left".equals(from)) { // 此时总是为该登陆用户的projectId projectIds = HengDaUtils.getUserProjects(); } else { String getCompanyId = saleWeekCond.getCompanyId(); int getProjectId = saleWeekCond.getProjectId(); projectIds = HengDaUtils.getUserProjects(); if (!CustomerUtils.isStrEmpty(getCompanyId)) { if (getProjectId != 0) { // 选了单个项目 projectIds.clear(); projectIds.add(getProjectId); } else { // 单个公司下的所有项目 projectIds = HengDaUtils.getUserProjectsByCompanyId(Integer.parseInt(getCompanyId), projectIds); } } } initSelCompany(); initSelProject(true); saleWeekCond.setProjectIds(projectIds); if (!projectIds.isEmpty()) { // 为空时表示该用户在该查询组合下没有符合的记录,不用再去查数据库 saleTypeList = saleMonitorServices.findSaleMonitorList(saleWeekCond); } amount = initSaleMonitorWeekAmount(amount, saleTypeList); session.setAttribute("saleTypeList", saleTypeList); // 下载使用 ,没有分页不用利用saleWeekCond再查询一次 session.setAttribute("companyId", saleWeekCond.getCompanyId()); session.setAttribute("projectId", saleWeekCond.getProjectId()); // 判断是否公司及项目都是一个,如果都是一个,那么就让公司项目处于选择状态 LinkedHashMap<String, String> getSelPro = HengDaUtils.setSessionIfCompanyAndProjectOne(request); if (getSelPro != null) { selProject = getSelPro; } return "searchWeek"; }