Skip to content

Commit 1f0f6c4

Browse files
authored
Merge pull request #77 from FacturaScripts/Tarea4646-actualizar-informe
Añadido cálculo de porcentaje en el informe de servicios
2 parents df63cd9 + a366a6b commit 1f0f6c4

1 file changed

Lines changed: 54 additions & 82 deletions

File tree

View/ReportServicioAT.html.twig

Lines changed: 54 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -120,40 +120,6 @@
120120
{% include includeView['path'] %}
121121
{% endfor %}
122122

123-
{# Gráficos por mes y por año #}
124-
<div class="row">
125-
<div class="col-12 col-lg-8 mb-4">
126-
<div class="card shadow-sm">
127-
<div class="card-header">
128-
<h6 class="m-0 font-weight-bold text-primary">
129-
<i class="fa-solid fa-chart-bar me-2"></i>
130-
{{ trans('services-by-month') }}
131-
</h6>
132-
</div>
133-
<div class="card-body">
134-
<div style="position:relative;height:300px;">
135-
<canvas id="chartByMonth"></canvas>
136-
</div>
137-
</div>
138-
</div>
139-
</div>
140-
<div class="col-12 col-lg-4 mb-4">
141-
<div class="card shadow-sm">
142-
<div class="card-header">
143-
<h6 class="m-0 font-weight-bold text-primary">
144-
<i class="fa-solid fa-chart-bar me-2"></i>
145-
{{ trans('services-by-year') }}
146-
</h6>
147-
</div>
148-
<div class="card-body">
149-
<div style="position:relative;height:300px;">
150-
<canvas id="chartByYear"></canvas>
151-
</div>
152-
</div>
153-
</div>
154-
</div>
155-
</div>
156-
157123
{# Importes por mes y por año #}
158124
<div class="row">
159125
<div class="col-12 col-lg-8 mb-4">
@@ -198,54 +164,60 @@
198164

199165
{# Tabla por estado #}
200166
<div class="row">
201-
<div class="col-12 mb-4">
202-
<div class="card shadow-sm">
203-
<div class="card-header">
204-
<h6 class="m-0 font-weight-bold text-primary">
205-
<i class="fa-solid fa-chart-pie me-2"></i>
206-
{{ trans('services-by-status') }}
207-
</h6>
208-
</div>
209-
<div class="card-body p-0">
210-
<div class="table-responsive">
211-
<table class="table table-hover mb-0">
212-
<thead class="table-light">
213-
<tr>
214-
<th>{{ trans('status') }}</th>
215-
<th class="text-end">{{ trans('quantity') }}</th>
216-
<th class="text-end">{{ trans('net') }}</th>
217-
</tr>
218-
</thead>
219-
<tbody>
220-
{% for row in fsc.servicesByStatus %}
221-
<tr>
222-
<td>
223-
<a href="{{ row.editable ? 'ListServicioAT' : 'ListServicioAT?activetab=ListServicioAT-closed' }}">
224-
{% if row.color %}
225-
<span class="d-inline-block me-2 rounded" style="width:14px;height:14px;background-color:{{ row.color }};vertical-align:middle;"></span>
226-
{% else %}
227-
<span class="d-inline-block me-2 rounded bg-secondary" style="width:14px;height:14px;vertical-align:middle;"></span>
228-
{% endif %}
229-
{{ row.nombre }}
230-
</a>
231-
</td>
232-
<td class="text-end fw-bold">{{ row.total }}</td>
233-
<td class="text-end">{{ money(row.neto) }}</td>
234-
</tr>
235-
{% else %}
236-
<tr>
237-
<td colspan="3" class="text-center text-muted py-3">
238-
{{ trans('no-data') }}
239-
</td>
240-
</tr>
241-
{% endfor %}
242-
</tbody>
243-
</table>
244-
</div>
245-
</div>
246-
</div>
247-
</div>
248-
</div>
167+
<div class="col-12 mb-4">
168+
<div class="card shadow-sm">
169+
<div class="card-header">
170+
<h6 class="m-0 font-weight-bold text-primary">
171+
<i class="fa-solid fa-chart-pie me-2"></i>
172+
{{ trans('services-by-status') }}
173+
</h6>
174+
</div>
175+
<div class="card-body p-0">
176+
<div class="table-responsive">
177+
<table class="table table-hover mb-0">
178+
<thead class="table-light">
179+
<tr>
180+
<th>{{ trans('status') }}</th>
181+
<th class="text-end">{{ trans('quantity') }}</th>
182+
<th class="text-end">{{ trans('percentage') }} %</th>
183+
<th class="text-end">{{ trans('net') }}</th>
184+
</tr>
185+
</thead>
186+
<tbody>
187+
{% for row in fsc.servicesByStatus %}
188+
<tr>
189+
<td>
190+
<a href="{{ row.editable ? 'ListServicioAT' : 'ListServicioAT?activetab=ListServicioAT-closed' }}">
191+
{% if row.color %}
192+
<span class="d-inline-block me-2 rounded"
193+
style="width:14px;height:14px;background-color:{{ row.color }};vertical-align:middle;"></span>
194+
{% else %}
195+
<span class="d-inline-block me-2 rounded bg-secondary"
196+
style="width:14px;height:14px;vertical-align:middle;"></span>
197+
{% endif %}
198+
{{ row.nombre }}
199+
</a>
200+
</td>
201+
<td class="text-end fw-bold">{{ row.total }}</td>
202+
<td class="text-end text-muted">
203+
{{ fsc.totalServices > 0 ? ((row.total / fsc.totalServices) * 100)|number_format(1) ~ ' %' : '0 %' }}
204+
</td>
205+
<td class="text-end">{{ money(row.neto) }}</td>
206+
</tr>
207+
{% else %}
208+
<tr>
209+
<td colspan="4" class="text-center text-muted py-3">
210+
{{ trans('no-data') }}
211+
</td>
212+
</tr>
213+
{% endfor %}
214+
</tbody>
215+
</table>
216+
</div>
217+
</div>
218+
</div>
219+
</div>
220+
</div>
249221

250222
{% for includeView in getIncludeViews('ReportServicioAT', 'afterStatus') %}
251223
{% include includeView['path'] %}

0 commit comments

Comments
 (0)