package RPS::Import::ADA::v9;

use strict;


use lib '/app/tools/common/lib';
use Common::Util qw(normalize_date normalize_upc);
use Date::Calc qw(Days_in_Month);
use Data::Dumper;

use lib '/app/tools/data_classes/lib';

use lib '/app/tools/rps/lib';
use RPS::File::Sale;

use base 'RPS::Import::ADA::ADABase';

# NB: non-standard _fieldMap; need to override _importLines
sub _fieldMap {
    {
        'digital sales' => {
            label           => 0,  # A 
            artistName      => 2,  # C  
            title           => 3,  # D
            #productTypeCode => 4,  # E
            upc             => 5,  # F 
            isrc            => 6,  # G       
            clientProductID => 8,  # I                        
            serviceName     => 10, # K
            country_code    => 12, # M            
            format_type     => 14, # O
            units           => 19, # T          
            #dist_fee        => 23, # X
            price           => 24, # Y              
        },

        'statement summary' => {
            date_row        => 3,
            date_col        => 1,            
            no_detail        => 1, # prevent sales detail from being processed on this sheet
        }
    }
}


sub _getGlobalDates
{
    my $self = shift;
    my( $args )  = @_;

    my $dateBegin;
    my $dateEnd;
    my $err;

    my $offsets     = $self->_fieldMap;
    my $sheet_names = $args->{sheet_names};
    my $sheetCount  = 0;
    
    foreach my $sheet (@{$args->{sheets}})
    {
        my $sheetName = $sheet_names->[$sheetCount];

        if ( !$dateBegin && exists $offsets->{ lc $sheetName } )
        {
            my $data = $offsets->{lc $sheetName};
            if ( exists $data->{date_row} )
            {
                my $row = $data->{date_row};
                my $col = $data->{date_col};
                my $dateString = $sheet->[$row][$col];
                if ($dateString =~ /Period: \d+\/(\d+)\/(\d+)/)
                {
                    my $month = $1;
                    my $year = $2;
                    $dateBegin = $year."-".$month."-01";
                    $dateEnd = $year."-".$month."-".Days_in_Month($year,$month);                    
                    
                }
            }
        }
        $sheetCount++;
    }

    $err= RPS::Import::ADA::ADABase::kDataNotFound if ( !$dateBegin );
    return($dateBegin, $dateEnd, $err);

}


sub _getGlobalCurrencyCode
{
    my $self = shift;
    my( $args )  = @_;

    my $currencyCode;
    my $err;

    $currencyCode = 'GBP';

    return($currencyCode, $err);

}


###
1;# Play nicely.
###
