From 630241a98f7e0d54783c4acdce463e5f8782866c Mon Sep 17 00:00:00 2001 From: scottmk Date: Tue, 12 Oct 2010 13:40:14 +0000 Subject: [PATCH] Incorporate upgrade # 0433 into the consolidated upgrade script. M Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql git-svn-id: svn://svn.open-ils.org/ILS/trunk@18277 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql | 63 ++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql b/Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql index 893327ae0b..04bdab6d73 100644 --- a/Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql +++ b/Open-ILS/src/sql/Pg/1.6.1-2.0-upgrade-db.sql @@ -16,7 +16,7 @@ BEGIN; -- Highest-numbered individual upgrade script incorporated herein: -INSERT INTO config.upgrade_log (version) VALUES ('0428'); +INSERT INTO config.upgrade_log (version) VALUES ('0433'); -- Recreate one of the constraints that we just dropped, -- under a different name: @@ -3259,8 +3259,19 @@ INSERT INTO action_trigger.environment ( INSERT INTO action_trigger.event_definition (id, active, owner, name, hook, validator, reactor, cleanup_success, cleanup_failure, delay, delay_field, group_field, template) VALUES (23, true, 1, 'PO JEDI', 'acqpo.activated', 'Acq::PurchaseOrderEDIRequired', 'GeneratePurchaseOrderJEDI', NULL, NULL, '00:05:00', NULL, NULL, -$$[%- USE date -%] -[%# start JEDI document -%] +$$ +[%- USE date -%] +[%# start JEDI document + # Vendor specific kludges: + # BT - vendcode goes to NAD/BY *suffix* w/ 91 qualifier + # INGRAM - vendcode goes to NAD/BY *segment* w/ 91 qualifier (separately) + # BRODART - vendcode goes to FTX segment (lineitem level) +-%] +[%- +IF target.provider.edi_default.vendcode && target.provider.code == 'BRODART'; + xtra_ftx = target.provider.edi_default.vendcode; +END; +-%] [%- BLOCK big_block -%] { "recipient":"[% target.provider.san %]", @@ -3269,23 +3280,27 @@ $$[%- USE date -%] "ORDERS":[ "order", { "po_number":[% target.id %], "date":"[% date.format(date.now, '%Y%m%d') %]", - "buyer":[{ - [%- IF target.provider.edi_default.vendcode -%] - "id":"[% target.ordering_agency.mailing_address.san _ ' ' _ target.provider.edi_default.vendcode %]", - "id-qualifier": 91 + "buyer":[ + [% IF target.provider.edi_default.vendcode && (target.provider.code == 'BT' || target.provider.name.match('(?i)^BAKER & TAYLOR')) -%] + {"id-qualifier": 91, "id":"[% target.ordering_agency.mailing_address.san _ ' ' _ target.provider.edi_default.vendcode %]"} + [%- ELSIF target.provider.edi_default.vendcode && target.provider.code == 'INGRAM' -%] + {"id":"[% target.ordering_agency.mailing_address.san %]"}, + {"id-qualifier": 91, "id":"[% target.provider.edi_default.vendcode %]"} [%- ELSE -%] - "id":"[% target.ordering_agency.mailing_address.san %]" - [%- END -%] - }], - "vendor":[ + {"id":"[% target.ordering_agency.mailing_address.san %]"} + [%- END -%] + ], + "vendor":[ [%- # target.provider.name (target.provider.id) -%] "[% target.provider.san %]", {"id-qualifier": 92, "id":"[% target.provider.id %]"} ], "currency":"[% target.provider.currency_type %]", + "items":[ - [% FOR li IN target.lineitems %] + [%- FOR li IN target.lineitems %] { + "line_index":"[% li.id %]", "identifiers":[ [%-# li.isbns = helpers.get_li_isbns(li.attributes) %] [% FOR isbn IN helpers.get_li_isbns(li.attributes) -%] [% IF isbn.length == 13 -%] @@ -3294,28 +3309,40 @@ $$[%- USE date -%] {"id-qualifier":"IB","id":"[% isbn %]"}, [%- END %] [% END %] - {"id-qualifier":"SA","id":"[% li.id %]"} + {"id-qualifier":"IN","id":"[% li.id %]"} ], "price":[% li.estimated_unit_price || '0.00' %], "desc":[ - {"BTI":"[% helpers.get_li_attr('title', '', li.attributes) %]"}, + {"BTI":"[% helpers.get_li_attr('title', '', li.attributes) %]"}, {"BPU":"[% helpers.get_li_attr('publisher', '', li.attributes) %]"}, {"BPD":"[% helpers.get_li_attr('pubdate', '', li.attributes) %]"}, {"BPH":"[% helpers.get_li_attr('pagination','', li.attributes) %]"} ], + [%- ftx_vals = []; + FOR note IN li.lineitem_notes; + NEXT UNLESS note.vendor_public == 't'; + ftx_vals.push(note.value); + END; + IF xtra_ftx; ftx_vals.unshift(xtra_ftx); END; + IF ftx_vals.size == 0; ftx_vals.unshift(''); END; # BT needs FTX+LIN for every LI, even if it is an empty one + -%] + + "free-text":[ + [% FOR note IN ftx_vals -%] "[% note %]"[% UNLESS loop.last %], [% END %][% END %] + ], "quantity":[% li.lineitem_details.size %] }[% UNLESS loop.last %],[% END %] [%-# TODO: lineitem details (later) -%] [% END %] ], "line_items":[% target.lineitems.size %] - }] [% # close ORDERS array %] - }] [% # close body array %] + }] [%# close ORDERS array %] + }] [%# close body array %] } [% END %] [% tempo = PROCESS big_block; helpers.escape_json(tempo) %] -$$ -); + +$$); INSERT INTO action_trigger.environment (event_def, path) VALUES (23, 'lineitems.attributes'), -- 2.11.0