mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2024-11-15 15:06:38 +01:00
82 lines
2.7 KiB
Perl
82 lines
2.7 KiB
Perl
|
#!/usr/bin/perl
|
||
|
#
|
||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||
|
# Copyright (c) Rainer Gümpelein, TeilRad GmbH
|
||
|
#
|
||
|
#./src/scripts/statistik_dailystation.pl shareedms-operator"
|
||
|
#
|
||
|
#
|
||
|
use vars qw($syshost);
|
||
|
|
||
|
BEGIN {
|
||
|
$syshost = $ARGV[0] || exit 1;
|
||
|
}
|
||
|
|
||
|
use lib "/var/www/copri-bike/$syshost/src";
|
||
|
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
use POSIX;
|
||
|
use CGI ':standard';
|
||
|
use Lib::Config;
|
||
|
use Scalar::Util qw(looks_like_number);
|
||
|
use DateTime;
|
||
|
use DateTime::Format::Pg;
|
||
|
use Mod::DBtank;
|
||
|
use Data::Dumper;
|
||
|
|
||
|
my $q = new CGI;
|
||
|
my $cf = new Config;
|
||
|
my $dbt = new DBtank;
|
||
|
|
||
|
my $dbh = "";
|
||
|
my $now_dt = strftime "%Y-%m-%d", localtime;
|
||
|
|
||
|
my $pref_st = {
|
||
|
table => "content",
|
||
|
fetch => "all",
|
||
|
keyfield => "int04",
|
||
|
template_id => "225",
|
||
|
};
|
||
|
my $ct4rel_st = $dbt->fetch_record($dbh,$pref_st);
|
||
|
|
||
|
my $pref_bi = {
|
||
|
table => "content",
|
||
|
fetch => "all",
|
||
|
keyfield => "barcode",
|
||
|
template_id => "205",
|
||
|
};
|
||
|
my $ct4rel = $dbt->fetch_record($dbh,$pref_bi);
|
||
|
|
||
|
my $station_bikes = {};
|
||
|
|
||
|
#foreach station
|
||
|
foreach my $st (sort { $ct4rel_st->{$a}->{int04} <=> $ct4rel_st->{$b}->{int04} } keys (%$ct4rel_st)){
|
||
|
$station_bikes->{$ct4rel_st->{$st}->{int04}}->{on}->{bikes} = "";
|
||
|
$station_bikes->{$ct4rel_st->{$st}->{int04}}->{off}->{bikes} = "";
|
||
|
|
||
|
#foreach bike
|
||
|
foreach my $cpid (sort { $ct4rel->{$a}->{barcode} <=> $ct4rel->{$b}->{barcode} } keys (%$ct4rel)){
|
||
|
if(($ct4rel->{$cpid}->{barcode} && $ct4rel->{$cpid}->{barcode} > 0) && ($ct4rel->{$cpid}->{int04} && $ct4rel_st->{$st}->{int04} == $ct4rel->{$cpid}->{int04})){
|
||
|
|
||
|
if($ct4rel->{$cpid}->{int10} && $ct4rel->{$cpid}->{int10} =~ /1|2|3/){
|
||
|
$station_bikes->{$ct4rel_st->{$st}->{int04}}->{on}->{bikes} .= "$ct4rel->{$cpid}->{barcode},";
|
||
|
}elsif($ct4rel->{$cpid}->{int10} && $ct4rel->{$cpid}->{int10} =~ /4|5/){
|
||
|
$station_bikes->{$ct4rel_st->{$st}->{int04}}->{off}->{bikes} .= "$ct4rel->{$cpid}->{barcode},";
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
$station_bikes->{$ct4rel_st->{$st}->{int04}}->{on}->{bikes} =~ s/,$// if($station_bikes->{$ct4rel_st->{$st}->{int04}}->{on}->{bikes});
|
||
|
$station_bikes->{$ct4rel_st->{$st}->{int04}}->{off}->{bikes} =~ s/,$// if($station_bikes->{$ct4rel_st->{$st}->{int04}}->{off}->{bikes});
|
||
|
|
||
|
print "Registered on station: $ct4rel_st->{$st}->{int04} --> bikes_on: $station_bikes->{$ct4rel_st->{$st}->{int04}}->{on}->{bikes} --> bikes_off: $station_bikes->{$ct4rel_st->{$st}->{int04}}->{off}->{bikes}\n";
|
||
|
my $sethash = {
|
||
|
station => $ct4rel_st->{$st}->{int04},
|
||
|
bikes_on => "$station_bikes->{$ct4rel_st->{$st}->{int04}}->{on}->{bikes}",
|
||
|
bikes_off => "$station_bikes->{$ct4rel_st->{$st}->{int04}}->{off}->{bikes}",
|
||
|
};
|
||
|
$dbt->insert_contenthash($dbh,"statistik",$sethash);
|
||
|
}
|
||
|
|