diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index d0d75ce..3bee0f1 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -419,6 +419,7 @@ sub sig_booking { my $endpoint = "$dbt->{operator}->{$varenv->{dbname}}->{endpoint}/"; my %json = (); + $ctadr->{txt08} =~ s/n/m/i; $ctadr->{txt08} =~ s/i/j/i; $ctadr->{txt08} =~ s/l/i/i; $ctadr->{txt08} =~ s/-/\./; $ctadr->{txt08} =~ s/_/-/; $ctadr->{txt08} =~ s/[a-z]\@/\@/; #reservation start if($todo eq "reserve"){ diff --git a/copri4/main/src/Mod/Buttons.pm b/copri4/main/src/Mod/Buttons.pm index 54d86a0..a771bc9 100755 --- a/copri4/main/src/Mod/Buttons.pm +++ b/copri4/main/src/Mod/Buttons.pm @@ -24,6 +24,7 @@ my $icon = "/icon"; sub ibuttons(){ my $self = shift; my %ib = ( + 'set_gps' => 'Position', 'operator_accounting' => '2. Abrechnung generieren', 'service_done' => 'Wartungsprotokoll für ausgewähltes Rad einfügen/bearbeiten', 'post_email' => 'submit', diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index 7a0435c..69e8829 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -806,8 +806,11 @@ sub fetch_tablerecord(){ } #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}); + if($fetch->{table} eq "contenttranspos"){ + $where .= " order by end_time DESC"; + }elsif($fetch->{order}){ + $where .= " order by $fetch->{order} DESC"; + } my $sql = "SELECT * FROM $fetch->{table} $where"; my $sth = $dbh->prepare($sql); @@ -1049,7 +1052,7 @@ sub insert_contentoid { $values .= "'$insert->{$key}',"; } } - elsif($key =~ /template_id|cc_id|ct_id|ca_id/ && $insert->{table} =~ /contentpos|contentadrpos|contenttranspos/){ + elsif($key =~ /template_id|cc_id|ct_id|ca_id/ && $insert->{table} =~ /contentpos|contentadrpos|contenttranspos|contenttheftpos/){ $columns .= "$key,"; if(!looks_like_number($insert->{$key})){ $values .= "null,"; diff --git a/copri4/main/src/Mod/Printpreview.pm b/copri4/main/src/Mod/Printpreview.pm index 133bccc..877a46a 100755 --- a/copri4/main/src/Mod/Printpreview.pm +++ b/copri4/main/src/Mod/Printpreview.pm @@ -426,14 +426,14 @@ td { #int9x are not in db #operator invoice if($ctt->{txt00} eq "Rechnung"){ - @tpl_order = ("c_id=ID","int01=Summe Einzug","state=Zahlungsart","int93=TeilRad Gebühren","int98=19% UmSt","int100=Summe"); + @tpl_order = ("c_id=ID","int01=Summe Erlös","state=Zahlungsart","int93=TeilRad Gebühren","int98=19% UmSt","int100=Summe"); } #operator accounting else{ if($varenv->{dbname} eq "sharee_sx"){ - @tpl_order = ("c_id=ID","int01=Summe Einzug","state=Zahlungsart","int94=payone Disagio","int02=Summe Gutschrift"); + @tpl_order = ("c_id=ID","int01=Summe Erlös","state=Zahlungsart","int94=payone Disagio","int02=Summe Gutschrift"); }else{ - @tpl_order = ("c_id=ID","int01=Summe Einzug","state=Zahlungsart","int94=payone Disagio","int95=payone Transaktion","int96=payone Zahlungsmeldung","int97=payone Kreditkarte Zuordnung","int02=Summe Gutschrift"); + @tpl_order = ("c_id=ID","int01=Summe Erlös","state=Zahlungsart","int94=payone Disagio","int95=payone Transaktion","int96=payone Zahlungsmeldung","int97=payone Kreditkarte Zuordnung","int02=Summe Gutschrift"); } } diff --git a/copri4/main/src/Tpl/Calorin.pm b/copri4/main/src/Tpl/Calorin.pm index c375944..e9a8978 100755 --- a/copri4/main/src/Tpl/Calorin.pm +++ b/copri4/main/src/Tpl/Calorin.pm @@ -434,6 +434,9 @@ sub tpl(){ $cttpos->{$pid}->{int26} =~ s/\./,/; $track_info = "→ - $co2saving kg CO² ($cttpos->{$pid}->{int26} km)"; } + + my $edit_pos = $q->a({-class=>"editboo",-href=>"?base_edit=transpos\&c_id=$cttpos->{$pid}->{c_id}\&owner=$users_dms->{u_id}",-title=>"Position bearbeiten ($cttpos->{$pid}->{c_id})"},$q->span({-class=>"bi bi-file-earmark-text-fill"})); + $bikenr = $q->a({-class=>"linknav3",-style=>"$stamm_style",-href=>"/DMS/Waren/?detail_search=1&s_barcode=$cttpos->{$pid}->{barcode}",-title=>"Rad im Warenstamm"},"$bikenr") if($cttpos->{$pid}->{cc_id}); if($node_meta->{ct_table} eq "contenttranspos"){ my $start_station = "$cttpos->{$pid}->{int06}"; @@ -449,13 +452,11 @@ sub tpl(){ $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 } - my $edit_pos = $q->a({-class=>"editboo",-href=>"?base_edit=transpos\&c_id=$cttpos->{$pid}->{c_id}\&owner=$users_dms->{u_id}",-title=>"Position bearbeiten ($cttpos->{$pid}->{c_id})"},$q->span({-class=>"bi bi-file-earmark-text-fill"})); #Gebühren und Gutscheine if($cttpos->{$pid}->{template_id} && $cttpos->{$pid}->{template_id} =~ /224|229/){ print $q->div({-style=>"float:left;margin-left:$c_left"}, "$i) $edit_pos $pos_id → $start_time → Nr. $bikenr → $kunde → $u_name/$u_name_end"),"\n"; }else{ - $bikenr = $q->a({-class=>"linknav3",-style=>"$stamm_style",-href=>"/DMS/Waren/?detail_search=1&s_barcode=$cttpos->{$pid}->{barcode}",-title=>"Rad im Warenstamm"},"$bikenr") if($cttpos->{$pid}->{cc_id}); print $q->div({-style=>"float:left;margin-left:$c_left"}, "$i) $edit_pos $pos_id → $start_time – $end_time → $kunde → Start Station $start_station → End Station $end_station → Bike $bikenr $status $lock_state $track_info → $u_name/$u_name_end"),"\n"; #print $q->div({-style=>"float:left;margin-left:$c_left"}, "$i) $edit_pos $pos_id → Start $start_time Station $start_station → End $end_time Station $end_station → Bike $bikenr $status $lock_state $track_info → $kunde → $u_name/$u_name_end"),"\n"; } @@ -473,9 +474,14 @@ sub tpl(){ $speed = $lb->round_half($speed); } my $event_type = ""; + my $meter = $cttpos->{$pid}->{int08}; + $meter =~ s/\./\,/; $event_type = "Diebstahlalarm" if($cttpos->{$pid}->{int01}); - $event_type = "GPS $cttpos->{$pid}->{txt06} → speed $speed km/h → distance $cttpos->{$pid}->{int08} Meter" if($cttpos->{$pid}->{int02}); - print $q->div({-style=>"float:left;margin-left:$c_left"}, "$i) $pos_id → $end_time → $event_type → Bike $bikenr → $u_name"),"\n"; + if($cttpos->{$pid}->{int02} && $cttpos->{$pid}->{txt06}){ + my $gps2card = $q->a({-class=>"linknav3",-href=>"/DMS/Karte?man_gps=$cttpos->{$pid}->{txt06}\&owner=$users_dms->{owner}",-title=>"Karte öffnen"}, "$cttpos->{$pid}->{txt06}"); + $event_type = "Alarm movement → GPS $gps2card → speed $speed km/h → distance $meter m "; + } + print $q->div({-style=>"float:left;margin-left:$c_left"}, "$i) $pos_id → $end_time → Bike $bikenr → $event_type → $u_name"),"\n"; } diff --git a/copri4/main/src/Tpl/Karte_osm.pm b/copri4/main/src/Tpl/Karte_osm.pm index d681ab3..2401240 100755 --- a/copri4/main/src/Tpl/Karte_osm.pm +++ b/copri4/main/src/Tpl/Karte_osm.pm @@ -7,6 +7,7 @@ use strict; use warnings; use CGI ':standard'; use Lib::Config; +use Mod::Buttons; use Mod::DBtank; use Mod::APIfunc; @@ -27,6 +28,7 @@ sub tpl(){ my $return = shift || ""; my $q = new CGI; + my $but = new Buttons; my $dbt = new DBtank; my $apif = new APIfunc; @@ -38,6 +40,7 @@ sub tpl(){ my $coo = $q->cookie(-name=>'domcookie') || $R::sessionid; ($api_return,$users_sharee) = $apif->auth_verify($q,$coo,""); + my $man_gps = $q->escapeHTML($R::man_gps) || ""; my $initMap = $dbt->{website}->{$varenv->{syshost}}->{initMap}; my $map_zoom = $dbt->{website}->{$varenv->{syshost}}->{map_zoom} || "10"; my $project = "all"; @@ -54,13 +57,24 @@ sub tpl(){ $map_zoom = $dbt->{operator}->{$varenv->{dbname}}->{map_zoom} if($dbt->{operator}->{$varenv->{dbname}}->{map_zoom}); $project = $dbt->{operator}->{$varenv->{dbname}}->{project} if($dbt->{operator}->{$varenv->{dbname}}->{project}); $uri_request = $dbt->{operator}->{$varenv->{dbname}}->{operatorDMS}; - print $q->div({-style=>'padding-top:25px;'},""),"\n"; + print $q->div({-style=>'padding-top:40px;'},""),"\n"; + print $q->start_form(),"\n"; + print $q->div({-style=>'text-align:left;'},$but->singlesubmit1("set_gps","set_gps","",""),$q->textfield(-name=>'man_gps', -value=>"$man_gps", -override=>1, -placeholder=>'latitude, longitude',-size=>30)),"\n"; + print $q->end_form,"\n"; }elsif($dbt->{primary}->{$varenv->{dbname}}->{merchant_id}){ $api_return->{authcookie} = $dbt->{primary}->{$varenv->{dbname}}->{merchant_id} if(!$api_return->{authcookie}); $initMap = $dbt->{primary}->{$varenv->{dbname}}->{initMap} if($dbt->{primary}->{$varenv->{dbname}}->{initMap}); $uri_request = $dbt->{primary}->{$varenv->{dbname}}->{primaryDMS}; - print $q->div({-style=>'padding-top:25px;'},""),"\n"; + print $q->div({-style=>'padding-top:40px;'},""),"\n"; + print $q->start_form(),"\n"; + print $q->div({-style=>'text-align:left;'},$but->singlesubmit1("set_gps","set_gps","",""),$q->textfield(-name=>'man_gps', -value=>"$man_gps", -override=>1, -placeholder=>'latitude, longitude',-size=>30)),"\n"; + print $q->end_form,"\n"; } + + my $manlat = ""; + my $manlng = ""; + $manlat = $1 if($man_gps =~ /^(\d+\.\d+)/); + $manlng = $1 if($man_gps =~ /(\d+\.\d+)$/); my $icon_green = "Open_Green.png"; my $icon_red = "Open_Red.png"; @@ -77,7 +91,7 @@ sub tpl(){ $initMap =~ s/\s//g; my ($lat,$lng) = split(/,/,$initMap); - print "