use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Globals qw(get_rz_from_ipkunde name_kunde);
use Dbase::Help qw(DoFn isotime);
use Fehler qw(problem);
use Loader qw(line_printer);

sub list_messverbraucher($) {
    my ( $idi ) = @_;
    line_printer;

    my ( $timestamp, $mess_stelle, $ipk, $ms_name, $hardware, $kunde, $beginn, $ende, $acct )
      = DoFn <<_
SELECT mess_verbraucher.timestamp, mess_verbraucher.mess_stelle, mess_stelle.snmp_host, mess_stelle.name, mess_verbraucher.hardware,
       mess_verbraucher.kunde, mess_verbraucher.beginn, mess_verbraucher.ende, mess_verbraucher.acct
  FROM mess_verbraucher JOIN mess_stelle ON mess_verbraucher.mess_stelle = mess_stelle.id
 WHERE mess_verbraucher.id = $idi
_
      or return problem "Messverbraucher #$idi nicht gefunden.";

    my ( $hw_name, $housing ) = (
        $hardware
        ? DoFn("SELECT name, hardware_id FROM hardware WHERE id = $hardware")
        : ( '', '' )
    );

    print $Db::pr_fh "ID         : $idi\n";
    print $Db::pr_fh 'Timestamp  : ' . isotime($timestamp) . "\n";
    print $Db::pr_fh "Kunde      : #$kunde:" . name_kunde($kunde) . "\n";
    print $Db::pr_fh "Hardware   : #$hardware:$hw_name [#$housing]\n" if $hardware;

    my $rzid = get_rz_from_ipkunde($ipk);
    my $msextra =
      defined $rzid
      ? '@' . DoFn("SELECT name FROM rz WHERE id = $rzid")
      : '';
    print $Db::pr_fh "Messstelle : #$mess_stelle:$ms_name$msextra\n";
    print $Db::pr_fh "Accounting : $acct\n";
    print $Db::pr_fh 'Beginn     : ' . isotime($beginn) . "\n" if $beginn;
    print $Db::pr_fh 'Ende       : ' . isotime($ende) . "\n"   if $ende;

}

1;
