]> wagnertech.de Git - mfinanz.git/blobdiff - SL/IS.pm
Feature "Lizenzen" entfernt
[mfinanz.git] / SL / IS.pm
index 689c779be8f3b62be5ad988f3f3d9d7bb70f045e..261b342a224bef71744e90d14d1f263464876a08 100644 (file)
--- a/SL/IS.pm
+++ b/SL/IS.pm
@@ -148,7 +148,7 @@ sub invoice_details {
 
   my @arrays =
     qw(runningnumber number description longdescription qty ship unit bin
 
   my @arrays =
     qw(runningnumber number description longdescription qty ship unit bin
-       deliverydate_oe ordnumber_oe transdate_oe licensenumber validuntil
+       deliverydate_oe ordnumber_oe transdate_oe validuntil
        partnotes serialnumber reqdate sellprice listprice netprice
        discount p_discount discount_sub nodiscount_sub
        linetotal  nodiscount_linetotal tax_rate projectnumber projectdescription
        partnotes serialnumber reqdate sellprice listprice netprice
        discount p_discount discount_sub nodiscount_sub
        linetotal  nodiscount_linetotal tax_rate projectnumber projectdescription
@@ -214,22 +214,7 @@ sub invoice_details {
       push @{ $form->{TEMPLATE_ARRAYS}->{price_factor_name} }, $price_factor->{description};
       push @{ $form->{TEMPLATE_ARRAYS}->{partsgroup} },        $form->{"partsgroup_$i"};
       push @{ $form->{TEMPLATE_ARRAYS}->{reqdate} },           $form->{"reqdate_$i"};
       push @{ $form->{TEMPLATE_ARRAYS}->{price_factor_name} }, $price_factor->{description};
       push @{ $form->{TEMPLATE_ARRAYS}->{partsgroup} },        $form->{"partsgroup_$i"};
       push @{ $form->{TEMPLATE_ARRAYS}->{reqdate} },           $form->{"reqdate_$i"};
-
-      if ($form->{lizenzen}) {
-        if ($form->{"licensenumber_$i"}) {
-          $query = qq|SELECT licensenumber, validuntil FROM license WHERE id = ?|;
-          my ($licensenumber, $validuntil) = selectrow_query($form, $dbh, $query, conv_i($form->{"licensenumber_$i"}));
-          push(@{ $form->{TEMPLATE_ARRAYS}->{licensenumber} }, $licensenumber);
-          push(@{ $form->{TEMPLATE_ARRAYS}->{validuntil} }, $locale->date($myconfig, $validuntil, 0));
-
-        } else {
-          push(@{ $form->{TEMPLATE_ARRAYS}->{licensenumber} }, "");
-          push(@{ $form->{TEMPLATE_ARRAYS}->{validuntil} },    "");
-        }
-      }
-
-      # listprice
-      push(@{ $form->{TEMPLATE_ARRAYS}->{listprice} }, $form->{"listprice_$i"});
+      push(@{ $form->{TEMPLATE_ARRAYS}->{listprice} },         $form->{"listprice_$i"});
 
       my $sellprice     = $form->parse_amount($myconfig, $form->{"sellprice_$i"});
       my ($dec)         = ($sellprice =~ /\.(\d+)/);
 
       my $sellprice     = $form->parse_amount($myconfig, $form->{"sellprice_$i"});
       my ($dec)         = ($sellprice =~ /\.(\d+)/);
@@ -740,14 +725,6 @@ sub post_invoice {
                  conv_i($form->{"marge_price_factor_$i"}));
       do_query($form, $dbh, $query, @values);
 
                  conv_i($form->{"marge_price_factor_$i"}));
       do_query($form, $dbh, $query, @values);
 
-      if ($form->{lizenzen} && $form->{"licensenumber_$i"}) {
-        $query =
-          qq|INSERT INTO licenseinvoice (trans_id, license_id)
-             VALUES ((SELECT id FROM invoice WHERE trans_id = ? ORDER BY oid DESC LIMIT 1), ?)|;
-        @values = (conv_i($form->{"id"}), conv_i($form->{"licensenumber_$i"}));
-        do_query($form, $dbh, $query, @values);
-      }
-
       CVar->save_custom_variables(module       => 'IC',
                                   sub_module   => 'invoice',
                                   trans_id     => $invoice_id,
       CVar->save_custom_variables(module       => 'IC',
                                   sub_module   => 'invoice',
                                   trans_id     => $invoice_id,
@@ -1359,14 +1336,6 @@ sub reverse_invoice {
   my @values = (conv_i($form->{id}));
   do_query($form, $dbh, qq|DELETE FROM acc_trans WHERE trans_id = ?|, @values);
   do_query($form, $dbh, qq|DELETE FROM invoice WHERE trans_id = ?|, @values);
   my @values = (conv_i($form->{id}));
   do_query($form, $dbh, qq|DELETE FROM acc_trans WHERE trans_id = ?|, @values);
   do_query($form, $dbh, qq|DELETE FROM invoice WHERE trans_id = ?|, @values);
-
-  if ($form->{lizenzen}) {
-    $query =
-      qq|DELETE FROM licenseinvoice
-         WHERE trans_id in (SELECT id FROM invoice WHERE trans_id = ?)|;
-    do_query($form, $dbh, $query, @values);
-  }
-
   do_query($form, $dbh, qq|DELETE FROM shipto WHERE (trans_id = ?) AND (module = 'AR')|, @values);
 
   $main::lxdebug->leave_sub();
   do_query($form, $dbh, qq|DELETE FROM shipto WHERE (trans_id = ?) AND (module = 'AR')|, @values);
 
   $main::lxdebug->leave_sub();
@@ -1583,12 +1552,6 @@ sub retrieve_invoice {
 
       }
 
 
       }
 
-      if ($form->{lizenzen}) {
-        $query = qq|SELECT l.licensenumber, l.id AS licenseid FROM license l, licenseinvoice li WHERE l.id = li.license_id AND li.trans_id = ?|;
-        my ($licensenumber, $licenseid) = selectrow_query($form, $dbh, $query, conv_i($ref->{invoice_pos}));
-        $ref->{lizenzen} = "<option value=\"$licenseid\">$licensenumber</option>";
-      }
-
       $ref->{qty} *= -1 if $form->{type} eq "credit_note";
 
       chop $ref->{taxaccounts};
       $ref->{qty} *= -1 if $form->{type} eq "credit_note";
 
       chop $ref->{taxaccounts};
@@ -1778,6 +1741,11 @@ sub retrieve_item {
     push @values, $form->{"partnumber_$i"};
   }
 
     push @values, $form->{"partnumber_$i"};
   }
 
+  if ($form->{"id_${i}"}) {
+    $where .= qq| AND p.id = ?|;
+    push @values, $form->{"id_${i}"};
+  }
+
   if ($form->{"description_$i"}) {
     $where .= qq| ORDER BY p.description|;
   } else {
   if ($form->{"description_$i"}) {
     $where .= qq| ORDER BY p.description|;
   } else {
@@ -1843,6 +1811,19 @@ sub retrieve_item {
        WHERE $where|;
   my $sth = prepare_execute_query($form, $dbh, $query, @values);
 
        WHERE $where|;
   my $sth = prepare_execute_query($form, $dbh, $query, @values);
 
+  my @translation_queries = ( [ qq|SELECT tr.translation, tr.longdescription
+                                   FROM translation tr
+                                   WHERE tr.language_id = ? AND tr.parts_id = ?| ],
+                              [ qq|SELECT tr.translation, tr.longdescription
+                                   FROM translation tr
+                                   WHERE tr.language_id IN
+                                     (SELECT id
+                                      FROM language
+                                      WHERE article_code = (SELECT article_code FROM language WHERE id = ?))
+                                     AND tr.parts_id = ?
+                                   LIMIT 1| ] );
+  map { push @{ $_ }, prepare_query($form, $dbh, $_->[0]) } @translation_queries;
+
   while (my $ref = $sth->fetchrow_hashref('NAME_lc')) {
 
     # In der Buchungsgruppe ist immer ein Bestandskonto verknuepft, auch wenn
   while (my $ref = $sth->fetchrow_hashref('NAME_lc')) {
 
     # In der Buchungsgruppe ist immer ein Bestandskonto verknuepft, auch wenn
@@ -1910,55 +1891,24 @@ sub retrieve_item {
 
     $stw->finish;
     chop $ref->{taxaccounts};
 
     $stw->finish;
     chop $ref->{taxaccounts};
+
     if ($form->{language_id}) {
     if ($form->{language_id}) {
-      $query =
-        qq|SELECT tr.translation, tr.longdescription
-           FROM translation tr
-           WHERE tr.language_id = ? AND tr.parts_id = ?|;
-      @values = (conv_i($form->{language_id}), conv_i($ref->{id}));
-      my ($translation, $longdescription) = selectrow_query($form, $dbh, $query, @values);
-      if ($translation ne "") {
+      for my $spec (@translation_queries) {
+        do_statement($form, $spec->[1], $spec->[0], conv_i($form->{language_id}), conv_i($ref->{id}));
+        my ($translation, $longdescription) = $spec->[1]->fetchrow_array;
+        next unless $translation;
         $ref->{description} = $translation;
         $ref->{longdescription} = $longdescription;
         $ref->{description} = $translation;
         $ref->{longdescription} = $longdescription;
-
-      } else {
-        $query =
-          qq|SELECT tr.translation, tr.longdescription
-             FROM translation tr
-             WHERE tr.language_id IN
-               (SELECT id
-                FROM language
-                WHERE article_code = (SELECT article_code FROM language WHERE id = ?))
-               AND tr.parts_id = ?
-             LIMIT 1|;
-        @values = (conv_i($form->{language_id}), conv_i($ref->{id}));
-        my ($translation, $longdescription) = selectrow_query($form, $dbh, $query, @values);
-        if ($translation ne "") {
-          $ref->{description} = $translation;
-          $ref->{longdescription} = $longdescription;
-        }
+        last;
       }
     }
 
     $ref->{onhand} *= 1;
 
     push @{ $form->{item_list} }, $ref;
       }
     }
 
     $ref->{onhand} *= 1;
 
     push @{ $form->{item_list} }, $ref;
-
-    if ($form->{lizenzen}) {
-      if ($ref->{inventory_accno} > 0) {
-        $query =
-          qq|SELECT l.*
-             FROM license l
-             WHERE l.parts_id = ? AND NOT l.id IN (SELECT li.license_id FROM licenseinvoice li)|;
-        my $stw = prepare_execute_query($form, $dbh, $query, conv_i($ref->{id}));
-        while (my $ptr = $stw->fetchrow_hashref('NAME_lc')) {
-          push @{ $form->{LIZENZEN}{ $ref->{id} } }, $ptr;
-        }
-        $stw->finish;
-      }
-    }
   }
   $sth->finish;
   }
   $sth->finish;
+  $_->[1]->finish for @translation_queries;
 
   foreach my $item (@{ $form->{item_list} }) {
     my $custom_variables = CVar->get_custom_variables(module   => 'IC',
 
   foreach my $item (@{ $form->{item_list} }) {
     my $custom_variables = CVar->get_custom_variables(module   => 'IC',