mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-07-07 22:26:44 +02:00
Faktura Teilzahlung codeing and some minor fixes
This commit is contained in:
parent
b1c6a62657
commit
dc89bed086
16 changed files with 80 additions and 74 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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');
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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).";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue