fix 477 deployment report
[freeside.git] / FS / FS / Report / FCC_477.pm
index 75ddee0..3749bfe 100644 (file)
@@ -365,10 +365,12 @@ sub fbd_sql {
     'adv_speed_down',
     'adv_speed_up',
     'CASE WHEN is_business IS NOT NULL THEN 1 ELSE 0 END',
-    'cir_speed_down',
-    'cir_speed_up',
   );
-  push @select, 'blocknum' if $opt{detail};
+  push @select, 'cir_speed_down', 'cir_speed_up'
+    if $opt{date} < 1569826800; #9/30/2019, halfway between the two filing
+                                # "as of" dates when it changed
+  push @select, 'blocknum'
+    if $opt{detail};
 
   my $from = 'deploy_zone_block
     JOIN deploy_zone USING (zonenum)
@@ -380,9 +382,10 @@ sub fbd_sql {
   );
   push @where, "agentnum = $agentnum" if $agentnum;
 
-  my $order_by = 'censusblock, agentnum, technology, is_consumer, is_business';
+  #my $order_by = 'censusblock, agentnum, technology, is_consumer, is_business';
+  my $order_by = 'censusblock, technology';
 
-  "SELECT ".join(', ', @select) . "
+  "SELECT DISTINCT ".join(', ', @select) . "
   FROM $from
   WHERE ".join(' AND ', @where)."
   ORDER BY $order_by
@@ -396,7 +399,7 @@ sub fbs_sql {
   my $agentnum = $opt{agentnum};
   my $q = $opt{ignore_quantity} ? '1' : 'COALESCE(cust_pkg.quantity, 1)';
 
-  my $censustract = "replace(cust_location.censustract, '.', '')";
+  my $censustract = "substr( replace(cust_location.censustract, '.', ''), 1, 11)";
 
   my @select = (
     "$censustract AS censustract",
@@ -471,7 +474,7 @@ sub fvs_sql {
   my $date = $opt{date} || time;
   my $agentnum = $opt{agentnum};
   my $q = $opt{ignore_quantity} ? '1' : 'COALESCE(cust_pkg.quantity, 1)';
-  my $censustract = "replace(cust_location.censustract, '.', '')";
+  my $censustract = "substr( replace(cust_location.censustract, '.', ''), 1, 11)";
 
   my @select = (
     "$censustract AS censustract",