X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FDeliveryPlan.pm;h=83081f4ec0443a6ec67cddd78074851d295d925d;hb=f46bab538d8953b357098ca4ff9ace670d9b0d55;hp=5937c5b7f5098e06d77fbe287b1852fd975f8a06;hpb=f46dfda018cac3aeaa549d678ad036d0cfff2e6d;p=kivitendo-erp.git diff --git a/SL/Controller/DeliveryPlan.pm b/SL/Controller/DeliveryPlan.pm index 5937c5b7f..83081f4ec 100644 --- a/SL/Controller/DeliveryPlan.pm +++ b/SL/Controller/DeliveryPlan.pm @@ -119,6 +119,26 @@ sub setup_for_list { rl.from_table ='oe' AND rl.to_table = 'delivery_orders' ) + + UNION ALL + + -- 5. In case someone deleted a line of the delivery_order there will be a record_link (4 fails) + -- but there won't be a delivery_order_items to find (3 fails too). Search for orphaned orderitems this way + SELECT oi.id FROM orderitems AS oi, oe, record_links AS rl + WHERE + rl.from_table = 'oe' AND + rl.to_table = 'delivery_orders' AND + + oi.trans_id = rl.from_id AND + oi.parts_id NOT IN ( + SELECT doi.parts_id FROM delivery_order_items AS doi WHERE doi.delivery_order_id = rl.to_id + ) AND + + oe.id = oi.trans_id AND + + oe.customer_id IS NOT NULL AND + (oe.quotation = 'f' OR oe.quotation IS NULL) AND + NOT oe.closed " ], ) ]; @@ -133,21 +153,21 @@ sub prepare_report { $self->{report} = $report; my @columns = qw(reqdate customer ordnumber partnumber description qty shipped_qty not_shipped_qty); - my @sortable = qw(reqdate customer ordnumber partnumber description ); + my @sortable = qw(reqdate customer ordnumber partnumber description); my %column_defs = ( reqdate => { sub => sub { $_[0]->reqdate_as_date || $_[0]->order->reqdate_as_date } }, description => { sub => sub { $_[0]->description }, - obj_link => sub { $self->link_to($_[0]->part) } }, + obj_link => sub { $self->link_to($_[0]->part) } }, partnumber => { sub => sub { $_[0]->part->partnumber }, - obj_link => sub { $self->link_to($_[0]->part) } }, + obj_link => sub { $self->link_to($_[0]->part) } }, qty => { sub => sub { $_[0]->qty_as_number . ' ' . $_[0]->unit } }, shipped_qty => { sub => sub { $::form->format_amount(\%::myconfig, $_[0]->shipped_qty, 2) . ' ' . $_[0]->unit } }, not_shipped_qty => { sub => sub { $::form->format_amount(\%::myconfig, $_[0]->qty - $_[0]->shipped_qty, 2) . ' ' . $_[0]->unit } }, ordnumber => { sub => sub { $_[0]->order->ordnumber }, - obj_link => sub { $self->link_to($_[0]->order) } }, + obj_link => sub { $self->link_to($_[0]->order) } }, customer => { sub => sub { $_[0]->order->customer->name }, - obj_link => sub { $self->link_to($_[0]->order->customer) } }, + obj_link => sub { $self->link_to($_[0]->order->customer) } }, ); map { $column_defs{$_}->{text} = $::locale->text( $self->get_sort_spec->{$_}->{title} ) } keys %column_defs; @@ -157,8 +177,8 @@ sub prepare_report { controller_class => 'DeliveryPlan', output_format => 'HTML', top_info_text => $::locale->text('Delivery Plan for currently outstanding sales orders'), - raw_top_info_text => $self->render('delivery_plan/report_top', { no_output => 1, partial => 1 }), - raw_bottom_info_text => $self->render('delivery_plan/report_bottom', { no_output => 1, partial => 1 }), + raw_top_info_text => $self->render('delivery_plan/report_top', { output => 0 }), + raw_bottom_info_text => $self->render('delivery_plan/report_bottom', { output => 0 }), title => $::locale->text('Delivery Plan'), allow_pdf_export => 1, allow_csv_export => 1,