Esempio n. 1
0
  /** Descripción de Método */
  private void setStartEndDate() {
    GregorianCalendar cal = new GregorianCalendar(Language.getLoginLanguage().getLocale());

    cal.setTimeInMillis(p_StartDate.getTime());
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.set(Calendar.MINUTE, 0);
    cal.set(Calendar.SECOND, 0);
    cal.set(Calendar.MILLISECOND, 0);

    // Yearly

    if (MCommission.FREQUENCYTYPE_Yearly.equals(m_com.getFrequencyType())) {
      cal.set(Calendar.DAY_OF_YEAR, 1);
      p_StartDate = new Timestamp(cal.getTimeInMillis());

      //

      cal.add(Calendar.YEAR, 1);
      cal.add(Calendar.DAY_OF_YEAR, -1);
      m_EndDate = new Timestamp(cal.getTimeInMillis());
    }

    // Quarterly

    else if (MCommission.FREQUENCYTYPE_Quarterly.equals(m_com.getFrequencyType())) {
      cal.set(Calendar.DAY_OF_MONTH, 1);

      int month = cal.get(Calendar.MONTH);

      if (month < Calendar.APRIL) {
        cal.set(Calendar.MONTH, Calendar.JANUARY);
      } else if (month < Calendar.JULY) {
        cal.set(Calendar.MONTH, Calendar.APRIL);
      } else if (month < Calendar.OCTOBER) {
        cal.set(Calendar.MONTH, Calendar.JULY);
      } else {
        cal.set(Calendar.MONTH, Calendar.OCTOBER);
      }

      p_StartDate = new Timestamp(cal.getTimeInMillis());

      //

      cal.add(Calendar.MONTH, 3);
      cal.add(Calendar.DAY_OF_YEAR, -1);
      m_EndDate = new Timestamp(cal.getTimeInMillis());
    }

    // Weekly

    else if (MCommission.FREQUENCYTYPE_Weekly.equals(m_com.getFrequencyType())) {
      cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
      p_StartDate = new Timestamp(cal.getTimeInMillis());

      //

      cal.add(Calendar.DAY_OF_YEAR, 7);
      m_EndDate = new Timestamp(cal.getTimeInMillis());
    }

    // Monthly

    else {
      cal.set(Calendar.DAY_OF_MONTH, 1);
      p_StartDate = new Timestamp(cal.getTimeInMillis());

      //

      cal.add(Calendar.MONTH, 1);
      cal.add(Calendar.DAY_OF_YEAR, -1);
      m_EndDate = new Timestamp(cal.getTimeInMillis());
    }

    log.fine("setStartEndDate = " + p_StartDate + " - " + m_EndDate);
  } // setStartEndDate