@extends('layouts.app') @section('title', 'Detalhes da Transferência') @push('styles-custom') @endpush @section('content')

{{ $transferencia->descricao }}

Dados da Transferência
Data

{{ \Carbon\Carbon::parse($transferencia->data)->format('d/m/Y') }}

Valor

R$ {{ number_format($transferencia->valor, 2, ',', '.') }}

Descrição

{{ $transferencia->descricao }}

Status
Processada

Transferência lançada em

{{ $transferencia->created_at->format('d/m/Y \à\s H:i') }}

Conta de Origem (Débito)
{{ $transferencia->contaOrigem->empresa->nome_fantasia }}
{{ $transferencia->contaOrigem->empresa->razao_social }}
{{ $transferencia->contaOrigem->banco }}
Ag: {{ $transferencia->contaOrigem->agencia }} | CC: {{ $transferencia->contaOrigem->conta_corrente }}
{{ $transferencia->planoOrigem->codigo }}
{{ $transferencia->planoOrigem->descricao }}
Conta de Destino (Crédito)
{{ $transferencia->contaDestino->empresa->nome_fantasia }}
{{ $transferencia->contaDestino->empresa->razao_social }}
{{ $transferencia->contaDestino->banco }}
Ag: {{ $transferencia->contaDestino->agencia }} | CC: {{ $transferencia->contaDestino->conta_corrente }}
{{ $transferencia->planoDestino->codigo }}
{{ $transferencia->planoDestino->descricao }}
Movimentações Geradas
@php $totalDeb = $pagamentos->count(); $totalCred = $recebimentos->count(); @endphp Total: {{ $totalDeb + $totalCred }} movimentação{{ ($totalDeb + $totalCred) !== 1 ? 's' : '' }} ({{ $totalDeb }} débito{{ $totalDeb !== 1 ? 's' : '' }}, {{ $totalCred }} crédito{{ $totalCred !== 1 ? 's' : '' }})
@php $movimentacoes = collect(); // Adicionar TODOS os pagamentos com transferencia_id = transferencia.id foreach ($pagamentos as $pagamento) { $contaAPagar = $pagamento->contaAPagar; $movimentacoes->push([ 'tipo' => 'débito', 'tipo_label' => 'Pagamento (Débito)', 'data' => $pagamento->data_pagamento, 'data_original' => $pagamento->created_at, 'descricao' => $contaAPagar ? $contaAPagar->descricao : 'Pagamento de transferência', 'empresa' => $contaAPagar && $contaAPagar->empresa ? $contaAPagar->empresa->nome_fantasia : 'N/A', 'fornecedor' => $contaAPagar && $contaAPagar->fornecedor ? $contaAPagar->fornecedor->razao_social : 'N/A', 'conta' => $contaAPagar && $contaAPagar->contaBancaria ? $contaAPagar->contaBancaria->banco . ' - ' . $contaAPagar->contaBancaria->conta_corrente : 'N/A', 'valor' => $pagamento->valor, 'conta_id' => $contaAPagar ? $contaAPagar->id : null, 'conta_tipo' => 'conta_a_pagar', 'movimentacao_id' => $pagamento->id, 'multa' => $pagamento->multa ?? 0, 'juros' => $pagamento->juros ?? 0 ]); } // Adicionar TODOS os recebimentos com transferencia_id = transferencia.id foreach ($recebimentos as $recebimento) { $contaAReceber = $recebimento->contaAReceber; $movimentacoes->push([ 'tipo' => 'crédito', 'tipo_label' => 'Recebimento (Crédito)', 'data' => $recebimento->data_pagamento, 'data_original' => $recebimento->created_at, 'descricao' => $contaAReceber ? $contaAReceber->descricao : 'Recebimento de transferência', 'empresa' => $contaAReceber && $contaAReceber->empresa ? $contaAReceber->empresa->nome_fantasia : 'N/A', 'cliente' => $contaAReceber && $contaAReceber->cliente ? $contaAReceber->cliente->razao_social : 'N/A', 'conta' => $contaAReceber && $contaAReceber->contaBancaria ? $contaAReceber->contaBancaria->banco . ' - ' . $contaAReceber->contaBancaria->conta_corrente : 'N/A', 'valor' => $recebimento->valor, 'conta_id' => $contaAReceber ? $contaAReceber->id : null, 'conta_tipo' => 'conta_a_receber', 'movimentacao_id' => $recebimento->id, 'observacao' => $recebimento->observacao ?? '' ]); } /* // *** ADICIONAR MOVIMENTAÇÃO VIRTUAL PARA BALANCEAMENTO *** // Se não há recebimentos registrados, criar uma movimentação virtual para exibição if ($recebimentos->count() == 0) { $movimentacoes->push([ 'tipo' => 'crédito', 'tipo_label' => 'Transferência (Crédito)', 'data' => $transferencia->data, 'data_original' => $transferencia->created_at, 'descricao' => 'TRANSFERÊNCIA = ' . $transferencia->descricao, 'empresa' => $transferencia->contaDestino->empresa->nome_fantasia, 'cliente' => 'Transferência interna', 'conta' => $transferencia->contaDestino->banco . ' - ' . $transferencia->contaDestino->conta_corrente, 'valor' => $transferencia->valor, 'conta_id' => null, 'conta_tipo' => 'transferencia', 'movimentacao_id' => 'virtual', 'observacao' => 'Movimentação de transferência' ]); } // Se não há pagamentos registrados, criar uma movimentação virtual para exibição if ($pagamentos->count() == 0) { $movimentacoes->push([ 'tipo' => 'débito', 'tipo_label' => 'Transferência (Débito)', 'data' => $transferencia->data, 'data_original' => $transferencia->created_at, 'descricao' => 'TRANSFERÊNCIA = ' . $transferencia->descricao, 'empresa' => $transferencia->contaOrigem->empresa->nome_fantasia, 'fornecedor' => 'Transferência interna', 'conta' => $transferencia->contaOrigem->banco . ' - ' . $transferencia->contaOrigem->conta_corrente, 'valor' => $transferencia->valor, 'conta_id' => null, 'conta_tipo' => 'transferencia', 'movimentacao_id' => 'virtual', 'multa' => 0, 'juros' => 0 ]); } */ // Ordenar por data de pagamento/recebimento, depois por data de criação $movimentacoes = $movimentacoes->sortBy(['data', 'data_original']); @endphp @forelse($movimentacoes as $mov) @empty @endforelse
Tipo Data Descrição Empresa Conta Bancária Valor
@if($mov['tipo'] === 'débito') @if($mov['conta_tipo'] === 'transferencia') {{ $mov['tipo_label'] }} @else {{ $mov['tipo_label'] }} @endif @else @if($mov['conta_tipo'] === 'transferencia') {{ $mov['tipo_label'] }} @else {{ $mov['tipo_label'] }} @endif @endif
{{ \Carbon\Carbon::parse($mov['data'])->format('d/m/Y') }}
@if($mov['conta_tipo'] === 'conta_a_receber' && $mov['conta_id']) {{ $mov['descricao'] }} @elseif($mov['conta_tipo'] === 'conta_a_pagar' && $mov['conta_id']) {{ $mov['descricao'] }} @else {{ $mov['descricao'] }} @endif
{{ $mov['empresa'] }}
{{ $mov['conta'] }}
@if($mov['tipo'] === 'débito') - R$ {{ number_format(abs($mov['valor']), 2, ',', '.') }} @else + R$ {{ number_format($mov['valor'], 2, ',', '.') }} @endif
Nenhuma movimentação encontrada para esta transferência.
@php // Somar só as movimentações reais (conta_tipo ≠ transferencia) $totalDebitos = $movimentacoes ->where('tipo', 'débito') ->where('conta_tipo', '!=', 'transferencia') ->sum('valor'); $totalCreditos = $movimentacoes ->where('tipo', 'crédito') ->where('conta_tipo', '!=', 'transferencia') ->sum('valor'); // Saldo final = saldo inicial + créditos reais – débitos reais $saldoLiquido = $transferencia->valor + $totalCreditos - $totalDebitos; @endphp
@if($transferencia->vinculacoesOrigem->count() > 0 || $transferencia->vinculacoesDestino->count() > 0)
Vinculações
@php $totalVinculacoesOrigem = $transferencia->vinculacoesOrigem->count(); $totalVinculacoesDestino = $transferencia->vinculacoesDestino->count(); $totalVinculacoes = $totalVinculacoesOrigem + $totalVinculacoesDestino; @endphp {{ $totalVinculacoes }} vinculação{{ $totalVinculacoes !== 1 ? 'ões' : '' }}
@if($transferencia->vinculacoesOrigem->count() > 0)
Esta Transferência Vincula Com
@foreach($transferencia->vinculacoesOrigem as $vinculacao)
Transferência #{{ $vinculacao->transferenciaDestino->id }}
{{ \Carbon\Carbon::parse($vinculacao->transferenciaDestino->data)->format('d/m/Y') }}
R$ {{ number_format($vinculacao->valor_vinculado, 2, ',', '.') }}

Descrição: {{ $vinculacao->transferenciaDestino->descricao }}

Empresas: {{ $vinculacao->transferenciaDestino->contaOrigem->empresa->nome_fantasia }} → {{ $vinculacao->transferenciaDestino->contaDestino->empresa->nome_fantasia }}
@if($vinculacao->observacoes)
Observações: {{ $vinculacao->observacoes }}
@endif
Vinculada em {{ $vinculacao->data_vinculacao->format('d/m/Y \à\s H:i') }}
@csrf @method('DELETE')
@endforeach
@endif @if($transferencia->vinculacoesDestino->count() > 0)
Transferências que Vinculam a Esta
@foreach($transferencia->vinculacoesDestino as $vinculacao)
Transferência #{{ $vinculacao->transferenciaOrigem->id }}
{{ \Carbon\Carbon::parse($vinculacao->transferenciaOrigem->data)->format('d/m/Y') }}
R$ {{ number_format($vinculacao->valor_vinculado, 2, ',', '.') }}

Descrição: {{ $vinculacao->transferenciaOrigem->descricao }}

Empresas: {{ $vinculacao->transferenciaOrigem->contaOrigem->empresa->nome_fantasia }} → {{ $vinculacao->transferenciaOrigem->contaDestino->empresa->nome_fantasia }}
@if($vinculacao->observacoes)
Observações: {{ $vinculacao->observacoes }}
@endif
Vinculada em {{ $vinculacao->data_vinculacao->format('d/m/Y \à\s H:i') }}
Apenas a transferência origem pode remover esta vinculação
@endforeach
@endif
@endif
@endsection