diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 5c10bca..d280c97 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -1197,9 +1197,7 @@ sub booking_update(){ #my $ct_state = $state; my $ct_state = $record_pos->{int10};#2020-07-25 changed because ct_state cannot be canceled - #2020-09-24 requested will be all done by net_booking #6 = "canceled"|3 = "occupied"|1 = "available" - #if($state && $state =~ /$dbt->{copri_conf}->{bike_state}->{6}|$dbt->{copri_conf}->{bike_state}->{3}|$dbt->{copri_conf}->{bike_state}->{1}/ && $record_pos->{cc_id} && $record_pos->{cc_id} > 0) if($state_key && ($state_key == 6 || $state_key == 3 || $state_key == 1) && $record_pos->{cc_id} && $record_pos->{cc_id} > 0){ #set rent state if lock_system 2=Ilockit || 3=sigo @@ -1212,6 +1210,7 @@ sub booking_update(){ $update_pos->{txt21} = $q->escapeHTML($q->param('user_device')) if($q->param('user_device')); $update_pos->{txt26} = $q->escapeHTML($user_agent) if($user_agent); + $update_pos->{txt27} = $q->escapeHTML($q->param('app_debug')) if($q->param('app_debug')); #if($state =~ /canceled/ && $record_pos->{txt10} =~ /requested/) if($state_key == 6 && $record_pos->{int10} == 2){ @@ -1467,6 +1466,7 @@ sub booking_update(){ $update_pos->{int14} = $q->escapeHTML($q->param('voltage')) if($q->param('voltage')); $update_pos->{txt21} = $q->escapeHTML($q->param('user_device')) if($q->param('user_device')); $update_pos->{txt26} = $q->escapeHTML($user_agent) if($user_agent); + $update_pos->{txt27} = $q->escapeHTML($q->param('app_debug')) if($q->param('app_debug')); my $lock_value = 0; if($lock_state eq "locked"){ diff --git a/copri4/main/src/Mod/APIjsonserver.pm b/copri4/main/src/Mod/APIjsonserver.pm index 7bbd840..1fa0ee6 100755 --- a/copri4/main/src/Mod/APIjsonserver.pm +++ b/copri4/main/src/Mod/APIjsonserver.pm @@ -466,11 +466,17 @@ elsif($q->param('request') eq "bikes_available"){ $bw->log("Y bikes_available by c_id $authraw->{c_id}, Tarif:",$authraw->{txt30},""); #sig first save + #if($varenv{syshost} eq "shareeapp-sx"){ + # (my $response_bikes_disabled,my $return2copri->{bikes}) = $si->sig_available($q,\%varenv,$authraw); + # $tk->sigbike_cupdate($return2copri->{bikes}); + #} + #$response->{bikes} = $apif->bikes_available($q,\%varenv,$authraw); if($varenv{syshost} eq "shareeapp-sx"){ - (my $response_bikes_disabled,my $return2copri->{bikes}) = $si->sig_available($q,\%varenv,$authraw); + ($response->{bikes},my $return2copri->{bikes}) = $si->sig_available($q,\%varenv,$authraw); $tk->sigbike_cupdate($return2copri->{bikes}); + }else{ + $response->{bikes} = $apif->bikes_available($q,\%varenv,$authraw); } - $response->{bikes} = $apif->bikes_available($q,\%varenv,$authraw); } if(ref($response->{bikes}) ne "HASH"){ $response->{response_state} = "Failure 5003: cannot find any user defined bike tariff"; @@ -674,11 +680,18 @@ elsif($q->param('request') eq "stations_available"){ $response = { %$response, %$auth }; #sig first save + #if($varenv{syshost} eq "shareeapp-sx"){ + # (my $response_stations_disabled,my $return2copri->{stations}) = $si->sig_available($q,\%varenv,$authraw); + # $tk->sigstation_cupdate($return2copri->{stations}); + #} + #($response->{stations}, my $response_raw) = $apif->stations_available($q,\%varenv,$authraw,""); if($varenv{syshost} eq "shareeapp-sx"){ - (my $response_stations_disabled,my $return2copri->{stations}) = $si->sig_available($q,\%varenv,$authraw); + ($response->{stations},my $return2copri->{stations}) = $si->sig_available($q,\%varenv,$authraw); $tk->sigstation_cupdate($return2copri->{stations}); + }else{ + ($response->{stations}, my $response_raw) = $apif->stations_available($q,\%varenv,$authraw,""); } - ($response->{stations}, my $response_raw) = $apif->stations_available($q,\%varenv,$authraw,""); + } } diff --git a/copri4/main/src/Mod/APIsigclient.pm b/copri4/main/src/Mod/APIsigclient.pm index f2a7e15..4991033 100755 --- a/copri4/main/src/Mod/APIsigclient.pm +++ b/copri4/main/src/Mod/APIsigclient.pm @@ -192,18 +192,19 @@ sub sig_available { $response_out->{$bike}->{description} = "E-Lastenrad"; $response_out->{$bike}->{gps}->{latitude} = "$resp->{state}->{lat}" || ""; $response_out->{$bike}->{gps}->{longitude} = "$resp->{state}->{lon}" || ""; - $response_out->{$bike}->{state} = "defect"; $response_out->{$bike}->{lock_state} = "locked"; - if(uc($resp->{reservation_state}) eq "RESERVED"){ + + $response_out->{$bike}->{state} = "defect"; + if($resp->{status} && $resp->{status} =~ /ACTIVE|PRIVATE/i){ + if(uc($resp->{reservation_state}) eq "RESERVED"){ $response_out->{$bike}->{state} = "requested"; - }elsif(uc($resp->{reservation_state}) eq "ACTIVE-RENTAL"){ + }elsif(uc($resp->{reservation_state}) eq "ACTIVE-RENTAL"){ $response_out->{$bike}->{lock_state} = "unlocked"; $response_out->{$bike}->{state} = "occupied"; - }elsif(!$resp->{reservation_state}){ + }elsif(!$resp->{reservation_state}){ $response_out->{$bike}->{state} = "available"; - } - - if($resp->{status} && $resp->{status} eq "MAINTENANCE"){ + } + }elsif($resp->{status} && $resp->{status} eq "MAINTENANCE"){ $response_out->{$bike}->{state} = "maintenance"; } diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index eabc249..1774f54 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -705,6 +705,12 @@ sub fetch_record(){ $where .= " and ct.$key $op $value"; } } + if($key =~ /^(type_id)$/){ + if(looks_like_number($value)){ + $where .= " and nd.$key $op $value"; + } + } + if($varenv{systype} && $varenv{systype} eq "azn" && $key =~ /start_time|end_time/){ if($key =~ /start_time/){ $where .= " and (ct.end_time >= '$fetch->{start_time}' AND ct.start_time <= '$fetch->{end_time}')"; diff --git a/copri4/main/src/scripts/statistik_dailystation.pl b/copri4/main/src/scripts/statistik_dailystation.pl new file mode 120000 index 0000000..b242789 --- /dev/null +++ b/copri4/main/src/scripts/statistik_dailystation.pl @@ -0,0 +1 @@ +../../../../../sharee.bike/copri-bike/main/src/scripts/statistik_dailystation.pl \ No newline at end of file diff --git a/copri4/shareeapp-operator/src/Lib/Mlogic.pm b/copri4/shareeapp-operator/src/Lib/Mlogic.pm index 22405d9..7f68f2f 100755 --- a/copri4/shareeapp-operator/src/Lib/Mlogic.pm +++ b/copri4/shareeapp-operator/src/Lib/Mlogic.pm @@ -43,11 +43,11 @@ sub tpl(){ my $coo = $q->cookie('domcookie') || $q->param('sessionid') || ""; #my $api_test = "sharee_fr01"; my $bike="FR1538"; - #my $api_test = "sharee_fr01"; my $bike="FR1005";#E-Lastenrad (bike_group=300101, bike_node=300102) + my $api_test = "sharee_fr01"; my $bike="FR1005";#E-Lastenrad (bike_group=300101, bike_node=300102) #my $api_test = "sharee_fr01"; my $bike="FR4781";#Tracking and BVB test #my $api_test = "sharee_kn"; my $bike="KN1011"; #my $api_test = "sharee_wue"; my $bike="WUE5525"; - my $api_test = "sharee_sx"; my $bike="S3X1001"; + #my $api_test = "sharee_sx"; my $bike="S3X1001"; #my $api_test = "sharee_ren"; my $bike="REN2"; print $q->div({-style=>'float:right;text-align:right;height:25px;padding:6px 15px;background-color:white'},$q->a({-style=>"background-color:#ffffff;color:#$bgcolor1;", -href=>"$varenv->{metahost}/src/scripts/tests/index.pl?sessionid=$coo\&api_test=$api_test\&bike=$bike", -target=>'_blank'}," [ tests --> $api_test ] "),"$users_sharee->{txt08}",$q->a({-style=>"color:#$bgcolor1;", -href=>"logout_sharee$session"},"logout")),"\n";