package RPS::Mechanical::US::Command::DistributeStatements;

use strict;
use warnings;

use Data::Dumper;

use lib '/app/tools/common/lib';
use RSApache::Response::XSLT;

use lib '/app/tools/rps/lib';
use RPS::Mechanical::US::DistributeStatementsForm;

use base 'RPS::Mechanical::Command::DistributeStatements';

sub cmd  { return 'distribute'; }
sub area { return 'mechanical'; }
sub _template { return "/app/tools/rps/templates/mechanical/distribute.xsl"; }

use constant MAX_PAGE_SIZE => 1_000_000_000;
use constant STICKY_PREFIX => 'pe_' . __PACKAGE__->area() . '_';
use constant STICKY_PARAMS => {
    pageSize => 100,
};

sub _maxPageSize       { MAX_PAGE_SIZE }
sub _stickyParamPrefix { STICKY_PREFIX }
sub _stickyParams      { STICKY_PARAMS }

sub _getForm {
    my ( $self, $runID, $payorID, $filterBy, $page, $pageSize, $statementIDs, $sendAll ) = @_;

    return RPS::Mechanical::US::DistributeStatementsForm->new(
        runID        => $runID,
        payorID      => $payorID,
        filterBy     => $filterBy,
        statementIDs => $statementIDs,
        sendAll      => $sendAll,
        page         => $page,
        pageSize     => $pageSize
    );
}


1;