lib/eost/folhacalculo.rb in eost-0.1.7 vs lib/eost/folhacalculo.rb in eost-0.1.8
- old
+ new
@@ -1,76 +1,79 @@
# frozen_string_literal: true
module Eost
- HT = %w[block_num block_time contract action
- from to amount symbol memo data].freeze
+ HT = %w[block_num block_time contract action from to amount symbol memo data].freeze
R1 = '%<v5>-12.12s %<v6>-12.12s'
R2 = '%<v7>10.5f %<v8>-8.8s'
# trabalhar com folhas calculo bloks.io & dados no bigquery
class Bigquery
- # processa linhas folha calculo
- def processa
+ # processa folha calculo
+ def processa_csv
n = 0
folha.sheet(0).parse(header_search: HT) do |r|
n += 1
- puts n == 1 ? "\n" + folha.info : processa_row(r)
+ puts n == 1 ? "\n#{folha.info}" : processa_row(r)
end
end
# processa linha folha calculo para arquivo
#
# @param [Hash] has da linha em processamento
# @return [String] texto informativo do processamento
def processa_row(has)
@row = has.values
- sql_select
- if row_naoexiste? then row_str + (sql_insert == 1 ? ' NOVA' : ' ERRO')
+
+ # array.count = 0 ==> pode carregar esta linha
+ # array.count >= 1 ==> nao carregar esta linha
+ sql("select #{eos_fields} #{sql_where}", [{}, {}])
+
+ if row_naoexiste? then row_str + (eos_insert_csv == 1 ? ' NOVA' : ' ERRO')
elsif row_existe? then row_existente
else row_multiplas
end
end
# @return [String] linha folha calculo formatada
def row_str
- "#{row[0]} #{DateTime.parse(row[1]).strftime(DF)} " + row_r1 + row_r2
+ "#{row[0]} #{Time.parse(row[1]).strftime(DF)} " + row_r1 + row_r2
end
# @return [String] linha folha calculo formatada
def row_r1
format(R1, v5: row[4], v6: row[5])
end
# @return [String] linha folha calculo formatada
def row_r2
- format(R2, v7: row[6].to_f, v8: row[7])
+ format(R2, v7: Float(row[6]), v8: row[7])
end
# @return [String] linha folha calculo existente
def row_existente
- d = linha[:e] ? sql_delete : 0
- row_str + ' EXISTENTE' + str_apagadas(d)
+ d = linha[:e] ? dml("delete #{sql_where}") : 0
+ "#{row_str} EXISTENTE#{str_apagadas(d)}"
end
# @return [String] linha folha calculo existencia multipla
def row_multiplas
- d = linha[:m] ? sql_delete : 0
- row_str + ' MULTIPLAS ' + sql.count.to_s + str_apagadas(d)
+ d = linha[:m] ? dml("delete #{sql_where}") : 0
+ "#{row_str} MULTIPLAS #{sql.count}#{str_apagadas(d)}"
end
- # @param [Integer] numero linhas apagadas
+ # @param [Integer] num numero linhas apagadas
# @return [String] texto formatado linhas apagadas
def str_apagadas(num)
- num.positive? ? ' & ' + num.to_s + ' APAGADA(S) ' : ' '
+ num.positive? ? " & #{num} APAGADA(S) " : ' '
end
# @return [Boolean] linha folha calculo nao existe no bigquery?
def row_naoexiste?
- sql.count.zero?
+ sqr.count.zero?
end
# @return [Boolean] linha folha calculo existe no bigquery?
def row_existe?
- sql.count == 1
+ sqr.count == 1
end
end
end