#------------------------------------------------------------
# Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved
# $Id$
#------------------------------------------------------------
package RPS::Report::ArtistReservePipeline;
use strict;
use warnings;

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

use lib '/app/tools/rps/lib';
use RPS::DB::Item::ReportQueries::ArtistReservePipeline;

use base 'RPS::Report';

sub _baseXMLName { 'Line' }

sub _getDBItem() {
    my $self = shift;
    my %args = @_;
    my $runID = $args{runID};
	my $regionID = $args{regionID};

    return RPS::DB::Item::ReportQueries::ArtistReservePipeline->GetByArtistRoyaltyRunID($runID, $regionID);
}

sub _reportColumns {
    my $self = shift;

    my $currency = Common::Client::Current()->Locale()->currencyFormat()->currencyCode();

    return (
             "AlbumTitle"         => "Album Title",
             "CatalogNumber"      => "Catalog #",
             "ArtistPayeeName"    => "Payee",
             "AccountNumber"      => "Account #",
             "LabelName"          => "Label",
             "RegionName"         => "Region",
             "TotalUnits"         => "Total Reserves Held: Units",
             "TotalRevenue"       => "Total Reserves Held: $currency",
             "Units0"             => "Current Period Taken: Units",
             "Revenue0"           => "Current Period Taken: $currency",
             "Units1"             => "Current Period Liquidated: Units",
             "Revenue1"           => "Current Period Liquidated: $currency",
             "Units2"             => "C+1: Units",
             "Revenue2"           => "C+1: $currency",
             "Units3"             => "C+2: Units",
             "Revenue3"           => "C+2: $currency",
             "Units4"             => "C+3: Units",
             "Revenue4"           => "C+3: $currency",
             "Units5"             => "C+4: Units",
             "Revenue5"           => "C+4: $currency",
             "Units6"             => "C+5: Units",
             "Revenue6"           => "C+5: $currency",
             "Units7"             => "C+6: Units",
             "Revenue7"           => "C+6: $currency",
             "Units8"             => "C+7: Units",
             "Revenue8"           => "C+7: $currency",
             "Units9"             => "C+8: Units",
             "Revenue9"           => "C+8: $currency",
    );
}

sub _fillInHash
{
    my ($self, $data) = @_;

    my $locale = Common::Client::Current()->Locale();

    my %hash;
    $hash{RegionName}      	    = $data->region_name;
    $hash{RegionID}      	    = $data->region_id;
    $hash{ArtistPayeeName}      = $data->artist_payee_name;
    $hash{ArtistPayeeID}        = $data->artist_payee_id;
    $hash{AccountNumber}        = $data->client_account_id;
    $hash{LabelName}            = $data->label_name;
    $hash{CatalogNumber}        = $data->catalog_number;
    $hash{AlbumID}              = $data->album_id;
    $hash{AlbumTitle}           = $data->album_title;
    $hash{TotalRevenue}         = $locale->formatNumber($data->total_revenue);
    $hash{TotalRevenueRounded}  = $locale->formatNumber($data->total_revenue, '.2');
    $hash{TotalUnits}           = $locale->formatNumber($data->total_units);
    $hash{Revenue0}             = $locale->formatNumber($data->revenue_0);
    $hash{Revenue0Rounded}      = $locale->formatNumber($data->revenue_0, '.2');
    $hash{Units0}               = $locale->formatNumber($data->units_0);
    $hash{Revenue1}             = $locale->formatNumber($data->revenue_1);
    $hash{Revenue1Rounded}      = $locale->formatNumber($data->revenue_1, '.2');
    $hash{Units1}               = $locale->formatNumber($data->units_1);
    $hash{Revenue2}             = $locale->formatNumber($data->revenue_2);
    $hash{Revenue2Rounded}      = $locale->formatNumber($data->revenue_2, '.2');
    $hash{Units2}               = $locale->formatNumber($data->units_2);
    $hash{Revenue3}             = $locale->formatNumber($data->revenue_3);
    $hash{Revenue3Rounded}      = $locale->formatNumber($data->revenue_3, '.2');
    $hash{Units3}               = $locale->formatNumber($data->units_3);
    $hash{Revenue4}             = $locale->formatNumber($data->revenue_4);
    $hash{Revenue4Rounded}      = $locale->formatNumber($data->revenue_4, '.2');
    $hash{Units4}               = $locale->formatNumber($data->units_4);
    $hash{Revenue5}             = $locale->formatNumber($data->revenue_5);
    $hash{Units5}               = $locale->formatNumber($data->units_5);
    $hash{Revenue6}             = $locale->formatNumber($data->revenue_6);
    $hash{Units6}               = $locale->formatNumber($data->units_6);
    $hash{Revenue7}             = $locale->formatNumber($data->revenue_7);
    $hash{Units7}               = $locale->formatNumber($data->units_7);
    $hash{Revenue8}             = $locale->formatNumber($data->revenue_8);
    $hash{Units8}               = $locale->formatNumber($data->units_8);
    $hash{Revenue9}             = $locale->formatNumber($data->revenue_9);
    $hash{Units9}               = $locale->formatNumber($data->units_9);

    return \%hash;
}


###
1;#
###
