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


use lib '/app/tools/rps/lib';
use RPS::Report::MechanicalReservePipeline;
use RPS::Report::Command::BaseReport;

use base 'RPS::Report::Command::BaseReport';

sub cmd  { return 'mechanical_reserve_pipeline'; }
sub area { return 'report'; }

sub _getReport
{
    my ($self, $page) = @_;

    my $runID = $self->getParam('run_id');
    my $regionID = $self->getParam('region_id');
    return RPS::Report::MechanicalReservePipeline->new(page => $page, runID => $runID, regionID => $regionID);
}


sub _getFilenamePrefix
{
    my ($self) = @_;
    my $runID = $self->getParam('run_id');
    return "US_Mechanicals_Reserve_Pipeline_Run_$runID";
}


sub _getXML
{
    my ($self, $xml, $page) = @_;
    my $runID = $self->getParam('run_id');

    my $regionList = RPS::DB::Item::ReportQueries::MechanicalReservePipeline->GetDistinctRegions($runID);
        
    while (my $region = $regionList->next())
    {
        push @{$self->{xml}{RegionList}->{Region}}, _dataToHash($region);
    }
    
    return $self->SUPER::_getXML($xml, $page);
}

sub _dataToHash
{
    my ($data) = @_;

    my %hash;
    $hash{Name}     = $data->region_name;
    $hash{RegionID} = $data->region_id;
    
    return \%hash;
}

1;

