Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / SL / DB / Assembly.pm
index 2231214..fd645c2 100644 (file)
@@ -1,23 +1,33 @@
-# This file has been auto-generated only because it didn't exist.
-# Feel free to modify it at will; it will not be overwritten automatically.
-
 package SL::DB::Assembly;
 
 use strict;
 
 use SL::DB::MetaSetup::Assembly;
 
-__PACKAGE__->meta->add_relationships(
-  part => {
-    type         => 'many to one',
-    class        => 'SL::DB::Part',
-    column_map   => { parts_id => 'id' },
-  },
-);
-
 # Creates get_all, get_all_count, get_all_iterator, delete_all and update_all.
 __PACKAGE__->meta->make_manager_class;
 
 __PACKAGE__->meta->initialize;
 
+sub linetotal_sellprice {
+  my ($self) = @_;
+
+  return 0 unless $self->qty > 0 and $self->part->sellprice > 0;
+  return $self->qty * $self->part->sellprice / ( $self->part->price_factor_id ? $self->part->price_factor->factor : 1 );
+}
+
+sub linetotal_lastcost {
+  my ($self) = @_;
+
+  return 0 unless $self->qty > 0 and $self->part->lastcost > 0;
+  return $self->qty * $self->part->lastcost / ( $self->part->price_factor_id ? $self->part->price_factor->factor : 1 );
+}
+
+sub linetotal_weight {
+  my ($self) = @_;
+
+  return 0 unless $self->qty > 0 and ($self->part->weight||0) > 0;
+  return $self->qty * $self->part->weight;
+}
+
 1;