definitions/desadv/d01b.rb in eancom-1.4.0 vs definitions/desadv/d01b.rb in eancom-1.5.0

- old
+ new

@@ -1,8 +1,10 @@ +# frozen_string_literal: true + Eancom::Definition.create(name: 'D01B', type: :desadv) do |document, config| document.header do |header| - header.segment Eancom::Edifact::UNA.new() + header.segment Eancom::Edifact::UNA.new header.segment Eancom::Edifact::UNB.new( syntax_identifier: 'UNOC', syntax_version_number: '3', interchange_sender_identification: config.header.interchange_sender_identification, @@ -26,16 +28,14 @@ association_assigned_code: config.header.association_assigned_code ) end document.body do |body| - # Messages messages = config.body.messages - messages.each do |message| - + messages.each do |message| body.segment Eancom::Edifact::BGM.new( document_name_code: '351', document_identifier: message.document_identifier, message_function_code: '9' ) @@ -55,14 +55,14 @@ format: '204' ) end # Order Reference - if reference_identifier = message.order_number.reference_identifier + if order_number_buyer = message.order_number_buyer body.segment Eancom::Edifact::RFF.new( reference_code_qualifier: 'ON', - reference_identifier: reference_identifier + reference_identifier: order_number_buyer.reference_identifier ) end # Buyer if buyer = message.buyer @@ -143,20 +143,19 @@ items = message.items items.each_with_index do |item, index| total_quantity += item.quantity.to_i - body.segment Eancom::Edifact::LIN.new( - line_item_identifier_1: "#{index + 1}", + line_item_identifier_1: item.line_item_identifier_1, item_identifier: item.ean, item_type_identification_code: 'SRV' ) if additional_product_id = item.additional_product_id additional_product_id.each do |id| - if additional_information = id.additional_information + if (additional_information = id.additional_information) body.segment Eancom::Edifact::PIA.new( product_identifier_code_qualifier: '1', item_identifier_1: additional_information.item_identifier_1, item_type_identification_code_1: 'IN' ) @@ -170,36 +169,36 @@ code_list_responsible_agency_code_1: '9' ) body.segment Eancom::Edifact::QTY.new( quantity_type_code_qualifier: '12', - quantity: "#{item.despatch_quantity.quantity}" + quantity: item.despatch_quantity.quantity.to_s ) body.segment Eancom::Edifact::QTY.new( quantity_type_code_qualifier: '59', - quantity: "#{item.despatch_quantity.quantity}" + quantity: item.despatch_quantity.quantity.to_s ) - if order_number = message.order_number + if (order_number_buyer = message.order_number_buyer) body.segment Eancom::Edifact::RFF.new( reference_code_qualifier: 'ON', - reference_identifier: order_number.reference_identifier, - document_line_identifier: "#{(index + 1) * 10}" + reference_identifier: order_number_buyer.reference_identifier, + document_line_identifier: ((index + 1) * 10).to_s ) end end body.segment Eancom::Edifact::UNT.new( - number_of_segments_in_message: "#{document.total_segments + 2}", + number_of_segments_in_message: (document.total_segments + 2).to_s, message_reference_number: '1' ) - end + end end document.footer do |footer| footer.segment Eancom::Edifact::UNZ.new( interchange_control_count: '1', - interchange_control_reference: "#{config.header.interchange_control_reference}" + interchange_control_reference: config.header.interchange_control_reference.to_s ) end end