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.
###
