Faktura Teilzahlung codeing and some minor fixes

This commit is contained in:
ragu 2023-12-01 20:14:31 +01:00
parent b1c6a62657
commit dc89bed086
16 changed files with 80 additions and 74 deletions

View file

@ -700,7 +700,7 @@ div#retm {
color:black;
background-color:#F3F34C;
cursor:pointer;
z-index:1100;
z-index:11000;
}
div#savestate {

View file

@ -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);
}

View file

@ -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();

View file

@ -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){

View file

@ -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<<EOF
@ -88,7 +77,7 @@ print<<EOF
width: $width,
//show: { effect: 'drop', direction: "up" } ,
closeOnEscape: true,
zIndex: 1010000000000,
zIndex: 1010,
modal: true
});
\$('.ui-widget-overlay').click(function() {
@ -103,13 +92,10 @@ EOF
print "<div id='dialog-form' style='text-align:center;margin:0;padding:2px;max-width:1200px;' title='Terminal Faktura $debug'>";
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 "</div>\n";

View file

@ -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');

View file

@ -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");

View file

@ -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).";

View file

@ -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";

View file

@ -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 = ();

View file

@ -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

View file

@ -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;"},"<span style='color:red;'>$opos</span> Summe $ctt->{int01} € gebucht per \"$ctt->{state}\" | Payone Saldo $ctt->{int16} € | $vibuchen_mtime "),"\n";
}else{
my $fibutext = "";

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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)){