Class: ArquivoCondicaoAmbientalDeTrabalho

Inherits:
Object
  • Object
show all
Includes:
ArquivoData
Defined in:
lib/odorico/arquivo_condicao_ambiental_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_de_inicio: { key: 'dtIniCondicao', type: Types::Date },
  tipo_de_estabelecimento: { key: 'localAmb', type: Types.Values('1') },
  descricao_do_setor: { key: 'dscSetor', type: Types::String },
  tipo_de_inscricao_do_estabelecimento: { key: 'infoAmb/tpInsc', type: Types.Values('1') },
  numero_de_inscricao_do_estabelecimento: { key: 'infoAmb/nrInsc', type: Types::String },
  descricao_das_atividades: { key: 'dscAtivDes', type: Types::String },
  observacoes_complementares: { key: 'obsCompl', type: Types::String.optional },
  e_social_recibo: { key: 'nrRecibo', type: Types::String },
  agentes_nocivos: { key: 'agNoc', attributes: {
    agente_nocivo_e_social_codigo: { key: 'codAgNoc', type: Types::String },
    descricao: { key: 'dscAgNoc', type: Types::String.optional },
    tipo_de_avaliacao: { key: 'tpAval', type: Types.Values(*%w[1 2]).optional },
    intensidade_da_exposicao: { key: 'intConc', type: Types::Decimal.optional },
    limite_de_tolerancia: { key: 'limTol', type: Types::Integer.optional },
    unidade_de_medida: { key: 'unMed', type: Types.Values(*(1..30).map(&:to_s)).optional },
    tecnica_de_medicao: { key: 'tecMedicao', type: Types::String.optional },
    implementa_medidas_de_protecao_coletiva: { key: 'utilizEPC', type: Types.Values(*%w[0 1 2]).optional },
    epcs_neutralizam_o_risco: { key: 'eficEpc', type: Types::SNBool.optional },
    utilizacao_de_epi: { key: 'utilizEPI', type: Types.Values(*%w[0 1 2]).optional },
    epis_neutralizam_o_risco: { key: 'eficEpi', type: Types::SNBool.optional },
    epi_implementacao_de_medidas_de_protecao: { key: 'medProtecao', type: Types::SNBool.optional },
    epi_observadas_as_condicoes_de_funcionamento: { key: 'condFuncto', type: Types::SNBool.optional },
    epi_observado_o_uso_ininterrupto: { key: 'usoInint', type: Types::SNBool.optional },
    epi_observado_o_prazo_de_validade: { key: 'przValid', type: Types::SNBool.optional },
    epi_observada_a_periodicidade_de_troca: { key: 'periodicTroca', type: Types::SNBool.optional },
    epi_observada_a_higienizacao: { key: 'higienizacao', type: Types::SNBool.optional },
    epis: { key: 'epi', attributes: {
      certificado_de_aprovacao: { key: 'docAval', type: Types::String.optional },
      descricao: { key: 'dscEPI', type: Types::String.optional }
    } }
  } },
  responsaveis: { key: 'respReg', attributes: {
    cpf: { key: 'cpfResp', type: Types::String },
    orgao_de_classe: { key: 'ideOC', type: Types.Values(*%w[1 4 9]) },
    orgao_de_classe_outro_descricao: { key: 'dscOC', type: Types::String.optional },
    orgao_de_classe_numero: { key: 'nrOC', type: Types::String },
    orgao_de_classe_uf: { key: 'ufOC', type: Types::String }
  } }
}.freeze
ATRIBUTOS_IGNORADOS =
%w[
  Id
  verProc
  ideEmpregador/tpInsc
  ideEmpregador/nrInsc
  obsCompl
].freeze
ATRIBUTOS_NAO_SUPORTADOS =
{}.freeze
ATRIBUTOS_DESCARTADOS =
{}.freeze

Method Summary

Methods included from ArquivoData

#alertas, #atributos, #erros, #processar