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