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