#------------------------------------------------------------
# Copyright (C) 2010 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package Raptor::DB::Item::PeriodQuarter;
use lib '/app/tools/common/lib';
use Common::Assert;
use Common::DB::Item;
use Common::DB::ItemCollection;
use base 'Common::DB::Item';

use constant kTable => 'period_quarter';
use constant kDB    => Common::DB::Item::kCommonDB();

sub GetAllByRange {
    my $class = shift;
    my %args  = @_;

    my ( $begin, $end, $year ) = ( $args{begin}, $args{end}, $args{year} );

    assert( $begin, "Date required" );
    assert( $end,   "Date required" );

    my $dbo = Common::RSApp::GetClientDB();

    my $sql = "SELECT * FROM " . kTable . " WHERE date_begin >= " . $dbo->DBQuote($begin) . " AND date_begin  <  " . $dbo->DBQuote($end);

    $sql .= " AND year = " . $dbo->DBQuote($year) if ($year);
    $sql .= " ORDER BY date_begin";

    return $class->GetAll($sql);
}

1;
