#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package RPS::Statement::Artist::StatementFull;

use Date::Calc;

use lib '/app/tools/common/lib';
use Common::Client;
use Common::Assert;

#use Common::DiskCache;

use lib '/app/tools/rps/lib';

use RPS::Label;
use RPS::Payor::Payor;
use RPS::Statement::Artist::StatementAlbumList;
use RPS::Statement::Artist::StatementTransactionList;
use RPS::Statement::Artist::LicenseIncomeItemList;
use RPS::Statement::Artist::IncomeSourceList;
use RPS::DB::Item::ArtistRoyaltyStatement;
use RPS::DB::Item::Publisher;

use RPS::Statement::Artist::BaseStatement;
use base 'RPS::Statement::Artist::BaseStatement';

sub _initProperties {
    my ( $self, $props ) = @_;

    $self->SUPER::_initProperties($props);

    $self->{ArtistStatementAlbumList} =
      RPS::Statement::Artist::StatementAlbumList->new( artistRoyaltyStatementID => $props->{artist_royalty_statement_id} );

    $self->{ArtistStatementLicenseIncomeItemList} =
      RPS::Statement::Artist::LicenseIncomeItemList->new( artistRoyaltyStatementID => $props->{artist_royalty_statement_id}, albumID => 0 );

    $self->{ArtistStatementTransactionList} =
      RPS::Statement::Artist::StatementTransactionList->new( artistRoyaltyStatementID => $props->{artist_royalty_statement_id} );

    $self->{ArtistStatementIncomeSourceList} =
      RPS::Statement::Artist::IncomeSourceList->new( artistRoyaltyStatementID => $props->{artist_royalty_statement_id} );

    $self->{ArtistStatementIncomeSourceListSkipNonPayable} = RPS::Statement::Artist::IncomeSourceList->new(
        artistRoyaltyStatementID => $props->{artist_royalty_statement_id},
        skipNonPayable           => 1
    );

    $self->{Payor} = RPS::Payor::Payor->new( payorID => $props->{payor_id}, loadSubs => 0 );
}

###
1;    #
###
