Komfort- und Hilfsfunktionen fuer den Datenbankzugriff.
[kivitendo-erp.git] / SL / IC.pm
index eb230ef..8f2cfb3 100644 (file)
--- a/SL/IC.pm
+++ b/SL/IC.pm
@@ -34,6 +34,7 @@
 
 package IC;
 use Data::Dumper;
 
 package IC;
 use Data::Dumper;
+
 sub get_part {
   $main::lxdebug->enter_sub();
 
 sub get_part {
   $main::lxdebug->enter_sub();
 
@@ -163,7 +164,7 @@ sub get_part {
       $form->{"price_$i"} =
         $form->format_amount($myconfig, $form->{"price_$i"}, 5);
       $form->{"pricegroup_id_$i"} = "$name->{id}";
       $form->{"price_$i"} =
         $form->format_amount($myconfig, $form->{"price_$i"}, 5);
       $form->{"pricegroup_id_$i"} = "$name->{id}";
-      $form->{"pricegroup_$i"}    = "$name->{pricegroup}\n";
+      $form->{"pricegroup_$i"}    = "$name->{pricegroup}";
       $i++;
     }
   }
       $i++;
     }
   }
@@ -235,8 +236,8 @@ sub get_pricegroups {
   $main::lxdebug->enter_sub();
 
   my ($self, $myconfig, $form) = @_;
   $main::lxdebug->enter_sub();
 
   my ($self, $myconfig, $form) = @_;
-  my $dbh = $form->dbconnect($myconfig);
-  my $i = 1;
+  my $dbh                  = $form->dbconnect($myconfig);
+  my $i                    = 1;
   my @pricegroups_not_used = ();
 
   # get pricegroups
   my @pricegroups_not_used = ();
 
   # get pricegroups
@@ -263,7 +264,7 @@ sub get_pricegroups {
       $form->{"price_$i"} =
         $form->format_amount($myconfig, $form->{"price_$i"}, 5);
       $form->{"pricegroup_id_$i"} = "$name->{id}";
       $form->{"price_$i"} =
         $form->format_amount($myconfig, $form->{"price_$i"}, 5);
       $form->{"pricegroup_id_$i"} = "$name->{id}";
-      $form->{"pricegroup_$i"}    = "$name->{pricegroup}\n";
+      $form->{"pricegroup_$i"}    = "$name->{pricegroup}";
       $i++;
     }
   }
       $i++;
     }
   }
@@ -276,7 +277,6 @@ sub get_pricegroups {
   $main::lxdebug->leave_sub();
 }
 
   $main::lxdebug->leave_sub();
 }
 
-
 sub save {
   $main::lxdebug->enter_sub();
 
 sub save {
   $main::lxdebug->enter_sub();
 
@@ -456,11 +456,14 @@ sub save {
   # insert price records only if different to sellprice
   for my $i (1 .. $form->{price_rows}) {
     if ($form->{"price_$i"} eq "0") {
   # insert price records only if different to sellprice
   for my $i (1 .. $form->{price_rows}) {
     if ($form->{"price_$i"} eq "0") {
-       $form->{"price_$i"} = $form->{sellprice};
+      $form->{"price_$i"} = $form->{sellprice};
     }
     }
-    if ((   $form->{"price_$i"} 
-        || $form->{"klass_$i"}
-        || $form->{"pricegroup_id_$i"}) and $form->{"price_$i"} != $form->{sellprice}) {
+    if (
+        (   $form->{"price_$i"}
+         || $form->{"klass_$i"}
+         || $form->{"pricegroup_id_$i"})
+        and $form->{"price_$i"} != $form->{sellprice}
+      ) {
       $klass = $form->parse_amount($myconfig, $form->{"klass_$i"});
       $price = $form->parse_amount($myconfig, $form->{"price_$i"});
       $pricegroup_id =
       $klass = $form->parse_amount($myconfig, $form->{"klass_$i"});
       $price = $form->parse_amount($myconfig, $form->{"price_$i"});
       $pricegroup_id =
@@ -715,6 +718,11 @@ sub delete {
   # connect to database, turn off AutoCommit
   my $dbh = $form->dbconnect_noauto($myconfig);
 
   # connect to database, turn off AutoCommit
   my $dbh = $form->dbconnect_noauto($myconfig);
 
+  # first delete prices of pricegroup 
+  my $query = qq|DELETE FROM prices
+           WHERE parts_id = $form->{id}|;
+  $dbh->do($query) || $form->dberror($query);
+
   my $query = qq|DELETE FROM parts
                 WHERE id = $form->{id}|;
   $dbh->do($query) || $form->dberror($query);
   my $query = qq|DELETE FROM parts
                 WHERE id = $form->{id}|;
   $dbh->do($query) || $form->dberror($query);
@@ -822,14 +830,10 @@ sub all_parts {
   my $group;
   my $limit;
 
   my $group;
   my $limit;
 
-  foreach my $item (qw(partnumber drawing microfiche make model)) {
+  foreach my $item (qw(partnumber drawing microfiche)) {
     if ($form->{$item}) {
       $var = $form->like(lc $form->{$item});
     if ($form->{$item}) {
       $var = $form->like(lc $form->{$item});
-
-      # make will build later Bugfix 145
-      if ($item ne 'make') {
-        $where .= " AND lower(p.$item) LIKE '$var'";
-      }
+      $where .= " AND lower(p.$item) LIKE '$var'";
     }
   }
 
     }
   }
 
@@ -997,7 +1001,7 @@ sub all_parts {
                    p.priceupdate, p.image, p.drawing, p.microfiche,
                    pg.partsgroup,
                    a.invnumber, a.ordnumber, a.quonumber, i.trans_id,
                    p.priceupdate, p.image, p.drawing, p.microfiche,
                    pg.partsgroup,
                    a.invnumber, a.ordnumber, a.quonumber, i.trans_id,
-                   ct.name|;
+                   ct.name, i.deliverydate|;
 
       if ($form->{bought}) {
         $query = qq|
 
       if ($form->{bought}) {
         $query = qq|
@@ -1041,7 +1045,8 @@ sub all_parts {
         $ordwhere .= " AND lower(oi.description) LIKE '$var'";
       }
 
         $ordwhere .= " AND lower(oi.description) LIKE '$var'";
       }
 
-      $flds = qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
+      $flds =
+        qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
                  oi.qty AS onhand, oi.unit, p.bin, oi.sellprice,
                 p.listprice, p.lastcost, p.rop, p.weight,
                 p.priceupdate, p.image, p.drawing, p.microfiche,
                  oi.qty AS onhand, oi.unit, p.bin, oi.sellprice,
                 p.listprice, p.lastcost, p.rop, p.weight,
                 p.priceupdate, p.image, p.drawing, p.microfiche,
@@ -1067,7 +1072,8 @@ sub all_parts {
       }
 
       if ($form->{onorder}) {
       }
 
       if ($form->{onorder}) {
-        $flds = qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
+        $flds =
+          qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
                    oi.qty * -1 AS onhand, oi.unit, p.bin, oi.sellprice,
                   p.listprice, p.lastcost, p.rop, p.weight,
                   p.priceupdate, p.image, p.drawing, p.microfiche,
                    oi.qty * -1 AS onhand, oi.unit, p.bin, oi.sellprice,
                   p.listprice, p.lastcost, p.rop, p.weight,
                   p.priceupdate, p.image, p.drawing, p.microfiche,
@@ -1104,7 +1110,8 @@ sub all_parts {
         $quowhere .= " AND lower(oi.description) LIKE '$var'";
       }
 
         $quowhere .= " AND lower(oi.description) LIKE '$var'";
       }
 
-      $flds = qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
+      $flds =
+        qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
                  oi.qty AS onhand, oi.unit, p.bin, oi.sellprice,
                 p.listprice, p.lastcost, p.rop, p.weight,
                 p.priceupdate, p.image, p.drawing, p.microfiche,
                  oi.qty AS onhand, oi.unit, p.bin, oi.sellprice,
                 p.listprice, p.lastcost, p.rop, p.weight,
                 p.priceupdate, p.image, p.drawing, p.microfiche,
@@ -1130,7 +1137,8 @@ sub all_parts {
       }
 
       if ($form->{rfq}) {
       }
 
       if ($form->{rfq}) {
-        $flds = qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
+        $flds =
+          qq|p.id, p.partnumber, oi.description, oi.serialnumber AS serialnumber,
                    oi.qty * -1 AS onhand, oi.unit, p.bin, oi.sellprice,
                   p.listprice, p.lastcost, p.rop, p.weight,
                   p.priceupdate, p.image, p.drawing, p.microfiche,
                    oi.qty * -1 AS onhand, oi.unit, p.bin, oi.sellprice,
                   p.listprice, p.lastcost, p.rop, p.weight,
                   p.priceupdate, p.image, p.drawing, p.microfiche,