From c9e1692c66627ff8cb06be4c556c5b77b30d2b59 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 2 Nov 2012 13:49:39 -0700 Subject: [PATCH] fix new troop dates, RT#20081 --- FS/FS/cdr/troop2.pm | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/FS/FS/cdr/troop2.pm b/FS/FS/cdr/troop2.pm index ee6474061..17a8b2a4a 100644 --- a/FS/FS/cdr/troop2.pm +++ b/FS/FS/cdr/troop2.pm @@ -2,11 +2,12 @@ package FS::cdr::troop2; use strict; use base qw( FS::cdr ); -use vars qw( %info $tmp_date $tmp_src_city $tmp_dst_city ); -use Date::Parse; -#use Time::Local; +use vars qw( %info $tmp_mon $tmp_mday $tmp_year $tmp_src_city $tmp_dst_city ); +use Time::Local; ##use FS::cdr qw( _cdr_date_parser_maker _cdr_min_parser_maker ); +use Data::Dumper; + %info = ( 'name' => 'Troop', 'weight' => 219, @@ -17,16 +18,27 @@ use Date::Parse; 'userfield', #account_num (userfield?) + # XXX false laziness w/bell_west.pm #call_date sub { my($cdr, $date) = @_; - #is this an excel date? or just text? - $tmp_date = $date; + + my $datetime = DateTime::Format::Excel->parse_datetime( $date ); + $tmp_mon = $datetime->mon_0; + $tmp_mday = $datetime->mday; + $tmp_year = $datetime->year; }, #call_time sub { my($cdr, $time) = @_; - #is this an excel time? or just text? - $cdr->startdate( str2time("$tmp_date $time") ); + #my($sec, $min, $hour, $mday, $mon, $year)= localtime($cdr->startdate); + + #$sec = $time * 86400; + my $sec = int( $time * 86400 + .5); + + #$cdr->startdate( timelocal($3, $2, $1 ,$mday, $mon, $year) ); + $cdr->startdate( + timelocal(0, 0, 0, $tmp_mday, $tmp_mon, $tmp_year) + $sec + ); }, 'src', #orig_tn -- 2.11.0