summaryrefslogtreecommitdiff
path: root/httemplate/search/477partIA_summary.html
blob: eb1c11607caae340e7742f6a72f4b23f3f600a1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<% include( 'elements/search.html',
                  'html_init'        => $html_init,
                  'name'             => 'lines',
                  'query'            => 'SELECT 1',
                  'count_query'      => 'SELECT 1',
                  'really_disable_download' => 1,
                  'disable_download' => 1,
                  'nohtmlheader'     => 1,
                  'disable_total'    => 1,
                  'header'           => [
                                          'Total Connections',
                                          '% owned loop',
                                          '% billed to end users',
                                          '% residential',
                                          '% residential &gt; 200kbps',
                                        ],
                  'xml_elements'     => [
                                          $xml_prefix. 'a1',
                                          $xml_prefix. 'b1',
                                          $xml_prefix. 'c1',
                                          $xml_prefix. 'd1',
                                          $xml_prefix. 'e1',
                                        ],
                  'fields'           => [
                                          sub { $total_count },
                                          sub { '100.00' },
                                          sub { '100.00' },
                                          sub { $total_percentage },
                                          sub { $above_200_percentage },
                                        ],
              )
%>
<%init>

my $curuser = $FS::CurrentUser::CurrentUser;

die "access denied"
  unless $curuser->access_right('List packages');

my %opt = @_;
my %search_hash = ();
  
for ( qw(agentnum magic classnum) ) {
  $search_hash{$_} = $cgi->param($_) if $cgi->param($_);
}

my @column_option = grep { /^\d+$/ } $cgi->param('part1_column_option')
  if $cgi->param('part1_column_option');

my @row_option = grep { /^\d+$/ } $cgi->param('part1_row_option')
  if $cgi->param('part1_row_option');

my @technology_option = &FS::Report::FCC_477::parse_technology_option($cgi);

my $total_count = 0;
my $total_residential = 0;
my $above_200 = 0;
my $tech_code = $opt{tech_code};
my $technology = $FS::Report::FCC_477::technology[$tech_code] || 'unknown';
my $html_init = "<H2>Part IA $technology totals</H2>";
my $xml_prefix = 'PartIA_'. chr(65 + $tech_code);

my $not_first_row = 0; # ugh;
foreach my $row ( @row_option ) {
  foreach my $column ( @column_option ) {

    my @report_option = ( $row || '-1', $column || '-1', $technology_option[$tech_code] );

    my ( $count, $residential ) = FS::cust_pkg->fcc_477_count(
      { %search_hash, 'report_option' => join(',', @report_option) }
    );

    $total_count += $count;
    $total_residential += $residential;
    $above_200 += $residential if $not_first_row;
  }
  $not_first_row++;
}

my $total_percentage =
  sprintf("%.2f", $total_count ? 100*$total_residential/$total_count : 0);

my $above_200_percentage =
  sprintf("%.2f", $total_count ? 100*$above_200/$total_count : 0);


</%init>