Koha-clms/Koha/Edifact
Martin Renvoize 4f2829c639
Bug 30144: Process and send servicing instructions in EDI messages
This patch updates the EDIFACT processing to handle multiple servicing
instruction groups in both incoming quotes and outgoing orders.

Changes to Koha/EDI.pm (quote_item):
- Reads both LVC (coded) and LVT (freetext) instructions from incoming quotes
- Validates LVC codes against EDIFACT_SI authorized values
- Stores instructions as JSON array structure
- Groups instructions that work together

Changes to Koha/Edifact/Order.pm (gir_segments):
- Parses JSON servicing instruction data from order
- Generates multiple GIR segments for outgoing orders
- Each instruction becomes a separate GIR element
- Logs JSON parse errors to EDI log using Koha::Logger
- Fixed element counter reset bug when segments exceed 5 elements

Structure allows vendors to specify:
- Single coded instruction: [[{type:"LVC",value:"BB"}]]
- Single text instruction: [[{type:"LVT",value:"Handle with care"}]]
- Combined instructions: [[{type:"LVC",value:"BB"},{type:"LVT",value:"Apply on spine"}]]
- Multiple services: [[{type:"LVC",value:"BB"}],[{type:"LVC",value:"BI"}]]

Test plan:
1. Receive EDIFACT quote with servicing instructions
2. Verify instructions are stored correctly in aqorders
3. Create EDI order from basket
4. Verify GIR segments are generated correctly in outgoing message
5. Check EDI log for any JSON parse errors

Sponsored-by: Martin Renvoize <martin.renvoize@gmail.com>
Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
2026-08-28 16:36:21 +00:00
..
File Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
File.pm Bug 40383: (follow-up) Fix failing EdifactModal Cypress tests 2026-05-21 10:49:43 -06:00
Files.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Line.pm Bug 40391: Add support for GIR:LSL (Library Sub-Location) in EDIFACT processing 2026-01-12 10:53:29 -07:00
Message.pm Bug 20253: Optionally use buyer's purchase order number from EDIFACT quote as basket name 2025-11-03 14:13:37 -07:00
Order.pm Bug 30144: Process and send servicing instructions in EDI messages 2026-08-28 16:36:21 +00:00
Segment.pm Bug 40163: Fix several http addresses in the code docs 2025-09-23 16:21:29 -06:00
Transport.pm Bug 38489: Update Koha::Edifact::Transport to use new file transport system 2025-10-14 14:51:48 -06:00