Class GetEliteStatistics


public class GetEliteStatistics extends EliteDAO
A Data Access Object to read Elite program-related statistics.
Since:
9.2
Version:
11.5
Author:
Luke
  • Constructor Details

    • GetEliteStatistics

      public GetEliteStatistics(Connection c)
      Initalizes the Data Access Object.
      Parameters:
      c - the JDBC Connection to use
  • Method Details

    • getEliteTotals

      public YearlyTotal getEliteTotals(int pilotID, int year) throws DAOException
      Returns Elite status totals for a particiular year.
      Parameters:
      pilotID - the Pilot's database ID
      year - the statistics year
      Returns:
      a YearlyTotals bean
      Throws:
      DAOException - if a JDBC error occurs
    • getEliteTotals

      public List<YearlyTotal> getEliteTotals(int pilotID) throws DAOException
      Returns Elite status totals per year.
      Parameters:
      pilotID - the Pilot's database ID
      Returns:
      a List of YearlyTotals beans, ordered by year descending
      Throws:
      DAOException - if a JDBC error occurs
    • getPilotTotals

      public List<YearlyTotal> getPilotTotals(LocalDate sd) throws DAOException
      Loads flight/distance/point statistics by Pilot for a one year interval. This excludes rollover legs and distance
      Parameters:
      sd - the start date
      Returns:
      a List of YearlyTotal beans
      Throws:
      DAOException - if a JDBC error occurs
      See Also:
    • getLifetimeTotals

      public YearlyTotal getLifetimeTotals(int pilotID) throws DAOException
      Loads total elite program mileage for a given Pilot.
      Parameters:
      pilotID - the Pilot's database ID
      Returns:
      the total number of miles
      Throws:
      DAOException - if a JDBC error occurs
    • getEliteCounts

      public SortedMap<EliteLevel, Integer> getEliteCounts(int year) throws DAOException
      Loads the number of pilots with Elite status for a given year.
      Parameters:
      year - the program year
      Returns:
      a sorted Map of Pilot counts, keyed by EliteLevel
      Throws:
      DAOException - if a JDBC error occurs
    • getRollover

      public YearlyTotal getRollover(int pilotID, int year) throws DAOException
      Loads a Pilot's rollover totals for a given year.
      Parameters:
      pilotID - the Pilot's database ID
      year - the year
      Returns:
      a YearlyTotal bean
      Throws:
      DAOException - if a JDBC error occurs
    • getRollover

      public List<RolloverYearlyTotal> getRollover(int year) throws DAOException
      Returns all rollover totals for a given year.
      Parameters:
      year - the year
      Returns:
      a Collection of YearlyTotal beans
      Throws:
      DAOException - if a JDBC error occurs
    • isRolloverComplete

      public boolean isRolloverComplete(int statusYear) throws DAOException
      Checks to see whether rollover has been completed for a given Elite status year.
      Parameters:
      statusYear - the status year
      Returns:
      TRUE if there are status entries for the year, otherwise FALSE
      Throws:
      DAOException - if a JDBC error occurs