Changeset 17

Show
Ignore:
Timestamp:
10/24/10 20:24:44 (19 months ago)
Author:
solar
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • flohkasse/flohkasse

    r16 r17  
    44# $HeadURL$ 
    55 
    6 my $VERSION = "v1.0 alpha 3"; 
     6my $VERSION = "v1.0 alpha 4"; 
    77 
    88# "Flohkasse" 
     
    6060sub print_both( $ ) 
    6161{ 
    62     my ( $string ) = @ARGV; 
     62    my ( $string ) = @_; 
    6363    print $string; 
    6464    print $kassenrolle $string; 
     
    178178            while ( 1 ) 
    179179            { 
    180                 $summe = <$kassenrolle>; 
     180                $_ = <$kassenrolle>; 
     181                last if ( /^# Summe: / ); 
     182                next if ( /^#/ ); 
    181183                die "Unerwartetes Dateieinde bei Suche nach Storno - DATEI KORRUPT\n" if eof; 
    182                 last if ( $summe =~ /# Summe: / ); 
    183                 my ( $verk, $preis ) = split( $summe ); 
    184                 my $logline = sprintf( " %5d\t-%8.2f\n", $verk, $preis ); 
     184                my ( $verk, $preis ) = split(); 
     185                $preis =~ s/,/./; 
     186                $preis *= -1; 
     187                my $logline = sprintf( " %5d\t%8.2f\n", $verk, $preis ); 
    185188                $logline =~ s/\./,/; 
    186189                $storno .= $logline; 
    187190            } 
    188             chomp( $summe ); 
    189             $summe =~ s/# Summe: //; 
    190             $summe =~ s/ €//; 
    191             $summe =~ s/,/./; 
     191            chomp; 
     192            s/# Summe: //; 
     193            s/ €//; 
     194            s/,/./; 
     195            $summe = $_; 
    192196            last; 
     197        } 
     198    } 
     199    if ( "$summe" eq "" ) 
     200    { 
     201        close( $kassenrolle ); 
     202        open( $kassenrolle, ">> $kassenrolle_dateiname" ) 
     203            || die "FEHLER beim Öffnen der Kassenrolle ($kassenrolle_dateiname)!"; 
     204        print_both "### FEHLER: Bon #$storno_bon nicht gefunden. Kein Storno.\n"; 
     205        return; 
     206    } 
     207    while ( <$kassenrolle> ) 
     208    { 
     209        if ( /# STORNO BON #$storno_bon/ ) 
     210        { 
     211            close( $kassenrolle ); 
     212            open( $kassenrolle, ">> $kassenrolle_dateiname" ) 
     213                || die "FEHLER beim Öffnen der Kassenrolle ($kassenrolle_dateiname)!"; 
     214            print_both "\n### FEHLER: Bon #$storno_bon ist bereits storniert.\n\n"; 
     215            return; 
    193216        } 
    194217    } 
     
    196219    open( $kassenrolle, ">> $kassenrolle_dateiname" ) 
    197220        || die "FEHLER beim Öffnen der Kassenrolle ($kassenrolle_dateiname)!"; 
    198     if ( "$summe" eq "" ) 
    199     { 
    200         print_both "### FEHLER: Bon #$storno_bon nicht gefunden. Kein Storno.\n"; 
    201         return; 
    202     } 
    203221    print "\n$storno\n# Summe: $summe €\n\nWIRKLICH STORNIEREN? (j/n)\n"; 
    204222    my $confirm = <STDIN>; 
    205     chump $confirm; 
     223    chomp $confirm; 
    206224    if ( $confirm =~ /^[jJ]/ ) 
    207225    { 
     
    309327print $kassenrolle "# Eingabe zu beginnen.\n\n"; 
    310328system( "killall xterm >/dev/null 2>&1" ); 
    311 system( "xterm -T Kassenrolle -sb -rightbar -e \"tail -f $kassenrolle_dateiname\" &" ); 
     329system( "xterm -T Kassenrolle -sb -rightbar -e \"tail -n+1 -f $kassenrolle_dateiname\" &" ); 
    312330print "Nebenan sollte jetzt die Kassenrolle zu sehen sein.\n"; 
    313331print "Bitte in dieses Fenster klicken, um die Eingabe zu starten!\n\n";