]> wagnertech.de Git - mfinanz.git/blobdiff - SL/DB/MetaSetup/Order.pm
Merge branch 'master' of http://wagnertech.de/git/mfinanz
[mfinanz.git] / SL / DB / MetaSetup / Order.pm
index fa4230f3e7df45748c5b542a2806020e25666602..ba136e1036acd667ead88daac9db610772932eb3 100644 (file)
@@ -4,47 +4,55 @@ package SL::DB::Order;
 
 use strict;
 
-use base qw(SL::DB::Object);
+use parent qw(SL::DB::Object);
 
 __PACKAGE__->meta->table('oe');
 
 __PACKAGE__->meta->columns(
-  id                      => { type => 'integer', not_null => 1, sequence => 'id' },
-  ordnumber               => { type => 'text', not_null => 1 },
-  transdate               => { type => 'date', default => 'now' },
-  vendor_id               => { type => 'integer' },
-  customer_id             => { type => 'integer' },
-  amount                  => { type => 'numeric', precision => 5, scale => 15 },
-  netamount               => { type => 'numeric', precision => 5, scale => 15 },
-  reqdate                 => { type => 'date' },
-  taxincluded             => { type => 'boolean' },
-  shippingpoint           => { type => 'text' },
-  notes                   => { type => 'text' },
-  employee_id             => { type => 'integer' },
-  closed                  => { type => 'boolean', default => 'false' },
-  quotation               => { type => 'boolean', default => 'false' },
-  quonumber               => { type => 'text' },
-  cusordnumber            => { type => 'text' },
-  intnotes                => { type => 'text' },
-  department_id           => { type => 'integer' },
-  itime                   => { type => 'timestamp', default => 'now()' },
-  mtime                   => { type => 'timestamp' },
-  shipvia                 => { type => 'text' },
-  cp_id                   => { type => 'integer' },
-  language_id             => { type => 'integer' },
-  payment_id              => { type => 'integer' },
-  delivery_customer_id    => { type => 'integer' },
-  delivery_vendor_id      => { type => 'integer' },
-  taxzone_id              => { type => 'integer' },
-  proforma                => { type => 'boolean', default => 'false' },
-  shipto_id               => { type => 'integer' },
-  delivered               => { type => 'boolean', default => 'false' },
-  globalproject_id        => { type => 'integer' },
-  salesman_id             => { type => 'integer' },
-  transaction_description => { type => 'text' },
-  marge_total             => { type => 'numeric', precision => 5, scale => 15 },
-  marge_percent           => { type => 'numeric', precision => 5, scale => 15 },
-  currency_id             => { type => 'integer', not_null => 1 },
+  amount                     => { type => 'numeric', precision => 15, scale => 5 },
+  billing_address_id         => { type => 'integer' },
+  closed                     => { type => 'boolean', default => 'false' },
+  cp_id                      => { type => 'integer' },
+  currency_id                => { type => 'integer', not_null => 1 },
+  cusordnumber               => { type => 'text' },
+  customer_id                => { type => 'integer' },
+  delivered                  => { type => 'boolean', default => 'false' },
+  delivery_customer_id       => { type => 'integer' },
+  delivery_term_id           => { type => 'integer' },
+  delivery_vendor_id         => { type => 'integer' },
+  department_id              => { type => 'integer' },
+  employee_id                => { type => 'integer' },
+  exchangerate               => { type => 'numeric', precision => 15, scale => 5 },
+  expected_billing_date      => { type => 'date' },
+  globalproject_id           => { type => 'integer' },
+  id                         => { type => 'integer', not_null => 1, sequence => 'id' },
+  intnotes                   => { type => 'text' },
+  itime                      => { type => 'timestamp', default => 'now()' },
+  language_id                => { type => 'integer' },
+  marge_percent              => { type => 'numeric', precision => 15, scale => 5 },
+  marge_total                => { type => 'numeric', precision => 15, scale => 5 },
+  mtime                      => { type => 'timestamp' },
+  netamount                  => { type => 'numeric', precision => 15, scale => 5 },
+  notes                      => { type => 'text' },
+  order_probability          => { type => 'integer', default => '0', not_null => 1 },
+  order_status_id            => { type => 'integer' },
+  ordnumber                  => { type => 'text', not_null => 1 },
+  payment_id                 => { type => 'integer' },
+  proforma                   => { type => 'boolean', default => 'false' },
+  quonumber                  => { type => 'text' },
+  record_type                => { type => 'enum', check_in => [ 'request_quotation', 'sales_quotation', 'purchase_quotation_intake', 'purchase_order', 'sales_order_intake', 'sales_order', 'purchase_order_confirmation' ], db_type => 'order_types', not_null => 1 },
+  reqdate                    => { type => 'date' },
+  salesman_id                => { type => 'integer' },
+  shippingpoint              => { type => 'text' },
+  shipto_id                  => { type => 'integer' },
+  shipvia                    => { type => 'text' },
+  tax_point                  => { type => 'date' },
+  taxincluded                => { type => 'boolean' },
+  taxzone_id                 => { type => 'integer', not_null => 1 },
+  transaction_description    => { type => 'text' },
+  transdate                  => { type => 'date', default => 'now' },
+  vendor_confirmation_number => { type => 'text' },
+  vendor_id                  => { type => 'integer' },
 );
 
 __PACKAGE__->meta->primary_key_columns([ 'id' ]);
@@ -52,6 +60,11 @@ __PACKAGE__->meta->primary_key_columns([ 'id' ]);
 __PACKAGE__->meta->allow_inline_column_values(1);
 
 __PACKAGE__->meta->foreign_keys(
+  billing_address => {
+    class       => 'SL::DB::AdditionalBillingAddress',
+    key_columns => { billing_address_id => 'id' },
+  },
+
   contact => {
     class       => 'SL::DB::Contact',
     key_columns => { cp_id => 'cp_id' },
@@ -72,6 +85,11 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { delivery_customer_id => 'id' },
   },
 
+  delivery_term => {
+    class       => 'SL::DB::DeliveryTerm',
+    key_columns => { delivery_term_id => 'id' },
+  },
+
   delivery_vendor => {
     class       => 'SL::DB::Vendor',
     key_columns => { delivery_vendor_id => 'id' },
@@ -97,7 +115,12 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { language_id => 'id' },
   },
 
-  payment => {
+  order_status => {
+    class       => 'SL::DB::OrderStatus',
+    key_columns => { order_status_id => 'id' },
+  },
+
+  payment_terms => {
     class       => 'SL::DB::PaymentTerm',
     key_columns => { payment_id => 'id' },
   },
@@ -112,13 +135,16 @@ __PACKAGE__->meta->foreign_keys(
     key_columns => { shipto_id => 'shipto_id' },
   },
 
+  taxzone => {
+    class       => 'SL::DB::TaxZone',
+    key_columns => { taxzone_id => 'id' },
+  },
+
   vendor => {
     class       => 'SL::DB::Vendor',
     key_columns => { vendor_id => 'id' },
   },
 );
 
-# __PACKAGE__->meta->initialize;
-
 1;
 ;