Vereinfachung.
[kivitendo-erp.git] / SL / AM.pm
index 22eab8b..5ffb6a1 100644 (file)
--- 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,6 +1470,8 @@ sub save_defaults {
         vendornumber       = ?,
         articlenumber      = ?,
         servicenumber      = ?,
+        sdonumber          = ?,
+        pdonumber          = ?,
         yearend            = ?,
         curr               = ?,
         businessnumber     = ?|;
@@ -1516,6 +1482,7 @@ sub save_defaults {
                 $form->{sqnumber},        $form->{rfqnumber},
                 $form->{customernumber},  $form->{vendornumber},
                 $form->{articlenumber},   $form->{servicenumber},
+                $form->{sdonumber},       $form->{pdonumber},
                 $form->{yearend},         $currency,
                 $form->{businessnumber});
   do_query($form, $dbh, $query, @values);
@@ -1776,19 +1743,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()) {
@@ -2037,16 +1998,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 +2028,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 +2086,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 +2097,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}|;