%doc> Produces a report of Assets %doc> <%args> $report_type => undef $sort => 'type' %args> <%init> my $DEBUG = 0; my (@headers, @rows, @assets) = (); my %t; my $grandtotal = 0; if ( $report_type eq 'type_product' || $report_type eq 'detailed' ){ my $dbh = Netdot::Model->db_Main; my $assets = $dbh->selectall_arrayref(" SELECT asset.id, asset.serial_number, asset.inventory_number, asset.reserved_for, product.id, product.name, producttype.name FROM asset, product, producttype WHERE asset.product_id=product.id AND product.type=producttype.id"); my $installed = Asset->get_installed_hash(); foreach my $row ( @$assets ){ my ($id, $sn, $inv, $res, $pid, $pname, $ptype) = @$row; $t{$ptype}{total}++; $t{$ptype}{prod}{$pname}{total}++; $t{$ptype}{prod}{$pname}{id} = $pid; $t{$ptype}{prod}{$pname}{assets}{$sn}{id} = $id; $t{$ptype}{prod}{$pname}{assets}{$sn}{installed} = (exists($installed->{$id}))? 1 : 0; $t{$ptype}{prod}{$pname}{assets}{$sn}{inv} = $inv; $t{$ptype}{prod}{$pname}{assets}{$sn}{res} = $res; $grandtotal++; } if ( $DEBUG ){ use Data::Dumper; print '
'; print Dumper(%t); print Dumper($installed); print ''; } } %init>