diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 6b59c16..1e5b948 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -1907,6 +1907,7 @@ sub bikes_available(){ my $varenv = shift; my $auth = shift; my $authed = 0; + my $lang = "de"; my $station = $q->escapeHTML($q->param('station')) || ""; my $station_id = ""; @@ -2047,27 +2048,27 @@ sub bikes_available(){ $return->{$id}->{rental_description}->{reserve_timerange} = "30" if($record->{$id}->{int11} == 3);#sig timeout time $return->{$id}->{rental_description}->{rental_info}->{1} = ["Tracking","Ich stimme der Speicherung (Tracking) meiner Fahrstrecke zwecks wissenschaftlicher Auswertung und Berechnung der CO2-Einsparung zu!"] if($record->{$id}->{int25}); $return->{$id}->{rental_description}->{rental_info}->{2} = ["AAFahrten","Dieses E-Lastenrad darf nur an der Station zurück gegeben werden an der es ausgeliehen wurde!"] if($record_st->{$record->{$id}->{int04}}->{int42}); - $return->{$id}->{rental_description}->{rental_info}->{3} = ["Lowcharge","Die Fahrrad Akkukapazität war zuletzt niedrig. Bitte überprüfen sie vor der Fahrt die Ladung am Fahrraddisplay. Die Miete kann innerhalb 5 Minuten kostenlos abgebrochen werden."] if($record->{$id}->{energy_id} && (!$record->{$id}->{int19} || $record->{$id}->{int19} < 20)); + #$return->{$id}->{rental_description}->{rental_info}->{3} = ["Lowcharge","Die Akkukapazität war zuletzt niedrig. Bitte überprüfen sie vor der Fahrt die Ladung am Fahrraddisplay. Die Miete kann innerhalb 5 Minuten kostenlos abgebrochen werden."] if($record->{$id}->{energy_id} && (!$record->{$id}->{int19} || $record->{$id}->{int19} < 20)); my $i = 0; foreach my $td (sort keys (%$td_template)){ my $time_unit = ""; - if($td_template->{$td}->{int35} && $tariff_content->{$tid}->{int35} && $tariff_content->{$tid}->{int35} > 0){ - $tariff_content->{$tid}->{int35} =~ s/\./,/; - $time_unit = $dbt->time_format($tariff_content->{$tid}->{time01}); - $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int35}","$tariff_content->{$tid}->{int35} € / $time_unit"]; - }elsif($td_template->{$td}->{int36} && $tariff_content->{$tid}->{int36} && $tariff_content->{$tid}->{int36} > 0){ - $tariff_content->{$tid}->{int36} =~ s/\./,/; - $time_unit = $dbt->time_format($tariff_content->{$tid}->{time01}); - $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int36}", "$tariff_content->{$tid}->{int36} € / $time_unit"]; - }elsif($td_template->{$td}->{int17} && $tariff_content->{$tid}->{int17} && $tariff_content->{$tid}->{int17} > 0){ - #$tariff_content->{$tid}->{int17} =~ s/\./,/; - $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int17}","$tariff_content->{$tid}->{int17} € / Tag"]; - }elsif($td_template->{$td}->{time02} && $tariff_content->{$tid}->{time02} =~ /[1-9]/){ - $time_unit = $dbt->time_format($tariff_content->{$tid}->{time02}); - $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{time02}","$time_unit / Tag"]; - } + if($td_template->{$td}->{int35} && $tariff_content->{$tid}->{int35} && $tariff_content->{$tid}->{int35} > 0){ + $tariff_content->{$tid}->{int35} =~ s/\./,/ if($lang eq "de"); + $time_unit = $dbt->time_format($tariff_content->{$tid}->{time01}); + $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int35}","$tariff_content->{$tid}->{int35} € / $time_unit"]; + }elsif($td_template->{$td}->{int36} && $tariff_content->{$tid}->{int36} && $tariff_content->{$tid}->{int36} > 0){ + $tariff_content->{$tid}->{int36} =~ s/\./,/ if($lang eq "de"); + $time_unit = $dbt->time_format($tariff_content->{$tid}->{time01}); + $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int36}", "$tariff_content->{$tid}->{int36} € / $time_unit"]; + }elsif($td_template->{$td}->{int17} && $tariff_content->{$tid}->{int17} && $tariff_content->{$tid}->{int17} > 0){ + $tariff_content->{$tid}->{int17} =~ s/\./,/ if($lang eq "de"); + $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int17}","$tariff_content->{$tid}->{int17} € / Tag"]; + }elsif($td_template->{$td}->{time02} && $tariff_content->{$tid}->{time02} =~ /[1-9]/){ + $time_unit = $dbt->time_format($tariff_content->{$tid}->{time02}); + $return->{$id}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{time02}","$time_unit / Tag"]; + } }#end new rental_description } diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index 4324f8f..17f0758 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -65,6 +65,7 @@ sub sig_available { my $response_in = {}; my $dbh = ""; my $owner = 169; + my $lang = "de"; my $authed = 0; my $ctpos = { c_id => 0 }; @@ -264,15 +265,15 @@ sub sig_available { foreach my $td (sort keys (%$td_template)){ my $time_unit = ""; if($td_template->{$td}->{int35} && $tariff_content->{$tid}->{int35} && $tariff_content->{$tid}->{int35} > 0){ - $tariff_content->{$tid}->{int35} =~ s/\./,/; + $tariff_content->{$tid}->{int35} =~ s/\./,/ if($lang eq "de"); $time_unit = $dbt->time_format($tariff_content->{$tid}->{time01}); $response_out->{$bike}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int35}","$tariff_content->{$tid}->{int35} € / $time_unit"]; }elsif($td_template->{$td}->{int36} && $tariff_content->{$tid}->{int36} && $tariff_content->{$tid}->{int36} > 0){ - $tariff_content->{$tid}->{int36} =~ s/\./,/; + $tariff_content->{$tid}->{int36} =~ s/\./,/ if($lang eq "de"); $time_unit = $dbt->time_format($tariff_content->{$tid}->{time01}); $response_out->{$bike}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int36}", "$tariff_content->{$tid}->{int36} € / $time_unit"]; }elsif($td_template->{$td}->{int17} && $tariff_content->{$tid}->{int17} && $tariff_content->{$tid}->{int17} > 0){ - $tariff_content->{$tid}->{int17} =~ s/\./,/; + $tariff_content->{$tid}->{int17} =~ s/\./,/ if($lang eq "de"); $response_out->{$bike}->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int17}","$tariff_content->{$tid}->{int17} € / Tag"]; }elsif($td_template->{$td}->{time02} && $tariff_content->{$tid}->{time02} =~ /[1-9]/){ $time_unit = $dbt->time_format($tariff_content->{$tid}->{time02}); diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index 1774f54..f515a0f 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -789,7 +789,10 @@ sub fetch_tablerecord(){ } } - $where .= " order by end_time DESC" if($fetch->{table} eq "contenttranspos");#prio data with newest end_time + #prio data with newest end_time + $where .= " order by end_time DESC" if($fetch->{table} eq "contenttranspos"); + $where .= " order by $fetch->{order} DESC" if($fetch->{order}); + my $sql = "SELECT * FROM $fetch->{table} $where"; my $sth = $dbh->prepare($sql); my $rc = $sth->execute(); diff --git a/copri4/main/src/Mod/Pricing.pm b/copri4/main/src/Mod/Pricing.pm index ac9dda9..4304a35 100755 --- a/copri4/main/src/Mod/Pricing.pm +++ b/copri4/main/src/Mod/Pricing.pm @@ -283,6 +283,7 @@ sub fetch_rentalfeed { my $varenv = shift; my $ctpos = shift; my $returned_counting = shift || {}; + my $lang = "de"; my $td_template = $dbt->rental_description_template(); my $bike_group = "$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$ctpos->{int29}" || ""; @@ -353,15 +354,15 @@ sub fetch_rentalfeed { foreach my $td (sort keys (%$td_template)){ my $time_unit = ""; if($td_template->{$td}->{int35} && $ctpos->{int35} && $ctpos->{int35} > 0){ - $ctpos->{int35} =~ s/\./,/; + $ctpos->{int35} =~ s/\./,/ if($lang eq "de"); $time_unit = $dbt->time_format($ctpos->{time01}); $return->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int35}","$ctpos->{int35} € / $time_unit"]; }elsif($td_template->{$td}->{int36} && $ctpos->{int36} && $ctpos->{int36} > 0){ - $ctpos->{int36} =~ s/\./,/; + $ctpos->{int36} =~ s/\./,/ if($lang eq "de"); $time_unit = $dbt->time_format($ctpos->{time01}); $return->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int36}", "$ctpos->{int36} € / $time_unit"]; }elsif($td_template->{$td}->{int17} && $ctpos->{int17} && $ctpos->{int17} > 0){ - $ctpos->{int17} =~ s/\./,/; + $ctpos->{int17} =~ s/\./,/ if($lang eq "de"); $return->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{int17}","$ctpos->{int17} € / Tag"]; }elsif($td_template->{$td}->{time02} && $ctpos->{time02} =~ /[1-9]/){ $time_unit = $dbt->time_format($ctpos->{time02}); @@ -370,7 +371,7 @@ sub fetch_rentalfeed { $time_unit = $dbt->time_format($returned_counting->{real_clock}); $return->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{xduration}","$time_unit"]; }elsif($td_template->{$td}->{xprice} && $returned_counting->{total_price} && $returned_counting->{total_price} > 0){ - $returned_counting->{total_price} =~ s/\./,/; + $returned_counting->{total_price} =~ s/\./,/ if($lang eq "de"); $return->{rental_description}->{tarif_elements}->{$td} = ["$td_template->{$td}->{xprice}","$returned_counting->{total_price} €"]; } }#end new rental_description diff --git a/copri4/main/src/Tpl/Liste3.pm b/copri4/main/src/Tpl/Liste3.pm index 4a684b7..f0eba8f 100755 --- a/copri4/main/src/Tpl/Liste3.pm +++ b/copri4/main/src/Tpl/Liste3.pm @@ -198,9 +198,6 @@ sub tpl(){ #get Firma my $ctf = $db->get_content1("contentuser","$dbt->{sharedms_conf}->{parent_id}"); - #get Benutzer - my $ctb = $db->get_content1("contentuser","$users_dms->{owner}"); - my ($edit,$new_key,$copy_key,$save_key,$delete_key,$c_id4csv); my $ct4rel = {}; @@ -253,7 +250,7 @@ sub tpl(){ $limit=10000; } - if(!$v_journal && !$R::detail_search && -f $hashfile && ($path =~ /letzte Suche/ || ($limit > $varenv{limit} && !$ctb->{int04}))){ + if(!$v_journal && !$R::detail_search && -f $hashfile && ($path =~ /letzte Suche/ || ($limit > $varenv{limit}))){ $R::todo="Filter"; $message .= ">>> es wurden die letzten Suchparameter oder Filter geladen <<<"; $offset=0; @@ -332,7 +329,7 @@ sub tpl(){ #mandanten-modul abhängige rekursive suche my $main_ids = ""; - if($v_journal && $v_journal =~ /Verleihjournal|Verkaufsjournal/){ + if($v_journal && $v_journal =~ /Verkaufsjournal/){ $main_ids = $dbt->{shareedms_conf}->{invoicejournal}; $tplids = 209; }else{ @@ -366,11 +363,8 @@ sub tpl(){ }else{ $lb->failure("Fehler! Es fehlen wichtige Einstellungen. ....journal-ID!"); } - my $kt_sum=0; - my $ct_name_set1; - my $ct_name_set2; - my $ct_ids; - my $last_ab; + my $ct_ids = ""; + my $last_ab = {}; if($R::detail_search && $R::detail_search eq "suchen"){ $offset = 0; @@ -451,30 +445,27 @@ sub tpl(){ #trying to save hashref if(!$v_journal && $R::detail_search && ref($searchref) eq "HASH"){ store $searchref, $hashfile; - }elsif(!$v_journal && !$R::detail_search && !$ctb->{int04} && -f $hashfile && ($path =~ /letzte Suche/ || $limit > $varenv{limit})){ + }elsif(!$v_journal && !$R::detail_search && -f $hashfile && ($path =~ /letzte Suche/ || $limit > $varenv{limit})){ $searchref = {}; $searchref = retrieve($hashfile); } - #print Dumper($searchref); - #Because of pre counting sum_pos - if($node_meta->{node_name} eq "Faktura"){ - if($v_journal && (!$R::detail_search || $R::s_start_mtime && $R::s_start_mtime =~ /letzt/)){ - my $xtime = "date \'$today\' + integer \'7\'";#just time - #$last_ab = $db->get_content6("contenttrans","state","Kassenbestand","int09","$dbt->{shareedms_conf}->{parent_id}","int12","$j_exist->{main_id}","close_time","$xtime",""); - $last_ab = $db->get_content6("contenttrans","state","Kassenbestand","","","","","close_time","$xtime",""); - } - # - my $v_journalparts = $v_journal . "_parts"; - $ct4rel_parts = $db->search_content3($searchref,$table,$dbt->{shareedms_conf}->{parent_id},$node_meta,$users_dms->{u_id},$lang,"$main_ids","$tplids","$ct_ids",$v_journalparts,$time,$R::s_kontext,$scol,$users_dms->{sort_updown},$offset,$limit,$export,$R::todo,$ck4ex,$opos); + #counting sum_pos + #Verkaufsjournal + if($node_meta->{tpl_id} == 209 && $v_journal && !$R::detail_search){ + my $pref_209 = { + table => "contenttrans", + fetch => "one", + order => "int11", + state => "Tagesabschluss", + }; + $last_ab = $dbt->fetch_tablerecord($dbh,$pref_209); + $searchref->{int11} = $last_ab->{int11} if($last_ab->{int11}); - #collect invoice ids in kontext of parts - foreach my $cp_id (keys (%$ct4rel_parts)){ - $ct_ids .= "$ct4rel_parts->{$cp_id}->{ct_id}," if($R::detail_search && ($R::s_kontext && $R::s_kontext eq "Waren" || $export eq "FiBu")); - } } + #print Dumper($last_ab->{int11}); #reload sig bikes and stations states #$bw->log("Liste3 condition",$node_meta,""); @@ -512,16 +503,12 @@ sub tpl(){ } print $q->div({-style=>'background-color:silver;height:10px;'}," "),"\n"; my $hstyle = "border-right: solid thin gray;border-bottom: solid thin gray;"; + if($v_journal && $v_journal =~ /journal/){ - my ($a_check,$b_check,$c_check,$d_check,$f_check,$g_check); - $a_check = "1" if($R::s_kontext && $R::s_kontext eq "Waren"); - $b_check = "1" if($R::s_kontext && $R::s_kontext eq "Beleg" || !$R::s_kontext); - my @_s_time_defaults = ("0,manuelle Eingabe in \"bearbeitet\"","7,1 Woche","14,2 Wochen","28,4 Wochen","365,1 Jahr"); - #print $q->div({-style=>'float:left;background-color:silver;'}," Suchzeitraum: ",$but->selector("selected_start_mtime","130px","$R::selected_start_mtime",@_s_time_defaults)); - print "
\n"; - print $q->span("Suchkontext: ",$but->radiobox("Beleg","s_kontext","$b_check"),"$node_meta->{node_name}/Kunde"); - print $q->span($but->radiobox("Waren","s_kontext","$a_check"),"Waren/FiBu"); - print "
\n"; + print $q->hidden(-name=>'s_kontext', -value=>"Beleg"),"\n"; + #my ($a_check,$b_check,$c_check,$d_check,$f_check,$g_check); + #$a_check = "1" if($R::s_kontext && $R::s_kontext eq "Waren"); + #$b_check = "1" if($R::s_kontext && $R::s_kontext eq "Beleg" || !$R::s_kontext); } print $q->hidden(-name=>'mandant_main_id', -value=>"$dbt->{shareedms_conf}->{parent_id}"),"\n"; print $q->hidden(-name=>'tpl_id4trans', -value=>"$node_meta->{tpl_id}"),"\n";