package RPS::Import::EMIUK::v6;

use strict;

use lib '/app/tools/common/lib';
use Common::Date;

use lib '/app/tools/rps/lib';
use base 'RPS::Import::EMIUK::v3';

use Data::Dumper;

sub _headerIdentifier { ( price => 'NDS value' ) }

sub _fieldMap {
    my $self = shift;

    my $fieldMap = $self->SUPER::_fieldMap();

    $fieldMap->{dateBegin} = 'A';
    $fieldMap->{dateEnd}   = 'A';

    $fieldMap->{units} = 'I';
    $fieldMap->{price} = 'O';

    return $fieldMap;
}

sub _processHeader {
    my $self = shift;

    return if ( $self->{_dateBegin} );

    my $date = $self->_getByFieldName('dateBegin') || return;
    ($date) = $date =~ /(\d{2}-\w{3}-\d{4})/;
    if ($date) {
        my $d = new Common::Date($date);
        $self->{_dateBegin} = $d->monthBegin();
        $self->{_dateEnd}   = $d->monthEnd();
    }
}

sub price {
    my $self = shift;

    my $units = $self->SUPER::units();
    my $price = $self->SUPER::price();

    # let's not die for zero unit transactions under 2 cents
    # (at least that's my 2 cents, HAR HAR)
    if ( $units == 0 && abs($price) < 0.02 ) {
        $price = 0;
    }

    return $price;
}

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