Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / sql / Pg-upgrade2 / warehouse.pl
index 6efbe14..a9b152f 100644 (file)
@@ -2,9 +2,13 @@
 # @description:  Diverse neue Tabellen und Spalten zur Mehrlagerfähigkeit inkl. Migration
 # @depends: release_2_4_3
 
+use strict;
 
 die("This script cannot be run from the command line.") unless ($main::form);
 
+my $do_sql_migration = 0;
+my ($check_sql, $sqlcode);
+
 sub mydberror {
   my ($msg) = @_;
   die($dbup_locale->text("Database update error:") .
@@ -21,7 +25,6 @@ sub do_query {
   }
 }
 
-$do_sql_migration = 0;
 
 sub print_question {
   print $main::form->parse_html_template("dbupgrade/warehouse_form");
@@ -46,26 +49,28 @@ sub do_update {
   my $warehouse = $main::form->{import_warehouse} ne '' ? $main::form->{import_warehouse} : "Transfer";
   my $bin       = $main::form->{bin_default}      ne '' ? $main::form->{bin_default}      : "1";
 
+  $warehouse    = $dbh->quote($warehouse);
+  $bin          = $dbh->quote($bin);
 
   my $migration_code = <<EOF
 
 -- Adjust warehouse
-INSERT INTO warehouse (description) VALUES ('$warehouse');
+INSERT INTO warehouse (description, sortkey, invalid) VALUES ($warehouse, 1, FALSE);
 
 UPDATE tmp_parts SET bin = NULL WHERE bin = '';
 
 -- Restore old onhand
-INSERT INTO bin 
- (warehouse_id, description) 
- (SELECT DISTINCT warehouse.id, COALESCE(bin, '$bin') 
-   FROM warehouse, tmp_parts 
-   WHERE warehouse.description='$warehouse');
-INSERT INTO inventory 
- (warehouse_id, parts_id, bin_id, qty, employee_id, trans_id, trans_type_id)
- (SELECT warehouse.id, tmp_parts.id, bin.id, onhand, (SELECT id FROM employee LIMIT 1), nextval('id'), transfer_type.id 
+INSERT INTO bin
+ (warehouse_id, description)
+ (SELECT DISTINCT warehouse.id, COALESCE(bin, $bin)
+   FROM warehouse, tmp_parts
+   WHERE warehouse.description=$warehouse);
+INSERT INTO inventory
+ (warehouse_id, parts_id, bin_id, qty, employee_id, trans_id, trans_type_id, chargenumber)
+ (SELECT warehouse.id, tmp_parts.id, bin.id, onhand, (SELECT id FROM employee LIMIT 1), nextval('id'), transfer_type.id, ''
   FROM transfer_type, warehouse, tmp_parts, bin
-  WHERE warehouse.description = '$warehouse' 
-    AND COALESCE(bin, '$bin') = bin.description 
+  WHERE warehouse.description = $warehouse
+    AND COALESCE(bin, $bin) = bin.description
     AND transfer_type.description = 'stock');
 EOF
 ;