{% extends "base.html" %} {% block title %}Caixa{% endblock %} {% block content %}

Caixa

{% if not caixa_aberto %} {% endif %}
{% if caixa_aberto %} {# Caixa Aberto - Card Principal Compacto #}
Caixa Aberto - Operador: {{ caixa_aberto.usuario_abertura.username }}
{{ caixa_aberto.data_abertura.strftime('%d/%m/%Y %H:%M') }}
Inicial R$ {{ "%.2f"|format(caixa_aberto.valor_inicial) }}
Entradas R$ {{ "%.2f"|format(caixa_aberto.total_entradas()) }}
Saídas R$ {{ "%.2f"|format(caixa_aberto.total_saidas()) }}
Saldo R$ {{ "%.2f"|format(caixa_aberto.calcular_saldo()) }}
{# Lista de Vendas para Recebimento e Recebidas - Compacto #}
Vendas para Receber
{% if vendas_para_receber %}
{% for v in vendas_para_receber %} {% endfor %}
Pedido Cliente Origem Data Fechamento Valor Ações
{{ v.numero_pedido }} {{ v.get_cliente_nome() }} {% if v.origem == 'balcao' or v.origem == 'web' %} 🏪 Balcão {% elif v.origem == 'pdv' or v.origem == 'pdv_desktop' %} 💻 PDV {% elif v.origem == 'pdvweb' or v.origem == 'pdv_web' %} 🌐 PDVWeb {% elif v.origem == 'food_mesa' %} 🪑 Mesa {% elif v.origem == 'food_delivery' %} 🛵 Delivery {% elif v.origem == 'food_balcao' %} 🍔 Food {% elif v.origem == 'api' %} 🔌 API {% else %} {{ v.origem or '-' }} {% endif %} {% if v.data_fechamento %}{{ v.data_fechamento.strftime('%d/%m/%Y %H:%M') }}{% else %}-{% endif %} R$ {{ "%.2f"|format(v.valor_total) }} Abrir Venda
{% else %}

Nenhuma Venda para Recebimento no momento.

{% endif %}
Vendas Recebidas (Últimas)
{% if vendas_recebidas %}
{% for v in vendas_recebidas %} {% endfor %}
Pedido Cliente Origem Data Recebimento Valor Ações
{{ v.numero_pedido }} {{ v.get_cliente_nome() }} {% if v.origem == 'balcao' or v.origem == 'web' %} 🏪 Balcão {% elif v.origem == 'pdv' or v.origem == 'pdv_desktop' %} 💻 PDV {% elif v.origem == 'pdvweb' or v.origem == 'pdv_web' %} 🌐 PDVWeb {% elif v.origem == 'food_mesa' %} 🪑 Mesa {% elif v.origem == 'food_delivery' %} 🛵 Delivery {% elif v.origem == 'food_balcao' %} 🍔 Food {% elif v.origem == 'api' %} 🔌 API {% else %} {{ v.origem or '-' }} {% endif %} {% if v.data_recebimento %}{{ v.data_recebimento.strftime('%d/%m/%Y %H:%M') }}{% elif v.data_venda %}{{ v.data_venda.strftime('%d/%m/%Y') if v.data_venda else '-' }}{% else %}-{% endif %} R$ {{ "%.2f"|format(v.valor_total) }} Abrir Venda 2ª Via
{% else %}

Nenhuma Venda recebida recentemente.

{% endif %}
{# OS Concluídas para Recebimento #}
Ordens de Serviço Concluídas para Recebimento
{% if os_para_receber %}
{% for os in os_para_receber %} {% endfor %}
Número OS Cliente Data Conclusão Valor Ações
{{ os.numero_os }} {% if os.pessoa %} {{ os.pessoa.nome_fantasia or os.pessoa.razao_social or os.pessoa.nome }} {% elif os.cliente %} {{ os.cliente.nome }} {% else %} - {% endif %} {% if os.data_conclusao %}{{ os.data_conclusao.strftime('%d/%m/%Y %H:%M') }}{% else %}-{% endif %} R$ {{ "%.2f"|format(os.valor_total) }} Abrir OS
{% else %}

Nenhuma OS concluída para Recebimento no momento.

{% endif %}
{# OS Recebidas (últimas) #}
Ordens de Serviço Recebidas (Últimas)
{% if os_recebidas %}
{% for os in os_recebidas %} {% endfor %}
Número OS Cliente Data Recebimento Valor Ações
{{ os.numero_os }} {% if os.pessoa %} {{ os.pessoa.nome_fantasia or os.pessoa.razao_social or os.pessoa.nome }} {% elif os.cliente %} {{ os.cliente.nome }} {% else %} - {% endif %} {% if os.data_recebimento %}{{ os.data_recebimento.strftime('%d/%m/%Y %H:%M') }}{% else %}-{% endif %} R$ {{ "%.2f"|format(os.valor_total) }} Abrir OS Comprovante
{% else %}

Nenhuma OS recebida recentemente.

{% endif %}
{% else %} {# Sem Caixa Aberto - Lista de Vendas Disponível #}
Não há Caixa aberto. Clique em "Abrir Caixa" para iniciar as operações.
{# Lista de Vendas para Recebimento e Recebidas (visível mesmo sem caixa aberto) #}
Vendas para Receber
{% if vendas_para_receber %}
{% for v in vendas_para_receber %} {% endfor %}
Pedido Cliente Data Fechamento Valor Ações
{{ v.numero_pedido }} {{ v.get_cliente_nome() }} {% if v.data_fechamento %}{{ v.data_fechamento.strftime('%d/%m/%Y %H:%M') }}{% else %}-{% endif %} R$ {{ "%.2f"|format(v.valor_total) }} Abrir Venda
{% else %}

Nenhuma Venda para Recebimento no momento.

{% endif %}
Vendas Recebidas (Últimas)
{% if vendas_recebidas %}
{% for v in vendas_recebidas %} {% endfor %}
Pedido Cliente Data Recebimento Valor Ações
{{ v.numero_pedido }} {{ v.get_cliente_nome() }} {% if v.data_recebimento %}{{ v.data_recebimento.strftime('%d/%m/%Y %H:%M') }}{% else %}-{% endif %} R$ {{ "%.2f"|format(v.valor_total) }} Abrir Venda
{% else %}

Nenhuma Venda recebida recentemente.

{% endif %}
{% endif %} {# Histórico de Caixas #}
Histórico de Caixas (Últimos 30 dias)
{% if historico %}
{% for c in historico %} {% endfor %}
Data Abertura Data Fechamento Responsável Valor Inicial Entradas Saídas Saldo Ações
{{ c.data_abertura.strftime('%d/%m/%Y %H:%M') }} {% if c.data_fechamento %} {{ c.data_fechamento.strftime('%d/%m/%Y %H:%M') }} {% else %} Aberto {% endif %} {{ c.usuario.username if c.usuario and c.usuario.username else (c.usuario.email if c.usuario else '-') }} R$ {{ "%.2f"|format(c.valor_inicial) }} R$ {{ "%.2f"|format(c.total_entradas()) }} R$ {{ "%.2f"|format(c.total_saidas()) }} R$ {{ "%.2f"|format(c.calcular_saldo()) }} Abrir Caixa
{% else %}

Nenhum histórico de caixa nos últimos 30 dias.

{% endif %}
{# Modal Abrir Caixa #} {# Modal Fechar Caixa #} {% if caixa_aberto %} {% endif %} {# Modais de Recebimento de Vendas #} {% for v in vendas_para_receber %} {% endfor %} {# Modais para Receber OS #} {% for os in os_para_receber %} {% endfor %} {# Modal de Sangria #} {% endblock %}