X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FAM.pm;h=6c0ea0b4270b27504b57aa0c96801c31a01b1d06;hb=a25cb06e5823fc35924c0eae0c358763841307d0;hp=91fc9a7c10012c0602d2b88e8fb181bfe5dbadff;hpb=d6e36f9c0d4bfb573298620e3f7d2ffd3c90c68c;p=kivitendo-erp.git diff --git a/SL/AM.pm b/SL/AM.pm index 91fc9a7c1..6c0ea0b42 100644 --- a/SL/AM.pm +++ b/SL/AM.pm @@ -230,6 +230,13 @@ sub save_account { $form->{id} = ""; } + if (!$form->{id} || $form->{id} eq "") { + $query = qq|SELECT nextval('id')|; + ($form->{"id"}) = selectrow_query($form, $dbh, $query); + $query = qq|INSERT INTO chart (id, accno) VALUES (?, ?)|; + do_query($form, $dbh, $query, $form->{"id"}, $form->{"accno"}); + } + my @values; if ($form->{id}) { @@ -262,52 +269,6 @@ sub save_account { $form->{id}, ); - } - elsif ($form->{id} && !$form->{new_chart_valid}) { - - $query = qq| - UPDATE chart - SET new_chart_id = ?, - valid_from = ? - WHERE id = ? - |; - - @values = ( - conv_i($form->{new_chart_id}), - conv_date($form->{valid_from}), - $form->{id} - ); - } - else { - - $query = qq| - INSERT INTO chart ( - accno, - description, - charttype, - category, - link, - pos_bwa, - pos_bilanz, - pos_eur, - new_chart_id, - valid_from, - datevautomatik ) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - |; - - @values = ( - $form->{accno}, - $form->{description}, - $form->{charttype}, - $form->{category}, $form->{link}, - conv_i($form->{pos_bwa}), - conv_i($form->{pos_bilanz}), conv_i($form->{pos_eur}), - conv_i($form->{new_chart_id}), - conv_date($form->{valid_from}), - ($form->{datevautomatik} eq 'T') ? 'true':'false', - ); - } do_query($form, $dbh, $query, @values); @@ -325,6 +286,9 @@ sub save_account { # Loop control # Check if the account already exists, else cancel + + print(STDERR "Keine Taxkeys weil ID =: $form->{id}\n"); + last READTAXKEYS if ( $form->{'id'} == 0); # check if there is a startdate @@ -1506,9 +1470,12 @@ sub save_defaults { vendornumber = ?, articlenumber = ?, servicenumber = ?, + sdonumber = ?, + pdonumber = ?, yearend = ?, curr = ?, - businessnumber = ?|; + businessnumber = ?, + weightunit = ?|; my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno}, $accnos{fxgain_accno}, $accnos{fxloss_accno}, $form->{invnumber}, $form->{cnnumber}, @@ -1516,8 +1483,9 @@ sub save_defaults { $form->{sqnumber}, $form->{rfqnumber}, $form->{customernumber}, $form->{vendornumber}, $form->{articlenumber}, $form->{servicenumber}, + $form->{sdonumber}, $form->{pdonumber}, $form->{yearend}, $currency, - $form->{businessnumber}); + $form->{businessnumber}, $form->{weightunit}); do_query($form, $dbh, $query, @values); $dbh->commit(); @@ -1547,7 +1515,7 @@ sub save_preferences { $form->{businessnumber} = $businessnumber; - my $myconfig = new User($form->{login}); + $myconfig = new User($form->{login}); foreach my $item (keys %$form) { $myconfig->{$item} = $form->{$item}; @@ -1607,6 +1575,26 @@ sub save_preferences { return $rc; } +sub get_defaults { + $main::lxdebug->enter_sub(); + + my $self = shift; + my %params = @_; + + my $myconfig = \%main::myconfig; + my $form = $main::form; + + my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig); + + my $defaults = selectfirst_hashref_query($form, $dbh, qq|SELECT * FROM defaults|) || {}; + + $defaults->{weightunit} ||= 'kg'; + + $main::lxdebug->leave_sub(); + + return $defaults; +} + sub defaultaccounts { $main::lxdebug->enter_sub(); @@ -1620,12 +1608,14 @@ sub defaultaccounts { my $sth = $dbh->prepare($query); $sth->execute || $form->dberror($query); - $form->{defaults} = $sth->fetchrow_hashref(NAME_lc); - $form->{defaults}{IC} = $form->{defaults}{inventory_accno_id}; - $form->{defaults}{IC_income} = $form->{defaults}{income_accno_id}; - $form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id}; - $form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id}; - $form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id}; + $form->{defaults} = $sth->fetchrow_hashref(NAME_lc); + $form->{defaults}{IC} = $form->{defaults}{inventory_accno_id}; + $form->{defaults}{IC_income} = $form->{defaults}{income_accno_id}; + $form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id}; + $form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id}; + $form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id}; + + $form->{defaults}{weightunit} ||= 'kg'; $sth->finish; @@ -1776,19 +1766,13 @@ sub get_base_unit { sub retrieve_units { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $type, $prefix) = @_; + my ($self, $myconfig, $form, $prefix) = @_; my $dbh = $form->dbconnect($myconfig); my $query = "SELECT *, base_unit AS original_base_unit FROM units"; - my @values; - if ($type) { - $query .= " WHERE (type = ?)"; - @values = ($type); - } - my $sth = $dbh->prepare($query); - $sth->execute(@values) || $form->dberror($query . " (" . join(", ", @values) . ")"); + my $sth = prepare_execute_query($form, $dbh, $query); my $units = {}; while (my $ref = $sth->fetchrow_hashref()) { @@ -1951,9 +1935,10 @@ sub convert_unit { $main::lxdebug->enter_sub(2); ($this, $a, $b, $all_units) = @_; + $main::lxdebug->leave_sub(2) and return 0 unless $a && $b; $main::lxdebug->leave_sub(2) and return 0 unless $all_units->{$a} && $all_units->{$b}; $main::lxdebug->leave_sub(2) and return 0 unless $all_units->{$a}{base_unit} eq $all_units->{$b}{base_unit}; - $main::lxdebug->leave_sub(2) and return $all_units->{$a}{factor} / $all_units->{$b}{factor}; + $main::lxdebug->leave_sub(2) and return $all_units->{$a}{factor} / $all_units->{$b}{factor}; } sub unit_select_data { @@ -2037,16 +2022,16 @@ sub sum_with_unit { sub add_unit { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $name, $base_unit, $factor, $type, $languages) = @_; + my ($self, $myconfig, $form, $name, $base_unit, $factor, $languages) = @_; my $dbh = $form->dbconnect_noauto($myconfig); my $query = qq|SELECT COALESCE(MAX(sortkey), 0) + 1 FROM units|; my ($sortkey) = selectrow_query($form, $dbh, $query); - $query = "INSERT INTO units (name, base_unit, factor, type, sortkey) " . - "VALUES (?, ?, ?, ?, ?)"; - do_query($form, $dbh, $query, $name, $base_unit, $factor, $type, $sortkey); + $query = "INSERT INTO units (name, base_unit, factor, sortkey) " . + "VALUES (?, ?, ?, ?)"; + do_query($form, $dbh, $query, $name, $base_unit, $factor, $sortkey); if ($languages) { $query = "INSERT INTO units_language (unit, language_id, localized, localized_plural) VALUES (?, ?, ?, ?)"; @@ -2067,7 +2052,7 @@ sub add_unit { sub save_units { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $type, $units, $delete_units) = @_; + my ($self, $myconfig, $form, $units, $delete_units) = @_; my $dbh = $form->dbconnect_noauto($myconfig); @@ -2125,7 +2110,7 @@ sub save_units { sub swap_units { $main::lxdebug->enter_sub(); - my ($self, $myconfig, $form, $dir, $name_1, $unit_type) = @_; + my ($self, $myconfig, $form, $dir, $name_1) = @_; my $dbh = $form->dbconnect_noauto($myconfig); @@ -2136,9 +2121,9 @@ sub swap_units { $query = qq|SELECT sortkey FROM units | . - qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? AND type = ? | . + qq|WHERE sortkey | . ($dir eq "down" ? ">" : "<") . qq| ? | . qq|ORDER BY sortkey | . ($dir eq "down" ? "ASC" : "DESC") . qq| LIMIT 1|; - my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1, $unit_type); + my ($sortkey_2) = selectrow_query($form, $dbh, $query, $sortkey_1); if (defined($sortkey_1)) { $query = qq|SELECT name FROM units WHERE sortkey = ${sortkey_2}|; @@ -2498,9 +2483,8 @@ sub delete_warehouse { return 0; } - do_query($form, $dbh, qq|DELETE FROM warehouse_access WHERE warehouse_id = ?|, conv_i($form->{id})); - do_query($form, $dbh, qq|DELETE FROM bin WHERE warehouse_id = ?|, conv_i($form->{id})); - do_query($form, $dbh, qq|DELETE FROM warehouse WHERE id = ?|, conv_i($form->{id})); + do_query($form, $dbh, qq|DELETE FROM bin WHERE warehouse_id = ?|, conv_i($form->{id})); + do_query($form, $dbh, qq|DELETE FROM warehouse WHERE id = ?|, conv_i($form->{id})); $dbh->commit(); @@ -2518,7 +2502,7 @@ sub get_all_warehouses { my $dbh = $form->get_standard_dbh($myconfig); my $query = qq|SELECT w.id, w.description, w.invalid, - (SELECT COUNT(b.description) FROM bin b WHERE b.warehouse_id = w.id) AS number_of_bins, + (SELECT COUNT(b.description) FROM bin b WHERE b.warehouse_id = w.id) AS number_of_bins FROM warehouse w ORDER BY w.sortkey|; @@ -2540,7 +2524,7 @@ sub get_warehouse { FROM warehouse w WHERE w.id = ?|; - my $ref = selectfirst_hashref_query($form, $dbh, $query, $id, $id); + my $ref = selectfirst_hashref_query($form, $dbh, $query, $id); map { $form->{$_} = $ref->{$_} } keys %{ $ref };