X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Fimport-did-inventory;h=01fa2e8af8a1cc3d5930436b0f34c482268e2563;hp=11d68a7759961814d853c08f0d350e91ad820a67;hb=29d80a8582103ead0b5910391cabc45cb85fa836;hpb=f1573db2798fbc4a9f9c38213883f845b4e8f803 diff --git a/bin/import-did-inventory b/bin/import-did-inventory index 11d68a775..01fa2e8af 100644 --- a/bin/import-did-inventory +++ b/bin/import-did-inventory @@ -23,7 +23,7 @@ use Time::HiRes qw(usleep ualarm gettimeofday tv_interval); print "started time=".time."\n"; #### SET THESE! ################################# -my $file = '/home/levinse/dids1.csv'; +my $file = '/home/levinse/dids4.csv'; my $did_vendor_id = 1; my $dry = 0; my $internal_diddb_exportnum = 1; # IMPORTANT: set this to the correct exportnum or everything will go in wrong into phone_avail @@ -67,6 +67,7 @@ my %msamap = ( 'Miami' => 33100, 'Jackson' => 27140, 'St Cloud' => 41060, + 'Stratford' => 14860, # more hax upon hax (the above are unique, no issues) 'Portland OR' => 38900, @@ -96,7 +97,9 @@ $latas{524} = 'KANSAS CITY'; my $parser = new DateTime::Format::Natural( 'time_zone' => 'local' ); sub parsedt { my ($dt,$min,$max) = (shift,shift,shift); + $dt = "$dt 00:00:00"; my $epoch = $parser->parse_datetime($dt); + warn "dt='$dt' min=$min max=$max epoch=$epoch\n"; return $epoch->epoch if ($parser->success && $epoch->epoch >= $min && $epoch->epoch <= $max); fatal("invalid date $dt (min=$min, max=$max)"); @@ -178,7 +181,7 @@ sub suffer { $latadesc =~ s/\s\w+$// unless uc($ourdesc) eq uc($latadesc); # yeah...long story :( fatal("their LATA description '$latadesc' doesn't match our LATA description '$ourdesc'") - unless uc($ourdesc) eq uc($latadesc); + unless (uc($ourdesc) eq uc($latadesc) || $latanum == 460); ### MSA ### @@ -355,15 +358,21 @@ sub order { my $o; if( exists $did_order{$vendor_order_id} ) { $o = $did_order{$vendor_order_id}; +# warn "$submitted $confirmed $received $vendor_order_id".Dumper($o); fatal("vendor order #$vendor_order_id - order data differs from one item to another") - unless ( ($o->submitted == $submitted + unless ( ( abs($o->submitted-$submitted) < 5 || $o->vendor_order_id == 293011) # yet another bad data hack - && $o->confirmed == $confirmed - && $o->received == $received); - fatal("customer mismatch for vendor order #$vendor_order_id") - unless ( ($o->custnum && $cust{'custnum'} - && $o->custnum == $cust{'custnum'}) - || (!$o->custnum && !exists($cust{'custnum'})) ); + && abs($o->confirmed-$confirmed) < 5 + && abs($o->received-$received) < 5 + ); +# fatal("customer mismatch for vendor order #$vendor_order_id") +# unless ( ($o->custnum && $cust{'custnum'} +# && ($o->custnum == $cust{'custnum'} +# || $vendor_order_id eq '293745' || $vendor_order_id eq '300001') +# ) +# || +# (!$o->custnum && !exists($cust{'custnum'})) +# ); } else { $o = new FS::did_order{ vendornum => $did_vendor_id, vendor_order_id => $vendor_order_id, @@ -396,11 +405,10 @@ sub provision { phonenum => $did, }); - # XXX: THIS LINE CAUSES PERFORMANCE TO DEGRADE AND THE SCRIPT NEVER FINISHES! WHY!? + # XXX: THIS LINE CAUSES PERFORMANCE TO DEGRADE # -unattaching the exports has no effect # -after each successive call, the time taken to complete 100 rows becomes greater # -commenting out this call results in a constant time taken to complete 100 rows - # -after 10K rows we get a random error that makes no sense my $error = $svc_phone->insert; fatal("can't insert svc_phone: $error") if $error;