-package SL::DB::Manager::OrderItem;
-
-use SL::DB::Helper::Paginated;
-use SL::DB::Helper::Sorted;
-
-sub _sort_spec {
- return ( columns => { delivery_date => [ 'deliverydate', ],
- description => [ 'lower(orderitems.description)', ],
- partnumber => [ 'part.partnumber', ],
- qty => [ 'qty' ],
- ordnumber => [ 'order.ordnumber' ],
- customer => [ 'lower(customer.name)', ],
- position => [ 'trans_id', 'runningnumber' ],
- transdate => [ 'transdate', 'lower(order.reqdate::text)' ],
- },
- default => [ 'position', 1 ],
- nulls => { }
- );
+sub shipped_qty {
+ my ($self, %params) = @_;
+
+ my $force = delete $params{force};
+
+ SL::Helper::ShippedQty->new(%params)->calculate($self)->write_to_objects if $force || !defined $self->{shipped_qty};
+
+ $self->{shipped_qty};
+}
+
+sub linked_delivery_order_items {
+ my ($self) = @_;
+
+ return $self->linked_records(direction => 'to', to => 'SL::DB::DeliveryOrderItem');