use utf8;
use warnings; no warnings "redefine";
use strict;
use Dbase::Help qw(Do DoFn DoCopy);
use Loader qw(edit_kunden log_update edit_rechstep strip_kn);

sub set_rechstep_kunde($;$) {
	my($id,$kn) = @_;

	my $kk = edit_kunden(1+4,$kn);
	return undef unless defined $kk;
	return $kk unless defined $id;

	my($dienst,$okk) = DoFn("select dienst,kunde from rechstep where id=$id");
	return $kk if ($kk eq "-") ? (not defined $okk) : (defined $okk and $kk == $okk);
	
	log_update("rechstep","id",$id,undef,"kunde",undef, $okk);
	Do("update kunde set geaendert=UNIX_TIMESTAMP(NOW()) where id=$kk") if $kk ne "-";
	my $nid;
	if($kk eq "-") {
		$nid = DoFn "select id from rechstep where dienst=$dienst and kunde is null";
		$kk=undef;
	} else {
		$nid = DoFn "select id from rechstep where dienst=$dienst and kunde=$kk";
	}
	if($nid) {
		print "Dieser Kunde hat bereits einen Eintrag für diesen Dienst:\n"
	} else {
		$nid = DoCopy("rechstep","id=$id",kunde=>$kk,id=>undef);
		DoCopy("recheinheit","rechstep=$id",rechstep=>$nid,id=>undef);
		print "Neuer Datensatz #$nid angelegt.\n";
	}
	$kn = strip_kn($kn) . " K:" . ($kk ? "$kk" : "-") ;
	edit_rechstep($nid,$kn);
}
1;
