/** 根据formids进行查询 */
  public String searchStuStatByFromIds() {
    try {
      // 加载来源id
      queryFroms();

      // 来源id
      Map<String, Object> fromIdsMap = new HashMap<String, Object>();
      List<From> idsList = new ArrayList<From>();
      String[] ids = fromIds.split(",");
      if (ids != null && ids.length > 0) {
        for (String id : ids) {
          From newFrom = new From();
          if (id != null && id.length() > 0) {
            newFrom.setId(new Integer(id));
            idsList.add(newFrom);
          }
        }
      }
      fromIdsMap.put("idsList", idsList);
      // 时间
      if (queryStudentStatCondition.getSearchDate() != null
          && queryStudentStatCondition.getSearchDate().length() > 0) {
        fromIdsMap.put("searchDate", queryStudentStatCondition.getSearchDate());
      }

      studentStatList = studentStatService.searchStuStatByFromIds(fromIdsMap);
      // 取出当前页数据保存到session中,为导出功能提供数据
      setSession("stuStatList", studentStatList);

    } catch (Exception e) {
      logger.error("糟糕!程序错误--->", e);
    }
    return "student_stat";
  }
  /**
   * 导出当前页统计数据
   *
   * @return
   */
  public boolean exportData() {
    boolean bool = false;
    int count = 0;
    int size = 0;
    String fileURL = null; // 文件路径
    String[] title = null;
    String[][] body = null; //

    List<StudentStat> stuStatList = null;
    try {
      stuStatList = getSession("stuStatList");
      size = stuStatList.size();
    } catch (Exception e) {
      logger.error("获取导出数据异常", e);
    }

    // 没有数据,返回提示信息
    if (size == 0) {
      msg = "没有数据,无法导出!";
      logger.error(msg);
      // return "msg";
      return bool;
    }

    fileURL = getRealPath(downFileURL); // 设置保存路径
    // 14个大小
    title =
        new String[] {
          "来源", "页流量", "注册人数 ", "登录人数 ", "跳出人数 ", "到达微学习页", "首次用户", "非重复用户 ", "重复用户", "带来订单",
          "带来流水", "统计日期"
        };
    body = new String[size][title.length];
    // SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    Map<Integer, String> map = new HashMap<Integer, String>();
    queryFroms(); // 查询所有来源
    if (listForm != null && listForm.size() > 0) {
      for (From lf : listForm) {
        map.put(lf.getId(), lf.getName());
      }
    }
    for (StudentStat ss : stuStatList) {
      if (map != null && map.keySet().size() > 0) { // 来源
        body[count][0] = map.get(ss.getFromId());
      } else {
        body[count][0] = "";
      }
      body[count][1] = String.valueOf(ss.getPageFlow()); // 页流量
      body[count][2] = String.valueOf(ss.getRegisterCount()); // 注册人数
      body[count][3] = String.valueOf(ss.getLoginCount()); // 登录人数
      body[count][4] = String.valueOf(ss.getOutCount()); // 跳出人数
      body[count][5] = String.valueOf(ss.getArriveWxxCount()); // 到达微学习页
      body[count][6] = String.valueOf(ss.getFirstUserCount()); // 首次用户
      body[count][7] = String.valueOf(ss.getNonRepeatUserCount()); // 非重复用户
      body[count][8] = String.valueOf(ss.getRepeatUserCount()); // 重复用户
      body[count][9] = String.valueOf(ss.getOrderCount()); // 带来订单
      body[count][10] = String.valueOf(ss.getRunningWaterCount()); // 带来流水
      if (ss.getSearchDate() != null
          && ss.getSearchDate().length() > 0
          && !ss.getSearchDate().equals("null")) {
        body[count][11] = ss.getSearchDate();
      } else {
        body[count][11] = "";
      }
      count++;
    }
    try {
      // 创建文件
      Utils.writeCSV(title, body, fileURL);
      bool = true;
    } catch (Exception e) {
      logger.error("微学习-导出数据-写文件错误->", e);
    }
    return bool;
  }