comee_core 0.3.20 → 0.3.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5800c13672eb17e44ca33d72b8793090222e15e35a1b3b006fcdbb8394e1440c
4
- data.tar.gz: d3c846baacc27f192b2bc54cb009b98bccdc9958dc3e1a617bcbf8476c6d54c5
3
+ metadata.gz: 1fab2298e1068d07c363f1b68294580c1083674dd2b8e39c138a9915a66e95c5
4
+ data.tar.gz: 28eee2c59364a03df98d8e8dcf64f5cd1077f6b1c3bd787a27c668ead48bbda2
5
5
  SHA512:
6
- metadata.gz: 6c2a9a3381044970f4bc3a23459d3bb5438e226e8ff0265de16a952c9939dd6e88f369a453ab54d8398301d464b305500b4cc1c6405553437a4dd0514751ef5c
7
- data.tar.gz: 2f18c9811f6165ce75f2bfd6cd06f300043e9699ad56b282ca5c3f87e10f83f5df7bf1d1d98a00e909462fca97547a5dd27e72c5a12b358cd04948a15c6f1948
6
+ metadata.gz: 786348f507b5a0c8ac4908c07fa36d946dbd938a56fdca4e2f197677532b8ceca183b8228d004ba2c43c825261542439921f26bb05b8221d63b7930fbd20ebb3
7
+ data.tar.gz: 3fe9e3c69f795418bcc608571c0ef8ea1270e0154d43dd7cf88481d00a527883786f8fe58d5ba3c05fd83fb5193251f5e91d5b51068bae3cded9e31c6d4d01f7
@@ -13,41 +13,26 @@ module Comee
13
13
  def preprocess_data(xml: false)
14
14
  @ids.each do |id|
15
15
  @line_items = if xml
16
- shipment_items = Comee::Core::ShipmentItem.includes(sales_order_item: :sales_order)
17
- .where(sales_order_item: {sales_order_id: id})
18
- sales_order_item_ids = shipment_items.map { |item| item.sales_order_item_id }
19
- Comee::Core::SalesOrderItem.where(id: sales_order_item_ids)
16
+ Comee::Core::ShipmentInstructionItem.includes(shipment_item: {sales_order_item: :sales_order})
17
+ .where(delivery_note_id: id)
20
18
  else
21
19
  Comee::Core::ShipmentInstructionItem.includes(shipment_item: {sales_order_item: :sales_order})
22
20
  .where(shipment_instruction_id: id)
23
21
  end
24
- sales_order_ids = if xml
25
- @line_items.map(&:sales_order_id)
26
- else
27
- @line_items.map { |item| item.shipment_item.sales_order_item.sales_order.id }
28
- end
22
+ sales_order_ids = @line_items.map { |item| item.shipment_item.sales_order_item.sales_order.id }
23
+
29
24
  @customs_details = Comee::Core::CustomsDetail.includes(sales_order: :customer_order).where(sales_order_id: sales_order_ids)
30
25
  @transportation_routes = []
31
26
  @position_data = []
32
27
 
33
28
  packaging_types = @line_items.map do |line_item|
34
- if xml
35
- Comee::Core::ShipmentItem.find_by(sales_order_item_id: line_item.id).package_type.split(" ")[0]
36
- else
37
- line_item.shipment_item.package_type.split(" ")[0]
38
- end
29
+ line_item.shipment_item.package_type.split(" ")[0]
39
30
  end.uniq
40
31
 
41
32
  @no_of_packages = packaging_types.count
42
33
  @package_type = packaging_types.count == 1 && packaging_types.first == "PX" ? "PX" : "PK"
43
34
  @total_weight = @line_items.sum do |line_item|
44
- if xml
45
- xml_line = Comee::Core::ShipmentInstructionItem.where(shipment_item_id: Comee::Core::ShipmentItem
46
- .find_by(sales_order_item_id: line_item.id).id).first
47
- (xml_line.quantity * xml_line.weight).round(2)
48
- else
49
- (line_item.quantity * line_item.weight).round(2)
50
- end
35
+ (line_item.quantity * line_item.weight).round(2)
51
36
  end
52
37
 
53
38
  raise(StandardError, "No customs detail filed for sales order") unless @customs_details.present?
@@ -63,7 +48,11 @@ module Comee
63
48
 
64
49
  @data = xml ? generate_xml : prepare_data
65
50
  end
66
- xml ? @data : JSON(@data)
51
+ if xml
52
+ {xml_data: @data, file_name: "#{@customs_details[0].sales_order.customer_order.order_number}_Ausfuhr"}
53
+ else
54
+ JSON(@data)
55
+ end
67
56
  end
68
57
 
69
58
  def position_data
@@ -81,7 +70,7 @@ module Comee
81
70
  "wareWarenbezeichnung": si.sales_order_item.product.customs_description,
82
71
  "wareRegistriernummerFremdsystem": customs_detail.sales_order.customer_order.order_number,
83
72
  "wareUrsprungsbundesland": mp.state_of_origin.split(" ")[0],
84
- "wareEigenmasse": line_item.weight * line_item.quantity,
73
+ "wareEigenmasse": (line_item.weight * line_item.quantity).round(2),
85
74
  "wareRohmasse": index.zero? ? @total_weight : 0,
86
75
  "ausfuhrLand": "DE",
87
76
  "ursprungsland": mp.country_of_origin.code,
@@ -193,21 +182,22 @@ module Comee
193
182
 
194
183
  def xml_position_data(xml)
195
184
  @line_items.each_with_index do |line_item, index|
196
- customs_detail = @customs_details.find_by(sales_order_id: line_item.sales_order_id)
185
+ sales_order_item = line_item.shipment_item.sales_order_item
186
+ customs_detail = @customs_details.find_by(sales_order_id: sales_order_item.sales_order_id)
197
187
  mp = Comee::Core::MasterPrice.includes(:country_of_origin).find_by(primary: true,
198
- product_id: line_item.product.id)
188
+ product_id: sales_order_item.product.id)
199
189
 
200
190
  xml.Position do
201
191
  xml.Positionsnummer (index + 1).to_s
202
- xml.Warenbezeichnung line_item.product.customs_description
192
+ xml.Warenbezeichnung sales_order_item.product.customs_description
203
193
  xml.Registriernummer_Fremdsystem customs_detail.sales_order.customer_order.order_number
204
194
  xml.Kennnummer_der_Sendung @customs_details.map(&:sales_order).map(&:customer_order).map(&:consignee).join(" ")
205
195
  xml.Ursprungsbundesland mp.state_of_origin.split(" ")[0]
206
196
  xml.Ursprungsland mp.country_of_origin.code
207
- xml.Eigenmasse line_item.product.weight * line_item.quantity
197
+ xml.Eigenmasse (sales_order_item.product.weight * sales_order_item.quantity).round(2)
208
198
  xml.Rohmasse index.zero? ? @total_weight : 0
209
199
  xml.Gefahrgutnummer_UNDG
210
- xml.Warennummer_KN8 line_item.product.hs_code
200
+ xml.Warennummer_KN8 sales_order_item.product.hs_code
211
201
  xml.Verfahren do
212
202
  xml.angemeldetes "10"
213
203
  xml.vorangegangenes "00"
@@ -215,9 +205,9 @@ module Comee
215
205
  xml.Ausfuhrerstattung
216
206
  end
217
207
  xml.Aussenhandelsstatistik do
218
- xml.Menge line_item.quantity
219
- xml.Wert (line_item.quantity *
220
- line_item.price * 1.05).round(2).to_i
208
+ xml.Menge sales_order_item.quantity
209
+ xml.Wert (sales_order_item.quantity *
210
+ sales_order_item.price * 1.05).round(2).to_i
221
211
  end
222
212
  xml.Vorpapier do
223
213
  xml.Typ
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.3.20".freeze
3
+ VERSION = "0.3.21".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.20
4
+ version: 0.3.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.