From a173c7841cec5c12afb6bac5b5303b3e64a8c728 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Thu, 25 Feb 2021 10:59:24 +0000 Subject: [PATCH] Bug 27793: Store FTX free text in vendor note This is important for proquest ordering to distinguish types of material. FTX segment from quote is stored as vendor note. Contents of vendornote are included in the order FTX segment. Signed-off-by: Kyle M Hall --- Koha/EDI.pm | 6 ++++-- Koha/Edifact/Order.pm | 16 ++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/Koha/EDI.pm b/Koha/EDI.pm index af31039772..5857f4eff7 100644 --- a/Koha/EDI.pm +++ b/Koha/EDI.pm @@ -697,7 +697,7 @@ sub quote_item { quantity => $order_quantity, quantityreceived => 0, order_vendornote => q{}, - order_internalnote => $order_note, + order_internalnote => q{}, replacementprice => $price, rrp_tax_included => $price, rrp_tax_excluded => $price, @@ -736,7 +736,9 @@ sub quote_item { $txt .= $si; ++$occ; } - $order_hash->{order_vendornote} = $txt; + } + if ($order_note) { + $order_hash->{order_vendornote} = $order_note; } if ( $item->internal_notes() ) { diff --git a/Koha/Edifact/Order.pm b/Koha/Edifact/Order.pm index fa356b0928..f1648c6ab4 100644 --- a/Koha/Edifact/Order.pm +++ b/Koha/Edifact/Order.pm @@ -408,10 +408,6 @@ sub order_line { } my $budget = GetBudget( $orderline->budget_id ); my $ol_fields = { budget_code => $budget->{budget_code}, }; - if ( $orderline->order_vendornote ) { - $ol_fields->{servicing_instruction} = $orderline->order_vendornote; - chomp $ol_fields->{servicing_instruction}; - } my $item_fields = []; for my $item (@items) { @@ -434,8 +430,16 @@ sub order_line { # TBD what if #items exceeds quantity - # FTX free text for current orderline TBD - # dont really have a special instructions field to encode here + # FTX free text for current orderline + # Pass vendor note in FTX free text segment + if ( $orderline->order_vendornote ) { + my $vendornote = $orderline->order_vendornote; + chomp $vendornote; + my $ftx = 'FTX+LIN+++'; + $ftx .= $vendornote; + $ftx .= $seg_terminator; + $self->add_seg($ftx); + } # Encode notes here # PRI-CUX-DTM unit price on which order is placed : optional # Coutts read this as 0.00 if not present -- 2.20.1