1289 lines
47 KiB
Perl
1289 lines
47 KiB
Perl
#!/usr/bin/perl
|
|
|
|
BEGIN { use lib '/usr/home/cfg' ; require push_inc ; }
|
|
|
|
require cfg ;
|
|
|
|
use DBI;
|
|
use CGI::Carp qw(fatalsToBrowser);
|
|
use Date::Manip;
|
|
use Date::Calc qw(:all);
|
|
|
|
use PDF::API2::Lite;
|
|
use constant mm => 25.4/72;
|
|
use constant in => 1/72;
|
|
use constant pt => 1;
|
|
|
|
#------------------------------------------------------------------------------------------
|
|
|
|
@ARGV = split(/\\*\&/, $ENV{'QUERY_STRING'});
|
|
|
|
my $qt_id = $ARGV[0] ;
|
|
my $tab_no = $ARGV[1] ;
|
|
my $tab_secs = $ARGV[2] ;
|
|
|
|
# my @sections = split(/\|/,$tab_secs);
|
|
|
|
my @prefix_arr = qw( cost_desc_ curr_amnt_ qty_cost_ zar_amnt_ );
|
|
|
|
# our $debug = 1 ;
|
|
our $label = 1 ; # used in pdf_check_value_of_up
|
|
|
|
#------------------------------------------------------------------------------------------
|
|
|
|
print "Content-type: text/html\n\n";
|
|
|
|
&today ;
|
|
&pdf_curr_symbols ;
|
|
|
|
my $table = 'quotes' ;
|
|
|
|
&db_open_ro ;
|
|
our $db_ignore_open_close = 1 ; # do one open and one close instead of repeating it
|
|
&prep_pdf ;
|
|
$db_ignore_open_close = 0 ; # do one open and one close instead of repeating it
|
|
&db_close_conn ;
|
|
|
|
&exclusions ;
|
|
&start_pdf ;
|
|
&build_pdf ;
|
|
&finish_pdf ;
|
|
&screen2 ;
|
|
|
|
exit ;
|
|
|
|
#------------------------------------------------------------------------------------------
|
|
|
|
sub prep_pdf {
|
|
|
|
my @cols = () ;
|
|
|
|
&tab_hash ;
|
|
|
|
&db_min_ro('quotes_min',"*","`id`='$qt_id'",'','') ;
|
|
|
|
&db_min_ro('quote_notes',"*","`id`='2'",'','') ;
|
|
|
|
&db_min_ro('quotes_pdf_titles',"*","`quote_id`='$qt_id'",'','') ;
|
|
|
|
&db_min_ro($table,"*","`id`='$qt_id'",'','') ;
|
|
|
|
my @total_names = ("subtotal_one_time_fee","vat_one_time_fee","total_one_time_fee","subtotal_monthly_recurring_fee","vat_monthly_recurring_fee","total_monthly_recurring_fee","subtotal_annual_fee","vat_annual_fee","total_annual_fee") ;
|
|
|
|
foreach (@total_names) {
|
|
my @abc = split(/\;/,$db{$table}{$qt_id}{$_}) ;
|
|
$db{$table}{$qt_id}{$_} = sprintf("%0.2f",$abc[0]+$abc[1]) ;
|
|
}
|
|
|
|
our $custid = $db{$table}{$qt_id}{quote_to} ;
|
|
&db_min_ro('customers','id,name,physical_address,contact_email,phone,contact_name,vat_nr',"`id`='$custid'",'','') ;
|
|
$customer_name{$custid} = $db{customers}{$custid}{name} ;
|
|
$customer_address{$custid} = $db{customers}{$custid}{physical_address} ;
|
|
$customer_email{$custid} = $db{customers}{$custid}{contact_email} ;
|
|
$customer_phone{$custid} = $db{customers}{$custid}{phone} ;
|
|
$customer_contact_name{$custid} = $db{customers}{$custid}{contact_name} ;
|
|
$customer_vat_nr{$custid} = $db{customers}{$custid}{vat_nr} ;
|
|
|
|
&db_min_ro('price_list','id,description','','','') ;
|
|
foreach my $id (keys %{$db{price_list}}) { $price_list{$id} = $db{price_list}{$id}{description} ; }
|
|
|
|
our $countryid = $db{$table}{$qt_id}{country_shipped} ;
|
|
&db_min_ro('countries','*',"`id`='$countryid'",'','') ;
|
|
$country{$countryid} = $db{countries}{$countryid}{name} ;
|
|
|
|
our $camera_system_id = $db{$table}{$qt_id}{camera_system_id} ;
|
|
&db_min_ro('camera_systems','*',"`id`='$camera_system_id'",'','') ;
|
|
$camera_system{$camera_system_id} = $db{camera_systems}{$camera_system_id}{name} ;
|
|
|
|
# our %terms_and_con = () ;
|
|
# &db_min_ro('quote_notes','id, terms_1, terms_2, terms_3, terms_4, terms_5',"",'','') ;
|
|
# foreach my $id (keys %{$db{quote_notes}}){
|
|
# for (1 .. 5){
|
|
# $terms_and_con{$_} = $db{quote_notes}{$id}{"terms\_$_"} ;
|
|
# }
|
|
# }
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub exclusions {
|
|
|
|
our $exclude_rate = 0 ;
|
|
our $exclude_vat = 0 ;
|
|
|
|
if ($db{$table}{$qt_id}{currency} ne 'ZAR') {
|
|
$exclude_vat = 1 ;
|
|
}
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub start_pdf {
|
|
|
|
my $qtpdfpath = "$pdfpath/quotes" ;
|
|
our $pdfname = "QT-$qt_id-" . $now_ccyymmdd . '.pdf' ;
|
|
|
|
&pdf_delete_previous_pdf($qtpdfpath) ;
|
|
&pdf_initialise($qtpdfpath,$pdfname,'ITV Quote') ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub build_pdf {
|
|
|
|
&tab_curr_symbols;
|
|
|
|
&pdf_initialise_page ;
|
|
|
|
|
|
$up = 292 ;
|
|
# "e_pdf_page_header ;
|
|
|
|
&pdf_box_block_top(5,205,'#009bc8') ;
|
|
|
|
$up = 260 ;
|
|
$across = 1 ;
|
|
$blue_box = 1 ;
|
|
|
|
&pdf_page_header ;
|
|
|
|
"e_pdf_vars ;
|
|
|
|
"e_out_to_pdf ;
|
|
"e_pdf_footer ;
|
|
|
|
$up = 5 ;
|
|
&pdf_box_block_bottom(5,205,'#009bc8') ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub quote_out_to_pdf {
|
|
|
|
my $qty_with_extra = 5.5 ;
|
|
my $pos = 37;
|
|
my $pos2 = $pos + 1;
|
|
my $pos3 = 132;
|
|
my $pos4 = $pos3 + 1;
|
|
|
|
&pdf_nl_t;
|
|
# unless ($db{$table}{$qt_id}{currency} eq 'ZAR') { &pdf_medium_red_bold_text (70, $up, "$db{$table}{$qt_id}{currency} ROE : $db{$table}{$qt_id}{roe}") ; } # hidden for client
|
|
# &pdf_medium_bold_text (157, $up, "Nr. :") ;
|
|
|
|
&pdf_small_bold_text($table_cols[3], $up, "Date") ;
|
|
my $dttxt = &custom_date_txt($db{$table}{$qt_id}{quote_date});
|
|
&pdf_small_bold_text_right ($table_cols[-1]-6, $up, $dttxt) ;
|
|
|
|
&pdf_nl;
|
|
|
|
&pdf_small_bold_text($table_cols[3], $up, "Quote Nr") ;
|
|
# &pdf_small_text_right (198, $up, $qt_id) ;
|
|
&pdf_small_bold_text_right ($table_cols[-1]-6, $up, $db{$table}{$qt_id}{quote_nr}) ;
|
|
|
|
&pdf_large_bold_text ($table_cols[0],$up,$db{$table}{$qt_id}{ref}) if $db{$table}{$qt_id}{ref} ;
|
|
|
|
# &pdf_nl_gap_1;
|
|
&pdf_nl;
|
|
|
|
&pdf_nl_t;
|
|
&pdf_bar($table_cols[0],$up,$table_cols[-1],$up,'#009bc8','QUOTE',20,98) ;
|
|
&pdf_nl_gap_1;
|
|
|
|
# &pdf_box_block_top($table_cols[0],$up,$table_cols[-1],'#009bc8') ; # start block -------------------------------------
|
|
|
|
&pdf_thin_black_line($table_cols[0],$up,$table_cols[-1],$up,'#009bc8') ;
|
|
$box_start{$table_cols[0]} = $up ;
|
|
|
|
if ($custid) {
|
|
|
|
# my ($quote_year,$quote_month,$quote_day) = split(/\-/,$db{$table}{$qt_id}{quote_date});
|
|
# my ($expiry_year,$expiry_month,$expiry_day) = Add_Delta_Days($quote_year,$quote_month,$quote_day,14); # Add 7 days to quote date
|
|
# $expiry_month = sprintf("%02s", $expiry_month) ;
|
|
# $expiry_day = sprintf("%02s", $expiry_day) ;
|
|
my ($expiry_year,$expiry_month,$expiry_day) = split(/\-/,$db{$table}{$qt_id}{quote_expiry});
|
|
my $expiry_date = &custom_date_txt("$expiry_year-$expiry_month-$expiry_day");
|
|
# my $expiry_date = "$expiry_year-$expiry_month-$expiry_day";
|
|
|
|
&pdf_nl;
|
|
&pdf_thin_box_block_top($table_cols[0]+5,$table_cols[1],'#009bc8');
|
|
$top = $up;
|
|
&pdf_nl;
|
|
&pdf_small_bold_text ($table_cols[0]+6, $up, "Customer") ;
|
|
&pdf_small_text ($pos2, $up, $customer_name{$custid}) ;
|
|
$up = $up - 3.25;
|
|
&pdf_extra_thin_black_line($table_cols[0]+5,$top, $table_cols[0]+5 ,$up,'#009bc8') ;
|
|
&pdf_extra_thin_black_line($pos,$top,$pos,$up,'#009bc8') ;
|
|
&pdf_extra_thin_black_line($table_cols[1],$top,$table_cols[1] ,$up,'#009bc8') ;
|
|
# &pdf_box_block_bottom($table_cols[0],$table_cols[1],'#009bc8',1);
|
|
|
|
&pdf_thin_box_block_top($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
$top = $up;
|
|
$up = $up - 3.25;
|
|
&pdf_small_bold_text ($table_cols[2]+1,$up,"Country") ;
|
|
&pdf_small_text ($pos4,$up,$country{$countryid}) ;
|
|
$up = $up -1.25;
|
|
&pdf_thin_box_block_bottom($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
|
|
$box_start{$table_cols[2]} = $up ;
|
|
|
|
$up -= 3.25;
|
|
&pdf_small_bold_text ($table_cols[2]+1,$up,"Tax/VAT Nr") ;
|
|
&pdf_small_text ($pos4, $up, $customer_vat_nr{$custid}) ;
|
|
$up -= 1.25;
|
|
&pdf_thin_box_block_bottom($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
&pdf_extra_thin_black_line ($pos3,$top, $pos3 ,$up,'#009bc8') ;
|
|
$up -= 4.5;
|
|
# &pdf_extra_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
|
|
$top = $up;
|
|
&pdf_thin_box_block_top($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
$up -= 3.25;
|
|
&pdf_small_bold_text ($table_cols[2]+1, $up, "Quote Expiry") ;
|
|
&pdf_small_text ($pos4, $up, $expiry_date) ;
|
|
$up -= 1.25;
|
|
&pdf_thin_box_block_bottom($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
&pdf_extra_thin_black_line ($pos3,$top, $pos3 ,$up,'#009bc8') ;
|
|
|
|
|
|
$bottom = $up ;
|
|
|
|
# $up+=1.25 ;
|
|
|
|
$up += 18 ;
|
|
$top = $up ;
|
|
&pdf_thin_box_block_top($table_cols[0]+5,$table_cols[1],'#009bc8');
|
|
$up -= 3.25;
|
|
&pdf_small_bold_text ($table_cols[0]+6,$up,"Address") ;
|
|
# $customer_address{$custid} = "123" ;
|
|
my @waypoint = split(/\,/,$customer_address{$custid});
|
|
# my $top2 = $up;
|
|
# my $count = 0;
|
|
for my $py (@waypoint){
|
|
$py =~ s/^\s+//g;
|
|
&pdf_small_text ($pos2,$up,$py) ;
|
|
# $count++;
|
|
# &pdf_nl_s;
|
|
$up -= 4.5 ;
|
|
}
|
|
$up += 3.25 if $customer_address{$custid} ;
|
|
$up -= 1.25 if !$customer_address{$custid} ;
|
|
|
|
# $up = $top2;
|
|
# $up-=1.25 ;
|
|
# &pdf_thin_box_block_top($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
|
|
|
|
&pdf_thin_box_block_bottom($table_cols[0]+5,$table_cols[1],'#009bc8');
|
|
&pdf_extra_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
|
|
# &pdf_extra_thin_black_line ($pos3,$top, $pos3 ,$up,'#009bc8') ;
|
|
# $up = $up - 4.5;
|
|
$up = $bottom - 4.5 ;
|
|
&pdf_thin_box_block_top($table_cols[0]+5,$table_cols[1],'#009bc8');
|
|
$top = $up;
|
|
&pdf_thin_box_block_top($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
$up = $up - 3.25;
|
|
# &pdf_small_bold_text (16, $up, "Contact") ;
|
|
# &pdf_small_text ($pos2, $up, $customer_contact_name{$custid}) ;
|
|
# &pdf_small_bold_text (111, $up, "Reference") ;
|
|
# &pdf_small_text ($pos4, $up, $db{$table}{$qt_id}{ref}) ;
|
|
# $up = $up -1.25;
|
|
# &pdf_box_block_bottom(15,100,'#009bc8');
|
|
# &pdf_box_block_bottom(110,195,'#009bc8');
|
|
# &pdf_box_block_top(110,195,'#009bc8');
|
|
# &pdf_box_block_top(15,100,'#009bc8');
|
|
# $up = $up - 3.25;
|
|
# &pdf_small_bold_text (16, $up, "Phone Nr") ;
|
|
# &pdf_small_text ($pos2, $up, $customer_phone{$custid}) ;
|
|
# &pdf_small_bold_text (111, $up, "PO Nr") ;
|
|
# &pdf_small_text ($pos4, $up, $db{$table}{$qt_id}{po_nr}) ;
|
|
# $up = $up - 1.25;
|
|
# &pdf_box_block_bottom(110,195,'#009bc8');
|
|
# &pdf_box_block_bottom(15,100,'#009bc8');
|
|
# &pdf_thin_black_line ($pos3,$top, $pos3 ,$up,'#009bc8') ;
|
|
# &pdf_box_block_top(15,100,'#009bc8');
|
|
# $up = $up - 3.25;
|
|
# &pdf_small_bold_text (16, $up, "Email") ;
|
|
# &pdf_small_text ($pos2, $up, $customer_email{$custid}) ;
|
|
# $up = $up - 1.25;
|
|
# &pdf_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
|
|
# &pdf_box_block_bottom(15,100,'#009bc8');
|
|
# &pdf_nl;
|
|
# &pdf_box_block_top(15,100,'#009bc8');
|
|
# &pdf_box_block_top(110,195,'#009bc8');
|
|
# $top = $up;
|
|
# $up = $up - 3.25;
|
|
&pdf_small_bold_text ($table_cols[0]+6, $up, "Notes") ;
|
|
&pdf_small_bold_text ($table_cols[2]+1, $up, "System") ;
|
|
&pdf_small_text ($pos4,$up,$camera_system{$camera_system_id}) ;
|
|
$up = $up - 1.25;
|
|
&pdf_extra_thin_black_line ($pos3,$top, $pos3 ,$up,'#009bc8') ;
|
|
&pdf_thin_box_block_bottom($table_cols[2],$table_cols[-1]-5,'#009bc8');
|
|
$up = $up + 1.25;
|
|
|
|
# &pdf_small_text (29, $up, $db{$table}{$qt_id}{notes}) ;
|
|
|
|
|
|
if ($db{$table}{$qt_id}{notes}) {
|
|
&pdf_text_block ($pos2,$db{$table}{$qt_id}{notes},60,5) ;
|
|
} else {
|
|
$up -= 1.25;
|
|
$up -= 4.5;
|
|
}
|
|
|
|
# $up = $up - 9;
|
|
&pdf_thin_box_block_bottom($table_cols[0]+5,$table_cols[1],'#009bc8');
|
|
&pdf_extra_thin_black_line ($pos,$top, $pos ,$up,'#009bc8') ;
|
|
$up = $up - 4.5;
|
|
|
|
}
|
|
|
|
# $top = $top2;
|
|
|
|
&pdf_box_block_bottom($table_cols[0],$table_cols[-1],'#009bc8') ; # end block -------------------------------------
|
|
|
|
|
|
|
|
# &pdf_nl_gap_1 ;
|
|
#&pdf_nl_gap_1;
|
|
|
|
# $up+=3.25 ;
|
|
|
|
$up-= 8 ;
|
|
$up+=3.25 ;
|
|
&pdf_box_block_top($table_cols[0],$table_cols[-1],'#009bc8') ; # start block -------------------------------------
|
|
$up-=3.25 ;
|
|
&pdf_bar($table_cols[0],$up,$table_cols[-1],$up,'#009bc8','Item List',20,97) ;
|
|
$up-=3.25 ;
|
|
|
|
$top = $up ;
|
|
|
|
#&pdf_check_value_of_up(20);
|
|
# &pdf_nl_t;
|
|
|
|
# &pdf_nl_s;
|
|
|
|
$up-=5;
|
|
|
|
&pdf_small_bold_text ($table_cols[0]+5,$up,'Description') ;
|
|
&pdf_small_bold_text ($table_cols[1]+7.5,$up,'Qty') ;
|
|
&pdf_small_bold_text ($table_cols[2]+11,$up,'Amount') ;
|
|
&pdf_small_bold_text ($table_cols[3]+11,$up,'VAT') ;
|
|
&pdf_small_bold_text ($table_cols[4]+12.5,$up,'Total') ;
|
|
|
|
$up -= 3 ;
|
|
|
|
$up = $up ;
|
|
|
|
&pdf_thin_black_line ($table_cols[0],$up,$table_cols[-1],$up,'#009bc8') ;
|
|
# &pdf_nl_gap_1;
|
|
$up = $up - 4.5 ;
|
|
|
|
$inner_blue_box = 1 ;
|
|
|
|
my @prefexes = ("excl","item","qty","usd_amnt","curr_amnt","item_ttl","vat") ;
|
|
|
|
foreach (%{$db{quotes_pdf_titles}}){
|
|
$get_pdf_name{$db{quotes_pdf_titles}{$_}{old_name}}{$db{quotes_pdf_titles}{$_}{quote_id}} = $db{quotes_pdf_titles}{$_}{new_name} ;
|
|
}
|
|
|
|
$up_test = 12 ; my $a = 0 ; my $b = 0 ; my $c = 0 ;
|
|
|
|
if ($db{$table}{$qt_id}{subtotal_one_time_fee} ne '0.00' or $db{$table}{$qt_id}{vat_one_time_fee} ne '0.00' or $db{$table}{$qt_id}{total_one_time_fee} ne '0.00'){$a = 1; $up_test += 8 ; }
|
|
if ($db{$table}{$qt_id}{subtotal_monthly_recurring_fee} ne '0.00' or $db{$table}{$qt_id}{vat_monthly_recurring_fee} ne '0.00' or $db{$table}{$qt_id}{total_monthly_recurring_fee} ne '0.00' ){$b = 1; $up_test += 8 ; }
|
|
if ($db{$table}{$qt_id}{subtotal_annual_fee} ne '0.00' or $db{$table}{$qt_id}{vat_annual_fee} ne '0.00' or $db{$table}{$qt_id}{total_annual_fee} ne '0.00'){$c = 1; $up_test += 8 ; }
|
|
if ($a or $b or $c) { $up_test += 8 ; }
|
|
|
|
# $blue_box = 0 ; $inner_blue_box = 0 ;
|
|
|
|
|
|
foreach (sort keys %sec_cnt) {
|
|
# &pdf_check_value_of_up(45);
|
|
|
|
if ($up > 280){ $up = 280 ; }
|
|
$_k = substr($_,1) ;
|
|
my @parts = split(/\-/,$sec_cnt{$_}) ;
|
|
|
|
my $sec = '_costing' ;
|
|
|
|
my $suffix = "$sec$_k" ;
|
|
|
|
foreach my $prefex (@prefexes){
|
|
$col_name = "$prefex" . "$suffix" ;
|
|
$cnt = 0 ;
|
|
if ($db{quotes_min}{$qt_id}{$col_name}) {
|
|
foreach my $col_input (split(/\;/,$db{quotes_min}{$qt_id}{$col_name})){
|
|
$cnt++ ;
|
|
$saved_field{$prefex}{$suffix}{$cnt} = $col_input ;
|
|
# &common_debug("$aa/$suffix : $cc") ;
|
|
}
|
|
}
|
|
}
|
|
|
|
# my $item = $db{$table}{$qt_id}{"item_1$suffix"} ;
|
|
my $item = $saved_field{"item"}{$suffix}{1} ;
|
|
|
|
next unless $item ;
|
|
next if $item eq '0.00' ;
|
|
if ($get_pdf_name{$parts[1]}{$qt_id}) {
|
|
# &pdf_small_bold_text ($table_cols[0]+5,$up,$get_pdf_name{$parts[1]}{$qt_id}) ;
|
|
} else {
|
|
# &pdf_small_bold_text ($table_cols[0]+5,$up,$parts[1]) ;
|
|
}
|
|
|
|
# if ($up < 15) {
|
|
# &pdf_check_value_of_up(15) ;
|
|
# $new_page = 1 ;
|
|
# }
|
|
|
|
# &build_cost_form($id,$tab,$parts[0],"$sec$_k");
|
|
# &pdf_nl;
|
|
|
|
for (1 .. $parts[0]) {
|
|
# if ($db{$table}{$qt_id}{"excl_$_$suffix"}) { next ; }
|
|
if ($saved_field{"excl"}{$suffix}{$_}) { next ; }
|
|
|
|
if ($up < 12){
|
|
&pdf_check_value_of_up(12) ;
|
|
$new_page = 1 ;
|
|
$up-=4.5 ;
|
|
}
|
|
|
|
# if ($up>280){ $up=280; }
|
|
# my $price_list_val = $price_list{$db{$table}{$qt_id}{"item_$_$suffix"}} ;
|
|
my $disp_item = ($price_list_val) ? $price_list_val : $saved_field{"item"}{$suffix}{$_} ;
|
|
@a = split(":", $disp_item) ;
|
|
$disp_item = $a[0] ;
|
|
# my $price_list_val = $price_list{$saved_field{"item"}{$suffix}{$_}} ;
|
|
my $price_list_val = $price_list{$disp_item} ;
|
|
$disp_item = $price_list{$disp_item} if $price_list{$disp_item} ;
|
|
# my $disp_item = ($price_list_val) ? $price_list_val : $db{$table}{$qt_id}{"item_$_$suffix"} ;
|
|
|
|
&pdf_small_bold_text($table_cols[0]+5,$up,"$disp_item") ;
|
|
# &pdf_small_text($boxtxt[2]+4.4,$up,$db{$table}{$qt_id}{"qty_$_$suffix"}) ;
|
|
|
|
# &pdf_small_text($boxtxt[2],$up,$saved_field{"qty"}{$suffix}{$_}) ;
|
|
|
|
&pdf_small_text($table_cols[1]+$qty_with_extra+3.75,$up,$saved_field{"qty"}{$suffix}{$_}) if $saved_field{"qty"}{$suffix}{$_} < 10 and $saved_field{"qty"}{$suffix}{$_} >= 0 ;
|
|
&pdf_small_text($table_cols[1]+$qty_with_extra+3.00,$up,$saved_field{"qty"}{$suffix}{$_}) if $saved_field{"qty"}{$suffix}{$_} < 100 and $saved_field{"qty"}{$suffix}{$_} >= 10 ;
|
|
&pdf_small_text($table_cols[1]+$qty_with_extra+2.25,$up,$saved_field{"qty"}{$suffix}{$_}) if $saved_field{"qty"}{$suffix}{$_} < 1000 and $saved_field{"qty"}{$suffix}{$_} >= 100 ;
|
|
&pdf_small_text($table_cols[1]+$qty_with_extra+1.50,$up,$saved_field{"qty"}{$suffix}{$_}) if $saved_field{"qty"}{$suffix}{$_} < 10000 and $saved_field{"qty"}{$suffix}{$_} >= 1000 ;
|
|
&pdf_small_text($table_cols[1]+$qty_with_extra+0.75,$up,$saved_field{"qty"}{$suffix}{$_}) if $saved_field{"qty"}{$suffix}{$_} < 100000 and $saved_field{"qty"}{$suffix}{$_} >= 10000 ;
|
|
&pdf_small_text($table_cols[1]+$qty_with_extra+0.00,$up,$saved_field{"qty"}{$suffix}{$_}) if $saved_field{"qty"}{$suffix}{$_} < 1000000 and $saved_field{"qty"}{$suffix}{$_} >= 100000 ;
|
|
|
|
# &pdf_small_text ($boxtxt[3]+2,$up,&common_commify($db{$table}{$qt_id}{"curr_amnt_$_$suffix"})) ;
|
|
&pdf_small_text($table_cols[2]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text($table_cols[3]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text($table_cols[4]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
# &pdf_small_text_right($rboxtxt[3],$up,&common_commify($db{$table}{$qt_id}{"curr_amnt_$_$suffix"})) ;
|
|
&pdf_small_text_right($table_cols[3]-2,$up,&common_commify(sprintf("%0.2f",$saved_field{"curr_amnt"}{$suffix}{$_}))) ;
|
|
|
|
my $vat_amnt = 0 ;
|
|
|
|
# if ($db{$table}{$qt_id}{"vat_$_$suffix"}) {
|
|
if ($saved_field{"vat"}{$suffix}{$_}) {
|
|
# $vat_amnt = sprintf("%0.2f",$db{$table}{$qt_id}{"curr_amnt_$_$suffix"}*0.15) ;
|
|
$vat_amnt = &common_commify(sprintf("%0.2f",$saved_field{"curr_amnt"}{$suffix}{$_}*0.15)) ;
|
|
# &pdf_small_text ($boxtxt[4]+2,$up,&common_commify($vat_amnt)) ;
|
|
# &pdf_small_text($boxtxt[5],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
# &pdf_small_text_right($rboxtxt[5],$up,&common_commify($vat_amnt)) ;
|
|
# &pdf_small_text_right($rboxtxt[5],$up,"S") ;
|
|
&pdf_small_text_right($table_cols[4]-2,$up,$vat_amnt) ;
|
|
} else {
|
|
&pdf_small_text_right($table_cols[4]-2,$up,"0.00") ;
|
|
# &pdf_small_text_right($rboxtxt[5],$up,"Z") ;
|
|
# &pdf_small_text_right($rboxtxt[5],$up,"Z") ;
|
|
}
|
|
|
|
# &pdf_small_text ($boxtxt[5]+2,$up,&common_commify($db{$table}{$qt_id}{"curr_amnt_$_$suffix"}+$vat_amnt)) ;
|
|
# &pdf_small_text($boxtxt[4],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
# my $ttl_amnt = sprintf("%0.2f",$db{$table}{$qt_id}{"curr_amnt_$_$suffix"}+$vat_amnt) ;
|
|
|
|
$vat_amnt =~ s/\,//g ;
|
|
my $ttl_amnt = sprintf("%0.2f",$saved_field{"curr_amnt"}{$suffix}{$_}+$vat_amnt) ;
|
|
# $ttl_amnt = $ttl_amnt * $saved_field{"qty"}{$suffix}{$_} ;
|
|
$ttl_amnt = &common_commify(sprintf("%0.2f",$ttl_amnt)) ;
|
|
&pdf_small_text_right($table_cols[5]-2,$up,&common_commify($ttl_amnt)) ;
|
|
$up-=4.5 ;
|
|
|
|
}
|
|
|
|
# $check_up = 40 ;
|
|
# if ($db{$table}{$qt_id}{subtotal_one_time_fee}
|
|
# $db{$table}{$qt_id}{subtotal_monthly_recurring_fee}
|
|
|
|
# &pdf_check_value_of_up($up_test-5) unless $new_page ;
|
|
|
|
# # # # # # # # # # # # # # if ($_k eq '_systems' and $db{$table}{$qt_id}{systems_included}) {
|
|
# # # # # # # # # # # # # # my @para = split /^/m, $db{$table}{$qt_id}{systems_included} ;
|
|
# # # # # # # # # # # # # # foreach (@para) {
|
|
# # # # # # # # # # # # # # &pdf_small_text($boxtxt[1]+5,$up,$_) ;
|
|
# # # # # # # # # # # # # # &pdf_nl_s;
|
|
# # # # # # # # # # # # # # }
|
|
# # # # # # # # # # # # # # # &pdf_text_block ($boxtxt[1]+2,$db{$table}{$qt_id}{systems_included},50,5) ;
|
|
# # # # # # # # # # # # # # }
|
|
|
|
# # # # # # # # # # # # # # if ($_k eq '_rental' and $db{$table}{$qt_id}{rental_included}) {
|
|
# # # # # # # # # # # # # # my @para = split /^/m, $db{$table}{$qt_id}{rental_included} ;
|
|
# # # # # # # # # # # # # # foreach (@para) {
|
|
# # # # # # # # # # # # # # &pdf_small_text($boxtxt[1]+5,$up,$_) ;
|
|
# # # # # # # # # # # # # # &pdf_nl_s;
|
|
# # # # # # # # # # # # # # }
|
|
# # # # # # # # # # # # # # }
|
|
|
|
# # # # # # # # # # # # # # if ($_k eq '_other' and $db{$table}{$qt_id}{other_included}) {
|
|
# # # # # # # # # # # # # # my @para = split /^/m, $db{$table}{$qt_id}{other_included} ;
|
|
# # # # # # # # # # # # # # foreach (@para) {
|
|
# # # # # # # # # # # # # # &pdf_small_text($boxtxt[1]+5,$up,$_) ;
|
|
# # # # # # # # # # # # # # &pdf_nl_s;
|
|
# # # # # # # # # # # # # # }
|
|
# # # # # # # # # # # # # # }
|
|
|
|
# &pdf_nl;
|
|
# $up-=2 ;
|
|
}
|
|
$up+=2;
|
|
&pdf_thin_black_line ($table_cols[1],$top,$table_cols[1],$up,'#009bc8') ;
|
|
&pdf_box_block_bottom($table_cols[0],$table_cols[-1],'#009bc8') ;
|
|
|
|
#$up=80;
|
|
|
|
#&pdf_box_block_bottom($blocks[1],200,'#009bc8') ; # end block -------------------------------------
|
|
|
|
$inner_blue_box = 0 ;
|
|
|
|
# ------------- totals ------------------------------------------------------------------
|
|
|
|
#$top=$up;
|
|
|
|
#&pdf_box_block_top($blocks[1],200,'#009bc8') ; # start block -------------------------------------
|
|
|
|
# &pdf_nl_gap_1 ; #&pdf_nl_t;
|
|
# # &pdf_small_bold_text ($boxtxt[1]+2,$up,'') ;
|
|
# # &pdf_small_bold_text ($boxtxt[2],$up,'') ;
|
|
# # &pdf_small_bold_text ($boxtxt[3],$up,'Sub Total') ;
|
|
# # &pdf_small_bold_text ($boxtxt[4],$up,'Vat Total') ;
|
|
# # &pdf_small_bold_text ($boxtxt[5],$up,'Grand Total') ;
|
|
# &pdf_nl_t ;
|
|
|
|
#$top = $up;
|
|
|
|
# # $up -= 10 ;
|
|
# $up -= 10 ;
|
|
# $up -= 10 ;
|
|
|
|
# Includes: (per each system)
|
|
# Air NXT Camera
|
|
# 12 months license fee
|
|
# Pixellot Analytics
|
|
# Live Sreamimg
|
|
# 24/7 Live Support
|
|
# Dedicated Project Manager
|
|
# B2B Fleet Management Platform
|
|
# Shipping
|
|
|
|
if ($up < 57.5) {
|
|
&pdf_check_value_of_up(57.5) ;
|
|
&pdf_box_block_top($table_cols[0],$table_cols[-1],'#009bc8') ;
|
|
}
|
|
|
|
$up -= 4.5 ; &pdf_small_bold_text ($table_cols[0]+05,$up,'Includes: (per each system)') ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"Air NXT Camera") ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"12 months license fee") ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"Pixellot Analytics") ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"Live Sreamimg") ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"24/7 Live Support") ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"Dedicated Project Manager") ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"B2B Fleet Management Platform") ;
|
|
$up -= 4.5 ; &pdf_small_text ($table_cols[0]+6,$up,"Shipping") ;
|
|
$up -= 2 ;
|
|
|
|
# if ($a == 1) { $up = $up - 8 ; }
|
|
# if ($b == 1) { $up = $up - 8 ; }
|
|
# if ($c == 1) { $up = $up - 8 ; }
|
|
|
|
# $up -= 8 if $a || $b || $c ;
|
|
|
|
&pdf_thin_black_line ($table_cols[2],$top,$table_cols[2],$up,'#009bc8') ; # vertical
|
|
&pdf_extra_thin_black_line ($table_cols[3],$top,$table_cols[3],$up,'#009bc8') ; # vertical
|
|
&pdf_extra_thin_black_line ($table_cols[4],$top,$table_cols[4],$up,'#009bc8') ;
|
|
|
|
$top = $up ;
|
|
|
|
if ($a || $b || $c) {
|
|
|
|
my $up_min = ($a + $b + $c)*8 + 8 + 10 ;
|
|
|
|
if ($up < $up_min) {
|
|
&pdf_box_block_bottom($table_cols[0],$table_cols[-1],'#009bc8') ;
|
|
&pdf_check_value_of_up($up_min) ;
|
|
&pdf_box_block_top($table_cols[0],$table_cols[-1],'#009bc8') ;
|
|
$top = $up ;
|
|
} else {
|
|
&pdf_thin_black_line ($table_cols[0],$up,$table_cols[-1],$up,'#009bc8') ;
|
|
}
|
|
|
|
$up -= 5 ;
|
|
&pdf_small_bold_text ($table_cols[0]+05,$up,'Total Summary') ;
|
|
&pdf_small_bold_text ($table_cols[2]+10,$up,'Sub Total') ;
|
|
&pdf_small_bold_text ($table_cols[3]+10,$up,'VAT') ;
|
|
&pdf_small_bold_text ($table_cols[4]+10,$up,'Total') ;
|
|
$up -= 3 ;
|
|
}
|
|
|
|
if ($a == 1) {
|
|
|
|
&pdf_thin_black_line ($table_cols[0],$up,$table_cols[-1],$up,'#009bc8') ;
|
|
$up-=5;
|
|
# $inner_blue_box = 1 ;
|
|
|
|
if ($get_pdf_name{"Hardware"}{$qt_id} and $get_pdf_name{"Hardware"}{$qt_id} ne "Hardware"){
|
|
&pdf_small_text ($table_cols[0]+5,$up,$get_pdf_name{"Hardware"}{$qt_id}) ;
|
|
} else {
|
|
&pdf_small_text ($table_cols[0]+5,$up,"Hardware and/or other once-off costs") ;
|
|
}
|
|
|
|
&pdf_small_text($table_cols[2]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-3]-2,$up,&common_commify($db{$table}{$qt_id}{subtotal_one_time_fee})) ;
|
|
|
|
&pdf_small_text($table_cols[3]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-2]-2,$up,&common_commify($db{$table}{$qt_id}{vat_one_time_fee})) ;
|
|
|
|
&pdf_small_text($table_cols[4]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-1]-2,$up,&common_commify($db{$table}{$qt_id}{total_one_time_fee})) ;
|
|
$up-=3;
|
|
|
|
}
|
|
|
|
if ($b == 1) {
|
|
|
|
&pdf_thin_black_line ($blocks[1],$up,200,$up,'#009bc8') ;
|
|
$up-=5;
|
|
&pdf_small_text ($table_cols[0]+5,$up,'Monthly Recurring Fee for contract period') ;
|
|
|
|
&pdf_small_text($table_cols[2]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-3]-2,$up,&common_commify($db{$table}{$qt_id}{subtotal_monthly_recurring_fee})) ;
|
|
|
|
&pdf_small_text($table_cols[3]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-2]-2,$up,&common_commify($db{$table}{$qt_id}{vat_monthly_recurring_fee})) ;
|
|
|
|
&pdf_small_text($table_cols[4]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-1]-2,$up,&common_commify($db{$table}{$qt_id}{total_monthly_recurring_fee})) ;
|
|
$up-=3;
|
|
|
|
}
|
|
|
|
if ($c == 1) {
|
|
|
|
&pdf_thin_black_line ($blocks[1],$up,200,$up,'#009bc8') ;
|
|
$up-=5;
|
|
&pdf_small_text ($table_cols[0]+5,$up,'Annual Fee') ;
|
|
|
|
&pdf_small_text($table_cols[2]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-3]-2,$up,&common_commify($db{$table}{$qt_id}{subtotal_annual_fee})) ;
|
|
|
|
&pdf_small_text($table_cols[3]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-2]-2,$up,&common_commify($db{$table}{$qt_id}{vat_annual_fee})) ;
|
|
|
|
&pdf_small_text($table_cols[4]+2,$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($table_cols[-1]-2,$up,&common_commify($db{$table}{$qt_id}{total_annual_fee})) ;
|
|
$up-=3;
|
|
|
|
}
|
|
|
|
&pdf_thin_black_line ($table_cols[2],$top,$table_cols[2],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($table_cols[3],$top,$table_cols[3],$up,'#009bc8') ; # vertical
|
|
&pdf_extra_thin_black_line ($table_cols[4],$top,$table_cols[4],$up,'#009bc8') ; # vertical
|
|
|
|
|
|
# our @blocks = (0,10,104,112,152,192) ;
|
|
# &pdf_thin_black_line ($blocks[2],$top,$blocks[2],$up,'#009bc8') ;
|
|
# &pdf_thin_black_line (136,$top,136,$up,'#009bc8') ;
|
|
# &pdf_thin_black_line (168,$top,168,$up,'#009bc8') ; # vertical
|
|
|
|
#&vertical_lines_inner_box;
|
|
|
|
# &pdf_thin_black_line ($tblocks[3],$top,$tblocks[3],$up,'#009bc8') ; # vertical
|
|
# &pdf_thin_black_line ($tblocks[4],$top,$tblocks[4],$up,'#009bc8') ; # vertical
|
|
# &pdf_thin_black_line ($tblocks[5],$top,$tblocks[5],$up,'#009bc8') ;
|
|
|
|
|
|
|
|
&pdf_box_block_bottom($table_cols[0],$table_cols[-1],'#009bc8') ; # end block -------------------------------------
|
|
|
|
$inner_blue_box = 0 ;
|
|
|
|
# $up -= 5 ;
|
|
|
|
# &pdf_medium_bold_text ($table_cols[0]+5,$up,'Notes:') ;
|
|
# $up = $up - 1.5;
|
|
# my $counter = 1 ;
|
|
# for (1 .. 20) {
|
|
# my $note = $db{quote_notes}{2}{"note_$_"};
|
|
# if ($note) {
|
|
# if ($counter == 1) {
|
|
# $up = $up - 3 ;
|
|
# } else {
|
|
$up = $up - 1 ;
|
|
# }
|
|
# $counter++ ;
|
|
# &pdf_medium_text ($table_cols[0]+6,$up,"-") ;
|
|
# &pdf_text_block ($table_cols[0]+8,"$note",130) ;
|
|
# }
|
|
# }
|
|
|
|
# ------------- totals ------------------------------------------------------------------
|
|
|
|
# ------------- purchase summary ------------------------------------------------------------------
|
|
|
|
|
|
|
|
unless ($db{$table}{$qt_id}{excl_purchase_summary}) {
|
|
|
|
&build_purchase_summary_table ;
|
|
|
|
}
|
|
|
|
# ------------- purchase summary ------------------------------------------------------------------
|
|
|
|
#&pdf_nl_gap_1;
|
|
|
|
#&pdf_nl_gap_3;
|
|
# $up = $up - 15;
|
|
#$&pdf_check_value_of_up(50);
|
|
# my $txt = qq~The parties hereby accept and agree to this quote, which incorporates by reference all the terms and conditions set forth in the Interactive Television Africa's Terms and Conditions document, attached hereto as Annexure A and the Service Level Agreement attached hereto as Annexure B (all, collectively with this quote, the "Agreement") effective as of the later of the signature dates below.~;
|
|
# # my @excl_notes_qm = split(";", $db{quotes_min}{$qt_id}{"excl_notes"}) ;
|
|
# # our $paragraph_incl = 0 ;
|
|
# # for (1 .. 20) {
|
|
# # # next if $db{$table}{$qt_id}{"excl_$_\_notes"} || $db{$table}{$qt_id}{"note_$_"} eq '';
|
|
# # next if $excl_notes_qm[$_ - 1] || $db{$table}{$qt_id}{"note_$_"} eq '';
|
|
# # $notes_exist = 1 ;
|
|
# # }
|
|
# my $counter = 1 ;
|
|
# # if ($notes_exist) {
|
|
# &pdf_medium_bold_text ($blocks[1],$up,'Notes:') ;
|
|
# $up = $up - 1;
|
|
# for (1 .. 20) {
|
|
# # unless ($db{$table}{$qt_id}{"excl_$_\_notes"}) {
|
|
# unless ($excl_notes_qm[$_ - 1]) {
|
|
# # my $note = $db{$table}{$qt_id}{"note_$_"};
|
|
# my $note = $db{quote_notes}{2}{"note_$_"};
|
|
# if ($note) {
|
|
# if ($counter == 1) {
|
|
# &pdf_nl; $up = $up - 1
|
|
# } else {
|
|
# $up = $up - 2 ;
|
|
# }
|
|
# $counter++ ;
|
|
# # if ($_ == 7) {
|
|
# &pdf_medium_text ($blocks[1],$up,"-") ;
|
|
# &pdf_text_block (12,"$note",130,3) ;
|
|
# # $paragraph_incl = 1 if $txt eq $db{$table}{$qt_id}{"excl_$_\_notes"} ;
|
|
# # } else {
|
|
# # &pdf_medium_text ($blocks[1],$up,"- $note") ;
|
|
# # }
|
|
# }
|
|
# }
|
|
# }
|
|
# $up = $up + 4 ;
|
|
# # }
|
|
|
|
# # my @excl_payment_terms_qm = split(";", $db{quotes_min}{$qt_id}{"excl_payment_terms"}) ;
|
|
|
|
# # for (1 .. 20) {
|
|
# # # next if $db{$table}{$qt_id}{"excl_$_\_payment_terms"} || $db{$table}{$qt_id}{"payment_term_$_"} eq '';
|
|
# # next if $excl_payment_terms_qm[$_ - 1] || $db{$table}{$qt_id}{"payment_term_$_"} eq '';
|
|
# # $payment_terms_exists = 1 ;
|
|
# # }
|
|
|
|
# # if ($payment_terms_exists) {
|
|
# # &pdf_nl_gap_3;
|
|
# # &pdf_check_value_of_up(50);
|
|
# # &pdf_medium_bold_text ($blocks[1],$up,'Payment Terms:') ;
|
|
# # $up = $up - 1;
|
|
# # for (1 .. 20) {
|
|
# # # unless ($db{$table}{$qt_id}{"excl_$_\_payment_terms"}) {
|
|
# # unless ($excl_payment_terms_qm[$_ - 1]) {
|
|
# # my $payment_term = $db{$table}{$qt_id}{"payment_term_$_"};
|
|
# # if (length($payment_term) > 2) {
|
|
# # &pdf_nl_gap_1 ;
|
|
# # &pdf_medium_text ($blocks[1],$up,"- $payment_term") ;
|
|
# # }
|
|
# # }
|
|
# # }
|
|
# # }
|
|
|
|
# # my @excl_roes_qm = split(";", $db{quotes_min}{$qt_id}{"excl_roes"}) ;
|
|
|
|
# # for (1 .. 20) {
|
|
# # # next if $db{$table}{$qt_id}{"excl_$_\_roes"} || $db{$table}{$qt_id}{"roe_$_"} eq '';
|
|
# # next if $excl_roes_qm[$_ - 1] || $db{$table}{$qt_id}{"roe_$_"} eq '';
|
|
# # $roe_exists = 1 ;
|
|
# # }
|
|
|
|
# # if ($roe_exists) {
|
|
# # &pdf_nl_gap_3;
|
|
# # &pdf_check_value_of_up(50);
|
|
# # &pdf_medium_bold_text ($blocks[1],$up,'ROE:') ;
|
|
# # $up = $up - 1;
|
|
# # for (1 .. 20) {
|
|
# # # unless ($db{$table}{$qt_id}{"excl_$_\_roes"}) {
|
|
# # unless ($excl_roes_qm[$_ - 1]) {
|
|
# # my $roe = $db{$table}{$qt_id}{"roe_$_"};
|
|
# # if ($roe) {
|
|
# # &pdf_nl;
|
|
# # $up = $up - 1;
|
|
# # &pdf_medium_text ($blocks[1],$up,"- $roe") ;
|
|
# # }
|
|
# # }
|
|
# # }
|
|
# # }
|
|
|
|
# # my @excl_delivery_times_qm = split(";", $db{quotes_min}{$qt_id}{"excl_delivery_times"}) ;
|
|
|
|
# # for (1 .. 20) {
|
|
# # # next if $db{$table}{$qt_id}{"excl_$_\_delivery_times"} || $db{$table}{$qt_id}{"delivery_time_$_"} eq '';
|
|
# # next if $excl_delivery_times_qm[$_ - 1] || $db{$table}{$qt_id}{"delivery_time_$_"} eq '';
|
|
# # $delivery_time_exists = 1 ;
|
|
# # }
|
|
|
|
# # if ($delivery_time_exists) {
|
|
# # &pdf_nl_gap_3;
|
|
# # &pdf_check_value_of_up(50);
|
|
# # &pdf_medium_bold_text ($blocks[1],$up,'Delivery time:') ;
|
|
# # $up = $up - 1;
|
|
|
|
# # for (1 .. 20) {
|
|
# # # unless ($db{$table}{$qt_id}{"excl_$_\_delivery_times"}) {
|
|
# # unless ($excl_delivery_times_qm[$_ - 1]) {
|
|
# # my $delivery_time = $db{$table}{$qt_id}{"delivery_time_$_"};
|
|
# # if ($delivery_time) {
|
|
# # &pdf_nl; $up = $up - 1;
|
|
# # &pdf_medium_text ($blocks[1],$up,"- $delivery_time") ;
|
|
# # }
|
|
# # }
|
|
# # }
|
|
# # }
|
|
|
|
# if ($db{$table}{$qt_id}{"terms"}){
|
|
# &pdf_nl_gap_3;
|
|
# &pdf_check_value_of_up(50);
|
|
# &pdf_medium_bold_text ($blocks[1],$up,'Terms and Conditions:') ;
|
|
# $up = $up - 1;
|
|
# &pdf_nl_gap_1;
|
|
# &pdf_medium_text ($blocks[1],$up,"-") ;
|
|
# my $para = $terms_and_con{$db{$table}{$qt_id}{"terms"}} ;
|
|
# &pdf_text_block (12,"$para",130,3) ;
|
|
|
|
|
|
# }
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub build_purchase_summary_table {
|
|
|
|
if ($up<50) {
|
|
&pdf_check_value_of_up(50);
|
|
} else {
|
|
$up -= 5;
|
|
}
|
|
|
|
$up = $up - 3.25;
|
|
|
|
&pdf_bar(10,$up,200,$up,'#009bc8','Purchase Summary (Incl VAT)',20,90, 'med') ;
|
|
$up = $up - 3.25;
|
|
|
|
&pdf_box_block_top($tblocks[1],200,'#009bc8') ; # start block ---------
|
|
$top = $up ;
|
|
|
|
$up = $up - 5 ;
|
|
|
|
# &pdf_small_bold_text ($table_cols[0]+5,$up,'Description') ;
|
|
# &pdf_small_bold_text ($table_cols[1]+7.5,$up,'Qty') ;
|
|
# &pdf_small_bold_text ($table_cols[2]+11,$up,'Amount') ;
|
|
# &pdf_small_bold_text ($table_cols[3]+11,$up,'VAT') ;
|
|
# &pdf_small_bold_text ($table_cols[4]+12.5,$up,'Total') ;
|
|
|
|
# pdf_small_bold_text
|
|
# &pdf_bar(10,$up,200,$up,'#009bc8','Description',20, 14, 'med');
|
|
# if ($db{$table}{$qt_id}{period} == 36) {
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 1', 20, 90, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 2', 20, 120, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 3', 20, 150, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','TOTAL', 20, 180, 'med') ;
|
|
# }
|
|
# elsif ($db{$table}{$qt_id}{period} == 60) {
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 1', 20, 55, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 2', 20, 80, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 3', 20, 105, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 4', 20, 130, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Year 5', 20, 155, 'med') ;
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','TOTAL', 20, 180, 'med') ;
|
|
# } &pdf_bar(10,$up,200,$up,'#009bc8','Description',20, 14, 'med');
|
|
|
|
&pdf_small_bold_text($table_cols[0]+4,$up,'Description') ;
|
|
|
|
if ($db{$table}{$qt_id}{period} == 36) {
|
|
|
|
&pdf_small_bold_text(90,$up,'Year 1') ;
|
|
&pdf_small_bold_text(120,$up,'Year 2') ;
|
|
&pdf_small_bold_text(150,$up,'Year 3') ;
|
|
|
|
} elsif ($db{$table}{$qt_id}{period} == 60) {
|
|
|
|
&pdf_small_bold_text(55,$up,'Year 1') ;
|
|
&pdf_small_bold_text(80,$up,'Year 2') ;
|
|
&pdf_small_bold_text(105,$up,'Year 3') ;
|
|
&pdf_small_bold_text(130,$up,'Year 4') ;
|
|
&pdf_small_bold_text(155,$up,'Year 5') ;
|
|
|
|
}
|
|
|
|
&pdf_small_bold_text(180,$up,'TOTAL') ;
|
|
|
|
# $up = $up - 8;
|
|
$up = $up - 3 ;
|
|
|
|
&pdf_thin_black_line ($table_cols[0],$up,$table_cols[-1],$up,'#009bc8') ;
|
|
|
|
$up-=4.5 ;
|
|
|
|
$inner_blue_box = 1 ;
|
|
|
|
my $suffix = "_purchase_summary" ;
|
|
my @prefexes = ("excl", "item") ;
|
|
foreach my $prefix (@prefexes) {
|
|
$col_name = "$prefix" . "$suffix" ;
|
|
$cnt = 0 ;
|
|
if($db{quotes_min}{$qt_id}{$col_name}){
|
|
foreach my $col_input (split(";", $db{quotes_min}{$qt_id}{$col_name})){
|
|
$cnt++ ;
|
|
$saved_field{$prefix}{$suffix}{$cnt} = $col_input ;
|
|
# &common_debug("$aa/$suffix : $cc") ;
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($db{$table}{$qt_id}{period} == 36) {
|
|
|
|
foreach (1 .. 3) {
|
|
|
|
&pdf_check_value_of_up(15); if ($up>280){ $up=280; }
|
|
|
|
if ($saved_field{"excl"}{$suffix}{$_}) { next ; }
|
|
|
|
&pdf_small_bold_text ($tboxtxt[1]+2,$up,$saved_field{"item"}{$suffix}{$_}) ;
|
|
$box=1;
|
|
for my $y_ (1 .. 3) {
|
|
$box++;
|
|
$ttl{$y_} += $db{$table}{$qt_id}{"year_$y_\_$_$suffix"} ;
|
|
&pdf_small_text($tboxtxt[$box],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($tboxrtxt[$box],$up,&common_commify($db{$table}{$qt_id}{"year_$y_\_$_$suffix"})) ;
|
|
}
|
|
$box++;
|
|
$ttl += $db{$table}{$qt_id}{"total_$_$suffix"} ;
|
|
&pdf_small_text($tboxtxt[$box],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($tboxrtxt[$box],$up,&common_commify($db{$table}{$qt_id}{"total_$_$suffix"})) ;
|
|
# &pdf_nl_gap_1;
|
|
$up-=4.5;
|
|
|
|
}
|
|
|
|
$up+=3;
|
|
|
|
&pdf_thin_black_line ($table_cols[0],$up,$table_cols[-1],$up,'#009bc8') ;
|
|
|
|
$up-=5;
|
|
|
|
&pdf_small_bold_text($tboxtxt[1]+2,$up,'Total') ;
|
|
|
|
&pdf_small_bold_text($tboxtxt[2],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt[3],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt[4],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt[5],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
|
|
&pdf_small_bold_text_right($tboxrtxt[2],$up,&common_commify(sprintf("%0.2f",$ttl{1}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt[3],$up,&common_commify(sprintf("%0.2f",$ttl{2}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt[4],$up,&common_commify(sprintf("%0.2f",$ttl{3}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt[5],$up,&common_commify(sprintf("%0.2f",$ttl))) ;
|
|
|
|
$up-=3;
|
|
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Total', 20, 14, 'med') ;
|
|
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt[2], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{1})), 20, $tboxrtxt[2], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt[3], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{2})), 20, $tboxrtxt[3], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt[4], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{3})), 20, $tboxrtxt[4], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt[5], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl)), 20, $tboxrtxt[5], 'small_right') ;
|
|
|
|
&pdf_thin_black_line ($tblocks[2],$top,$tblocks[2],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks[3],$top,$tblocks[3],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks[4],$top,$tblocks[4],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks[5],$top,$tblocks[5],$up,'#009bc8') ; # vertical
|
|
|
|
} elsif ($db{$table}{$qt_id}{period} == 60) {
|
|
|
|
foreach (1 .. 3) {
|
|
&pdf_check_value_of_up(15); if ($up>280){ $up=280; }
|
|
|
|
if ($saved_field{"excl"}{$suffix}{$_}) { next ; }
|
|
|
|
&pdf_small_bold_text ($tboxtxt2[1]+2,$up,$saved_field{"item"}{$suffix}{$_}) ;
|
|
$box=1;
|
|
for my $y_ (1 .. 5) {
|
|
$box++;
|
|
$ttl{$y_} += $db{$table}{$qt_id}{"year_$y_\_$_$suffix"} ;
|
|
&pdf_small_text($tboxtxt2[$box],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($tboxrtxt2[$box],$up,&common_commify($db{$table}{$qt_id}{"year_$y_\_$_$suffix"})) ;
|
|
}
|
|
$box++;
|
|
$ttl += $db{$table}{$qt_id}{"total_$_$suffix"} ;
|
|
&pdf_small_text($tboxtxt2[$box],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_text_right($tboxrtxt2[$box],$up,&common_commify($db{$table}{$qt_id}{"total_$_$suffix"})) ;
|
|
# &pdf_nl_gap_1;
|
|
$up-=4.5;
|
|
}
|
|
|
|
$up+=4.5;
|
|
|
|
&pdf_thin_black_line ($table_cols[0],$up,$table_cols[-1],$up,'#009bc8') ;
|
|
|
|
$up-=5;
|
|
|
|
&pdf_small_bold_text($tboxtxt2[1]+2,$up,'Total') ;
|
|
|
|
&pdf_small_bold_text($tboxtxt2[2],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt2[3],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt2[4],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt2[5],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt2[6],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
&pdf_small_bold_text($tboxtxt2[7],$up,$curr_symb{$db{$table}{$qt_id}{currency}}) ;
|
|
|
|
&pdf_small_bold_text_right($tboxrtxt2[2],$up,&common_commify(sprintf("%0.2f",$ttl{1}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt2[3],$up,&common_commify(sprintf("%0.2f",$ttl{2}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt2[4],$up,&common_commify(sprintf("%0.2f",$ttl{3}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt2[5],$up,&common_commify(sprintf("%0.2f",$ttl{4}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt2[6],$up,&common_commify(sprintf("%0.2f",$ttl{5}))) ;
|
|
&pdf_small_bold_text_right($tboxrtxt2[7],$up,&common_commify(sprintf("%0.2f",$ttl))) ;
|
|
|
|
$up-=3;
|
|
|
|
# &pdf_bar (10,$up,200,$up,'#009bc8','Total', 20, 14, 'med') ;
|
|
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt2[2], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{1})), 20, $tboxrtxt2[2], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt2[3], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{2})), 20, $tboxrtxt2[3], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt2[4], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{3})), 20, $tboxrtxt2[4], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt2[5], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{4})), 20, $tboxrtxt2[5], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt2[6], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl{5})), 20, $tboxrtxt2[6], 'small_right') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', $curr_symb{$db{$table}{$qt_id}{currency}}, 20, $tboxtxt2[7], 'small') ;
|
|
# &pdf_bar( 10, $up, 200, $up, '#009bc8', &common_commify(sprintf("%0.2f",$ttl)), 20, $tboxrtxt2[7], 'small_right') ;
|
|
|
|
&pdf_thin_black_line ($tblocks2[2],$top,$tblocks2[2],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks2[3],$top,$tblocks2[3],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks2[4],$top,$tblocks2[4],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks2[5],$top,$tblocks2[5],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks2[6],$top,$tblocks2[6],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks2[7],$top,$tblocks2[7],$up,'#009bc8') ; # vertical
|
|
}
|
|
|
|
&pdf_box_block_bottom($tblocks[1],200,'#009bc8') ; # end block -------------------------------------
|
|
|
|
# $up-=4;
|
|
|
|
$inner_blue_box = 0 ;
|
|
|
|
} #----------------------------------------------------------------------------------------------------
|
|
|
|
sub vertical_lines_inner_box {
|
|
|
|
&pdf_thin_black_line ($blocks[2],$top,$blocks[2],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($blocks[3],$top,$blocks[3],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($blocks[4],$top,$blocks[4],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($blocks[5],$top,$blocks[5],$up,'#009bc8') ; # vertical
|
|
|
|
} #----------------------------------------------------------------------------------------------------
|
|
|
|
sub vertical_lines_inner_box_t {
|
|
|
|
&pdf_thin_black_line ($tblocks[2],$top,$tblocks[2],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks[3],$top,$tblocks[3],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks[4],$top,$tblocks[4],$up,'#009bc8') ; # vertical
|
|
&pdf_thin_black_line ($tblocks[5],$top,$tblocks[5],$up,'#009bc8') ; # vertical
|
|
|
|
} #----------------------------------------------------------------------------------------------------
|
|
|
|
sub quote_pdf_footer {
|
|
|
|
# &pdf_check_value_of_up(60);
|
|
|
|
if ($up < 89) {
|
|
&pdf_check_value_of_up(89);
|
|
$up = 89 ;
|
|
}
|
|
|
|
$up -= 4.5 ;
|
|
|
|
&pdf_medium_bold_text ($table_cols[0],$up,'Notes:') ;
|
|
|
|
$up = $up - 1.5;
|
|
|
|
$up -= 3 ; &pdf_small_text ($table_cols[0]+2,$up,"- Payment due on date of order") ;
|
|
$up -= 4 ; &pdf_small_text ($table_cols[0]+2,$up,"- Minimum 36x month Contract") ;
|
|
$up -= 4 ; &pdf_small_text ($table_cols[0]+2,$up,"- Annual Fees for Year 2 & 3 = R 36,000.00 (Exl VAT) per system per year") ;
|
|
$up -= 4 ; &pdf_small_text ($table_cols[0]+2,$up,"- Annual fees due annually in advance") ;
|
|
$up -= 4 ; &pdf_small_text ($table_cols[0]+2,$up,"- Annual fees to be reviewed if renewed after 36 months") ;
|
|
|
|
$up -= 5 ;
|
|
|
|
&pdf_text_block (10,"The parties hereby accept and agree to this quote, which incorporates by reference all the terms and conditions set forth in the AI Sport Africa's Terms and Conditions document.",120) ;
|
|
|
|
$up = $up - 6;
|
|
|
|
&pdf_medium_bold_text (10, $up, "Name:") ; &pdf_thin_black_line (30,$up,100,$up,'#009bc8') ; #&pdf_tiny_text (25, $up, "________________________________________________") ;
|
|
&pdf_medium_bold_text (110, $up, "Date:") ; &pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
|
|
$up = $up - 5;
|
|
&pdf_small_text (10, $up, "(Duly Authorised)") ;
|
|
$up = $up - 5;
|
|
# &pdf_medium_bold_text (10, $up, "Company:") ; &pdf_thin_black_line (30,$up,100,$up,'#009bc8') ;
|
|
&pdf_medium_bold_text (110, $up, "Signature:") ; &pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
|
|
$up = $up - 10 ;
|
|
&pdf_medium_bold_text (10, $up, "Name:") ; &pdf_thin_black_line (30,$up,100,$up,'#009bc8') ;
|
|
&pdf_medium_bold_text (110, $up, "Date:") ; &pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
|
|
$up = $up - 5;
|
|
&pdf_small_text (10, $up, "(Duly Authorised on behalf of AI Sport Africa)") ;
|
|
|
|
$up = $up - 5;
|
|
&pdf_medium_bold_text (110, $up, "Signature:") ;
|
|
|
|
&pdf_thin_black_line (130,$up,200,$up,'#009bc8') ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub quote_pdf_vars {
|
|
|
|
our @table_cols = (10,80,100,135,165,200) ;
|
|
|
|
# our @htxt = (0,0,115,0,146,172,0) ;
|
|
# our @boxtxt = (0,12,102,117,142,167) ;
|
|
# our @blocks = (0,10,100,115,140,165) ;
|
|
|
|
# our @rboxtxt = (0,97,122,147,172,197) ;
|
|
# our @boxtxt = (0,12,102,127,152,177) ;
|
|
# our @blocks = (0,10,100,125,150,175) ;
|
|
|
|
|
|
# our @rboxtxt = (0,93,106,148,190,197) ;
|
|
# our @boxtxt = (0,12,106,114,154,194) ;
|
|
# our @blocks = (0,10,104,112,152,192) ;
|
|
|
|
# our @rboxtxt = (0,93,106,151,190,197) ;
|
|
# our @boxtxt = (0,12,106,120,157,194) ;
|
|
|
|
# our @blocks = (0,10,104,118,155,192) ;
|
|
our @blocks = (0,$table_cols[0],$table_cols[1],$table_cols[2],$table_cols[3],$table_cols[4]) ;
|
|
|
|
our @tboxrtxt = (0,77,107,137,167,197) ;
|
|
our @tboxtxt = (0,12,82,112,142,172) ;
|
|
our @tblocks = (0,10,80,110,140,170) ;
|
|
|
|
our @tboxrtxt2 = (0,42,67,92,117,142,167,197) ;
|
|
our @tboxtxt2 = (0,12,47,72,97,122,147,172) ;
|
|
our @tblocks2 = (0,10,45,70,95,120,145,170) ;
|
|
|
|
} #-------------------------------------------------------------------------------
|
|
|
|
sub custom_date_txt {
|
|
|
|
my ($date) = @_ ;
|
|
|
|
my $dt_txt = Date_to_Text(substr($date,0,4),substr($date,5,2),substr($date,8,2));
|
|
|
|
$dt_txt = substr($dt_txt,4) ;
|
|
|
|
return ($dt_txt) ;
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub check_space_on_page_custom {
|
|
|
|
my ($value) = @_ ;
|
|
|
|
if ($up < $value) {
|
|
&pdf_thin_black_line (10,$top,10,$up) ;
|
|
&vertical_lines_table; # draw vertical_lines on prematurely ended table
|
|
&pdf_initialise_page ;
|
|
$up=282 ;
|
|
$top=$up;
|
|
&pdf_thin_black_line(10,$up,200,$up) ;
|
|
$across = 1 ;
|
|
}
|
|
|
|
} #----------------------------------------------------------------------------------------------------
|
|
|
|
sub get_val {
|
|
|
|
my ($val,$cur) = @_ ;
|
|
|
|
my $disp_val = $val ;
|
|
|
|
if ($val eq '0.00') {
|
|
$disp_val = '' ;
|
|
} elsif ($val) {
|
|
$disp_val = $cur . ' ' . $val ;
|
|
}
|
|
|
|
# &common_min_debug($val);
|
|
|
|
return($disp_val);
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub vertical_lines_table {
|
|
|
|
unless ($exclude_rate) {
|
|
&pdf_thin_black_line ($blocks[2],$top,$blocks[2],$up) ; # vertical
|
|
&pdf_thin_black_line ($blocks[3],$top,$blocks[3],$up) ; # vertical
|
|
}
|
|
|
|
unless ($exclude_vat) {
|
|
&pdf_thin_black_line ($blocks[4],$top,$blocks[4],$up) ; # vertical
|
|
}
|
|
|
|
&pdf_thin_black_line ($blocks[5],$top,$blocks[5],$up) ; # vertical
|
|
&pdf_thin_black_line ($blocks[6],$top,$blocks[6],$up) ; # vertical
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
sub screen2 {
|
|
|
|
print <<ENDOFTEXT;
|
|
$dialog{'common'}{'head'}
|
|
<div id="content" class="col-lg-12 col-sm-12">
|
|
<CENTER>
|
|
<table height='100%' width='100%'>
|
|
<tr>
|
|
<td align='center'>
|
|
<iframe src='$useropts{'$domain'}/pdf/quotes/$pdfname' width='100%' height='100%' frameborder='0'></iframe>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
ENDOFTEXT
|
|
#
|
|
|
|
} #------------------------------------------------------------------------------------------
|
|
|
|
use db ;
|
|
use db_min ;
|
|
use dialog ;
|
|
use today ;
|
|
use common ;
|
|
use pdf ;
|
|
use tabs ;
|
|
|
|
1; |