Lines 563-576
sub GetBudgetHierarchy {
Link Here
|
563 |
SELECT shipmentcost_budgetid as budget_id, |
563 |
SELECT shipmentcost_budgetid as budget_id, |
564 |
SUM(shipmentcost) as shipmentcost |
564 |
SUM(shipmentcost) as shipmentcost |
565 |
FROM aqinvoices |
565 |
FROM aqinvoices |
566 |
WHERE closedate IS NOT NULL |
|
|
567 |
GROUP BY shipmentcost_budgetid |
568 |
|, 'budget_id'); |
569 |
my $hr_budget_ordered_shipment = $dbh->selectall_hashref(q| |
570 |
SELECT shipmentcost_budgetid as budget_id, |
571 |
SUM(shipmentcost) as shipmentcost |
572 |
FROM aqinvoices |
573 |
WHERE closedate IS NULL |
574 |
GROUP BY shipmentcost_budgetid |
566 |
GROUP BY shipmentcost_budgetid |
575 |
|, 'budget_id'); |
567 |
|, 'budget_id'); |
576 |
my $hr_budget_spent_adjustment = $dbh->selectall_hashref(q| |
568 |
my $hr_budget_spent_adjustment = $dbh->selectall_hashref(q| |
Lines 593-616
sub GetBudgetHierarchy {
Link Here
|
593 |
|
585 |
|
594 |
foreach my $budget (@sort) { |
586 |
foreach my $budget (@sort) { |
595 |
if ( not defined $budget->{budget_parent_id} ) { |
587 |
if ( not defined $budget->{budget_parent_id} ) { |
596 |
_recursiveAdd( $budget, undef, $hr_budget_spent, $hr_budget_spent_shipment, $hr_budget_ordered, $hr_budget_ordered_shipment, $hr_budget_spent_adjustment, $hr_budget_ordered_adjustment ); |
588 |
_recursiveAdd( $budget, undef, $hr_budget_spent, $hr_budget_spent_shipment, $hr_budget_ordered, $hr_budget_spent_adjustment, $hr_budget_ordered_adjustment ); |
597 |
} |
589 |
} |
598 |
} |
590 |
} |
599 |
return \@sort; |
591 |
return \@sort; |
600 |
} |
592 |
} |
601 |
|
593 |
|
602 |
sub _recursiveAdd { |
594 |
sub _recursiveAdd { |
603 |
my ($budget, $parent, $hr_budget_spent, $hr_budget_spent_shipment, $hr_budget_ordered, $hr_budget_ordered_shipment, $hr_budget_spent_adjustment, $hr_budget_ordered_adjustment ) = @_; |
595 |
my ($budget, $parent, $hr_budget_spent, $hr_budget_spent_shipment, $hr_budget_ordered, $hr_budget_spent_adjustment, $hr_budget_ordered_adjustment ) = @_; |
604 |
|
596 |
|
605 |
foreach my $child (@{$budget->{children}}){ |
597 |
foreach my $child (@{$budget->{children}}){ |
606 |
_recursiveAdd($child, $budget, $hr_budget_spent, $hr_budget_spent_shipment, $hr_budget_ordered, $hr_budget_ordered_shipment, $hr_budget_spent_adjustment, $hr_budget_ordered_adjustment ); |
598 |
_recursiveAdd($child, $budget, $hr_budget_spent, $hr_budget_spent_shipment, $hr_budget_ordered, $hr_budget_spent_adjustment, $hr_budget_ordered_adjustment ); |
607 |
} |
599 |
} |
608 |
|
600 |
|
609 |
$budget->{budget_spent} += $hr_budget_spent->{$budget->{budget_id}}->{budget_spent} || 0; |
601 |
$budget->{budget_spent} += $hr_budget_spent->{$budget->{budget_id}}->{budget_spent} || 0; |
610 |
$budget->{budget_spent} += $hr_budget_spent_shipment->{$budget->{budget_id}}->{shipmentcost} || 0; |
602 |
$budget->{budget_spent} += $hr_budget_spent_shipment->{$budget->{budget_id}}->{shipmentcost} || 0; |
611 |
$budget->{budget_spent} += $hr_budget_spent_adjustment->{$budget->{budget_id}}->{adjustments} || 0; |
603 |
$budget->{budget_spent} += $hr_budget_spent_adjustment->{$budget->{budget_id}}->{adjustments} || 0; |
612 |
$budget->{budget_ordered} += $hr_budget_ordered->{$budget->{budget_id}}->{budget_ordered} || 0; |
604 |
$budget->{budget_ordered} += $hr_budget_ordered->{$budget->{budget_id}}->{budget_ordered} || 0; |
613 |
$budget->{budget_ordered} += $hr_budget_ordered_shipment->{$budget->{budget_id}}->{shipmentcost} || 0; |
|
|
614 |
$budget->{budget_ordered} += $hr_budget_ordered_adjustment->{$budget->{budget_id}}->{adjustments} || 0; |
605 |
$budget->{budget_ordered} += $hr_budget_ordered_adjustment->{$budget->{budget_id}}->{adjustments} || 0; |
615 |
|
606 |
|
616 |
$budget->{total_spent} += $budget->{budget_spent}; |
607 |
$budget->{total_spent} += $budget->{budget_spent}; |
617 |
- |
|
|