@foreach($movimientos as $movimientoDetalle) @php $docsDetalle = $movimientoDetalle->documentos; $conceptosDetalle = $movimientoDetalle->conceptos; $eventosDetalle = isset($bitacoraPorFolio[$movimientoDetalle->folio]) ? $bitacoraPorFolio[$movimientoDetalle->folio] : collect(); $detalleId = $movimientoDetalle->id_banco_movimiento; $tipoDetalle = (string) $movimientoDetalle->tipo_movimiento; $esAjusteDetalle = stripos($tipoDetalle, 'Ajuste') !== false; $esTraspasoDetalle = stripos($tipoDetalle, 'Traspaso') !== false; $esInternacionalDetalle = stripos($tipoDetalle, 'internacional') !== false || $movimientoDetalle->moneda_operacion === 'USD' || $movimientoDetalle->tipo_cambio_utilizado; $esClienteFacturaDetalle = $movimientoDetalle->entidad_tipo === 'Cliente Factura'; $esCargoDetalle = stripos($tipoDetalle, 'Cargo') !== false || stripos($tipoDetalle, 'negativo') !== false || (float) $movimientoDetalle->cargo_aplicado > 0 || (float) $movimientoDetalle->cargo_pendiente > 0; $montoDetalleClass = $esCargoDetalle ? 'text-danger' : 'text-success'; $valorDetalle = function ($valor) { return $valor !== null && $valor !== '' ? $valor : 'N/A'; }; $cuentaDetalle = $movimientoDetalle->cuenta ? trim($movimientoDetalle->cuenta->banco . ' - ' . $movimientoDetalle->cuenta->nombre_cuenta . ' - ' . $movimientoDetalle->cuenta->moneda) : 'N/A'; $cuentaDestinoDetalle = $movimientoDetalle->cuentaDestino ? trim($movimientoDetalle->cuentaDestino->banco . ' - ' . $movimientoDetalle->cuentaDestino->nombre_cuenta . ' - ' . $movimientoDetalle->cuentaDestino->moneda) : 'N/A'; $esAbonoTraspasoDetalle = $esTraspasoDetalle && ((float) $movimientoDetalle->abono_aplicado > 0 || (float) $movimientoDetalle->abono_pendiente > 0); $esCargoTraspasoDetalle = $esTraspasoDetalle && !$esAbonoTraspasoDetalle; $cuentaOrigenTraspasoDetalle = $esCargoTraspasoDetalle ? $cuentaDetalle : $cuentaDestinoDetalle; $cuentaDestinoTraspasoDetalle = $esCargoTraspasoDetalle ? $cuentaDestinoDetalle : $cuentaDetalle; $monedaOrigenTraspasoDetalle = !$esCargoTraspasoDetalle && $movimientoDetalle->cuentaDestino ? $movimientoDetalle->cuentaDestino->moneda : $movimientoDetalle->moneda_cuenta; $monedaDestinoTraspasoDetalle = $esCargoTraspasoDetalle && $movimientoDetalle->cuentaDestino ? $movimientoDetalle->cuentaDestino->moneda : $movimientoDetalle->moneda_cuenta; $movimientoRelacionadoDetalle = $movimientoDetalle->movimientoRelacionado; $montoFinalTraspasoDetalle = $movimientoDetalle->monto_final_recibido ?: ($movimientoRelacionadoDetalle ? ($esCargoTraspasoDetalle ? $movimientoRelacionadoDetalle->total : $movimientoDetalle->total) : null); $montoAntesComisionDetalle = $movimientoDetalle->monto_convertido ?: $movimientoDetalle->monto_original ?: $movimientoDetalle->total; $comisionRelacionadaDetalle = $movimientoRelacionadoDetalle ? (float) $movimientoRelacionadoDetalle->comision_bancaria : 0; $comisionTraspasoDetalle = (float) $movimientoDetalle->comision_bancaria > 0 ? $movimientoDetalle->comision_bancaria : ($comisionRelacionadaDetalle > 0 ? $comisionRelacionadaDetalle : ($montoFinalTraspasoDetalle ? max((float) $montoAntesComisionDetalle - (float) $montoFinalTraspasoDetalle, 0) : 0)); $comisionDesgloseDetalle = $esTraspasoDetalle && !$esCargoTraspasoDetalle ? 0 : (float) $movimientoDetalle->comision_bancaria; $totalCargoTraspasoDetalle = (float) ($movimientoDetalle->monto_original ?: $movimientoDetalle->total) + (float) $comisionTraspasoDetalle; @endphp
@endforeach