Class: ArquivoComunicacaoDeAcidenteDeTrabalho

Inherits:
Object
  • Object
show all
Includes:
ArquivoData
Defined in:
lib/odorico/arquivo_comunicacao_de_acidente_de_trabalho.rb

Constant Summary collapse

ATRIBUTOS =
{
  descricao_proc_emi: { key: 'procEmi', type: Types.Values(*%w[1 2 3 4 22]) },
  cpf_do_trabalhador: { key: 'cpfTrab', type: Types::String },
  matricula_do_trabalhador: { key: 'matricula', type: Types::String.optional },
  categoria_do_trabalhador: { key: 'codCateg', type: Types::CategoriaTrabalhadorTsv.optional },
  data_do_acidente: { key: 'dtAcid', type: Types::Date },
  tipo_do_acidente: { key: 'tpAcid', type: Types::Values(*%w[1 2 3]) },
  hora_do_acidente: { key: 'hrAcid', type: Types::String.optional },
  horas_trabalhadas_antes_do_acidente: { key: 'hrsTrabAntesAcid', type: Types::String.optional },
  tipo_de_cat: { key: 'tpCat', type: Types.Values(*%w[1 2 3]) },
  houve_obito: { key: 'indCatObito', type: Types::SNBool },
  data_do_obito: { key: 'dtObito', type: Types::Date.optional },
  houve_comunicado_a_policia: { key: 'indComunPolicia', type: Types::SNBool },
  situacao_geradora_e_social_codigo: { key: 'codSitGeradora', type: Types::String },
  iniciativa_da_cat: { key: 'iniciatCAT', type: Types.Values(*%w[1 2 3]) },
  tipo_de_local_do_acidente: { key: 'tpLocal', type: Types.Values(*%w[1 4 5 6 9]) },
  tipo_de_inscricao_do_local_do_acidente: { key: 'tpLocal', type: Types.Values('1') },
  numero_de_inscricao_do_local_do_acidente: { key: 'ideLocalAcid/nrInsc', type: Types::String.optional },
  logradouro: { key: 'dscLograd', type: Types::String },
  numero_do_logradouro: { key: 'nrLograd', type: Types::String },
  cep_logradouro: { key: 'cep', type: Types::String },
  municipio_codigo: { key: 'codMunic', type: Types::String },
  parte_atingida_e_social_codigo: { key: 'codParteAting', type: Types::String },
  parte_atingida_lateralidade: { key: 'lateralidade', type: Types.Values(*%w[0 1 2 3]) },
  agente_causador_e_social_codigo: { key: 'codAgntCausador', type: Types::String },
  atestado_medico_data_do_atendimento: { key: 'dtAtendimento', type: Types::Date },
  atestado_medico_hora_do_atendimento: { key: 'hrAtendimento', type: Types::String },
  atestado_medico_internacao: { key: 'indInternacao', type: Types::SNBool },
  atestado_medico_duracao: { key: 'durTrat', type: Types::Integer },
  atestado_medico_afastamento: { key: 'indAfast', type: Types::SNBool },
  atestado_medico_natureza_da_lesao_e_social_codigo: { key: 'dscLesao', type: Types::String },
  atestado_medico_cid: { key: 'codCID', type: Types::String },
  atestado_medico_emitente_nome: { key: 'nmEmit', type: Types::String },
  atestado_medico_emitente_orgao_de_classe: { key: 'ideOC', type: Types.Values(*%w[1 2 3]) },
  atestado_medico_emitente_orgao_de_classe_numero_de_inscricao: { key: 'nrOC', type: Types::String },
  atestado_medico_emitente_orgao_de_classe_uf: { key: 'ufOC', type: Types::String },
  cat_anterior_e_social_recibo: { key: 'nrRecCatOrig', type: Types::String },
  e_social_recibo: { key: 'nrRecibo', type: Types::String }
}.freeze
ATRIBUTOS_IGNORADOS =
%w[
  Id
  verProc
  ideEmpregador/tpInsc
  ideEmpregador/nrInsc
  obsCAT
  dscLocal
  tpLograd
  complemento
  bairro
  uf
  pais
  codPostal
  ideLocalAcid/tpInsc
  dscCompLesao
  diagProvavel
  observacao
].freeze
ATRIBUTOS_NAO_SUPORTADOS =
{}.freeze
ATRIBUTOS_DESCARTADOS =
{}.freeze

Method Summary

Methods included from ArquivoData

#alertas, #atributos, #erros, #processar