Fixed bug where unsuccessful transations were included in the payout totals and My Sales summary.

This commit is contained in:
Martin Kamerbeek 2009-05-14 13:53:47 +00:00
parent dfe87bf181
commit f1ea8acdaf
2 changed files with 14 additions and 11 deletions

View file

@ -252,8 +252,11 @@ sub www_viewSales {
my @products;
my $sth = $session->db->read(
'select *, sum(quantity) as quantity, sum(vendorPayoutAmount) as payoutAmount from transactionItem '
.'where vendorId=? group by assetId order by quantity desc',
q{ SELECT t1.*, sum(t1.quantity) as quantity, sum(t1.vendorPayoutAmount) as payoutAmount }
. q{ FROM transactionItem as t1, transaction as t2 }
. q{ WHERE t1.transactionId=t2.transactionId AND t2.isSuccessful <> 0 }
. q{ AND vendorId=? }
. q{ group by assetId order by quantity desc },
[ $vendor->getId ]
);
while (my $row = $sth->hashRef) {

View file

@ -145,8 +145,8 @@ sub getPayoutTotals {
my $self = shift;
my %totals = $self->session->db->buildHash(
'select vendorPayoutStatus, sum(vendorPayoutAmount) as amount from transactionItem '
.'where vendorId=? group by vendorPayoutStatus ',
'select vendorPayoutStatus, sum(vendorPayoutAmount) as amount from transactionItem as t1, transaction as t2 '
.'where t1.transactionId = t2.transactionId and t2.isSuccessful <> 0 and vendorId=? group by vendorPayoutStatus ',
[ $self->getId ]
);
@ -480,14 +480,13 @@ Displays the payout manager.
sub www_managePayouts {
my $class = shift;
my $session = shift;
my $style = $session->style;
my $url = $session->url;
my $admin = WebGUI::Shop::Admin->new($session);
return $session->privilege->adminOnly() unless ($admin->canManage);
# Load the required YUI stuff.
my $style = $session->style;
my $url = $session->url;
$style->setLink($url->extras('yui/build/paginator/assets/skins/sam/paginator.css'), {type=>'text/css', rel=>'stylesheet'});
$style->setLink($url->extras('yui/build/datatable/assets/skins/sam/datatable.css'), {type=>'text/css', rel=>'stylesheet'});
$style->setLink($url->extras('yui/build/button/assets/skins/sam/button.css'), {type=>'text/css', rel=>'stylesheet'});
@ -560,7 +559,7 @@ sub www_payoutDataAsJSON {
my $sql =
"select t1.* from transactionItem as t1 join transaction as t2 on t1.transactionId=t2.transactionId "
." where vendorId=? and vendorPayoutAmount > 0 and vendorPayoutStatus <> 'Paid' order by t2.orderNumber";
." where t2.isSuccessful <> 0 and vendorId=? and vendorPayoutAmount > 0 and vendorPayoutStatus <> 'Paid' order by t2.orderNumber";
my $placeholders = [ $vendorId ];
my $paginator = WebGUI::Paginator->new( $session, '', $rowsPerPage, '', $pageNumber );
@ -660,9 +659,10 @@ sub www_vendorTotalsAsJSON {
my ($vendorPayoutData, @placeholders);
my @sql;
push @sql,
'select vendorId, vendorPayoutStatus, sum(vendorPayoutAmount) as total from transactionItem';
push @sql, ' where vendorId=? ' if $vendorId;
push @sql, ' select vendorId, vendorPayoutStatus, sum(vendorPayoutAmount) as total ';
push @sql, ' from transactionItem as t1, transaction as t2 ';
push @sql, ' where t1.transactionId=t2.transactionId and isSuccessful <> 0 ';
push @sql, ' and vendorId=? ' if $vendorId;
push @sql, ' group by vendorId, vendorPayoutStatus ';
push @placeholders, $vendorId if $vendorId;