/**
   * 只查询拓展课的记录<br>
   * 只包括拓展课,<b>不包括</b>班级拓展课
   */
  @SuppressWarnings("unchecked")
  public String scheduleRecords() {
    Date curDate = new Date();
    if (DateUtils.isLessCurDay(date, curDate) || DateUtils.isSameDay(date, curDate)) {
      expiration = "-1";
    } else {
      FzxDto fzx = FzxDto.getFzxDto(cid.trim());
      schedule.setStartDay(DateUtils.getTodayWeeHours(date));
      schedule.setEndDay(DateUtils.getTomorrowWeeHours(date));
      schedule.setSzfzx(fzx);
      schedule.setLessonType(LessonTypeDto.getComplement());

      page = new Page();
      page.setCur(0);
      page.setPageSize(Integer.MAX_VALUE);
      Map<String, Object> result = commonService.getSchedules(page, schedule);
      page = (Page) result.get(Constants.RESULT_MAP_PAGE);
      ss = (List<Schedule>) result.get(Constants.RESULT_MAP_LIST);
      for (Schedule s : ss) {
        int count = commonService.getOrderLessonCountBySchedule(s);
        s.setStudents(count);
        // TODO 根据人数判断是否可以订课,人数可由运营中心设置
        if (count < Constants.MAX_STUDENTS_IN_CLASS) {
          s.setScheduleState(ScheduleStateDto.getCanOrder());
        } else {
          s.setScheduleState(ScheduleStateDto.getIsFull());
        }
      }
      expiration = String.valueOf(page.getTotal());
    }
    return SUCCESS;
  }
 /**
  * 订课,订课后可在订课记录中查看
  *
  * @see LessonRecordAction#orderRecords()
  * @return
  */
 public String orderLesson() {
   xyxx.setId(sid);
   schedule.setId(id);
   Calendar c = Calendar.getInstance();
   int today = c.get(Calendar.DAY_OF_WEEK);
   if (today == Calendar.FRIDAY && c.get(Calendar.HOUR_OF_DAY) >= Constants.TIME_LINE) {
     schedule = commonService.getSchedule(schedule);
     c.add(Calendar.DATE, 1);
     if (org.apache.commons.lang.time.DateUtils.isSameDay(c.getTime(), schedule.getStart())) {
       msg = getText("周五" + Constants.TIME_LINE + "点之后不能预订周六的拓展课!");
       return INPUT;
     }
   }
   if (today == Calendar.SATURDAY && c.get(Calendar.HOUR_OF_DAY) >= Constants.TIME_LINE) {
     schedule = commonService.getSchedule(schedule);
     c.add(Calendar.DATE, 1);
     if (org.apache.commons.lang.time.DateUtils.isSameDay(c.getTime(), schedule.getStart())) {
       msg = getText("周六" + Constants.TIME_LINE + "点之后不能预订当周的拓展课!");
       return INPUT;
     }
   }
   if (commonService.getOrderLessonCountBySchedule(schedule) >= Constants.MAX_STUDENTS_IN_CLASS) {
     msg = getText("orderLesson.schedule.is.full", "本节拓展课已被订满!");
     return INPUT;
   }
   if (!commonService.canOrderLesson(schedule, xyxx)) {
     msg = getText("orderLesson.schedule.has.ordered", "您已经订过本节拓展课了!");
     return INPUT;
   } else {
     try {
       commonService.orderLesson(schedule, xyxx, fromType);
       schedule.setScheduleState(ScheduleStateDto.getCanOrder());
       result = SfDto.TRUE;
     } catch (Exception e) {
       e.printStackTrace();
       return INPUT;
     }
   }
   return SUCCESS;
 }
 /** 已满 */
 public static ScheduleStateDto getIsFull() {
   ScheduleStateDto d = new ScheduleStateDto();
   d.setZdbm(IS_FULL);
   d.setZdmc("已满");
   return d;
 }
 /** 可订 */
 public static ScheduleStateDto getCanOrder() {
   ScheduleStateDto d = new ScheduleStateDto();
   d.setZdbm(CAN_ORDER);
   d.setZdmc("可订");
   return d;
 }