{% extends 'base.html.twig' %}
{% set roleFacturacion=is_granted('ROLE_FACTURACION') %}
{% block title %}
Rentabilidad
{% endblock %}
{% block facturasItem %}active{% endblock %}
{% block rentabilidad %}active{% endblock %}
{% block headscript %}
<!-- Custom styles for this page -->
<link href="/vendor/datatables/dataTables.bootstrap4.min.css" rel="stylesheet">
<link href="/vendor/datatables/dataTables.fixedHeader.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/jszip-2.5.0/dt-1.11.2/b-2.0.0/b-colvis-2.0.0/b-html5-2.0.0/b-print-2.0.0/cr-1.5.4/date-1.1.1/fh-3.1.9/r-2.2.9/sb-1.2.1/datatables.min.css"/>
{% endblock %}
{% block body %}
<div class="container-fluid">
<!-- Page Heading -->
<div class="card border-left-primary shadow h-100 py-1 mb-2">
<div class="card-body">
<input type="hidden" id="urlShow" value="{{ path('factura_show', {'id': '_id'}) }}">
<input type="hidden" id="urlShowGenerica" value="{{ path('facturaGenerica_show', {'id': '_id'}) }}">
<h1 class="h3 mb-2 text-gray-800">Rentabilidad</h1>
{# <p class="mb-4">Lorem ipsum sit amet.</p>#}
</div>
</div>
<!-- Filters -->
<div class="card">
<div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">
Filtrar facturas
</h6>
</div>
<div class="card-body">
{% include 'factura/_filtrarFacturaForm.html.twig' %}
</div>
</div>
{% if formSubmitted %}
<!-- Total -->
<div id="totales" class="card">
<div class="card-body">
<div class="row">
<div class="col-xl-2 col-md-4">
<div class="card border-left-success shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Total facturado</div>
<div id="totalFacturado" class="h5 mb-0 font-weight-bold text-gray-800">{{ facturado|number_format(2, ',', '.') }} €</div>
</div>
<div class="col-auto">
<i class="fas fa-file-invoice-dollar fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-2 col-md-4">
<div class="card border-left-danger shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-danger text-uppercase mb-1">Coste total</div>
<div id="costeTotal" class="h5 mb-0 font-weight-bold text-gray-800">{{ coste|number_format(2, ',', '.') }} €</div>
</div>
<div class="col-auto">
<i class="fas fa-money-check-alt fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-2 col-md-4">
<div class="card border-left-info shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Total pagado</div>
<div id="totalPagado" class="h5 mb-0 font-weight-bold text-gray-800">{{ pagado|number_format(2, ',', '.') }} €</div>
</div>
<div class="col-auto">
<i class="fas fa-hand-holding-usd fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-2 col-md-4">
<div class="card border-left-warning shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Pendiente de pago</div>
<div id="pendientePago" class="h5 mb-0 font-weight-bold text-gray-800">{{ pendiente|number_format(2, ',', '.') }} €</div>
</div>
<div class="col-auto">
<i class="far fa-clock fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-2 col-md-4">
<div class="card border-left-dark shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-dark text-uppercase mb-1">Total devuelto</div>
<div id="costeTotal" class="h5 mb-0 font-weight-bold text-gray-800">{{ devuelto|number_format(2, ',', '.') }} €</div>
</div>
<div class="col-auto">
<i class="fas fa-exchange-alt fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-2 col-md-4">
<div class="card border-left-primary shadow h-100 py-2">
<div class="card-body">
<div class="row no-gutters align-items-center">
<div class="col mr-2">
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Beneficio total</div>
<div id="beneficioTotal" class="h5 mb-0 font-weight-bold text-gray-800">{{ beneficio|number_format(2, ',', '.') }} €</div>
</div>
<div class="col-auto">
<i class="fas fa-balance-scale fa-2x text-gray-300"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endif %}
<!-- DataTables -->
<div class="card mb-4">
<div class="card-body">
<input id="seleccionarFacturasVisible" type="hidden" value="false">
<div class="mb-2">
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" id="seleccionarFacturas" class="btn btn-primary">
<span class="fa-stack small">
<i class="far fa-square fa-stack-2x"></i>
<i class="fas fa-check fa-stack-1x"></i>
</span>Seleccionar facturas
</button>
<button id="opcionesSeleccion" type="button" class="btn btn-primary" onclick="groupOptionsModal()" disabled>
<i class="fas fa-cog mr-1"></i>Opciones
</button>
</div>
</div>
<div class="table-responsive">
<table class="table table-bordered small" id="facturaTable" width="100%" cellspacing="0">
<thead>
<tr>
<th><input type="checkbox" id="seleccionarTodo" class="d-none"></th>
<th class="excel">Cliente</th>
<th class="excel">NIF</th>
<th class="excel factusol">Código cliente</th>
<th class="excel">Referencia contrato</th>
<th class="excel factusol">CUPS</th>
<th class="excel factusol">Código artículo</th>
<th class="excel factusol">Número</th>
<th class="excel">Fecha lectura</th>
<th class="excel factusol">Fecha emisión</th>
<th class="excel">Dirección de suministro</th>
<th class="excel">Comercial</th>
<th class="excel">Tipo</th>
<th class="excel">Tarifa</th>
<th class="excel factusol">Base imponible</th>
<th class="excel factusol">IVA</th>
<th class="excel factusol">Importe</th>
<th class="excel">Fecha emisión compra</th>
<th class="excel">Fecha cobro compra</th>
<th class="excel">Importe compra</th>
<th class="excel">Estado compra</th>
<th class="excel">Beneficio</th>
<th>Opciones</th>
</tr>
</thead>
<tbody>
{% for factura in facturas %}
{% set tarifa=factura.tarifa %}
{% set contrato=factura.contrato %}
{% set cliente=contrato.cliente %}
{% set suministro=contrato.suministro %}
{% set generica=factura.className!='Factura' %}
{% if not generica %}
{% set beneficio=((factura.totalFactura ? factura.totalFactura : 0 )-(factura.totalCompra ? factura.totalCompra : 0 )) %}
{% else %}
{% set beneficio=factura.totalFactura %}
{% endif %}
<tr id="factura{% if generica %}Generica{% endif %}{{ factura.id }}" class="{% if beneficio == 0 %}alert-warning{% elseif beneficio<0 %}alert-danger{% endif %}">
<td></td>
<td>{{ cliente }}</td>
<td>{{ cliente.nif }}</td>
<td>{{ cliente.codigoContable }}</td>
<td>{{ contrato }}</td>
<td>{{ suministro.cups }}</td>
<td>{{ suministro.codigoContable }}</td>
<td>{{ factura.numeroFactura }}</td>
{% if not generica %}
<td>{{ factura.fechaLectura ? factura.fechaLectura.format('Y-m-d') : '-' }}</td>
{% else %}
<td>-</td>
{% endif %}
<td>{{ factura.fechaEmision ? factura.fechaEmision.format('Y-m-d') : '-' }}</td>
<td>{{ suministro.direccion }}</td>
<td>{{ contrato.comercial }}</td>
<td>{{ tarifa.tipoTarifa }}</td>
<td>{{ tarifa }}</td>
<td class="text-right">{{ factura.baseImponible|number_format(2, ',', '.') }} €</td>
<td class="">{{ factura.iva }}%</td>
<td class="text-right"><span class="importe">{{ factura.totalFactura|number_format(2, ',', '.') }}</span> €</td>
{% if not generica %}
<td>{{ factura.fechaEmisionCompra ? factura.fechaEmisionCompra.format('Y-m-d') : '-' }}</td>
<td>{{ factura.fechaCobroCompra ? factura.fechaCobroCompra.format('Y-m-d') : '-' }}</td>
<td class="text-right"><span class="importeCompra">{{ factura.totalCompra ? factura.totalCompra|number_format(2, ',', '.') : '0,00' }}</span> €</td>
<td>{{ factura.estadoCompra }}</td>
<td class="text-right"><span class="beneficio">{{ beneficio|number_format(2, ',', '.') }}</span> €</td>
<td>
<a href="{{ path('factura_show', {'id': factura.id}) }}"><i class="fas fa-eye mr-1"></i>Ver</a>
<a href="#" onclick="optionsModal({{ factura.id }})" class="small text-nowrap mr-1 d-inline-block"><i class="fas fa-cog mr-1"></i>Opciones</a>
<input type="hidden" id="devuelta{{ factura.id }}" value="{{ factura.devuelta }}">
</td>
{% else %}
<td></td>
<td></td>
<td>N/A</td>
<td>N/A</td>
<td class="text-right"><span class="beneficio">{{ beneficio|number_format(2, ',', '.') }}</span> €</td>
<td>
<a href="{{ path('facturaGenerica_show', {'id': factura.id}) }}"><i class="fas fa-eye mr-1"></i>Ver</a>
<a href="#" onclick="optionsModal('+id+')" class="small text-nowrap mr-1 d-inline-block"><i class="fas fa-cog mr-1"></i>Opciones</a>
<input type="hidden" id="devuelta{{ factura.id }}" value="{{ factura.devuelta }}">
</td>
{% endif %}
{# <td>{{ factura.estadoCompra }}</td>
<td>{{ factura.estadoCompra }}</td>
{% if factura.className=='Factura' %}
<td class="text-right">{{ factura.baseImponible|number_format(2, ',', '.') }} €</td>
{% else %}
<td class="text-right">{{ factura.baseImponible|number_format(2, ',', '.') }} €</td>
{% endif %}#}
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% if roleFacturacion %}
{{ include('factura/_rentabilidad_options_modal.html.twig') }}
{{ include('factura/_options_modal.html.twig') }}
{{ include('factura_generica/_options_modal.html.twig') }}
{% endif %}
</div>
</div>
</div>
{% endblock %}
{% block script %}
<!-- Page level plugins -->
<script src="/vendor/moment.js/moment.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/jszip-2.5.0/dt-1.11.2/b-2.0.0/b-colvis-2.0.0/b-html5-2.0.0/b-print-2.0.0/cr-1.5.4/date-1.1.1/fh-3.1.9/r-2.2.9/sb-1.2.1/datatables.min.js"></script>
<script src="/vendor/datatables/datetime-moment.js"></script>
<script src="/vendor/datatables/datetime.js"></script>
<script src="https://cdn.jsdelivr.net/npm/iban@0.0.14/iban.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js" integrity="sha256-AFAYEOkzB6iIKnTYZOdUf9FFje6lOTYdwRJKwTN5mks=" crossorigin="anonymous"></script>
<!-- Page level custom scripts -->
<script src="/js/tables/rentabilidad-tables.js"></script>
<script src="/js/rentabilidad.js"></script>
{% if roleFacturacion %}
<script src="/js/rentabilidad_options_modal.js"></script>
<script src="/js/factura_options_modal.js"></script>
<script src="/js/facturaGenerica_options_modal.js"></script>
{% endif %}
{% endblock %}