diff --git a/copri4/main/css/local_style20230105.css b/copri4/main/css/local_style20230105.css index 286db87..f7a5216 100755 --- a/copri4/main/css/local_style20230105.css +++ b/copri4/main/css/local_style20230105.css @@ -700,7 +700,7 @@ div#retm { color:black; background-color:#F3F34C; cursor:pointer; - z-index:1100; + z-index:11000; } div#savestate { diff --git a/copri4/main/src/Mod/APIfunc.pm b/copri4/main/src/Mod/APIfunc.pm index 8ff395c..dec471e 100755 --- a/copri4/main/src/Mod/APIfunc.pm +++ b/copri4/main/src/Mod/APIfunc.pm @@ -2464,14 +2464,18 @@ sub stations_all(){ #only nececarry if amount of available bikes lower then bike_soll (like konrad) - #my $bike_ist_factor = 1; - #$bike_ist_factor = $self->bikes_soll($record,$bikes_on_station); - #$bike_ist_factor = 1 if($bike_ist_factor > 1); + my $bike_ist_factor = 1; + #($bike_ist_factor,my $bikes_all_onstation,my $bike_soll_all) = $self->bikes_soll($record,$bikes_on_station); + #$bike_ist_factor = 1 if(!$bike_ist_factor || $bike_ist_factor > 1); foreach my $id (sort { $record->{$a}->{barcode} <=> $record->{$b}->{barcode} } keys (%$record)){ my $bike_soll = $record->{$id}->{int05} || 0;# * $bike_ist_factor; + #my $bike_soll = $record->{$id}->{int05} * $bike_ist_factor; #$bike_soll = $lb->round_half($bike_soll); #$bike_soll =~ s/\.\d+//;#rounded integer + #$return->{$id}->{bike_ist_faktor} = "$bike_ist_factor|$bikes_all_onstation|$bike_soll_all";#debug + #"bike_ist_faktor" : "1.14|217|190", 2023-11-24 there are more bikes on station then soll + $return->{$id}->{authed} = "$authed"; $return->{$id}->{station} = "$dbt->{operator}->{$varenv->{dbname}}->{oprefix}$record->{$id}->{int04}"; @@ -2542,7 +2546,7 @@ sub bikes_soll(){ $bike_ist_factor = sprintf('%.2f',$bikes_on_station_ist->{bikes_all_onstation} / $bike_soll_all); } - return $bike_ist_factor; + return ($bike_ist_factor,$bikes_on_station_ist->{bikes_all_onstation},$bike_soll_all); } diff --git a/copri4/main/src/Mod/DBtank.pm b/copri4/main/src/Mod/DBtank.pm index 50dc2dc..68fba1f 100755 --- a/copri4/main/src/Mod/DBtank.pm +++ b/copri4/main/src/Mod/DBtank.pm @@ -680,7 +680,11 @@ sub collect_post(){ } } }elsif($key =~ /ct\.close_time|ct\.state|ct\.int14/ && $value){#used to get open invoices + if($key =~ /ct\.state/ && $value eq "null"){ + $ct_where .= " and ($key $op $value OR $key = '')"; + }else{ $ct_where .= " and $key $op $value"; + } }elsif($key =~ /time/ && $value){ if($value =~ /interval/){ $cp_where .= " and cp.$key $op $value";#format like (now() - integer '7 day') @@ -814,7 +818,7 @@ sub fetch_record(){ #ct.* because of nd.txt01 and ct.txt01 . #TODO drop "lang" then set nd.* should be possible - my $sql = "SELECT ct.*,rel.*,nd.node_name,nd.parent_id,nd.type_id,nd.energy_id FROM $fetch->{table} ct, relation rel, nodes nd $where $order"; + my $sql = "SELECT ct.*,rel.*,nd.node_name,nd.parent_id,nd.type_id,nd.energy_id,nd.archive FROM $fetch->{table} ct, relation rel, nodes nd $where $order"; #$bw->log("DBtank fetch_record : ",$sql,"") if($debug); my $sth = $dbh->prepare($sql); my $rc = $sth->execute(); diff --git a/copri4/main/src/Mod/Indexsharee.pm b/copri4/main/src/Mod/Indexsharee.pm index 762e2b0..1a27b81 100755 --- a/copri4/main/src/Mod/Indexsharee.pm +++ b/copri4/main/src/Mod/Indexsharee.pm @@ -347,8 +347,8 @@ sub handler { $bw->log("DMS action from $users_dms->{u_id} on $node_meta->{ct_table}",$q,""); my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; - $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int02 >= 1"); - if($users_dms_primary->{u_id} && $users_dms_primary->{int02} == 2 && $users_dms->{u_id} && $users_dms->{int02} == 2){ + $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},""); + if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int02} == 2){ if($R::c_id && $R::base_edit eq "remove_chk4rel"){ my $delete_key = "delete_adr"; $feedb->{message} = "failure::Datensatz wirklich löschen. ::?base_edit=$delete_key\&exit_box2=1\&c_id=$R::c_id ::löschen"; @@ -442,14 +442,14 @@ sub handler { }; my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; - $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03 >= 1"); + $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},""); - if($users_dms_primary->{u_id} && $users_dms_primary->{int03} >= 1 && $users_dms->{u_id} && $users_dms->{int03} >= 1 && $R::ct_trans eq "open"){#DMS Faktura read + if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int03} >= 1 && $R::ct_trans eq "open"){#DMS Faktura read $dbt->update_one($dbh,$update_users,"c_id4trans=$R::c_id4trans,tpl_id4trans=$R::tpl_id4trans") if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans)); $users_dms = $dbt->select_users($dbh,$users_sharee->{c_id},"and cookie='$coo'"); } #DMS Faktura rw - elsif($users_dms_primary->{u_id} && $users_dms_primary->{int03} == 2 && $users_dms->{u_id} && $users_dms->{int03} == 2){ + elsif($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int03} == 2){ $dbt->update_one($dbh,$update_users,"c_id4trans=$R::c_id4trans,tpl_id4trans=$R::tpl_id4trans") if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans)); $users_dms = $dbt->select_users($dbh,$users_sharee->{c_id},"and cookie='$coo'"); @@ -464,8 +464,8 @@ sub handler { elsif($R::ct_trans =~ /set_accounting2invoice/){ $return = $pl->set_accounting2invoice($q,$users_dms,$R::c_id4trans,$R::set_main_id4workflow) if(looks_like_number($R::c_id4trans) && looks_like_number($R::tpl_id4trans) && looks_like_number($R::set_main_id4workflow)); } - elsif($R::ct_trans =~ /save_text|save_adr/){ - $feedb = $pl->save_text2contenttrans($q,$users_dms,$R::c_id4trans) if(looks_like_number($R::c_id4trans)); + elsif($R::ct_trans =~ /save_text|save_adr/ && $R::c_id4trans){ + $feedb = $pl->save_text2contenttrans($q,$users_dms,$R::c_id4trans); } elsif($R::c_id && $R::ct_trans eq "remove_chk4rel"){ my $delete_key = "delete_trans"; @@ -498,6 +498,7 @@ sub handler { $feedb = $pl->delete_contenttranspos($q,$R::c_idpos,$users_dms->{u_id}); } elsif($R::set_state && $R::c_id4trans){ + $feedb = $pl->save_text2contenttrans($q,$users_dms,$R::c_id4trans); $feedb = $pay->book_payment($q,\%varenv,$node_meta,$users_dms); } elsif($R::print_pdfview && $R::c_id4trans){ diff --git a/copri4/main/src/Mod/Modalbox.pm b/copri4/main/src/Mod/Modalbox.pm index 6160267..57bc9f9 100755 --- a/copri4/main/src/Mod/Modalbox.pm +++ b/copri4/main/src/Mod/Modalbox.pm @@ -46,19 +46,8 @@ sub mobox(){ my $bg_color = "white"; my $bg_color2 = "#f7ae37" || ""; - my $table = "contenttrans"; - my $ctt = $db->get_content1($table,$users_dms->{c_id4trans}); - my ($address_wc,$table_wc) = split(/\./,$ctt->{int04}); - my $rows = $address_wc + $table_wc; - - my $height = "600"; - if($varenv->{orga} eq "dms"){ - $rows = $rows - 0; - }else{ - $rows = $rows - 10; - } - $height += $rows * 15 if($rows > 0); - my $debug; + my $height = "800"; + my $debug = ""; $debug = "(c_id: $users_dms->{c_id4trans} | tpl_id: $users_dms->{tpl_id4trans})" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id}); print<"; if(looks_like_number($users_dms->{c_id4trans}) && looks_like_number($users_dms->{tpl_id4trans})){ - if($table eq "contenttrans" && $varenv->{orga} eq "dms"){ require "Tpl/Address3.pm"; &Address3::tpl($varenv,$node_meta,$users_dms,$return); - } }else{ - print $q->div({-style=>"padding:0.1em;margin:0em;background-color:white;font-size:0.81em;"}, "Ein neues Formular kann im COPRI Hauptfenster geöffnet werden (Code: $users_dms->{c_id4trans} && $users_dms->{tpl_id4trans})", - "\n"); + print $q->div({-style=>"padding:0.1em;margin:0em;background-color:white;font-size:0.81em;"}, "Ein neues Formular kann im COPRI Hauptfenster geöffnet werden (Code: $users_dms->{c_id4trans} && $users_dms->{tpl_id4trans})"),"\n"; } print "\n"; diff --git a/copri4/main/src/Mod/PDFGenerator.pm b/copri4/main/src/Mod/PDFGenerator.pm index a645084..14d3088 100755 --- a/copri4/main/src/Mod/PDFGenerator.pm +++ b/copri4/main/src/Mod/PDFGenerator.pm @@ -13,9 +13,6 @@ use CGI; use CGI::Carp qw(fatalsToBrowser); use CGI ':standard'; use Lib::Config; -use Mod::Buttons; -use Mod::Libenz; -use Mod::Libenzdb; use Mod::DBtank; sub new { @@ -28,21 +25,12 @@ sub new { sub printpre(){ my $q = new CGI; my $cf = new Config; - my $lb = new Libenz; - my $db = new Libenzdb; my $dbt = new DBtank; - my $but = new Buttons; my %varenv = $cf->envonline(); - my $path = $q->path_info(); - my $script = $q->script_name(); - my $user_agent = $q->user_agent(); - my %ib = $but->ibuttons(); my $today = strftime("%d.%m.%Y %H:%M",localtime(time)); - my $lang="de"; + my $dbh = ""; - my $printer_id=$R::printer_id; - my $mandant_main_id = $R::mandant_main_id; - my $id=$R::id; + my $c_id=$R::id; my $pkey = $R::pkey || ""; my $api_file = "/var/www/copri4/shareeconf/apikeys.cfg"; @@ -50,8 +38,14 @@ sub printpre(){ my %apikeyconf = $aconf->getall; my $payone_conf = $dbt->{operator}->{$varenv{dbname}}->{payone_conf} || $dbt->{payone_conf}; - my $ctf = $db->get_content1("contentuser","$mandant_main_id"); - my $ctrel = $db->get_ctrel("contentadr","",$lang,"",$id); + my $authref = { + table => "contentadr", + fetch => "one", + template_id => "202", + c_id => "$c_id", + }; + my $ctrel = { c_id => 0 }; + $ctrel = $dbt->fetch_record($dbh,$authref) if($c_id); print $q->start_html(-title=>'PDFGenerator'); diff --git a/copri4/main/src/Mod/Payment.pm b/copri4/main/src/Mod/Payment.pm index 9ee063f..4c255de 100755 --- a/copri4/main/src/Mod/Payment.pm +++ b/copri4/main/src/Mod/Payment.pm @@ -171,8 +171,12 @@ sub book_payment { $update_ctt->{pay_time} = "now()"; $feedb->{u_rows} = $dbt->update_record($dbh,$update_ctt,$ctt); #delete OPOS at all - #$db->updater($table,"barcode",$ctt->{barcode},"int14","null","","","","",""); - $dbt->update_one($dbh,$update_ctt,"int14=null"); + $update_ctt->{barcode} = $ctt->{barcode}; + if($update_ctt->{barcode}){ + $dbt->update_one($dbh,$update_ctt,"int14=null"); + }else{ + $feedb->{message} = "failure::Fehler, OPOS Automatik konnte nicht ausgeführt werden."; + } } elsif($state eq "fehlgeschlagener Einzug"){ $update_ctt->{int14} = "null"; @@ -951,7 +955,8 @@ sub pdfmandat { template_id => "202", c_id => "$c_id", }; - my $ctadr = $dbt->fetch_record($dbh,$authref); + my $ctadr = { c_id => 0 }; + $ctadr = $dbt->fetch_record($dbh,$authref) if($c_id); my $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime; open(EMA, ">> $varenv->{logdir}/copri-print.log"); diff --git a/copri4/main/src/Mod/Prelib.pm b/copri4/main/src/Mod/Prelib.pm index 51903a0..91ba5c4 100755 --- a/copri4/main/src/Mod/Prelib.pm +++ b/copri4/main/src/Mod/Prelib.pm @@ -101,7 +101,7 @@ sub prepaid_request { ct_id => $ctt_prepaid->{c_id}, int02 => 0,#prepaid price on request is 0 txt01 => 'Prepaid Position', - int16 => 3,#fibumark for prepaid + int16 => 4,#fibumark for prepaid template_id => 219, }; @@ -543,7 +543,7 @@ sub save_text2contenttrans { $update_ctt->{$_} = "$valxx"; } } - elsif($_ =~ /int|ca_id|time/){ + elsif($_ =~ /int|time/){ if(!$valxx){ $update_ctt->{$_} = "null"; }else{ @@ -620,10 +620,11 @@ sub insert_contenttranspos { my $ctadr = { c_id => 0 }; $ctadr = $dbt->fetch_tablerecord($dbh,$pref_adr) if($ctt->{int10}); - if($cc_part->{int02}){ + if($cc_part->{c_id}){ + $cc_part->{int02} = "0" if(!$cc_part->{int02}); $feedb->{pos_id} = $dbt->insert_pos($dbh,$R::c_id4trans,$cc_part,"",$ctadr,"","",$cc_part->{barcode},"0",$owner,""); }else{ - $feedb->{message} = "failure::Fehler, Artikel nicht vorhanden oder Preis nicht definiert."; + $feedb->{message} = "failure::Fehler, Artikel nicht vorhanden."; } if($feedb->{pos_id} > 0){ $feedb->{i_rows} += 1; @@ -816,7 +817,7 @@ sub save_contenttranspos { $u_rows += $dbt->update_record($dbh,$ctpref,$ctpref); } }else{ - $feedb->{message} = "failure::Fehler, Änderung abgelehnt da Rechnung bereits gebucht"; + $feedb->{message} = "failure::Fehler 2, Änderung abgelehnt da Rechnung bereits gebucht"; } }else{ @@ -866,7 +867,7 @@ sub save_contenttranspos { $dbt->update_operatorsloop($varenv{dbname},$ctadr->{c_id},"update"); } }else{ - $feedb->{message} = "failure::Fehler, Änderung abgelehnt da Rechnung bereits gebucht"; + $feedb->{message} = "failure::Fehler 1, Änderung abgelehnt da Rechnung bereits gebucht"; } }else{ $feedb->{message} = "failure::Fehler, es sind nur numerische Werte erlaubt ($c_id && $R::int02 && $R::int03)."; diff --git a/copri4/main/src/Tpl/Address3.pm b/copri4/main/src/Tpl/Address3.pm index 75e145b..d93a08e 100755 --- a/copri4/main/src/Tpl/Address3.pm +++ b/copri4/main/src/Tpl/Address3.pm @@ -68,7 +68,7 @@ sub tpl(){ $set_main_id = $ctt->{main_id} if($ctt->{main_id} > "300000"); my $ctadr = { c_id => 0 }; - my $c_idadr = $ctt->{ca_id} || $ctt->{int10} || "";#c_id orig from contentadr + my $c_idadr = $ctt->{int10} || "";#c_id orig from contentadr my $pref_adr = { table => "contentadr", fetch => "one", @@ -180,7 +180,8 @@ EOF print $q->hidden(-name=>'template_id', -override=>'1', -value=>"$ctt->{template_id}"); print $q->hidden(-name=>'main_id', -override=>'1', -value=>"$ctt->{main_id}"); print $q->hidden(-name=>'rel_id', -override=>'1', -value=>"$ctt->{rel_id}"); - }elsif(looks_like_number($ctt->{int01}) && ! -f "$varenv->{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf"){ + } + if(looks_like_number($ctt->{int01}) && ! -f "$varenv->{basedir}/pdfinvoice/$praefix-$ctt->{ct_name}.pdf"){ print $q->span({-style=>'margin:0 0.2em;position:absolute;right:3px;'}, $but->singlesubmit1("print_pdfview","Print PDF","")),"\n"; } print $q->span({-style=>'margin:0 0.2em;padding:0.3em;font-size:0.81em;position:absolute;right:100px;'},$q->a({-class=>"ebutton3",-target=>'_blank', -href=>"$dbt->{shareedms_conf}->{copri_wiki}"}, "copri wiki"), "$buchen_users->{txt01} / $invoice_time "),"\n"; @@ -247,7 +248,6 @@ EOF print $q->hidden(-name=>'tpl_id4trans', -override=>'1', -value=>"$ctt->{template_id}"); print $q->hidden(-name=>'rel_id', -override=>'1', -value=>"$ctt->{rel_id}"),"\n"; print $q->hidden(-name=>'int10', -override=>'1', -value=>"$c_idadr"),"\n"; - print $q->hidden(-name=>'ca_id', -override=>'1', -value=>"$c_idadr"),"\n"; print $q->hidden(-name=>'txt10', -override=>'1', -value=>"$ctt->{txt10}"),"\n"; print $q->hidden(-name=>'txt11', -override=>'1', -value=>"$ctt->{txt11}"),"\n"; diff --git a/copri4/main/src/Tpl/BaseEdit.pm b/copri4/main/src/Tpl/BaseEdit.pm index e37a04d..3f742e3 100755 --- a/copri4/main/src/Tpl/BaseEdit.pm +++ b/copri4/main/src/Tpl/BaseEdit.pm @@ -778,6 +778,15 @@ EOF print $q->td({-class=>'left_italic_cms'},"$des"),"\n"; print $q->td({-class=>'content1_cms',-colspan=>'2'},$but->selector_class("$key","eselect","",$ctrel->{$key},@_lock_valxx)); } + elsif($key =~ /int16/ && "$size" eq "select" && $node_meta->{tpl_id} == 229){ + my @_fee_valxx = (); + foreach my $s_key (sort keys (%{ $dbt->{copri_conf}->{fee_type} })) { + push @_fee_valxx, "$s_key:$dbt->{copri_conf}->{fee_type}->{$s_key}"; + } + print $q->Tr(); + print $q->td({-class=>'left_italic_cms'},"$des"),"\n"; + print $q->td({-class=>'content1_cms',-colspan=>'2'},$but->selector_class("$key","eselect","",$ctrel->{$key},@_fee_valxx)); + } #payment_type by select elsif($node_meta->{tpl_id} == 202 && $key eq "int03" && $size eq "select"){ my @_payment_type = (); diff --git a/copri4/main/src/Tpl/Liste3.pm b/copri4/main/src/Tpl/Liste3.pm index 13f9931..8ff1d82 100755 --- a/copri4/main/src/Tpl/Liste3.pm +++ b/copri4/main/src/Tpl/Liste3.pm @@ -599,6 +599,7 @@ EOF $s_hash = $dbt->{copri_conf}->{bike_state} if($tpl_id == 205 && $key eq "int10"); $s_hash = $dbt->{copri_conf}->{station_state} if($tpl_id == 225 && $key eq "int10"); $s_hash = $dbt->{copri_conf}->{lock_system} if($tpl_id == 205 && $key eq "int11"); + $s_hash = $dbt->{copri_conf}->{fee_type} if($tpl_id == 229 && $key eq "int16"); $s_hash = $dbt->{copri_conf}->{sharing_type} if($tpl_id == 210 && $key eq "int18"); $s_hash = $dbt->{copri_conf}->{type_id} if($tpl_id == 225 && $key eq "txt25"); $s_hash = { 1 => 1, 2 => 2, 3 => 3, 4 => 4 } if($tpl_id == 225 && $key eq "txt07"); @@ -907,7 +908,7 @@ EOF $k++; my ($key,$val,$size,$colorize) = split /=/,$_; my $txtstyle = "text-align:left;"; - if($key =~ /barcode|c_id|ct_name|int|time\d+|state|sort|public/){ + if($key =~ /barcode|c_id|ct_name|int|time\d+|state|sort|public/ && $size ne "select"){ $txtstyle = "text-align:right;max-width:8em;"; } $ct4rel->{$id}->{$key} = $lb->time4de($ct4rel->{$id}->{$key},"1") if($key =~ /time$/); @@ -1026,6 +1027,8 @@ EOF my $colorize = ""; $colorize = "color:#c63e3e;" if($ct4rel->{$id}->{$key} == 2 || $ct4rel->{$id}->{$key} == 3); print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style $colorize"},"$dbt->{copri_conf}->{lock_state}->{$ct4rel->{$id}->{$key}}"),"\n"; + }elsif($ct4rel->{$id}->{template_id} == 229 && $key eq "int16"){ + print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$dbt->{copri_conf}->{fee_type}->{$ct4rel->{$id}->{$key}}"),"\n"; }elsif($ct4rel->{$id}->{template_id} == 205 && $key eq "int11"){#lock_system print $q->td({-class=>'tdtxt',-style=>"$txtstyle $set_style"},"$dbt->{copri_conf}->{lock_system}->{$ct4rel->{$id}->{$key}}"),"\n"; }elsif($ct4rel->{$id}->{template_id} == 210 && $key eq "int18"){#sharing_type diff --git a/copri4/main/src/Tpl/TransPositionen.pm b/copri4/main/src/Tpl/TransPositionen.pm index c72eddc..868d739 100755 --- a/copri4/main/src/Tpl/TransPositionen.pm +++ b/copri4/main/src/Tpl/TransPositionen.pm @@ -200,7 +200,7 @@ EOF $sum_parts19 += $gesamt; if($cttpos->{$id}->{int16} && $cttpos->{$id}->{int16} == 2){ $sumgeb_bank += $gesamt; - }elsif($cttpos->{$id}->{int16}){ + }elsif($cttpos->{$id}->{int16} && $cttpos->{$id}->{int16} == 1){ $sumgeb_teil += $gesamt; } $gesamt = $pri->round($gesamt); @@ -552,9 +552,9 @@ EOF print $q->hidden(-name=>'printer_id', -value=>"PDF", -override=>'1'); my $dbh_primary = $dbt->dbconnect_extern($dbt->{primary}->{sharee_primary}->{database}->{dbname}); my $users_dms_primary = { u_id => 0 }; - $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},"and int03=2"); + $users_dms_primary = $dbt->select_users($dbh_primary,$users_dms->{u_id},""); - if($users_dms_primary->{u_id} && $users_dms_primary->{int03} == 2){ + if($users_dms_primary->{u_id}){ my @_paymentstate = split(/\|/,$dbt->{shareedms_conf}->{payment_state}); push @_paymentstate, ""; my $kind_of_payment = ""; @@ -582,7 +582,7 @@ EOF $vibuchen_mtime = $lb->time4de($ctt->{pay_time},1) if($ctt->{pay_time}); my $opos = ""; $opos = "OPOS" if($ctt->{int14} && $ctt->{int14} > 0); - if($ctt->{int16} && $ctt->{int16} > 0){ + if($ctt->{int16} && ($ctt->{int16} == 1 || $ctt->{int16} == 2)){ print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"},"$opos Summe $ctt->{int01} € gebucht per \"$ctt->{state}\" | Payone Saldo $ctt->{int16} € | $vibuchen_mtime "),"\n"; }else{ my $fibutext = ""; diff --git a/copri4/main/src/scripts/Ilockit_cloud.pl b/copri4/main/src/scripts/Ilockit_cloud.pl index 4410487..80ff26b 100755 --- a/copri4/main/src/scripts/Ilockit_cloud.pl +++ b/copri4/main/src/scripts/Ilockit_cloud.pl @@ -389,7 +389,7 @@ sub get_positions { my $theftmove_count = 0; foreach my $resp (sort { $a->{id} <=> $b->{id} } (@{ $response_in })) { print FILE "$resp->{id} shareeTime: $today | serverTime: $resp->{serverTime} | ilockit get_positions movement: $theft_record_detect->{barcode} | $record_cc->{$id}->{int13} eq $resp->{deviceId} && speed:$resp->{speed} && distance:$resp->{attributes}->{distance})\n"; - #if($record_cc->{$id}->{int13} eq $resp->{deviceId} && $resp->{speed} > 0 && $resp->{attributes}->{distance} >= 200){ + #if($record_cc->{$id}->{int13} eq $resp->{deviceId} && $resp->{speed} > 0 && $resp->{attributes}->{distance} >= 200) if($record_cc->{$id}->{int13} eq $resp->{deviceId}){ $theftmove_count++;#count if move holds on for min 2 times my $theft_record = get_devicesONcontenttheftpos($dbh,"int02",$resp->{id},"");#Alarm movement @@ -398,7 +398,7 @@ sub get_positions { print FILE "id: $resp->{id}\n"; print FILE "deviceId: $resp->{deviceId}\n"; print FILE "serverTime: $resp->{serverTime}\n\n"; - #if(!$theft_record->{c_id} && $theftmove_count >= 2){ + #if(!$theft_record->{c_id} && $theftmove_count >= 2) if(!$theft_record->{c_id}){ my $serverTime = localizedtime($resp->{serverTime}); my $insert = { @@ -429,8 +429,8 @@ sub get_positions { #theft mailing if($c_id && $theftmove_count > $dbt->{copri_conf}->{theftalarm}->{move_count} && ($resp->{speed} > $dbt->{copri_conf}->{theftalarm}->{speed} && $resp->{attributes}->{distance} > $dbt->{copri_conf}->{theftalarm}->{meter})){ #send mail - #max ~ 10 mails - if($theftmove_count < 10){ + #max ~ 10 mails && cargobike && not in Archive + if($theftmove_count < 10 && $record_cc->{$id}->{type_id} == 300101 && !$record_cc->{$id}->{archive}){ system("$dbt->{copri_conf}->{basedir}/$op_name->{syshost}/src/scripts/mailTransportcms.pl '$op_name->{syshost}' 'send_alarm2hotline' '1' '$c_id' ''"); print FILE "$dbt->{copri_conf}->{basedir}/$op_name->{syshost}/src/scripts/mailTransportcms.pl '$op_name->{syshost}' 'send_alarm2hotline' '1' '$c_id' ''\n\n"; #only if locked diff --git a/copri4/main/src/scripts/statistik_amountCSV_files.pl b/copri4/main/src/scripts/statistik_amountCSV_files.pl index e5a5c0a..abbd7ec 100755 --- a/copri4/main/src/scripts/statistik_amountCSV_files.pl +++ b/copri4/main/src/scripts/statistik_amountCSV_files.pl @@ -128,7 +128,7 @@ foreach my $id (sort { $adr->{$a}->{itime} cmp $adr->{$b}->{itime} }keys (%$adr) template_id => "225", int04 => "!=::99",#virtual station int10 => "1", #available - int09 => "is::null", #Contributor-Archive + int09 => "is::null", #not Contributor-Archive }; my $station_rec = $dbt->fetch_record($dbh,$pref); diff --git a/copri4/main/src/scripts/statistik_occubike_stationCSV.pl b/copri4/main/src/scripts/statistik_occubike_stationCSV.pl index fa85fb0..6570e19 100755 --- a/copri4/main/src/scripts/statistik_occubike_stationCSV.pl +++ b/copri4/main/src/scripts/statistik_occubike_stationCSV.pl @@ -116,7 +116,7 @@ $sendref->{message} .= "occubike on station\n"; template_id => "225", int04 => "!=::99", int10 => 1, #available - int09 => "is::null", #Contributor-Archive + int09 => "is::null", #not Contributor-Archive }; my $station_rec = $dbt->fetch_record($dbh,$pref); @@ -127,7 +127,7 @@ $sendref->{message} .= "occubike on station\n"; keyfield => "barcode", barcode => ">::0", template_id => "205", - archive => "is::null", #Contributor-bikes + archive => "is::null", #not Contributor-bikes }; my $bikes_rec = $dbt->fetch_record($dbh,$pref_b); my $bike_stat = {}; @@ -233,7 +233,6 @@ if(1==1){ #Generate bike/station CSV-lines foreach my $b_id (sort { $bikes_rec->{$a}->{barcode} <=> $bikes_rec->{$b}->{barcode} } keys(%$bikes_rec)){ - #if($bikes_rec->{$b_id}->{type_id} == $bike_type_id && $bikes_rec->{$b_id}->{node_name} !~ /Contributor/i){ if($bikes_rec->{$b_id}->{type_id} == $bike_type_id){ #Durchschnittliche Nutzungsdauer pro Rad diff --git a/copri4/shareedms-operator/src/Lib/Mlogic.pm b/copri4/shareedms-operator/src/Lib/Mlogic.pm index d19110e..20e4fde 100755 --- a/copri4/shareedms-operator/src/Lib/Mlogic.pm +++ b/copri4/shareedms-operator/src/Lib/Mlogic.pm @@ -142,12 +142,12 @@ sub tpl(){ #print Dumper($users_dms_primary); my $mod_active = "$dbt->{shareedms_conf}->{mod_active}"; - if($users_dms_primary->{u_id} && $users_dms_primary->{int02} >= 1 && $users_dms->{u_id} && $users_dms->{int02} >= 1){ + if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int02} >= 1){ $mod_active .= "|Kunden"; }else{ $mod_active .= "|App-feedback"; } - if($users_dms_primary->{u_id} && $users_dms_primary->{int03} >= 1 && $users_dms->{u_id} && $users_dms->{int03} >= 1){ + if($users_dms_primary->{u_id} && $users_dms->{u_id} && $users_dms->{int03} >= 1){ $mod_active .= "|Faktura"; } if($users_dms->{u_id} && ($users_dms->{int07} >= 1 || $users_dms->{int08} >= 1)){