- }
- );
- return scalar(@dids);
- },
- sub { # Provisioned
- my $latanum = shift->latanum;
- my @dids = provisioned_dids($latanum);
- return scalar(@dids);
- },
- sub { # Have Usage
- my $did_order = shift;
- my @dids = provisioned_dids($did_order->latanum);
-
- my $count = 0;
- foreach my $did ( @dids ) {
- my $cust_svc = $did->cust_svc;
- next unless $cust_svc;
-
- my $svcnum = $cust_svc->svcnum;
- my $sql = "select count(1) from cdr where src =
- (select phonenum from svc_phone where svcnum = $svcnum)
- or charged_party = (select phonenum from svc_phone where
- svcnum = $svcnum)";
- my $c = $did_order->scalar_sql($sql);
- $count++ if $c > 0;
- }
- $count;
- },
+ },
+ 'select' => 'count(1) as cnt',
+ });
+ ($cnt) ? $cnt->cnt : '';
+ },
+ sub { # Provisioned
+ my $latanum = shift->latanum;
+ my $cnt = qsearchs({ 'table' => 'phone_avail',
+ 'hashref' => { 'latanum' => $latanum,
+ 'svcnum' => { op => '>',
+ value => '0'
+ },
+ },
+ 'select' => 'count(1) as cnt'
+ });
+ ($cnt) ? $cnt->cnt : '';
+ },
+ sub { # Have Usage
+ my $phone_avail = shift;
+ return '' unless $phone_avail->lata;
+ $phone_avail->lata->have_usage;
+ },