]> wagnertech.de Git - mfinanz.git/blobdiff - SL/TransNumber.pm
Merge branch 'master' of http://wagnertech.de/git/mfinanz
[mfinanz.git] / SL / TransNumber.pm
index b6fa365e83984ed6de58b40c4037f69cf4b266c8..e19c111ec4bc4cbde49ae9b75c93de0409332aef 100644 (file)
@@ -17,7 +17,7 @@ use Rose::Object::MakeMethods::Generic
 );
 
 my @SUPPORTED_TYPES = (
-  qw(invoice invoice_for_advance_payment final_invoice credit_note customer vendor sales_delivery_order purchase_delivery_order sales_order purchase_order sales_quotation request_quotation part service assembly assortment letter),
+  qw(invoice invoice_for_advance_payment final_invoice credit_note customer vendor sales_delivery_order purchase_delivery_order sales_order_intake sales_order purchase_order purchase_order_confirmation sales_quotation request_quotation purchase_quotation_intake part service assembly assortment letter),
   @{ SL::DB::DeliveryOrder::TypeData::valid_types() },
 );
 
@@ -52,10 +52,10 @@ sub _get_filters {
     $filters{table}         = $type;
 
   } elsif ($type =~ /_delivery_order$/ && SL::DB::DeliveryOrder::TypeData::is_valid_type($type)) {
-    $filters{trans_number}  = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'nr_key'),
-    $filters{numberfield}   = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'transnumber'),
+    $filters{trans_number}  = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'nr_key');
+    $filters{numberfield}   = SL::DB::DeliveryOrder::TypeData::get3($type, 'properties', 'transnumber');
     $filters{table}         = "delivery_orders";
-    $filters{where}         = "order_type = ?";
+    $filters{where}         = "record_type = ?";
     $filters{values}        = [ $::form->{type} ];
 
   } elsif ($type =~ /_order$/) {
@@ -65,6 +65,20 @@ sub _get_filters {
     $filters{where}         = 'NOT COALESCE(quotation, FALSE)';
     $filters{where}        .= $type =~ /^sales/ ? ' AND (customer_id IS NOT NULL)' : ' AND (vendor_id IS NOT NULL)';
 
+  } elsif ($type =~ /^sales_order_intake$/) {
+    $filters{trans_number}  = "ordnumber";
+    $filters{numberfield}   = "soinumber";
+    $filters{table}         = "oe";
+    $filters{where}         = 'NOT COALESCE(quotation, FALSE)';
+    $filters{where}        .= $type =~ /^sales/ ? ' AND (customer_id IS NOT NULL)' : ' AND (vendor_id IS NOT NULL)';
+
+  } elsif ($type =~ /^purchase_order_confirmation$/) {
+    $filters{trans_number}  = "ordnumber";
+    $filters{numberfield}   = "pocnumber";
+    $filters{table}         = "oe";
+    $filters{where}         = 'record_type = ?';
+    $filters{values}        = $type;
+
   } elsif ($type =~ /_quotation$/) {
     $filters{trans_number}  = "quonumber";
     $filters{numberfield}   = $type eq 'sales_quotation' ? "sqnumber" : "rfqnumber";
@@ -72,6 +86,12 @@ sub _get_filters {
     $filters{where}         = 'COALESCE(quotation, FALSE)';
     $filters{where}        .= $type =~ /^sales/ ? ' AND (customer_id IS NOT NULL)' : ' AND (vendor_id IS NOT NULL)';
 
+  } elsif ($type =~ /^purchase_quotation_intake$/) {
+    $filters{trans_number}  = "quonumber";
+    $filters{numberfield}   = "pqinumber";
+    $filters{table}         = "oe";
+    $filters{where}         = 'COALESCE(quotation, FALSE) AND (vendor_id IS NOT NULL)';
+
   } elsif ($type =~ /^(part|service|assembly|assortment)$/) {
     $filters{trans_number}  = "partnumber";
     my %numberfield_hash = ( service    => 'servicenumber',