teste #7
@@ -146,9 +146,9 @@ module SimpliRoute
|
|||||||
[base, cep].compact.join('|')
|
[base, cep].compact.join('|')
|
||||||
end
|
end
|
||||||
|
|
||||||
# Coordenada como Float (com PONTO). O rastreio pode trazer texto com vírgula
|
# Coordenada como Float. O rastreio pode trazer texto com vírgula decimal
|
||||||
# decimal ("-23,62"); coordenadas não usam separador de milhar, então trocar
|
# ("-23,62"); coordenadas não usam separador de milhar, então trocar a
|
||||||
# a vírgula por ponto é seguro e garante a saída numérica (ponto) no .xlsx.
|
# vírgula por ponto é seguro — o Float#to_s do xlsx sai sempre com PONTO.
|
||||||
def to_coord(valor)
|
def to_coord(valor)
|
||||||
Float(valor.to_s.strip.tr(',', '.'))
|
Float(valor.to_s.strip.tr(',', '.'))
|
||||||
rescue ArgumentError, TypeError
|
rescue ArgumentError, TypeError
|
||||||
|
|||||||
@@ -59,8 +59,10 @@ module SimpliRoute
|
|||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
# Monta [valores, tipos] de uma linha (A..Z). Lat/long numéricos quando há
|
# Monta [valores, tipos] de uma linha (A..Z). Lat/long como TEXTO com ponto
|
||||||
# match; D/E como texto ("08:00"/"18:00"); NF/ref como texto (igual ao exemplo).
|
# decimal — se fossem numéricas, Excel/LibreOffice em pt-BR exibiria vírgula
|
||||||
|
# (locale) e o cliente subiria "-23,57" pro SimpliRoute; D/E como texto
|
||||||
|
# ("08:00"/"18:00"); NF/ref como texto (igual ao exemplo).
|
||||||
def linha(l)
|
def linha(l)
|
||||||
lat = l[:latitude]
|
lat = l[:latitude]
|
||||||
lng = l[:longitude]
|
lng = l[:longitude]
|
||||||
@@ -72,8 +74,8 @@ module SimpliRoute
|
|||||||
l[:janela_fim], # E
|
l[:janela_fim], # E
|
||||||
l[:tempo], # F
|
l[:tempo], # F
|
||||||
l[:anotacoes].to_s, # G
|
l[:anotacoes].to_s, # G
|
||||||
(lat.nil? ? '' : lat), # H
|
lat.to_s, # H
|
||||||
(lng.nil? ? '' : lng), # I
|
lng.to_s, # I
|
||||||
l[:referencia].to_s, # J
|
l[:referencia].to_s, # J
|
||||||
'', '', # K, L
|
'', '', # K, L
|
||||||
l[:contato].to_s, # M
|
l[:contato].to_s, # M
|
||||||
@@ -82,8 +84,8 @@ module SimpliRoute
|
|||||||
]
|
]
|
||||||
tipos = [
|
tipos = [
|
||||||
:string, :string, :integer, :string, :string, :integer, :string,
|
:string, :string, :integer, :string, :string, :integer, :string,
|
||||||
(lat.nil? ? :string : :float), # H
|
:string, # H
|
||||||
(lng.nil? ? :string : :float), # I
|
:string, # I
|
||||||
:string, :string, :string, :string, :string,
|
:string, :string, :string, :string, :string,
|
||||||
*Array.new(VAZIAS_FINAIS.size, :string)
|
*Array.new(VAZIAS_FINAIS.size, :string)
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user