{% extends "base.html" %} {% block title %}Funcionário RH/Ponto{% endblock %} {% block content %}
{% set valor_matricula = funcionario.matricula if funcionario and (funcionario.matricula|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else '' %} {% set valor_local_trabalho = funcionario.local_trabalho if funcionario and (funcionario.local_trabalho|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.local_trabalho if empresa_vinculada_trabalho else '') or '') %} {% set valor_endereco_cep = funcionario.endereco_trabalho_cep if funcionario and (funcionario.endereco_trabalho_cep|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.endereco_trabalho_cep if empresa_vinculada_trabalho else '') or '') %} {% set valor_endereco_logradouro = funcionario.endereco_trabalho_logradouro if funcionario and (funcionario.endereco_trabalho_logradouro|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.endereco_trabalho_logradouro if empresa_vinculada_trabalho else '') or '') %} {% set valor_endereco_numero = funcionario.endereco_trabalho_numero if funcionario and (funcionario.endereco_trabalho_numero|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.endereco_trabalho_numero if empresa_vinculada_trabalho else '') or '') %} {% set valor_endereco_complemento = funcionario.endereco_trabalho_complemento if funcionario and (funcionario.endereco_trabalho_complemento|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.endereco_trabalho_complemento if empresa_vinculada_trabalho else '') or '') %} {% set valor_endereco_bairro = funcionario.endereco_trabalho_bairro if funcionario and (funcionario.endereco_trabalho_bairro|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.endereco_trabalho_bairro if empresa_vinculada_trabalho else '') or '') %} {% set valor_endereco_cidade = funcionario.endereco_trabalho_cidade if funcionario and (funcionario.endereco_trabalho_cidade|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.endereco_trabalho_cidade if empresa_vinculada_trabalho else '') or '') %} {% set valor_endereco_uf = funcionario.endereco_trabalho_uf if funcionario and (funcionario.endereco_trabalho_uf|string|trim|lower) not in ['none', 'null', 'undefined', 'nan', 'nat'] else ((empresa_vinculada_trabalho.endereco_trabalho_uf if empresa_vinculada_trabalho else '') or '') %}

{% if funcionario %}Editar Funcionário{% else %}Novo Funcionário{% endif %}

{% if funcionario %} Abrir ficha {% endif %} Voltar
{% if funcionario %} {% endif %} {% if conflito_transferencia %}
Funcionário já vinculado em outra empresa
Este colaborador já está no RH da empresa {{ conflito_transferencia.empresa_origem_nome }} {% if conflito_transferencia.funcionario_origem_nome %} como {{ conflito_transferencia.funcionario_origem_nome }}. {% endif %}
Abra a ficha na empresa de origem para transferir o vínculo para {{ conflito_transferencia.empresa_destino_nome }} sem duplicar cadastro.
{% endif %}
Empresa do cadastro
{{ empresa.nome_fantasia or empresa.razao_social or empresa.nome }}
Este cadastro e os filtros da rotina obedecem a empresa selecionada no ERP.
{% if funcionario and funcionario.foto_base64 %} {% set foto_src_topo = funcionario.foto_base64 if (funcionario.foto_base64 or '').startswith('data:image') else 'data:image/jpeg;base64,' ~ (funcionario.foto_base64 or '') %} Foto de {{ funcionario.nome }}
Foto sincronizada / cadastrada
{% else %} Foto do funcionário
Sem foto no ERP/cloud
{% endif %}
Identificador por empresa (se vazio, gera automático).
Se vazio, o sistema gera automaticamente.
{% set cargo_atual = funcionario.cargo if funcionario else '' %}
Cadastre novas opções em Cargos / Departamentos.
{% set departamento_atual = funcionario.departamento if funcionario else '' %}
Use o cadastro padrão para manter perfis e relatórios consistentes.
A lista já vem filtrada para o contexto da empresa ativa e evita pessoas que já estejam vinculadas ao RH de outra empresa.
Associa o colaborador a uma escala compartilhada entre as empresas do ERP. O nome da empresa ao lado indica apenas a origem do cadastro.
{% for emp_sug in empresas_sugestao_trabalho or [] %} {% endfor %}
As sugestões vêm do cadastro de empresas do ERP e usam o endereço cadastrado da empresa selecionada para preencher este campo e os dados abaixo.
A foto do funcionário aparece aqui assim que existir upload manual ou sincronização do app/cloud.
Sugestões pelo cadastro de empresas
Use uma empresa cadastrada para preencher automaticamente local de trabalho e endereço. A empresa escolhida aqui passa a ser a empresa de trabalho explícita desta ficha.
{% if empresa_vinculada_trabalho %} {% endif %}
{% if empresa_vinculada_trabalho %} Empresa de trabalho atual: {{ empresa_vinculada_trabalho.nome }} {% else %} Sem empresa de trabalho definida explicitamente. O sistema usará a empresa atual do cadastro. {% endif %}
Resumo do endereço: {{ funcionario.endereco_trabalho_formatado if funcionario and funcionario.endereco_trabalho_formatado else 'Será montado automaticamente a partir dos campos acima.' }}
Pode colar no formato latitude, longitude ou até um texto copiado do Maps contendo os dois números.
Dica: a ordem correta é sempre latitude primeiro e longitude depois.
Geofence do ponto: informe latitude/longitude do local de trabalho para alertar gestor quando a batida ocorrer fora do raio configurado. Se deixar as coordenadas em branco, o app continua registrando sem validação de perímetro.
{% set tipo_contrato = funcionario.tipo_contrato if funcionario else 'clt' %}
{% set regime_jornada = funcionario.regime_jornada if funcionario else 'comercial' %}
Exibição em horas. Também aceita minutos legados, se necessário.
Usada no login CPF + senha do app CapePonto Funcionário.
{% set origem_permitida = funcionario.origem_batida_permitida if funcionario else 'ambos' %}
Quando marcado, o app só registra ponto com localização válida e dentro do raio configurado.
{% if funcionario %}
Aparelho vinculado: {{ funcionario.dispositivo_descricao_autorizado or funcionario.dispositivo_uuid_autorizado or 'nenhum vínculo ainda' }} {% if funcionario.dispositivo_vinculado_em %} • desde {{ funcionario.dispositivo_vinculado_em.strftime('%d/%m/%Y %H:%M') }} {% endif %}
{% endif %}
Máx. 2MB. Formatos: PNG, JPG, WEBP. A prévia principal aparece ao lado do nome.
{% if funcionario and funcionario.foto_base64 %} {% set foto_src = funcionario.foto_base64 if (funcionario.foto_base64 or '').startswith('data:image') else 'data:image/jpeg;base64,' ~ (funcionario.foto_base64 or '') %}
Foto
Foto atual pronta para sincronização e validação facial.
{% else %}
Foto
Sem foto cadastrada. Você pode enviar arquivo ou capturar pela câmera.
{% endif %}
Cancelar
{% if funcionario and empresas_transferencia %}
Transferência de vínculo entre empresas

O cadastro mestre da pessoa permanece no ERP. Esta ação move apenas o vínculo RH/contrato desta ficha para outra empresa, preservando cargo, departamento e parâmetros atuais sempre que houver compatibilidade.

{% endif %}
{% endblock %}