Faktura refactoring

This commit is contained in:
ragu 2023-11-16 20:11:13 +01:00
parent 9e1a56aa83
commit 60f5bf58ed
20 changed files with 791 additions and 1078 deletions

View file

@ -965,7 +965,7 @@ sub booking_request(){
if($pos_id){
$response_state = "OK, bike " . $bike . " succesfully requested";
$response_text = "Fahrrad Nr. $bike wurde erfolgreich für 15 Min. reserviert";
$response_text = "Rad $bike wurde erfolgreich für 15 Min. reserviert";
$bw->log("booking_request insert contenttranspos pos_id: $pos_id\n","","");
my $update_ctt = {
@ -1088,7 +1088,7 @@ sub booking_update(){
};
$record_pos = $dbt->fetch_tablerecord($dbh,$booking_pos) if($bike_id > 0 && $auth->{c_id} > 0);
if(!$record_pos->{c_id}){
$booking_values->{response_state} = "Failure 758: Can not find bike " . $q->param('bike') . " rental or reservation";
$booking_values->{response_state} = "Failure 758: Can not find bike " . $q->param('bike') . " rental or reservation on varenv-dbname: $varenv->{dbname}";
$booking_values->{response_text} = "Keine Miete oder Reservierung zu Rad " . $q->param('bike') . " gefunden.";
}
@ -1192,11 +1192,11 @@ sub booking_update(){
$update_cc->{int10} = 1 if($record_cc->{int10} == 2);#only if still requested
$booking_values->{response_state} = "OK: canceled bike " . $q->param('bike');
$booking_values->{response_text} = "Fahrrad Nr. " . $q->param('bike') . " wurde erfolgreich storniert";
$booking_values->{response_text} = "Rad " . $q->param('bike') . " wurde erfolgreich storniert";
$booking_values->{state} = "available";
}else{
$booking_values->{response_state} = "Failure 2002: cancel bike " . $q->param('bike') . " fails, bike not requested";
$booking_values->{response_text} = "Keine Reservierung zu Fahrrad Nr. " . $q->param('bike') . " gefunden.";
$booking_values->{response_text} = "Keine Reservierung zu Rad " . $q->param('bike') . " gefunden.";
}
}else{
@ -1221,7 +1221,7 @@ sub booking_update(){
if($rows > 0){
$booking_values->{response_state} = "OK: occupied bike " . $q->param('bike');
$booking_values->{response_text} = "Fahrrad Nr. " . $q->param('bike') . " Miete gestartet. ";
$booking_values->{response_text} = "Rad " . $q->param('bike') . " Miete gestartet. ";
$update_cc->{int10} = 3;
#$update_cc->{int04} = "null";#Because of servicetool, we hav to be keep the station
}
@ -1295,7 +1295,7 @@ sub booking_update(){
if($rows_end > 0){
$update_cc->{int10} = 1;
$booking_values->{response_state} = "OK: available bike " . $q->param('bike');
$booking_values->{response_text} = "Danke! Die Miete Fahrrad Nr. " . $q->param('bike') . " wurde beendet.";
$booking_values->{response_text} = "Danke! Die Miete Rad " . $q->param('bike') . " wurde beendet.";
}
$geo_debug .= "Matching station: $stations_raw->{$id}->{barcode}|$gps_data->{latitude},$gps_data->{longitude},$latitude_station,$longitude_station --> $gps_data->{geo_distance} Meter\n";
@ -1351,23 +1351,23 @@ sub booking_update(){
}elsif($record_pos->{int11} != 3){
if(!$gps_data->{gps}){
$booking_values->{response_state} = "Failure 2245: No GPS data, state change forbidden.";
$booking_values->{response_text} = "Fehler! Keine GPS Standortdaten, Die Miete Fahrrad Nr. " . $q->param('bike') . " kann wegen fehlendem GPS nicht $state_text werden. Bitte aktivieren Sie das GPS.";
$booking_values->{response_text} = "Fehler! Keine GPS Standortdaten, Die Miete Rad " . $q->param('bike') . " kann wegen fehlendem GPS nicht $state_text werden. Bitte aktivieren Sie das GPS.";
}else{
$booking_values->{response_state} = "Failure 2246: GPS age with $gps_data->{gps_age_minutes} minutes too old, state change forbidden.";
$booking_values->{response_text} = "Fehler! GPS Daten sind mit $gps_data->{gps_age_minutes} Minuten zu alt. Die Miete Fahrrad Nr. " . $q->param('bike') . " kann aufgrund nicht aktueller GPS nicht $state_text werden. Bitte aktivieren Sie das GPS.";
$booking_values->{response_text} = "Fehler! GPS Daten sind mit $gps_data->{gps_age_minutes} Minuten zu alt. Die Miete Rad " . $q->param('bike') . " kann aufgrund nicht aktueller GPS nicht $state_text werden. Bitte aktivieren Sie das GPS.";
}
}
#end if($state eq "available" && $record_pos.state eq occupied || $record_pos.lock_state ne locked
}elsif($state_key == 6 && ($record_pos->{int10} == 3 || $record_pos->{int20} != 1)){
$booking_values->{response_state} = "Failure 2012: occupied bike " . $q->param('bike') . " cannot be state $state and $lock_state";
$booking_values->{response_text} = "Fahrrad Nr. " . $q->param('bike') . " ist in Benutzung und kann somit nicht storniert werden.";
$booking_values->{response_text} = "Rad " . $q->param('bike') . " ist in Benutzung und kann somit nicht storniert werden.";
}elsif($state_key == 3 && $record_pos->{int10} == 1){
$booking_values->{response_state} = "Failure 2016: available bike " . $q->param('bike') . " have to be at first reserved, thats because cannot be $state";
$booking_values->{response_text} = "Fahrrad Nr. " . $q->param('bike') . " wurde nicht reserviert und kann somit nicht gemietet werden.";
$booking_values->{response_text} = "Rad " . $q->param('bike') . " wurde nicht reserviert und kann somit nicht gemietet werden.";
}else{
$booking_values->{response_state} = "Failure 2035: bike " . $q->param('bike') . " state change to state $state and $lock_state not possible.";
$booking_values->{response_text} = "Fehler! Die Miete Fahrrad Nr. " . $q->param('bike') . " kann nicht mit dem vorhandenen Status $state_text werden.";
$booking_values->{response_text} = "Fehler! Der Mietstatus zu Rad " . $q->param('bike') . " kann mit dem vorhandenen Status \"state:$state and lock_state:$lock_state\" nicht geändert werden.";
}
#contenttrans
@ -1555,21 +1555,21 @@ sub smartlock {
$update_pos->{int22} = $gps_data->{gps_accuracy};
$update_pos->{int23} = "null";# only computed on rental-end
$booking_values->{response_state} = "OK: bike " . $q->param('bike') . " locked confirmed. ";
$booking_values->{response_text} = "Abschließen von Fahrrad Nr. " . $q->param('bike') . " bestätigt. ";
$booking_values->{response_text} = "Schloss schließen von Rad " . $q->param('bike') . " bestätigt. ";
}elsif($q->param('lock_state') eq "unlocked"){
$lock_value = 2;
$update_cc->{int20} = "$lock_value";
$update_pos->{int20} = "$lock_value";
$booking_values->{response_state} = "OK: bike " . $q->param('bike') . " unlocked confirmed. ";
$booking_values->{response_text} = "Aufschließen von Fahrrad Nr. " . $q->param('bike') . " bestätigt. ";
$booking_values->{response_text} = "Schloss öffnen von Rad " . $q->param('bike') . " bestätigt. ";
}elsif($q->param('lock_state') eq "locking"){
$lock_value = 3;
$update_cc->{int20} = "$lock_value";
$update_pos->{int20} = "$lock_value";
$booking_values->{response_state} = "OK: bike " . $q->param('bike') . " locking in progress. ";
$booking_values->{response_text} = "Abschließen von Fahrrad Nr. " . $q->param('bike') . " ist im Prozess. Bitte warten bis das smartlock vollständig geschlossen wurde und das abschließen bestätigt wird. ";
$booking_values->{response_text} = "Schloss schließen von Rad " . $q->param('bike') . " ist im Prozess. Bitte warten bis das smartlock vollständig geschlossen wurde und das Schloss schließen bestätigt wird. ";
if($varenv->{dbname} ne "sharee_lv" && !$record_pos->{int32}){
$bw->log("$varenv->{basedir}/src/scripts/sms_message.pl $varenv->{syshost} locking_progress $auth->{c_id} $record_pos->{c_id}",$record_pos->{c_id},"");
system("$varenv->{basedir}/src/scripts/sms_message.pl $varenv->{syshost} locking_progress $auth->{c_id} $record_pos->{c_id} &");
@ -1580,7 +1580,7 @@ sub smartlock {
$update_cc->{int20} = "$lock_value";
$update_pos->{int20} = "$lock_value";
$booking_values->{response_state} = "OK: bike " . $q->param('bike') . " unlocking in progress. ";
$booking_values->{response_text} = "Aufschließen von Fahrrad Nr. " . $q->param('bike') . " ist im Prozess. ";
$booking_values->{response_text} = "Schloss öffnen von Rad " . $q->param('bike') . " ist im Prozess. ";
}
$dbt->update_record($dbh,$update_pos,$record_pos);
@ -1645,8 +1645,10 @@ sub user_rentals_history(){
my %varenv = $cf->envonline();
my $today = strftime("%Y-%m-%d",localtime(time));
my %operator_hash = ();
my $record_all = {};
if($auth->{c_id}){
my $pref = {
table => "contenttrans",
table_pos => "contenttranspos",
@ -1667,7 +1669,6 @@ sub user_rentals_history(){
$pref->{'ct.int14'} = "is::null";
}
my %operator_hash = ();
if($varenv{dbname} eq $dbt->{primary}->{sharee_primary}->{database}->{dbname}){
if($auth->{txt17}){
if($auth->{txt17} =~ /\w\s\w/){
@ -1684,6 +1685,7 @@ sub user_rentals_history(){
}else{
$record_all = $dbt->collect_post($dbh,$pref);
}
}
return ($record_all,\%operator_hash);
}#end user_rental_history