$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}) {
$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);
# 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
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},
$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();
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();
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;
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()) {
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 (?, ?, ?, ?)";
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);
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);
$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}|;
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();
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|;
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 };