From 38cb3b7142b5f32fc79f419b687b56c59270a92b Mon Sep 17 00:00:00 2001 From: ragu Date: Wed, 30 Apr 2025 08:41:03 +0200 Subject: [PATCH] Adding Mandat datetime --- copri4/main/src/Mod/APIfunc.pm | 3 +++ copri4/main/src/Mod/DBtank.pm | 4 ++-- copri4/main/src/Mod/Shareework.pm | 19 +++++++++++++++---- copri4/main/src/Tpl/Address3.pm | 8 ++++++++ copri4/main/src/scripts/Ilockit_cloud.pl | 4 ++-- .../main/src/scripts/Ilockit_trackingcloud.pl | 4 ++-- 6 files changed, 32 insertions(+), 10 deletions(-) diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 83d2f79..5f069eb 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -1088,6 +1088,9 @@ sub booking_request { owner => $owner, }; $dbt->update_one($dbh,$update_ctt,"start_time='$now_dt'"); + #SEPA-Mandat datetime if exist + $dbt->update_one($dbh,$update_ctt,"ma_time='$auth->{ma_time}'") if($auth->{ma_time}); + $dbt->update_one($dbh,$update_ctt,"txt26='$auth->{ct_name}'") if($auth->{ct_name} =~ /^\w{2}-\w+/); #update waren bike state only if adhock booking if(!$calreserv){ diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index ad3cda3..0f4a028 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -1042,11 +1042,11 @@ sub update_record(){ $set .= " $key=null,";#we need this for null values in operators loop } } - if($key =~ /(mtime|atime|pay_time|invoice_time|warn_time)$/){ + if($key =~ /(mtime|atime|pay_time|invoice_time|warn_time|ma_time)$/){ if($value && $value =~ /^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}|^\d{2}\.\d{2}\.\d{4}$/){ $set .= " $key='$value',"; }elsif($key =~ /warn_time/ && $value eq "null"){ - $set .= " $key=null,"; + $set .= " $key=null,"; }else{ $set .= " $key='now()',"; } diff --git a/copri4/main/src/Mod/Shareework.pm b/copri4/main/src/Mod/Shareework.pm index 1ae0858..5392fe6 100755 --- a/copri4/main/src/Mod/Shareework.pm +++ b/copri4/main/src/Mod/Shareework.pm @@ -581,15 +581,26 @@ sub save_account(){ } } - #elsif($dbt->{primary}->{payment_provider} eq "manually"){ + #elsif($dbt->{primary}->{payment_provider} eq "manually") else{ my $valid = $ibanmod->valid($iban); if ($valid) { print FILE "c_id:$c_id --> IBAN:$iban --> valid:$valid\n" if($debug); $vde_on_fail = 0 if($vde_on_fail != 2); - $u_rows = $dbt->update_one($dbh,$update_adr,"ct_name='MA-$c_id'");#MA for manually mandat - $u_rows = $dbt->update_one($dbh,$update_adr,"txt27='active'"); - $u_rows = $dbt->update_one($dbh,$update_adr,"int12=$vde_on_fail");#Vde + my $update_adr2 = { + table => "contentadr", + mtime => "now()", + owner => "$owner", + c_id => "$c_id", + ct_name => "MA-$c_id", + txt27 => "active", + int12 => $vde_on_fail, + ma_time => "now()", + }; + + #dedicated update because of mandat + $u_rows = $dbt->update_record($dbh,$update_adr2,$ctadr); + my $ret = $pay->pdfmandat(\%varenv,$ctadr->{c_id}); print FILE "pdfmandat call generates: $ret\n" if($debug); } diff --git a/copri4/main/src/Tpl/Address3.pm b/copri4/main/src/Tpl/Address3.pm index a39f4a4..625961b 100755 --- a/copri4/main/src/Tpl/Address3.pm +++ b/copri4/main/src/Tpl/Address3.pm @@ -367,9 +367,17 @@ EOF if($ctt->{int03} && $ctt->{int03} != 3 && $ctadr->{txt28}){ $payteaser = substr($ctadr->{txt28},0,50) . " ..."; } + my $ma_time = $ctt->{ma_time} || ""; + $ma_time = $lb->time4de($ma_time,0) if($ma_time); + print $q->Tr(),"\n"; print $q->td({-class=>'tdescr4'},"Zahlungsart"),"\n"; print $q->td({-class=>'tdval4'},"$kind_of_payment"),"\n"; + if($ma_time){ + print $q->Tr(),"\n"; + print $q->td({-class=>'tdescr4'},"SEPA-Mandat"),"\n"; + print $q->td({-class=>'tdval4'},"$ctt->{txt26} $ma_time"),"\n"; + } print $q->Tr(),"\n"; print $q->td({-class=>'tdescr4'},"Payone log Kunde"),"\n"; print $q->td({-class=>'tdval4'},"$payteaser"),"\n"; diff --git a/copri4/main/src/scripts/Ilockit_cloud.pl b/copri4/main/src/scripts/Ilockit_cloud.pl index 83bf9f1..0049c11 100755 --- a/copri4/main/src/scripts/Ilockit_cloud.pl +++ b/copri4/main/src/scripts/Ilockit_cloud.pl @@ -125,8 +125,8 @@ sub utctime { #'deviceTime' => '2021-10-14T08:19:35.000+0000', #'serverTime' => '2021-10-14T07:19:37.000+0000', - #$utc_epoch -= 2*60*60;# -2 std (Sommerzeit) - $utc_epoch -= 1*60*60;# -1 std (Winterzeit) + $utc_epoch -= 2*60*60;# -2 std (Sommerzeit) + #$utc_epoch -= 1*60*60;# -1 std (Winterzeit) $utc_epoch += $latency; $time = gmtime($utc_epoch);#epoch diff --git a/copri4/main/src/scripts/Ilockit_trackingcloud.pl b/copri4/main/src/scripts/Ilockit_trackingcloud.pl index 775e5f4..faae68f 100755 --- a/copri4/main/src/scripts/Ilockit_trackingcloud.pl +++ b/copri4/main/src/scripts/Ilockit_trackingcloud.pl @@ -87,8 +87,8 @@ sub utctime { my $time = Time::Piece->strptime($date, "%Y-%m-%dT%H:%M:%S"); print FILE "localtime: " . $time->datetime . "\n";#localtime my $utc_epoch = $time->epoch; - #$utc_epoch -= 2*60*60;# -2 std (Sommerzeit) - $utc_epoch -= 1*60*60;# -1 std (Winterzeit) + $utc_epoch -= 2*60*60;# -2 std (Sommerzeit) + #$utc_epoch -= 1*60*60;# -1 std (Winterzeit) $utc_epoch += $latency; $time = gmtime($utc_epoch);#epoch print FILE "utctime: " . $time->datetime . "\n";#utc zulu date time