accounting and statistik adjustments

This commit is contained in:
ragu 2022-11-28 18:28:06 +01:00
parent e6c7010f28
commit 4435999ac2
10 changed files with 122 additions and 87 deletions

View file

@ -37,8 +37,7 @@ sub log {
$now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime; $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
my $logfile = "/var/log/copri4/$varenv{syshost}-process.log"; my $logfile = "/var/log/copri4/$varenv{syshost}-process.log";
#if($varenv{debug}){ if($varenv{debug}){
if(1==1){
warn "$$ $what" . "\n" . Dumper($message) . "\n";#to apache2/error.log warn "$$ $what" . "\n" . Dumper($message) . "\n";#to apache2/error.log
#2021-07-21 disabled. error.log is enough #2021-07-21 disabled. error.log is enough

View file

@ -157,6 +157,7 @@ sub update_operatorsloop {
#delete $record_primary->{int12};#Vde (remove delete for global setting) #delete $record_primary->{int12};#Vde (remove delete for global setting)
delete $record_primary->{int23};#mini_answer count will be saved on operator delete $record_primary->{int23};#mini_answer count will be saved on operator
delete $record_primary->{txt29};#Sonstiges delete $record_primary->{txt29};#Sonstiges
delete $record_primary->{txt35};#Umfragelink
#} #}
my $update = { my $update = {

View file

@ -119,6 +119,7 @@ sub counting_rental {
#init with some defaults #init with some defaults
my $total_price = 0; my $total_price = 0;
my $ctpos_freed = { c_id => 0 }; my $ctpos_freed = { c_id => 0 };
$ctpos->{int35} = 0 if(!$ctpos->{int35});
#convert tariff unit by minute time #convert tariff unit by minute time
my $tariff_unitbyminute = 60;#defaults to Stundentarif my $tariff_unitbyminute = 60;#defaults to Stundentarif
@ -252,7 +253,7 @@ sub counting_rental {
$return->{end_time} = "$computed_end_time"; $return->{end_time} = "$computed_end_time";
$return->{freed_time} = "$freed_time"; $return->{freed_time} = "$freed_time";
$return->{computed_hours} = "$computed_hours"; $return->{computed_hours} = "$computed_hours";
$return->{unit_price} = "$ctpos->{int35}"; $return->{unit_price} = "$ctpos->{int35}" || "";
$return->{real_clock} = "$real_clock"; $return->{real_clock} = "$real_clock";
$return->{total_price} = "$total_price"; $return->{total_price} = "$total_price";
$return->{discount} = "$discount"; $return->{discount} = "$discount";
@ -536,7 +537,8 @@ sub operator_accounting2calc {
$oac->{int02} = $oac->{int01} + $oac->{int94} + $oac->{int95} + $oac->{int96} + $oac->{int97}; $oac->{int02} = $oac->{int01} + $oac->{int94} + $oac->{int95} + $oac->{int96} + $oac->{int97};
$oac->{int02} = sprintf('%.3f', $oac->{int02}); $oac->{int02} = sprintf('%.3f', $oac->{int02});
#operator invoice #operator invoice
$oac->{int100} = $oac->{int93} + $oac->{int98}; #$oac->{int100} = $oac->{int93} + $oac->{int98};#brutto
$oac->{int100} = $oac->{int93};#netto
$oac->{int100} = sprintf('%.3f', $oac->{int100}); $oac->{int100} = sprintf('%.3f', $oac->{int100});
} }
} }

View file

@ -171,7 +171,7 @@ td {
my $site_all=1; my $site_all=1;
my $header_top = 0; my $header_top = 0;
my $footer_px = 1790; my $footer_px = 1780;
my $footer_top = $footer_px;#end 1.site my $footer_top = $footer_px;#end 1.site
my $sum_paid = 0; my $sum_paid = 0;
@ -447,9 +447,9 @@ td {
#operator accounting #operator accounting
else{ else{
if($varenv->{dbname} eq "sharee_sx"){ if($varenv->{dbname} eq "sharee_sx"){
@tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=payone Disagio","int02=Summe Gutschrift"); @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=Disagio","int02=Summe Gutschrift");
}else{ }else{
@tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=payone Disagio","int95=payone Transaktion","int96=payone Zahlungsmeldung","int97=payone Kreditkarte Zuordnung","int02=Summe Gutschrift"); @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=Disagio","int95=Transaktion","int96=Zahlungsmeldung","int97=Kreditkarte Zuordnung","int02=Summe Gutschrift");
} }
} }
@ -545,36 +545,32 @@ td {
} }
} }
#Sum Endrechnung #Sum Operator invoice
if($break_table_wc > 0 && $break_table_wc <= $max_table_wc){ if($break_table_wc > 0 && $break_table_wc <= $max_table_wc){
my $sum_parts19 = $ctt->{int01} || 0; my $sum_brutto = $ctt->{int01} || 0;
if($sum_parts19 && $sum_parts19 != 0){ my $sum_operatorcredit = $ctt->{int02} || 0;
$sum_umst19 = $sum_parts19 / $diff19 * 19; my $total_operatorcredit = $sum_operatorcredit - $sum_brutto;
if($sum_brutto && $sum_brutto != 0){
$sum_umst19 = $sum_brutto / $diff19 * 19;
$sum_umst19 = $pri->round($sum_umst19); $sum_umst19 = $pri->round($sum_umst19);
} }
my $sum_netto19 = $sum_parts19 - $sum_umst19;
my $sum_netto19 = $sum_brutto - $sum_umst19;
$sum_netto19 = sprintf('%.2f', $sum_netto19); $sum_netto19 = sprintf('%.2f', $sum_netto19);
$sum_netto19 =~ s/\./,/; $sum_netto19 =~ s/\./,/;
$sum_brutto =~ s/\./,/;
my $sum_paid = $sum_parts19;
$sum_paid = $pri->round($sum_paid);
$sum_paid = sprintf('%.2f', $sum_paid);
$sum_paid =~ s/\./,/;
$sum_parts19 = sprintf('%.2f', $sum_parts19);
$sum_umst19 = sprintf('%.2f', $sum_umst19); $sum_umst19 = sprintf('%.2f', $sum_umst19);
$sum_umst19 =~ s/\./,/; $sum_umst19 =~ s/\./,/;
my $sum_operatorcredit = $ctt->{int02} || 0;
$sum_operatorcredit = $pri->round($sum_operatorcredit);
$sum_operatorcredit = sprintf('%.2f', $sum_operatorcredit); $sum_operatorcredit = sprintf('%.2f', $sum_operatorcredit);
$sum_operatorcredit =~ s/\./,/; $sum_operatorcredit =~ s/\./,/;
print $q->Tr(),"\n"; print $q->Tr(),"\n";
print $q->td({-class=>'Oline',-colspan=>$tc},"&nbsp;"),"\n"; print $q->td({-class=>'Oline',-colspan=>$tc},"&nbsp;"),"\n";
my $cs = $tc - 2;
my $payment_text = ""; my $payment_text = "";
foreach(@tplf_order){ foreach(@tplf_order){
my ($key,$des,$size) = split /=/,$_; my ($key,$des,$size) = split /=/,$_;
@ -583,7 +579,7 @@ td {
$ctf->{$key} = $lb->newline($ctf->{$key},"",""); $ctf->{$key} = $lb->newline($ctf->{$key},"","");
$ctt->{state} =~ s/\(payone.*//; $ctt->{state} =~ s/\(payone.*//;
if($des =~ /$ctt->{state}/){ if($des =~ /$ctt->{state}/){
if($sum_parts19 < 0){ if($sum_brutto < 0){
$payment_text = "$ctf->{txt58}"; $payment_text = "$ctf->{txt58}";
}else{ }else{
$payment_text = "$ctf->{$key}"; $payment_text = "$ctf->{$key}";
@ -591,14 +587,18 @@ td {
} }
} }
} }
my $sc = 2;
$sc = 1 if($ctt->{template_id} != 208);
my $pt = $tc - $sc;
print "<tr>\n"; print "<tr>\n";
print "<td colspan='$cs' style='border:0px solid silver;vertical-align:top;padding:0.2em 0.5em;font-size:0.91em;'>$payment_text</td>\n"; print "<td colspan='$pt' style='border:0px solid silver;vertical-align:top;padding:0.2em 0.5em;font-size:0.91em;'>$payment_text</td>\n";
###print sum ###print sum
print "<td colspan='3' style='font-size:1em;'>\n"; print "<td colspan='$sc' style='font-size:1em;max-width:200px;'>\n";
print $q->start_table({-style=>'border:1px solid silver;', -border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}),"\n"; print $q->start_table({-style=>'border:1px solid silver;', -border=>'0', -width=>'100%',-align=>'right', -cellpadding=>'3', -cellspacing=>'0'}),"\n";
#Summe Betreiber Rechnung #Sum operator invoive
if($ctt->{template_id} != 208){#not equal Abrechnung if($ctt->{template_id} != 208){#not equal Abrechnung
print $q->Tr("\n"); print $q->Tr("\n");
print $q->td({-class=>'tdint',-colspan=>1},"Nettobetrag"); print $q->td({-class=>'tdint',-colspan=>1},"Nettobetrag");
@ -612,13 +612,21 @@ td {
print $q->Tr("\n"); print $q->Tr("\n");
print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH"); print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_paid €"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_brutto €");
} }
#Summe Betreiber Abrechnung (Gutschrift) #Summe Betreiber Abrechnung (Gutschrift)
else{ else{
print $q->Tr("\n"); print $q->Tr("\n");
print $q->td({-class=>'tdsum',-colspan=>1},"Summe"); print $q->td({-class=>'tdsum',-colspan=>1},"Summe");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_operatorcredit €"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_operatorcredit €");
print $q->Tr("\n");
print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH");
print $q->td({-class=>'tdint',-nowrap=>"1"},"- $sum_brutto €");
print $q->Tr("\n");
print $q->td({-class=>'tdsum',-colspan=>1},"Auszahlungsbetrag");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$total_operatorcredit €");
} }
print $q->end_table,"\n"; print $q->end_table,"\n";
@ -946,18 +954,26 @@ td {
print "<div style='border:0px solid black;background-color:white;height:150px;width:$width;position:absolute;top:$footer_top;'>$line\n"; print "<div style='border:0px solid black;background-color:white;height:150px;width:$width;position:absolute;top:$footer_top;'>$line\n";
if($ctt->{int10} == 2){ if($ctt->{int10} == 2){
print $q->span({-style=>'padding:0.2em;text-align:center;font-size:0.81em;'},"Gebühren der Zahlungsdienstleistung:"),"\n" if($ctt->{template_id} == 208);
my $tplop = $dbt->get_tpl($dbh,"196");#Operator-Faktura my $tplop = $dbt->get_tpl($dbh,"196");#Operator-Faktura
my @tplop_order = split /,/,$tplop->{tpl_order}; my @tplop_order = split /,/,$tplop->{tpl_order};
foreach(@tplop_order){ foreach(@tplop_order){
my ($key,$val,$size,$unit) = split /=/,$_; my ($key,$val,$size,$unit) = split /=/,$_;
if($key =~ /int(\d+)/){ if($ctt->{template_id} != 208){
#take fee values used by creating operator accounting invoice if($key eq "int01"){
my $count_key = $1 + 20;#cu.int to ctt.int $ctt->{$key} =~ s/\./,/;
my $ctt_key = "int" . $count_key; print $q->span({-style=>'padding:0.2em;text-align:center;font-size:0.81em;'},"$val $ctt->{int21} $unit "),"\n";
if($ctt->{$ctt_key}){
$ctt->{$ctt_key} =~ s/\./,/;
print $q->span({-style=>'padding:0.2em;text-align:center;font-size:0.81em;'},"$val $ctt->{$ctt_key} $unit | "),"\n";
} }
}else{
if($key ne "int01" && $key =~ /int(\d+)/){
#take fee values used by creating operator accounting invoice
my $count_key = $1 + 20;#cu.int to ctt.int
my $ctt_key = "int" . $count_key;
if($ctt->{$ctt_key}){
$ctt->{$ctt_key} =~ s/\./,/;
print $q->span({-style=>'padding:0.2em;text-align:center;font-size:0.81em;'},"$val $ctt->{$ctt_key} $unit | "),"\n";
}
}
} }
} }
print "<br />\n"; print "<br />\n";

View file

@ -188,14 +188,20 @@ sub save_account(){
my $fkeys = ""; my $fkeys = "";
my $pw_dummy = ""; my $pw_dummy = "";
@keywords = grep {!/txt31/} @keywords; @keywords = grep {!/txt31/} @keywords;
print FILE Dumper($q) if($debug); #print FILE Dumper($q) if($debug);
foreach(@keywords){ foreach(@keywords){
$fkeys .= "$_,"; $fkeys .= "$_,";
my $val = $q->param("$_"); my $val = $q->param("$_");
my $valxx = $q->escapeHTML("$val"); my $valxx = $q->escapeHTML("$val");
$valxx =~ s/^\s+//; $valxx =~ s/^\s+//;
$valxx =~ s/\s+$//; $valxx =~ s/\s+$//;
print FILE "$_:$valxx \n" if($debug); if($debug){
if($_ !~ /txt04/){
print FILE "$_:$valxx \n";
}else{
print FILE "$_:is not logged\n";
}
}
if($_ =~ /^int|barcode/){ if($_ =~ /^int|barcode/){
$valxx =~ s/,/./g; $valxx =~ s/,/./g;
if(looks_like_number($valxx)){ if(looks_like_number($valxx)){

View file

@ -60,7 +60,7 @@ sub tpl(){
my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname});
my $users_dms_primary = { u_id => 0 }; my $users_dms_primary = { u_id => 0 };
$users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2"); $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"");
my $table = "contenttrans"; my $table = "contenttrans";
my $u_name = $q->escapeHTML("$R::u_name"); my $u_name = $q->escapeHTML("$R::u_name");
@ -458,7 +458,7 @@ sub tpl(){
$comment_view = "&rarr; $comment" if($comment); $comment_view = "&rarr; $comment" if($comment);
my $kunde = "$cttpos->{$pid}->{txt08}"; my $kunde = "$cttpos->{$pid}->{txt08}";
if($users_dms_primary->{u_id} && $users_dms_primary->{int03} == 2){ if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int02} >= 1){
$kunde = $q->a({-class=>"linknav3",-style=>"$part_style",-href=>"/DMS/Kunden/?detail_search=1&s_c_id=$cttpos->{$pid}->{ca_id}",-title=>"Kunde im Kundenstamm"},"$cttpos->{$pid}->{txt08} ($cttpos->{$pid}->{ca_id})");#2021-05-24 saves kd name $kunde = $q->a({-class=>"linknav3",-style=>"$part_style",-href=>"/DMS/Kunden/?detail_search=1&s_c_id=$cttpos->{$pid}->{ca_id}",-title=>"Kunde im Kundenstamm"},"$cttpos->{$pid}->{txt08} ($cttpos->{$pid}->{ca_id})");#2021-05-24 saves kd name
} }
@ -470,7 +470,7 @@ sub tpl(){
print $q->div({-style=>"float:left;margin-left:$c_left"}, "$i) $edit_pos $pos_id &rarr; <span style='$time_style'>$start_time $end_time</span> &rarr; $kunde &rarr; Start Station $start_station &rarr; End Station $end_station &rarr; Bike $bikenr $status $lock_state &rarr; $u_name/$u_name_end<br />$track_info $charge $comment_view"),"\n"; print $q->div({-style=>"float:left;margin-left:$c_left"}, "$i) $edit_pos $pos_id &rarr; <span style='$time_style'>$start_time $end_time</span> &rarr; $kunde &rarr; Start Station $start_station &rarr; End Station $end_station &rarr; Bike $bikenr $status $lock_state &rarr; $u_name/$u_name_end<br />$track_info $charge $comment_view"),"\n";
} }
if($users_dms_primary->{u_id} && $users_dms_primary->{int03} == 2){ if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int03} >= 1){
print $q->div({-style=>'float:left;margin-left:1em;'}, "&rarr; Faktura", $q->a({-class=>"linknav3",-style=>"$trans_style",-href=>"/DMS/Faktura?ct_trans=open\&c_id4trans=$c_id4trans\&tpl_id4trans=$tpl_id4trans\&kind_of_trans=Faktura\&owner=$users_dms->{owner}",-title=>"Faktura Terminal öffnen"},"\#$ct_name")),"\n" if($c_id4trans && $tpl_id4trans); print $q->div({-style=>'float:left;margin-left:1em;'}, "&rarr; Faktura", $q->a({-class=>"linknav3",-style=>"$trans_style",-href=>"/DMS/Faktura?ct_trans=open\&c_id4trans=$c_id4trans\&tpl_id4trans=$tpl_id4trans\&kind_of_trans=Faktura\&owner=$users_dms->{owner}",-title=>"Faktura Terminal öffnen"},"\#$ct_name")),"\n" if($c_id4trans && $tpl_id4trans);
print $q->div({-style=>'float:left;margin-left:1em;'}, "$user_device"),"\n"; print $q->div({-style=>'float:left;margin-left:1em;'}, "$user_device"),"\n";
} }

View file

@ -399,7 +399,7 @@ sub tpl(){
my $ctrel = {}; my $ctrel = {};
#only if permission read #only if permission read
if(($node_meta->{ct_table} eq "content" && $users_dms->{int01} >= 1) || ($node_meta->{ct_table} eq "contentadr" && $users_dms_primary->{u_id} && $users_dms_primary->{int02} >= 1 && $users_dms->{u_id} && $users_dms->{int02} >= 1) || ($node_meta->{ct_table} eq "contenttrans" && $users_dms_primary->{u_id} && $users_dms_primary->{int03} >= 1 && $users_dms->{u_id} && $users_dms->{int03} >= 1)){ if(($node_meta->{ct_table} eq "content" && $users_dms->{int01} >= 1) || ($node_meta->{ct_table} eq "contentadr" && $users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int02} >= 1) || ($node_meta->{ct_table} eq "contenttrans" && $users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int03} >= 1)){
my $c_id4trans = $R::c_id4trans || ""; my $c_id4trans = $R::c_id4trans || "";

View file

@ -213,19 +213,12 @@ EOF
} }
} }
} }
#trying to save hashref
#if($R::detail_search && ref($searchref) eq "HASH"){
# store $searchref, $hashfile;
#}elsif($keycount > 0 && !$R::detail_search && -f $hashfile && !$R::col_sort && !$R::sort_updown){
# $searchref = {};
# $searchref = retrieve($hashfile);
#}
#print Dumper($searchref);
my $export = ""; my $export = "";
my $todo = ""; my $todo = "";
my $ck4ex = ""; my $ck4ex = "";
#only if permission read #only if permission read
if(($node_meta->{ct_table} eq "users" && $users_dms->{int07} >= 1) || ($node_meta->{ct_table} eq "contentadrpos" && $users_dms->{int02} >= 1) || ($node_meta->{ct_table} eq "contentpos" && $users_dms->{int01} >= 1) || ($node_meta->{ct_table} eq "contentuser" && $users_dms->{int08} >= 1)){ if(($node_meta->{ct_table} eq "users" && $users_dms->{int07} >= 1) || ($node_meta->{ct_table} eq "contentadrpos" && $users_dms->{int01} >= 1) || ($node_meta->{ct_table} eq "contentpos" && $users_dms->{int01} >= 1) || ($node_meta->{ct_table} eq "contentuser" && $users_dms->{int08} >= 1)){
$ct4rel = $db->search_content3($searchref,$table,$dbt->{shareedms_conf}->{parent_id},$node_meta,$users_dms->{u_id},$lang,"$main_ids","$tpl_ids","","",$time,"",$scol,$users_dms->{sort_updown},$offset,$limit,$export,$todo,$ck4ex,""); $ct4rel = $db->search_content3($searchref,$table,$dbt->{shareedms_conf}->{parent_id},$node_meta,$users_dms->{u_id},$lang,"$main_ids","$tpl_ids","","",$time,"",$scol,$users_dms->{sort_updown},$offset,$limit,$export,$todo,$ck4ex,"");
}else{ }else{
$return = "failure::Abbruch. Keine Zugriffsberechtigung"; $return = "failure::Abbruch. Keine Zugriffsberechtigung";

View file

@ -98,9 +98,9 @@ sub tpl(){
($cttpos,$rows) = $dbt->collect_contenttrans($dbh,$ctt->{content_id}); ($cttpos,$rows) = $dbt->collect_contenttrans($dbh,$ctt->{content_id});
#int9x are not in db #int9x are not in db
if($varenv{dbname} eq "sharee_sx"){ if($varenv{dbname} eq "sharee_sx"){
@tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=payone Disagio","int02=Summe Gutschrift"); @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=Disagio","int02=Summe Gutschrift");
}else{ }else{
@tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=payone Disagio","int95=payone Transaktion","int96=payone Zahlungsmeldung","int97=payone Kreditkarte Zuordnung","int02=Summe Gutschrift"); @tpl_order = ("c_id=ID","int01=Netto Erlös","state=Zahlungsart","int94=Disagio","int95=Transaktion","int96=Zahlungsmeldung","int97=Kreditkarte Zuordnung","int02=Summe Gutschrift");
} }
} }
my $tplf = $dbt->get_tpl($dbh,201);#Kunden-Faktura, ex Firma my $tplf = $dbt->get_tpl($dbh,201);#Kunden-Faktura, ex Firma
@ -127,10 +127,9 @@ sub tpl(){
print $q->start_form(-name=>'transposform'),"\n"; print $q->start_form(-name=>'transposform'),"\n";
my $sum_operatorcredit=0; my $sum_operatorcredit=0;
my $sum_payonecapture=0; my $sum_netto=0;
my $sum_parts19=0; my $sum_brutto=0;
my $sum_all=0; my $sum_all=0;
my $diff19 = 100 + 19;
my $sum_umst19=0; my $sum_umst19=0;
my $i=0; my $i=0;
my $accounting_start = ""; my $accounting_start = "";
@ -140,7 +139,7 @@ sub tpl(){
my $oac = $pri->operator_accounting2calc(\%varenv,$cttpos->{$id},$ctf_operator); my $oac = $pri->operator_accounting2calc(\%varenv,$cttpos->{$id},$ctf_operator);
$sum_operatorcredit += $oac->{int02};#Abrechnung Gutschrift $sum_operatorcredit += $oac->{int02};#Abrechnung Gutschrift
$sum_parts19 += $oac->{int100};#Operator Rechnung (TeilRad Gebühren + Disagio incl. 19%) $sum_netto += $oac->{int100};#Operator invoice (TeilRad Gebühren netto)
$sum_all += $oac->{int99};#capture brutto $sum_all += $oac->{int99};#capture brutto
$oac->{int01} = sprintf('%.2f', $oac->{int01});#capture netto $oac->{int01} = sprintf('%.2f', $oac->{int01});#capture netto
@ -192,26 +191,28 @@ sub tpl(){
} }
}#foreach end }#foreach end
if($sum_parts19 && $sum_parts19 != 0){ #sum int100 netto
$sum_umst19 = $sum_parts19 / $diff19 * 19; if($sum_netto && $sum_netto != 0){
$sum_umst19 = $pri->round($sum_umst19); $sum_brutto = $sum_netto * 1.19;
$sum_netto = $pri->round($sum_netto);
$sum_brutto = $pri->round($sum_brutto);
$sum_umst19 = $sum_brutto - $sum_netto;
} }
my $sum_netto19 = $sum_parts19 - $sum_umst19; $sum_operatorcredit = $pri->round($sum_operatorcredit);
$sum_netto19 = sprintf('%.2f', $sum_netto19); my $total_operatorcredit = $sum_operatorcredit - $sum_brutto;
$sum_netto19 =~ s/\./,/; my $sum_paid = $sum_brutto;
my $sum_paid = $sum_parts19; $sum_netto = sprintf('%.2f', $sum_netto);
$sum_paid = $pri->round($sum_paid); $sum_netto =~ s/\./,/;
$sum_paid = sprintf('%.2f', $sum_paid); $sum_brutto = sprintf('%.2f', $sum_brutto);
$sum_paid =~ s/\./,/; $sum_brutto =~ s/\./,/;
$sum_parts19 = sprintf('%.2f', $sum_parts19);
$sum_umst19 = sprintf('%.2f', $sum_umst19); $sum_umst19 = sprintf('%.2f', $sum_umst19);
$sum_umst19 =~ s/\./,/; $sum_umst19 =~ s/\./,/;
$sum_operatorcredit = $pri->round($sum_operatorcredit);
$sum_operatorcredit = sprintf('%.2f', $sum_operatorcredit); $sum_operatorcredit = sprintf('%.2f', $sum_operatorcredit);
$sum_operatorcredit =~ s/\./,/; $sum_operatorcredit =~ s/\./,/;
$total_operatorcredit = sprintf('%.2f', $total_operatorcredit);
$total_operatorcredit =~ s/\./,/;
$sum_all = sprintf('%.2f', $sum_all); $sum_all = sprintf('%.2f', $sum_all);
$sum_all =~ s/\./,/; $sum_all =~ s/\./,/;
@ -225,48 +226,63 @@ sub tpl(){
$ctf->{$key} = $lb->newline($ctf->{$key},"",""); $ctf->{$key} = $lb->newline($ctf->{$key},"","");
$ctt->{state} =~ s/\(payone.*//; $ctt->{state} =~ s/\(payone.*//;
if($des =~ /$ctt->{state}/){ if($des =~ /$ctt->{state}/){
if($sum_parts19 < 0){ $payment_text = "($key) " if($users_dms->{u_id} eq $varenv{superu_id});
$payment_text = "$ctf->{txt58}"; if($sum_netto < 0){
$payment_text .= "$ctf->{txt58}";
}else{ }else{
$payment_text = "$ctf->{$key}"; $payment_text .= "$ctf->{$key}";
} }
} }
} }
} }
my $cs = $tc - 3; my $sc = 2;
$sc = 1 if($ctt->{template_id} != 208);
my $pt = $tc - $sc;
print "<tr>\n"; print "<tr>\n";
print "<td colspan='$cs'><div style='font-size:0.81em;padding:0.3em 0em;border:0px;'>$payment_text</div></td>\n"; print "<td style='border:0px solid black;' colspan='$pt'><div style='font-size:0.81em;padding:0.3em 0em;'>$payment_text</div></td>\n";
###print sum ###print sum
print "<td style='font-size:1em;' colspan='3'>\n"; print "<td style='border:0px solid black;max-width:200px;' colspan='$sc'>\n";
print $q->start_table({-class=>'list',-style=>'border-top:0px;border-style:solid;border-color:black;', -border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}),"\n"; print $q->start_table({-class=>'list',-style=>'', -border=>'0', -width=>'100%',-align=>'right', -cellpadding=>'3', -cellspacing=>'0'}),"\n";
print $q->Tr("\n"); print $q->Tr("\n");
print $q->td("&nbsp;"); print $q->td("&nbsp;");
#Summe Betreiber Rechnung #Sum operator invoice
if($ctt->{template_id} != 208){#not equal Abrechnung if($ctt->{template_id} != 208){#not equal Abrechnung
print $q->Tr("\n"); $line_count2++; print $q->Tr("\n"); $line_count2++;
print $q->td({-class=>'tdint',-colspan=>2},"Nettobetrag"); print $q->td({-class=>'tdint',-colspan=>1},"Nettobetrag");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_netto19 €"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_netto €");
if($sum_netto19 != 0){ if($sum_netto != 0){
print $q->Tr("\n");$line_count2++; print $q->Tr("\n");$line_count2++;
print $q->td({-class=>'tdint',-colspan=>2,-nowrap=>"1"},"19% UmSt auf $sum_netto19 €"); print $q->td({-class=>'tdint',-colspan=>1,-nowrap=>"1"},"19% UmSt auf $sum_netto €");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_umst19 €"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_umst19 €");
} }
print $q->Tr("\n");$line_count2++; print $q->Tr("\n");$line_count2++;
print $q->td({-class=>'tdint',-colspan=>1,-style=>'color:silver;'},"(Einzüge brutto $sum_all)");
print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH"); print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_paid €"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_brutto €");
#print $q->Tr("\n");$line_count2++;
#print $q->td({-class=>'tdint',-colspan=>1,-style=>'color:silver;'},"(pay Einzüge brutto)");
#print $q->td({-class=>'tdint',-nowrap=>"1",-style=>'color:silver;'},"$sum_all €");
} }
#Summe Betreiber Abrechnung (Gutschrift) #Summe Betreiber Abrechnung (Gutschrift)
else{ else{
print $q->Tr("\n");$line_count2++; print $q->Tr("\n");$line_count2++;
print $q->td({-class=>'tdint',-colspan=>1,-style=>'color:silver;'},"(Einzüge brutto $sum_all)"); #print $q->td({-class=>'tdint',-colspan=>1,-style=>'color:silver;'},"(Einzüge brutto $sum_all)");
print $q->td({-class=>'tdsum',-colspan=>1},"Summe"); print $q->td({-class=>'tdsum',-colspan=>1},"Summe");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_operatorcredit €"); print $q->td({-class=>'tdint',-nowrap=>"1"},"$sum_operatorcredit €");
print $q->Tr("\n");$line_count2++;
print $q->td({-class=>'tdsum',-colspan=>1},"Entgeld TeilRad GmbH");
print $q->td({-class=>'tdint',-nowrap=>"1"},"- $sum_brutto €");
print $q->Tr("\n");$line_count2++;
print $q->td({-class=>'tdsum',-colspan=>1},"Auszahlungsbetrag");
print $q->td({-class=>'tdint',-nowrap=>"1"},"$total_operatorcredit €");
} }
print $q->end_table; print $q->end_table;
@ -297,8 +313,10 @@ sub tpl(){
if($users_dms_primary->{u_id} && $users_dms_primary->{int03} == 2){ if($users_dms_primary->{u_id} && $users_dms_primary->{int03} == 2){
my @_paymentstate = (""); my @_paymentstate = ("");
my $kind_of_payment = ""; my $kind_of_payment = "";
#we need it for both
print $q->hidden(-name=>'sum_operatorcredit', -override=>'1',-value=>"$sum_operatorcredit");
print $q->hidden(-name=>'sum_paid', -override=>'1',-value=>"$sum_paid");
if($ctt->{template_id} != 208){#not equal Abrechnung if($ctt->{template_id} != 208){#not equal Abrechnung
print $q->hidden(-name=>'sum_paid', -override=>'1',-value=>"$sum_paid");
push @_paymentstate, "Entgeld TeilRad GmbH"; push @_paymentstate, "Entgeld TeilRad GmbH";
if($ctt->{state} && $ctt->{int01}){ if($ctt->{state} && $ctt->{int01}){
$kind_of_payment = "$ctt->{state}"; $kind_of_payment = "$ctt->{state}";
@ -310,8 +328,7 @@ sub tpl(){
} }
} }
else{ else{
print $q->hidden(-name=>'sum_operatorcredit', -override=>'1',-value=>"$sum_operatorcredit"); push @_paymentstate, "Betreiber Abrechnung";
push @_paymentstate, "Gutschrift";
if($ctt->{state} && $ctt->{int02}){ if($ctt->{state} && $ctt->{int02}){
$kind_of_payment = "$ctt->{state}"; $kind_of_payment = "$ctt->{state}";
$ctt->{int02} =~ s/\./,/; $ctt->{int02} =~ s/\./,/;
@ -355,6 +372,6 @@ sub tpl(){
$db->updater("contenttrans","c_id","$ctt->{content_id}","txt20","$accounting_start - $accounting_end","","","","","no_time") if(!$int05 && $accounting_start && $accounting_end); $db->updater("contenttrans","c_id","$ctt->{content_id}","txt20","$accounting_start - $accounting_end","","","","","no_time") if(!$int05 && $accounting_start && $accounting_end);
return "$line_count2"; return $line_count2;
} }
1; 1;

View file

@ -0,0 +1 @@
../../../../../sharee.bike/copri-bike/main/src/scripts/statistik_occubike_stationCSV_innofact.pl