my $num_errors = 0;
foreach my $row (@$data) {
if ( $class->can($check_method) ) { # they don't all have these
- my $eh = $class->$check_method( $row, 'date'=>$opt{'date'} );
+ my $eh = $class->$check_method( $row );
$num_errors++ if keys(%$eh);
push @$error, $eh
}
);
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 DISTINCT ".join(', ', @select) . "
FROM $from
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",
sub fbs_check {
my $class = shift;
my $row = shift;
-
- my %opt = @_;
- my $date = $opt{date} || time;
- my $census_digits = ($date < 1601449200) ? 11 : 15; # 9/30/2020, halfway
- # between the two filing
- # dates when it changed
-
my %e;
#censustract
if ( length($row->[0]) == 0 ) {
$e{'censustract_null'} = 'The package location has no census tract.';
- } elsif ($row->[0] !~ /^\d{$census_digits}$/) {
- $e{'censustract_bad'} = "The census tract must be exactly $census_digits digits.";
+ } elsif ($row->[0] !~ /^\d{11}$/) {
+ $e{'censustract_bad'} = 'The census tract must be exactly 11 digits.';
}
#technology
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",
sub fvs_check {
my $class = shift;
my $row = shift;
- my %opt = @_;
- my $date = $opt{date} || time;
- my $census_digits = ($date < 1601449200) ? 11 : 15; # 9/30/2020, halfway
- # between the two filing
- # dates when it changed
-
my %e;
#censustract
if ( length($row->[0]) == 0 ) {
$e{'censustract_null'} = 'The package location has no census tract.';
- } elsif ($row->[0] !~ /^\d{$census_digits}$/) {
- $e{'censustract_bad'} = "The census tract must be exactly $census_digits digits.";
+ } elsif ($row->[0] !~ /^\d{11}$/) {
+ $e{'censustract_bad'} = 'The census tract must be exactly 11 digits.';
}
return \%e;
}