templates/factura/factura.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% set tarifa=factura.tarifa %}
  3. {% set reactivas=(tarifa.reactivaP1 or tarifa.reactivaP2 or tarifa.reactivaP3 or tarifa.reactivaP4 or tarifa.reactivaP5 or tarifa.reactivaP6) %}
  4. {% set tresCero=(tarifa.nombre=='3.0A' or tarifa.nombre=='3.1A') %}
  5. {% set roleFacturacion=is_granted('ROLE_FACTURACION') %}
  6. {% set roleSuperadmin=is_granted('ROLE_SUPERADMIN') %}
  7. {% block title %} Factura {% endblock %}
  8. {% block homepage %}{% endblock %}
  9. {% block facturas %}{% endblock %}
  10. {% block headscript %}
  11.     {% set roleAdmin=is_granted('ROLE_ADMIN') %}
  12.     {% if tresCero %}
  13.         {% set nombre1, nombre2, nombre3 =  'P1', 'P2', 'P3' %}
  14.     {#% else  %}
  15.         {% set numeroP=0 %}
  16.         {% if tarifa.energiaP1 %}
  17.             {% set numeroP=(numeroP+1) %}
  18.         {% endif %}
  19.         {% if tarifa.energiaP2 %}
  20.             {% set numeroP=(numeroP+1) %}
  21.         {% endif %}
  22.         {% if tarifa.energiaP3 %}
  23.             {% set numeroP=(numeroP+1) %}
  24.         {% endif %}
  25.         {% if tarifa.energiaP4 %}
  26.             {% set numeroP=(numeroP+1) %}
  27.         {% endif %}
  28.         {% if tarifa.energiaP5 %}
  29.             {% set numeroP=(numeroP+1) %}
  30.         {% endif %}
  31.         {% if tarifa.energiaP6 %}
  32.             {% set numeroP=(numeroP+1) %}
  33.         {% endif %#}
  34.     {% endif %}
  35. <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  36.     <script>
  37.         google.charts.load('45.2', {packages: ['corechart']});
  38.         google.charts.setOnLoadCallback(drawChart);
  39.     </script>
  40.     {% if numeroP<4 %}
  41.         {#% if not tresCero %}
  42.             {% if p2 %}
  43.                 {% set nombre2, p2 = 'P2', false %}
  44.             {% elseif p3 %}
  45.                 {% set nombre2, p3 = 'P3', false %}
  46.             {% elseif p4 %}
  47.                 {% set nombre2, p4 = 'P4', false %}
  48.             {% elseif p5 %}
  49.                 {% set nombre2, p5 = 'P5', false %}
  50.             {% elseif p6 %}
  51.                 {% set nombre2, p6 = 'P6', false %}
  52.             {% endif %}
  53.             {% if p3 %}
  54.                 {% set nombre3='P3' %}
  55.             {% elseif p4 %}
  56.                 {% set nombre3='P4' %}
  57.             {% elseif p5 %}
  58.                 {% set nombre3='P5' %}
  59.             {% elseif p6 %}
  60.                 {% set nombre3='P6' %}
  61.             {% endif %}
  62.         {% endif %#}
  63.         <script>
  64.             google.charts.load('45.2', {packages: ['corechart', 'bar']});
  65.             google.charts.setOnLoadCallback(drawColColors);
  66.             function drawColColors() {
  67.                 var data = google.visualization.arrayToDataTable([
  68.                     ['', {% if arrayP[0] %}'P1', {% endif %}{% if arrayP[1] %}'P2', {% endif %}{% if arrayP[2] %}'P3', {% endif %}{% if arrayP[3] %}'P4', {% endif %}{% if arrayP[4] %}'P5', {% endif %}{% if arrayP[5] %}'P6', {% endif %}{role: 'style'}],
  69.                     {% for dato in datosGrafica %}
  70.                     ['{{ dato[0] }}', {% if arrayP[0] %}{{ dato[1] }}, {% endif %}{% if arrayP[1] %}{{ dato[2] }}, {% endif %}{% if arrayP[2] %}{{ dato[3] }}, {% endif %}{% if arrayP[3] %}{{ dato[4] }}, {% endif %}{% if arrayP[4] %}{{ dato[5] }}, {% endif %}{% if arrayP[5] %}{{ dato[6] }}, {% endif %}''],
  71.                     {% endfor %}
  72.                 ]);
  73.                 var options = {
  74.                     width: 620,//rechanged
  75.                     height: 390,//rechanged
  76.                     {% if numeroP<=1 %}
  77.                     legend: { position: 'none', maxLines: 3 },
  78.                     {% else %}
  79.                     legend: { position: 'top', alignment:'center', textStyle: {bold:true}, maxLines: 3 },
  80.                     {% endif %}
  81.                     bar: { groupWidth: '33%' },
  82.                     isStacked: true,
  83.                     series: {
  84.                         0:{color:'#5b9bd5'},
  85.                         1:{color:'#ed7d31'},
  86.                         2:{color:'#a5a5a5'},
  87.                     },
  88.                     chartArea: {
  89.                         left: 70,//rechanged
  90.                         top: 65,//rechanged
  91.                         width: 570,//rechanged
  92.                         height: 288,//rechanged
  93.                     },
  94.                     vAxes: {
  95.                         0: {
  96.                             title: 'kWh',
  97.                             titleTextStyle:{
  98.                                 color: '#595959',
  99.                                 fontName:'Calibri',
  100.                                 bold:true,
  101.                                 italic: false
  102.                             }
  103.                         }
  104.                     },
  105.                     hAxis: {
  106.                         slantedText:false,
  107.                         textStyle:{
  108.                             color: '#595959',
  109.                             fontSize:10,
  110.                             bold:true,
  111.                             italic: false
  112.                         } }
  113.                 };
  114.                 var chart_div = document.getElementById('graficaConsumo');
  115.                 var chart = new google.visualization.ColumnChart(chart_div);
  116.                 google.visualization.events.addListener(chart, 'ready', function () {
  117.                     document.getElementById('generarPdf').innerHTML='' +
  118.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  119.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-pdf mr-1"></i>Documento PDF</button>';
  120.                     document.getElementById('generarXml').innerHTML='' +
  121.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  122.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-code mr-1"></i>Factura electrónica</button>';
  123.                     {% if roleAdmin %}
  124.                     document.getElementById('enviarFactura').innerHTML='' +
  125.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  126.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  127.                     {% endif %}
  128.                 });
  129.                 chart.draw(data, options);
  130.             }
  131.         </script>
  132.     {#% if numeroP == 1 %}
  133.         <script>
  134.             google.charts.load('current', {packages: ['corechart', 'bar']});
  135.             google.charts.setOnLoadCallback(drawColColors);
  136.             function drawColColors() {
  137.                 var data = google.visualization.arrayToDataTable([
  138.                     ['', '{{ nombre1 }}', {role: 'style'}],
  139.                     {% for dato in datosGrafica %}
  140.                     ['{{ dato[0] }}', {{ dato[1] }}, ''],
  141.                     {% endfor %}
  142.                 ]);
  143.                 var options = {
  144.                     width: 620,//rechanged
  145.                     height: 390,//rechanged
  146.                     legend: { position: 'none', maxLines: 3 },
  147.                     bar: { groupWidth: '33%' },
  148.                     isStacked: true,
  149.                     series: {
  150.                         0:{color:'#5b9bd5'},
  151.                         1:{color:'#ed7d31'},
  152.                         2:{color:'#a5a5a5'},
  153.                     },
  154.                     chartArea: {
  155.                         left: 70,//rechanged
  156.                         top: 65,//rechanged
  157.                         width: 570,//rechanged
  158.                         height: 288,//rechanged
  159.                     },
  160.                     vAxes: {
  161.                         0: {
  162.                             title: 'kWh',
  163.                             titleTextStyle:{
  164.                                 color: '#595959',
  165.                                 fontName:'Calibri',
  166.                                 bold:true,
  167.                                 italic: false
  168.                             }
  169.                         }
  170.                     },
  171.                     hAxis: {
  172.                         slantedText:false,
  173.                         textStyle:{
  174.                             color: '#595959',
  175.                             fontSize:10,
  176.                             bold:true,
  177.                             italic: false
  178.                         } }
  179.                 };
  180.                 var chart_div = document.getElementById('graficaConsumo');
  181.                 var chart = new google.visualization.ColumnChart(chart_div);
  182.                 google.visualization.events.addListener(chart, 'ready', function () {
  183.                     document.getElementById('generarPdf').innerHTML='' +
  184.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  185.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-download mr-1"></i>Descargar factura</button>';
  186.                     {% if roleAdmin %}
  187.                     document.getElementById('enviarFactura').innerHTML='' +
  188.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  189.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  190.                     {% endif %}
  191.                 });
  192.                 chart.draw(data, options);
  193.             }
  194.         </script>
  195.     {% elseif numeroP == 2 %}
  196.         {% if p2 %}
  197.             {% set nombre2='P2' %}
  198.         {% elseif p3 %}
  199.             {% set nombre2='P3' %}
  200.         {% elseif p4 %}
  201.             {% set nombre2='P4' %}
  202.         {% elseif p5 %}
  203.             {% set nombre2='P5' %}
  204.         {% elseif p6 %}
  205.             {% set nombre2='P6' %}
  206.         {% endif %}
  207.         <script>
  208.             google.charts.load('current', {packages: ['corechart', 'bar']});
  209.             google.charts.setOnLoadCallback(drawColColors);
  210.             function drawColColors() {
  211.                 var data = google.visualization.arrayToDataTable([
  212.                     ['', '{{ nombre1 }}', '{{ nombre2 }}', {role: 'style'}],
  213.                     {% for dato in datosGrafica %}
  214.                     ['{{ dato[0] }}', {{ dato[1] }}, {{ dato[3] }},''],
  215.                     {% endfor %}
  216.                 ]);
  217.                 var options = {
  218.                     width: 620,//rechanged
  219.                     height: 390,//rechanged
  220.                     legend: { position: 'top', alignment:'center', textStyle: {bold:true}, maxLines: 3 },
  221.                     bar: { groupWidth: '33%' },
  222.                     isStacked: true,
  223.                     series: {
  224.                         0:{color:'#5b9bd5'},
  225.                         1:{color:'#a5a5a5'},
  226.                     },
  227.                     chartArea: {
  228.                         left: 70,//rechanged
  229.                         top: 65,//rechanged
  230.                         width: 570,//rechanged
  231.                         height: 288,//rechanged
  232.                     },
  233.                     vAxes: {
  234.                         0: {
  235.                             title: 'kWh',
  236.                             titleTextStyle:{
  237.                                 color: '#595959',
  238.                                 fontName:'Calibri',
  239.                                 bold:true,
  240.                                 italic: false
  241.                             }
  242.                         }
  243.                     },
  244.                     hAxis: {
  245.                         slantedText:false,
  246.                         textStyle:{
  247.                             color: '#595959',
  248.                             fontSize:10,
  249.                             bold:true,
  250.                             italic: false
  251.                         } }
  252.                 };
  253.                 var chart_div = document.getElementById('graficaConsumo');
  254.                 var chart = new google.visualization.ColumnChart(chart_div);
  255.                 google.visualization.events.addListener(chart, 'ready', function () {
  256.                     document.getElementById('generarPdf').innerHTML='' +
  257.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  258.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-download mr-1"></i>Descargar factura</button>';
  259.                     {% if roleAdmin %}
  260.                     document.getElementById('enviarFactura').innerHTML='' +
  261.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  262.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  263.                     {% endif %}
  264.                 });
  265.                 chart.draw(data, options);
  266.             }
  267.         </script>
  268.     {% elseif numeroP == 3 %}
  269.         {% if not tresCero %}
  270.             {% if p2 %}
  271.                 {% set nombre2, p2 = 'P2', false %}
  272.             {% elseif p3 %}
  273.                 {% set nombre2, p3 = 'P3', false %}
  274.             {% elseif p4 %}
  275.                 {% set nombre2, p4 = 'P4', false %}
  276.             {% elseif p5 %}
  277.                 {% set nombre2, p5 = 'P5', false %}
  278.             {% elseif p6 %}
  279.                 {% set nombre2, p6 = 'P6', false %}
  280.             {% endif %}
  281.             {% if p3 %}
  282.                 {% set nombre3='P3' %}
  283.             {% elseif p4 %}
  284.                 {% set nombre3='P4' %}
  285.             {% elseif p5 %}
  286.                 {% set nombre3='P5' %}
  287.             {% elseif p6 %}
  288.                 {% set nombre3='P6' %}
  289.             {% endif %}
  290.         {% endif %}
  291.         <script>
  292.             google.charts.load('current', {packages: ['corechart', 'bar']});
  293.             google.charts.setOnLoadCallback(drawColColors);
  294.             function drawColColors() {
  295.                 var data = google.visualization.arrayToDataTable([
  296.                     ['', '{{ nombre1 }}', '{{ nombre2 }}', '{{ nombre3 }}', {role: 'style'}],
  297.                     {% for dato in datosGrafica %}
  298.                     ['{{ dato[0] }}', {{ dato[1] }}, {{ dato[2] }}, {{ dato[3] }},''],
  299.                     {% endfor %}
  300.                 ]);
  301.                 var options = {
  302.                     width: 620,//rechanged
  303.                     height: 390,//rechanged
  304.                     legend: { position: 'top', alignment:'center', textStyle: {bold:true}, maxLines: 3 },
  305.                     bar: { groupWidth: '33%' },
  306.                     isStacked: true,
  307.                     series: {
  308.                         0:{color:'#5b9bd5'},
  309.                         1:{color:'#ed7d31'},
  310.                         2:{color:'#a5a5a5'},
  311.                     },
  312.                     chartArea: {
  313.                         left: 70,//rechanged
  314.                         top: 65,//rechanged
  315.                         width: 570,//rechanged
  316.                         height: 288,//rechanged
  317.                     },
  318.                     vAxes: {
  319.                         0: {
  320.                             title: 'kWh',
  321.                             titleTextStyle:{
  322.                                 color: '#595959',
  323.                                 fontName:'Calibri',
  324.                                 bold:true,
  325.                                 italic: false
  326.                             }
  327.                         }
  328.                     },
  329.                     hAxis: {
  330.                         slantedText:false,
  331.                         textStyle:{
  332.                             color: '#595959',
  333.                             fontSize:10,
  334.                             bold:true,
  335.                             italic: false
  336.                         } }
  337.                 };
  338.                 var chart_div = document.getElementById('graficaConsumo');
  339.                 var chart = new google.visualization.ColumnChart(chart_div);
  340.                 google.visualization.events.addListener(chart, 'ready', function () {
  341.                     document.getElementById('generarPdf').innerHTML='' +
  342.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  343.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-download mr-1"></i>Descargar factura</button>';
  344.                     {% if roleAdmin %}
  345.                     document.getElementById('enviarFactura').innerHTML='' +
  346.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  347.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  348.                     {% endif %}
  349.                 });
  350.                 chart.draw(data, options);
  351.             }
  352.         </script>
  353.     {% elseif numeroP == 4 %}
  354.         {% if p2 %}
  355.             {% set nombre2, p2 = 'P2', false %}
  356.         {% elseif p3 %}
  357.             {% set nombre2, p3 = 'P3', false %}
  358.         {% elseif p4 %}
  359.             {% set nombre2, p4 = 'P4', false %}
  360.         {% elseif p5 %}
  361.             {% set nombre2, p5 = 'P5', false %}
  362.         {% elseif p6 %}
  363.             {% set nombre2, p6 = 'P6', false %}
  364.         {% endif %}
  365.         {% if p3 %}
  366.             {% set nombre3, p3 = 'P3', false %}
  367.         {% elseif p4 %}
  368.             {% set nombre3, p4 = 'P4', false %}
  369.         {% elseif p5 %}
  370.             {% set nombre3, p5 = 'P5', false %}
  371.         {% elseif p6 %}
  372.             {% set nombre3, p6 = 'P6', false %}
  373.         {% endif %}
  374.         {% if p4 %}
  375.             {% set nombre4 = 'P4' %}
  376.         {% elseif p5 %}
  377.             {% set nombre4 = 'P5' %}
  378.         {% elseif p6 %}
  379.             {% set nombre4 = 'P6' %}
  380.         {% endif %}
  381.         <script>
  382.             google.charts.load('current', {packages: ['corechart', 'bar']});
  383.             google.charts.setOnLoadCallback(drawColColors);
  384.             function drawColColors() {
  385.                 var data = google.visualization.arrayToDataTable([
  386.                     ['', '{{ nombre1 }}', '{{ nombre2 }}', '{{ nombre3 }}', '{{ nombre4 }}', {role: 'style'}],
  387.                     {% for dato in datosGrafica %}
  388.                     ['{{ dato[0] }}', {{ dato[1] }}, {{ dato[2] }}, {{ dato[3] }}, {{ dato[4] }},''],
  389.                     {% endfor %}
  390.                 ]);
  391.                 var options = {
  392.                     width: 620,//rechanged
  393.                     height: 390,//rechanged
  394.                     legend: { position: 'top', alignment:'center', textStyle: {bold:true}, maxLines: 3 },
  395.                     bar: { groupWidth: '33%' },
  396.                     isStacked: true,
  397.                     series: {
  398.                         0:{color:'#5b9bd5'},
  399.                         1:{color:'#5ACDED'},
  400.                         2:{color:'#ed7d31'},
  401.                         3:{color:'#a5a5a5'},
  402.                     },
  403.                     chartArea: {
  404.                         left: 70,//rechanged
  405.                         top: 65,//rechanged
  406.                         width: 570,//rechanged
  407.                         height: 288,//rechanged
  408.                     },
  409.                     vAxes: {
  410.                         0: {
  411.                             title: 'kWh',
  412.                             titleTextStyle:{
  413.                                 color: '#595959',
  414.                                 fontName:'Calibri',
  415.                                 bold:true,
  416.                                 italic: false
  417.                             }
  418.                         }
  419.                     },
  420.                     hAxis: {
  421.                         slantedText:false,
  422.                         textStyle:{
  423.                             color: '#595959',
  424.                             fontSize:10,
  425.                             bold:true,
  426.                             italic: false
  427.                         } }
  428.                 };
  429.                 var chart_div = document.getElementById('graficaConsumo');
  430.                 var chart = new google.visualization.ColumnChart(chart_div);
  431.                 google.visualization.events.addListener(chart, 'ready', function () {
  432.                     document.getElementById('generarPdf').innerHTML='' +
  433.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  434.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-download mr-1"></i>Descargar factura</button>';
  435.                     {% if roleAdmin %}
  436.                     document.getElementById('enviarFactura').innerHTML='' +
  437.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  438.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  439.                     {% endif %}
  440.                 });
  441.                 chart.draw(data, options);
  442.             }
  443.         </script>
  444.     {% elseif numeroP == 5 %}
  445.         {% if p2 %}
  446.             {% set nombre2, p2 = 'P2', false %}
  447.         {% elseif p3 %}
  448.             {% set nombre2, p3 = 'P3', false %}
  449.         {% elseif p4 %}
  450.             {% set nombre2, p4 = 'P4', false %}
  451.         {% elseif p5 %}
  452.             {% set nombre2, p5 = 'P5', false %}
  453.         {% elseif p6 %}
  454.             {% set nombre2, p6 = 'P6', false %}
  455.         {% endif %}
  456.         {% if p3 %}
  457.             {% set nombre3, p3 = 'P3', false %}
  458.         {% elseif p4 %}
  459.             {% set nombre3, p4 = 'P4', false %}
  460.         {% elseif p5 %}
  461.             {% set nombre3, p5 = 'P5', false %}
  462.         {% elseif p6 %}
  463.             {% set nombre3, p6 = 'P6', false %}
  464.         {% endif %}
  465.         {% if p4 %}
  466.             {% set nombre4, p4 = 'P4', false %}
  467.         {% elseif p5 %}
  468.             {% set nombre4, p5 = 'P5', false %}
  469.         {% elseif p6 %}
  470.             {% set nombre4, p6 = 'P6', false %}
  471.         {% endif %}
  472.         {% if p5 %}
  473.             {% set nombre5='P5' %}
  474.         {% elseif p6 %}
  475.             {% set nombre5='P6' %}
  476.         {% endif %}
  477.         <script>
  478.             google.charts.load('current', {packages: ['corechart', 'bar']});
  479.             google.charts.setOnLoadCallback(drawColColors);
  480.             function drawColColors() {
  481.                 var data = google.visualization.arrayToDataTable([
  482.                     ['', '{{ nombre1 }}', '{{ nombre2 }}', '{{ nombre3 }}', '{{ nombre4 }}', '{{ nombre5 }}', {role: 'style'}],
  483.                     {% for dato in datosGrafica %}
  484.                     ['{{ dato[0] }}', {{ dato[1] }}, {{ dato[2] }}, {{ dato[3] }}, {{ dato[4] }}, {{ dato[5] }},''],
  485.                     {% endfor %}
  486.                 ]);
  487.                 var options = {
  488.                     width: 620,//rechanged
  489.                     height: 390,//rechanged
  490.                     legend: { position: 'top', alignment:'center', textStyle: {bold:true}, maxLines: 3 },
  491.                     bar: { groupWidth: '33%' },
  492.                     isStacked: true,
  493.                     series: {
  494.                         0:{color:'#5b9bd5'},
  495.                         1:{color:'#5ACDED'},
  496.                         2:{color:'#ed7d31'},
  497.                         3:{color:'#F7B028'},
  498.                         4:{color:'#a5a5a5'},
  499.                     },
  500.                     chartArea: {
  501.                         left: 70,//rechanged
  502.                         top: 65,//rechanged
  503.                         width: 570,//rechanged
  504.                         height: 288,//rechanged
  505.                     },
  506.                     vAxes: {
  507.                         0: {
  508.                             title: 'kWh',
  509.                             titleTextStyle:{
  510.                                 color: '#595959',
  511.                                 fontName:'Calibri',
  512.                                 bold:true,
  513.                                 italic: false
  514.                             }
  515.                         }
  516.                     },
  517.                     hAxis: {
  518.                         slantedText:false,
  519.                         textStyle:{
  520.                             color: '#595959',
  521.                             fontSize:10,
  522.                             bold:true,
  523.                             italic: false
  524.                         } }
  525.                 };
  526.                 var chart_div = document.getElementById('graficaConsumo');
  527.                 var chart = new google.visualization.ColumnChart(chart_div);
  528.                 google.visualization.events.addListener(chart, 'ready', function () {
  529.                     document.getElementById('generarPdf').innerHTML='' +
  530.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  531.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-download mr-1"></i>Descargar factura</button>';
  532.                     {% if roleAdmin %}
  533.                     document.getElementById('enviarFactura').innerHTML='' +
  534.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  535.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  536.                     {% endif %}
  537.                 });
  538.                 chart.draw(data, options);
  539.             }
  540.         </script>
  541.     {% elseif numeroP == 6 %
  542.         <script>
  543.             google.charts.load('current', {packages: ['corechart', 'bar']});
  544.             google.charts.setOnLoadCallback(drawColColors);
  545.             function drawColColors() {
  546.                 var data = google.visualization.arrayToDataTable([
  547.                     ['', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6', {role: 'style'}],
  548.                     {% for dato in datosGrafica %}
  549.                     ['{{ dato[0] }}', {{ dato[1] }}, {{ dato[2] }}, {{ dato[3] }}, {{ dato[4] }}, {{ dato[5] }}, {{ dato[6] }},''],
  550.                     {% endfor %}
  551.                 ]);
  552.                 var options = {
  553.                     width: 620,//rechanged
  554.                     height: 390,//rechanged
  555.                     legend: { position: 'top', alignment:'center', textStyle: {bold:true}, maxLines: 3 },
  556.                     bar: { groupWidth: '33%' },
  557.                     isStacked: true,
  558.                     series: {
  559.                         0:{color:'#5b9bd5'},
  560.                         1:{color:'#5ACDED'},
  561.                         2:{color:'#ed7d31'},
  562.                         3:{color:'#F7B028'},
  563.                         4:{color:'#a5a5a5'},
  564.                         5:{color:'#C2ABC9'},
  565.                     },
  566.                     chartArea: {
  567.                         left: 70,//rechanged
  568.                         top: 65,//rechanged
  569.                         width: 570,//rechanged
  570.                         height: 288,//rechanged
  571.                     },
  572.                     vAxes: {
  573.                         0: {
  574.                             title: 'kWh',
  575.                             titleTextStyle:{
  576.                                 color: '#595959',
  577.                                 fontName:'Calibri',
  578.                                 bold:true,
  579.                                 italic: false
  580.                             }
  581.                         }
  582.                     },
  583.                     hAxis: {
  584.                         slantedText:false,
  585.                         textStyle:{
  586.                             color: '#595959',
  587.                             fontSize:10,
  588.                             bold:true,
  589.                             italic: false
  590.                         } }
  591.                 };
  592.                 var chart_div = document.getElementById('graficaConsumo');
  593.                 var chart = new google.visualization.ColumnChart(chart_div);
  594.                 google.visualization.events.addListener(chart, 'ready', function () {
  595.                     document.getElementById('generarPdf').innerHTML='' +
  596.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  597.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-download mr-1"></i>Descargar factura</button>';
  598.                     {% if roleAdmin %}
  599.                     document.getElementById('enviarFactura').innerHTML='' +
  600.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  601.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  602.                     {% endif %}
  603.                 });
  604.                 chart.draw(data, options);
  605.             }
  606.         </script>#}
  607.     {% elseif numeroP>3 %}
  608.         <script>
  609.             google.charts.load('45.2', {packages: ['corechart', 'bar']});
  610.             google.charts.setOnLoadCallback(drawColColors);
  611.             function drawColColors() {
  612.                 var data = google.visualization.arrayToDataTable([
  613.                     ['', {% if arrayP[0] %}'P1', {% endif %}{% if arrayP[1] %}'P2', {% endif %}{% if arrayP[2] %}'P3', {% endif %}{% if arrayP[3] %}'P4', {% endif %}{% if arrayP[4] %}'P5', {% endif %}{% if arrayP[5] %}'P6', {% endif %}{role: 'style'}],
  614.                     {% for dato in datosGrafica %}
  615.                     ['{{ dato[0] }}', {% if arrayP[0] %}{{ dato[1] }}, {% endif %}{% if arrayP[1] %}{{ dato[2] }}, {% endif %}{% if arrayP[2] %}{{ dato[3] }}, {% endif %}{% if arrayP[3] %}{{ dato[4] }}, {% endif %}{% if arrayP[4] %}{{ dato[5] }}, {% endif %}{% if arrayP[5] %}{{ dato[6] }},{% endif %}''],
  616.                     {% endfor %}
  617.                 ]);
  618.                 var options = {
  619.                     width: 620,//rechanged
  620.                     height: 390,//rechanged
  621.                     legend: { position: 'top', alignment:'center', textStyle: {bold:true}, maxLines: 3 },
  622.                     bar: { groupWidth: '33%' },
  623.                     isStacked: true,
  624.                     series: {
  625.                         0:{color:'#5b9bd5'},
  626.                         1:{color:'#5ACDED'},
  627.                         2:{color:'#ed7d31'},
  628.                         3:{color:'#F7B028'},
  629.                         4:{color:'#a5a5a5'},
  630.                         5:{color:'#C2ABC9'},
  631.                     },
  632.                     chartArea: {
  633.                         left: 70,//rechanged
  634.                         top: 65,//rechanged
  635.                         width: 570,//rechanged
  636.                         height: 288,//rechanged
  637.                     },
  638.                     vAxes: {
  639.                         0: {
  640.                             title: 'kWh',
  641.                             titleTextStyle:{
  642.                                 color: '#595959',
  643.                                 fontName:'Calibri',
  644.                                 bold:true,
  645.                                 italic: false
  646.                             }
  647.                         }
  648.                     },
  649.                     hAxis: {
  650.                         slantedText:false,
  651.                         textStyle:{
  652.                             color: '#595959',
  653.                             fontSize:10,
  654.                             bold:true,
  655.                             italic: false
  656.                         } }
  657.                 };
  658.                 var chart_div = document.getElementById('graficaConsumo');
  659.                 var chart = new google.visualization.ColumnChart(chart_div);
  660.                 google.visualization.events.addListener(chart, 'ready', function () {
  661.                     document.getElementById('generarPdf').innerHTML='' +
  662.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  663.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-pdf mr-1"></i>Documento PDF</button>';
  664.                     document.getElementById('generarXml').innerHTML='' +
  665.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  666.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-code mr-1"></i>Factura electrónica</button>';
  667.                     {% if roleAdmin %}
  668.                     document.getElementById('enviarFactura').innerHTML='' +
  669.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  670.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  671.                     {% endif %}
  672.                 });
  673.                 chart.draw(data, options);
  674.             }
  675.         </script>
  676.     {% else %}
  677.         <script>
  678.             google.charts.load('45.2', {packages: ['corechart', 'bar']});
  679.             google.charts.setOnLoadCallback(drawColColors);
  680.             function drawColColors() {
  681.                 var data = google.visualization.arrayToDataTable([
  682.                     ['', 'P1', {role: 'style'}],
  683.                     {% for dato in datosGrafica %}
  684.                     ['{{ dato[0] }}', {{ dato[1] }}, ''],
  685.                     {% endfor %}
  686.                 ]);
  687.                 var options = {
  688.                     width: 620,//rechanged
  689.                     height: 390,//rechanged
  690.                     legend: { position: 'none', maxLines: 3 },
  691.                     bar: { groupWidth: '33%' },
  692.                     isStacked: true,
  693.                     series: {
  694.                         0:{color:'#5b9bd5'},
  695.                         1:{color:'#ed7d31'},
  696.                         2:{color:'#a5a5a5'},
  697.                     },
  698.                     chartArea: {
  699.                         left: 70,//rechanged
  700.                         top: 65,//rechanged
  701.                         width: 570,//rechanged
  702.                         height: 288,//rechanged
  703.                     },
  704.                     vAxes: {
  705.                         0: {
  706.                             title: 'kWh',
  707.                             titleTextStyle:{
  708.                                 color: '#595959',
  709.                                 fontName:'Calibri',
  710.                                 bold:true,
  711.                                 italic: false
  712.                             }
  713.                         }
  714.                     },
  715.                     hAxis: {
  716.                         slantedText:false,
  717.                         textStyle:{
  718.                             color: '#595959',
  719.                             fontSize:10,
  720.                             bold:true,
  721.                             italic: false
  722.                         } }
  723.                 };
  724.                 var chart_div = document.getElementById('graficaConsumo');
  725.                 var chart = new google.visualization.ColumnChart(chart_div);
  726.                 google.visualization.events.addListener(chart, 'ready', function () {
  727.                     document.getElementById('generarPdf').innerHTML='' +
  728.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  729.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-pdf mr-1"></i>Documento PDF</button>';
  730.                     document.getElementById('generarXml').innerHTML='' +
  731.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  732.                         '<button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-code mr-1"></i>Factura electrónica</button>';
  733.                     {% if roleAdmin %}
  734.                     document.getElementById('enviarFactura').innerHTML='' +
  735.                         '<input type="hidden" name="urlImagen" value="'+chart.getImageURI()+'">' +
  736.                         '<button type="submit" class="btn btn-primary">Enviar</button>';
  737.                     {% endif %}
  738.                 });
  739.                 chart.draw(data, options);
  740.             }
  741.         </script>
  742.     {% endif %}
  743. {% endblock %}
  744. {% block style %}
  745. <link href="/css/factura.css" rel="stylesheet">
  746. {% endblock %}
  747. {% block body %}
  748.     {#col-xl-11 col-12 #}
  749.     <div class="mb-4 mx-auto col-12 col-xl-9 text-left d-block position-sticky">
  750.         <div class="card shadow border-left-primary h-100 py-2 position-sticky">
  751.             <div class="card-body">
  752.                 {% if roleFacturacion %}
  753.                     <a href="{{ url('contrato_show',{id:factura.contrato.id}) }}" class="border-0 bg-transparent text-xs ml-1">
  754.                         <i class="fas fa-arrow-left mr-1"></i>Volver al contrato
  755.                     </a>
  756.                 {% endif %}
  757.                 <h1 class="h3 mb-2 text-gray-800">Opciones</h1>
  758.                 {% if roleFacturacion %}
  759.                     {% if factura.fechaDevolucion is not null %}
  760.                     <div id="devuelta_alert" class="d-none">
  761.                         <div class="alert-warning rounded py-2 mx-auto mb-3 row w-75"><i class="fas fa-exclamation-triangle fa-2x my-auto col-auto"></i><span class="col my-auto">Aviso: esta factura se marcó como devuelta el día {{ factura.fechaDevolucion|date("d/m/Y") }}. La factura se puede pagar con tarjeta de crédito online con el botón que se encuentra más abajo.</span></div>
  762.                     </div>
  763.                     {% else %}
  764.                     <div id="devuelta_alert" class="d-none">
  765.                         <div class="alert-warning rounded py-2 mx-auto mb-3 row w-75"><i class="fas fa-exclamation-triangle fa-2x my-auto col-auto"></i><span class="col my-auto">Aviso: esta factura se ha marcado como devuelta. La factura se puede pagar con tarjeta de crédito online con el botón que se encuentra más abajo.</span></div>
  766.                     </div>
  767.                     {% endif %}
  768.                 {% else %}
  769.                     {% if factura.fechaDevolucion is not null %}
  770.                     <div id="devuelta_alert" class="d-none">
  771.                         <div class="alert-warning rounded py-2 mx-auto mb-3 row w-75"><i class="fas fa-exclamation-triangle fa-2x my-auto col-auto"></i><span class="col">Aviso: esta factura se marcó como devuelta el día {{ factura.fechaDevolucion|date("d/m/Y") }}. Si lo deasea, puede pagar su factura con tarjeta de crédito online con el botón que se encuentra más abajo. Si cree que puede tratarse de un error, no dude en ponerse en contracto con nosotros.</span></div>
  772.                     </div>
  773.                     {% else %}
  774.                     <div id="devuelta_alert" class="d-none">
  775.                         <div class="alert-warning rounded py-2 mx-auto mb-3 row w-75"><i class="fas fa-exclamation-triangle fa-2x my-auto col-auto"></i><span class="col">Aviso: esta factura se ha marcado como devuelta. Si lo deasea, puede pagar su factura con tarjeta de crédito online con el botón que se encuentra más abajo. Si cree que puede tratarse de un error, no dude en ponerse en contracto con nosotros.</span></div>
  776.                     </div>
  777.                     {% endif %}
  778.                 {% endif %}
  779.                 <button type="button" id="descargar" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover" data-toggle="modal" data-target="#descargarModal"><i class="fas fa-file-download mr-1"></i>Descargar factura</button>
  780.                 {% if roleFacturacion %}
  781.                     <button type="button" id="enviar" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover" data-toggle="modal" data-target="#emailModal"><i class="fas fa-envelope mr-1"></i>Enviar factura</button>
  782.                 {% endif %}
  783.                 <a href="{{ url('factura_pagar', {id:factura.id}) }}" id="pagarButton" type="button" class="btn btn-success bg-gradient-success bg-gradient-success-hover {% if not factura.devuelta %}d-none{% endif %}"><i class="fas fa-credit-card mr-1"></i>Pagar con tarjeta</a>
  784.                 {% if roleFacturacion %}
  785.                     {# <a href="{{ url('factura_edit',{id:factura.id}) }}" class="text-info border-0 bg-transparent"><i class="fas fa-pencil-alt mr-1"></i>Editar</a> #}
  786.                     <button type="button" id="alert" class="btn btn-warning d-none" disabled="disabled" data-toggle="modal" data-target="#alertModal"><i class="fas fa-exclamation-triangle mr-1"></i>Mostrar avisos</button>
  787.                     <a href="#" class="d-inline-block text-info" onclick="optionsModal({{ factura.id }})"><i class="fas fa-cog"></i>Opciones</a>
  788.                     {{ include('factura/_delete_form.html.twig') }}
  789.                     <input type="hidden" id="id" value="{{ factura.id }}">
  790.                     <input type="hidden" id="devuelta{{ factura.id }}" value="{{ factura.devuelta }}">
  791.                     <input type="hidden" id="periodo" value="{{ periodoFacturacion }}">
  792.                     <input type="hidden" id="indexada" value="{% if factura.contrato.producto.modalidad.nombre=='Indexado' %}true{% else %}false{% endif %}">
  793.                 {% endif %}
  794.                 {% if roleSuperadmin %}
  795.                     <button type="button" id="rentabilidad" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover" data-toggle="modal" data-target="#rentabilidadModal"><i class="fas fa-hand-holding-usd mr-1"></i>Rentabilidad</button>
  796.                 {% endif %}
  797.             </div>
  798.         </div>
  799.     </div>
  800.     <div class="text-center scrollBox">
  801.         <div class="mb-4 mx-2 factura-card d-inline-block">
  802.             <div class="bg-white shadow h-100 py-5 rounded-0">
  803.                 <div class="card-body">
  804.                     <table class="factura">
  805.                         <tr>
  806.                             <td colspan="3" class="bg-green text-white font-weight-bold big py-4 h1 text-center">FACTURA DE SERVICIOS ENERGÉTICOS</td>
  807.                             <td colspan="5" rowspan="31" class="factura-direccion">
  808.                                 <img src="/img/logos/logo_factura.png" alt="Energaze" class="factura-logo">
  809.                                 <div class="factura-direccion-line">
  810.                                     {% if factura.notificaciones %}
  811.                                         {{ factura.nombreNotificaciones }}<br/>
  812.                                         {{ factura.direccionNotificaciones }}<br/>
  813.                                         {{ factura.cpNotificaciones }}&nbsp;&nbsp;- {{ factura.poblacionNotificaciones }}, {{ factura.provinciaNotificaciones }}
  814.                                     {% else %}
  815.                                         {{ factura.nombreCliente }}<br/>
  816.                                         {{ factura.direccionCliente }}<br/>
  817.                                         {{ factura.cpCliente }}&nbsp;&nbsp;- {{ factura.poblacionCliente }}, {{ factura.provinciaCliente }}
  818.                                     {% endif %}
  819.                                 </div>
  820.                             </td>
  821.                         </tr>
  822.                         <tr>
  823.                             <td colspan="3" class="spacing"></td>
  824.                         </tr>
  825.                         <tr>
  826.                             <td colspan="3" class="spacing"></td>
  827.                         </tr>
  828.                         <tr>
  829.                             <td colspan="3" class="spacing"></td>
  830.                         </tr>
  831.                         <tr>
  832.                             <td colspan="3" class="factura-header">Grupo Menergaze, S.L.</td>
  833.                         </tr>
  834.                         <tr><td colspan="3" class="factura-header">B-40522955</td></tr>
  835.                         <tr><td colspan="3" class="factura-header">Avenida d'Alacant 33, 4. Gandía (46701), Valencia</td></tr>
  836.                         <tr>
  837.                             <td colspan="3" class="spacing"></td>
  838.                         </tr>
  839.                         <!-- DATOS FACTURA -->
  840.                         <tr>
  841.                             <td class="bg-green icon-container">
  842.                                 <img class="icon-a" src="/img/factura/factura.png" alt="F">
  843.                             </td>
  844.                             <td class="bg-green title">DATOS DE LA FACTURA</td>
  845.                             <td class="bg-green post-title post-title-first"> </td>
  846.                         </tr>
  847.                         <tr>
  848.                             <td colspan="3" class="spacing"></td>
  849.                         </tr>
  850.                         <tr>
  851.                             <td colspan="3">Referencia contrato: {{ factura.contrato.referenciaContrato }}</td>
  852.                         </tr>
  853.                         <tr>
  854.                             <td colspan="3">Periodo facturación: <span id="fechaLecturaAnterior">{{ factura.fechaLecturaAnterior|date_modify("+1 day")|date("d/m/Y") }}</span> al <span id="fechaLectura">{{ factura.fechaLectura|date("d/m/Y", "Europe/Madrid") }}</span></td>
  855.                         </tr>
  856.                         <tr>
  857.                             <td colspan="3">Fecha emisión: {{ factura.fechaEmision|date("d/m/Y") }}</td>
  858.                         </tr>
  859.                         <tr>
  860.                             <td colspan="3">Número factura: {{ factura.numeroFactura }} </td>
  861.                         </tr>
  862.                         <tr>
  863.                             <td colspan="3" class="bottom-spacing">Fecha de cargo: {{ factura.fechaEmision|date_modify("+5 day")|date("d/m/Y") }} </td>
  864.                         </tr>
  865.                         <tr>
  866.                             <td colspan="3" class="spacing"></td>
  867.                         </tr>
  868.                         <tr>
  869.                             <td colspan="3" class="spacing"></td>
  870.                         </tr>
  871.                         <!-- DATOS CLIENTE -->
  872.                         <tr>
  873.                             <td class="bg-green icon-container"><img class="icon-b" src="/img/factura/datoscliente.png" alt="F"> </td>
  874.                             <td class="bg-green title">DATOS DEL CLIENTE</td>
  875.                             <td class="bg-green post-title"> </td>
  876.                         </tr>
  877.                         <tr>
  878.                             <td colspan="3" class="spacing"></td>
  879.                         </tr>
  880.                         <tr>
  881.                             <td colspan="3">Nombre: {{ factura.nombreCliente }}</td>
  882.                         </tr>
  883.                         <tr>
  884.                             <td colspan="3">NIF: {{ factura.nifCliente }} </td>
  885.                         </tr>
  886.                         <tr>
  887.                             <td colspan="3" class="bottom-spacing">Dirección: {{ factura.direccionCliente }} <br/>
  888.                                 {{ factura.cpCliente }}&nbsp;&nbsp;- {{ factura.poblacionCliente }}, {{ factura.provinciaCliente }}</td>
  889.                         </tr>
  890.                         <tr>
  891.                             <td colspan="3" class="spacing"></td>
  892.                         </tr>
  893.                         <tr>
  894.                             <td colspan="3" class="spacing"></td>
  895.                         </tr>
  896.                         <!-- FORMA DE PAGO -->
  897.                         <tr>
  898.                             <td class="bg-green icon-container"><img class="icon-d" src="/img/factura/pago.png" alt="F"> </td>
  899.                             <td class="bg-green title">FORMA DE PAGO</td>
  900.                             <td class="bg-green post-title"> </td>
  901.                         </tr>
  902.                         <tr>
  903.                             <td colspan="3" class="spacing"></td>
  904.                         </tr>
  905.                         <tr>
  906.                             <td colspan="3">Forma de pago: {{ factura.contrato.formaPago|lower|capitalize }}</td>
  907.                         </tr>
  908.                         <tr>
  909.                             <td colspan="3">Entidad: {{ entidad }}</td>
  910.                         </tr>
  911.                         <tr>
  912.                             <td colspan="3" class="bottom-spacing">{{ factura.getNumeroCuenta|slice(0, factura.getNumeroCuenta|length-4) }}****</td>
  913.                         </tr>
  914.                         <tr>
  915.                             <td colspan="3" class="spacing"></td>
  916.                         </tr>
  917.                         <tr>
  918.                             <td colspan="3" class="spacing"></td>
  919.                         </tr>
  920.                         <!-- DETALLES DEL CONSUMO // FACTURACIÓN -->
  921.                         <tr>
  922.                             <td class="bg-green icon-container">
  923.                                 <img class="icon-a" src="/img/factura/factura.png" alt="F">
  924.                             </td>
  925.                             <td class="bg-green title">RESUMEN DE FACTURA</td>
  926.                             <td class="bg-green post-title"> </td>
  927.                             <td class="bg-green icon-container"><img class="icon-d" src="/img/factura/grafica.png" alt="F"> </td>
  928.                             <td class="bg-green title">DETALLES DEL CONSUMO</td>
  929.                             <td class="bg-green post-title-second" colspan="2"> </td>
  930.                         </tr>
  931.                         <tr>
  932.                             <td colspan="3" class="align-top">
  933.                                 <table class="w-100">
  934.                                     <tr>
  935.                                         <td colspan="2" class="spacing"></td>
  936.                                     </tr>
  937.                                     <tr>
  938.                                         <td>Servicio de gestión energética:</td>
  939.                                         <td class="text-right"><span id="totalEnergia">{{ (importeTotal-otrosConceptos)|number_format(2, ',', '.') }}</span> €</td>
  940.                                     </tr>
  941.                                     <tr>
  942.                                         <td>Otros conceptos:</td>
  943.                                         <td class="text-right">{{ otrosConceptos|number_format(2, ',', '.') }} €</td>
  944.                                     </tr>
  945.                                     <tr>
  946.                                         <td >IVA {{ factura.iva|number_format(10, ',', '.')|trim('0','right')|trim(',','right') }}%:</td>
  947.                                         <td class="text-right">{{ importeIva|number_format(2, ',', '.') }} €</td>
  948.                                     </tr>
  949.                                     <tr>
  950.                                         <td class="font-weight-bold bg-lightgreen facturacion-title">Total factura:</td>
  951.                                         <td class="font-weight-bold text-right bg-lightgreen facturacion-title">{{ totalFactura|number_format(2, ',', '.') }} €</td>
  952.                                     </tr>
  953.                                 </table>
  954.                                 {% if factura.bateriaVirtual %}
  955.                                 <table>
  956.                                     <tr>
  957.                                         <td colspan="3" class="spacing"></td>
  958.                                     </tr>
  959.                                     <tr>
  960.                                         <td colspan="3" class="spacing"></td>
  961.                                     </tr>
  962.                                     <tr>
  963.                                         <td colspan="3" class="spacing"></td>
  964.                                     </tr>
  965.                                 </table>
  966.                                 <table class="w-100">
  967.                                     <tr>
  968.                                         <td class="bg-green icon-container"><img class="icon-c" src="/img/factura/bateria.png" alt="B"> </td>
  969.                                         <td class="bg-green title">BATERÍA VIRTUAL</td>
  970.                                         <td class="bg-green post-title"> </td>
  971.                                     </tr>
  972.                                     <tr>
  973.                                         <td colspan="2" class="spacing"></td>
  974.                                     </tr>
  975.                                     <tr>
  976.                                         <td colspan="2">Descuento acumulado: {{ factura.importeBateriaVirtual|number_format(2, ',', '.') }} €</td>
  977.                                     </tr>
  978.                                 </table>
  979.                                 {% endif %}
  980.                             </td>
  981.                             <td colspan="4" class="align-top">
  982.                                 <div id="graficaConsumo" class="display-block"></div>
  983.                                 <div class="leyenda-grafica">Su consumo medio en el periodo facturado ha sido de <span id="consumoMedio">{{ consumoMedio|number_format(2, ',', '.') }}</span> €</div>
  984.                                 <div class="leyenda-grafica">Su consumo acumulado del último año ha sido de {{ consumoAcumulado|number_format(5, ',', '.')|trim('0','right')|trim(',','right') }} kWh</div>
  985.                             </td>
  986.                         </tr>
  987.                         <tr>
  988.                             <td colspan="8" class="spacing"></td>
  989.                         </tr>
  990.                         <tr>
  991.                             <td colspan="8" class="spacing"></td>
  992.                         </tr>
  993.                         <tr>
  994.                             <td colspan="8" class="spacing"></td>
  995.                         </tr>
  996.                         <tr>
  997.                             <td colspan="8" class="spacing"></td>
  998.                         </tr>
  999.                         <tr>
  1000.                             <td colspan="8" class="spacing"></td>
  1001.                         </tr>
  1002.                         <tr>
  1003.                             <td class="bg-green icon-container"><img class="icon-b" src="/img/factura/info.png" alt="F"> </td>
  1004.                             <td class="bg-green title">INFORMACIÓN DE SU INTERÉS</td>
  1005.                             <td class="bg-green" colspan="5"> </td>
  1006.                         </tr>
  1007.                         <tr>
  1008.                             <td colspan="8" class="spacing bg-lightgreen"></td>
  1009.                         </tr>
  1010.                         <tr>
  1011.                             <td colspan="8" rowspan="5" class="bg-lightgreen text-justify factura-info">
  1012.                                 <div class="w-75" style="margin: auto">
  1013.                                     <div class="border-bottom border-dark">
  1014.                                         <span class="user-select-none">&nbsp;</span>
  1015.                                         <span class="border-bottom border-lightgreen float-left">Atención al cliente (lunes a jueves de 9:00h a 19:00h y viernes de 9:00h a 14:00h):</span>
  1016.                                         <span class="text-right float-right font-weight-bold border-lightgreen border-bottom">900 90 88 78<img src="/img/factura/Customer-Service-Icon.png" alt="" class="icon-b d-inline user-select-none"/></span>
  1017.                                     </div>
  1018.                                     <span class="text-right float-right font-weight-bold">energaze@energaze.com<i class="px-1 text-center fas fa-envelope"></i></span><br>
  1019.                                     <span class="text-right float-right">Dirección postal: <span class="font-weight-bold">Av. Alacant 33 - 4, 46701 Gandía, (Valencia)<span class="user-select-none"> </span><i class="px-1 text-center fas fa-map-marker-alt"></i></span></span><br>
  1020.                                     <div class="border-bottom border-dark">
  1021.                                         &nbsp;
  1022.                                         <span class="border-bottom border-lightgreen float-left">Web:</span>
  1023.                                         <span class="text-right float-right font-weight-bold border-lightgreen border-bottom">clientes.energaze.com<i class="px-1 text-center fas fa-globe"></i></span>
  1024.                                     </div>
  1025.                                     <div class="border-bottom border-dark">
  1026.                                         &nbsp;
  1027.                                         <span class="border-bottom border-lightgreen float-left">Averías y Urgencias (teléfono distribuidora 24 horas):</span>
  1028.                                         <span class="text-right float-right font-weight-bold border-lightgreen border-bottom">
  1029.                                             {% set inicioCups=(factura.contrato.suministro.cups[:6]) %}
  1030.                                             {% if inicioCups=='ES0222' %}
  1031.                                                 900 850 840 (E-Distribución)
  1032.                                             {% elseif inicioCups=='ES0021' %}
  1033.                                                 900 171 171 (I-DE)
  1034.                                             {% elseif inicioCups=='ES0022' %}
  1035.                                                 900 333 999 (Unión Fenosa Distribución)
  1036.                                             {% elseif inicioCups=='ES0026' %}
  1037.                                                 900 907 003 (E-Redes)
  1038.                                             {% elseif inicioCups=='ES0027' %}
  1039.                                                 900 101 051 (Viesgo distribución)
  1040.                                             {% elseif inicioCups=='ES0033' %}
  1041.                                                 901 101 051 (Viesgo distribución)
  1042.                                             {% elseif inicioCups=='ES0031' %}
  1043.                                                 900 850 840 (E-Distribución)
  1044.                                             {% elseif inicioCups=='ES0230' %}
  1045.                                                 900 100 252 (NEDGIA)
  1046.                                             {% elseif inicioCups=='ES0229' %}
  1047.                                                 900 902 933 (NORTEGAS)
  1048.                                             {% elseif inicioCups=='ES0238' %}
  1049.                                                 900 811 339 (REDEXIS)
  1050.                                             {% elseif inicioCups=='ES0234' %}
  1051.                                                 912 66 77 88 (MADRILEÑA RED DE GAS)
  1052.                                             {% endif %}
  1053.                                             <i class="px-1 text-center fas fa-phone"></i>
  1054.                                         </span>
  1055.                                     </div>
  1056.                                 </div>
  1057.                             </td>
  1058.                         </tr>
  1059.                         <tr>
  1060.                             <td colspan="8" class="spacing"></td>
  1061.                         </tr>
  1062.                         <tr>
  1063.                             <td colspan="8" class="spacing"></td>
  1064.                         </tr>
  1065.                         <tr>
  1066.                             <td colspan="8" class="spacing"></td>
  1067.                         </tr>
  1068.                         <tr>
  1069.                             <td colspan="8" class="spacing"></td>
  1070.                         </tr>
  1071.                         <tr>
  1072.                             <td colspan="8" class="spacing"></td>
  1073.                         </tr>
  1074.                     </table>
  1075.                 </div>
  1076.             </div>
  1077.         </div>
  1078.     </div>
  1079.     <div class="text-center scrollBox">
  1080.         <div class="mb-4 mx-2 factura-card d-inline-block">
  1081.             <div class="bg-white shadow h-100 py-2 rounded-0">
  1082.                 <div class="card-body">
  1083.                     {% if factura.tarifa.tipoTarifa == 'Electricidad' %}
  1084.                         {% include 'factura/luz/_luz.html.twig' %}
  1085.                     {% else %}
  1086.                         {% include 'factura/gas/_31.html.twig' %}
  1087.                     {% endif %}
  1088.                 </div>
  1089.             </div>
  1090.         </div>
  1091.     </div>
  1092.     {% if roleFacturacion %}
  1093.         <div class="modal fade" id="alertModal" tabindex="-1" role="dialog" aria-labelledby="alertModalTitle" aria-hidden="false">
  1094.             <div class="modal-dialog modal-dialog-centered" role="document">
  1095.                 <div class="modal-content">
  1096.                     <div class="modal-header">
  1097.                         <h5 class="modal-title" id="alertModal_title">Aviso</h5>
  1098.                         <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  1099.                             <span aria-hidden="true">&times;</span>
  1100.                         </button>
  1101.                     </div>
  1102.                     <div id="alertModal_message">{% if factura.contrato.cliente.observaciones is not null or factura.contrato.observaciones is not null %}
  1103.                         <div class="modal-body alert-warning py-3 border border-warning">
  1104.                             <div class="text-center">
  1105.                                 <div class="my-auto">
  1106.                                     {% if factura.contrato.cliente.observaciones is not null %}
  1107.                                         <div class="font-weight-bold">Observaciones cliente:</div>
  1108.                                         <div class="mb-2">{{ factura.contrato.cliente.observaciones }}</div>
  1109.                                     {% endif %}
  1110.                                     {% if factura.contrato.observaciones is not null %}
  1111.                                         <div class="font-weight-bold">Observaciones contrato:</div>
  1112.                                         <div class="mb-2">{{ factura.contrato.observaciones }}</div>
  1113.                                     {% endif %}
  1114.                                 </div>
  1115.                             </div>
  1116.                         </div>
  1117.                         {% endif %}</div>
  1118.                     <div class="modal-footer">
  1119.                         <button type="button" class="btn btn-primary" data-dismiss="modal">Aceptar</button>
  1120.                     </div>
  1121.                 </div>
  1122.             </div>
  1123.         </div>
  1124.         <div class="modal fade" id="emailModal" tabindex="-1" role="dialog" aria-labelledby="emailModalTitle" aria-hidden="true">
  1125.             <div class="modal-dialog modal-dialog-centered" role="document">
  1126.                 <div class="modal-content">
  1127.                     <div class="modal-header">
  1128.                         <h5 class="modal-title" id="emailModal_title">Enviar factura</h5>
  1129.                         <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  1130.                             <span aria-hidden="true">&times;</span>
  1131.                         </button>
  1132.                     </div>
  1133.                     <div class="modal-body py-3">
  1134.                         <div class="text-center">
  1135.                             <div class="my-auto" id="emailModal_message">
  1136.                                 La factura se enviará a {{ factura.contrato.cliente.email }}
  1137.                                 <br>¿Desea proseguir con la operación?
  1138.                             </div>
  1139.                         </div>
  1140.                     </div>
  1141.                     <div class="modal-footer">
  1142.                         <form id="enviarFactura" class="d-inline" action="{{ url('factura_enviar', {id:factura.id}) }}" method="post">
  1143.                             <button type="submit" class="btn btn-primary">Enviar</button>
  1144.                         </form>
  1145.                     </div>
  1146.                 </div>
  1147.             </div>
  1148.         </div>
  1149.     {% endif %}
  1150.     <div class="modal fade" id="descargarModal" tabindex="-1" role="dialog" aria-labelledby="descargarModalTitle" aria-hidden="true">
  1151.         <div class="modal-dialog modal-dialog-centered" role="document">
  1152.             <div class="modal-content">
  1153.                 <div class="modal-header">
  1154.                     <h5 class="modal-title" id="descargarModal_title">Descargar factura</h5>
  1155.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  1156.                         <span aria-hidden="true">&times;</span>
  1157.                     </button>
  1158.                 </div>
  1159.                 <div class="modal-body py-3">
  1160.                     <div class="text-center">
  1161.                         <div class="row" id="descargarModal_message">
  1162.                             <div class="col"></div>
  1163.                             <form id="generarPdf" class="d-inline col-auto" action="{{ url('factura_pdf', {id:factura.id}) }}" method="post">
  1164.                                 <button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-pdf mr-1"></i>Documento PDF</button>
  1165.                             </form>
  1166.                             <div class="col"></div>
  1167.                             <form id="generarXml" class="d-inline col-auto" action="{{ url('factura_xml', {id:factura.id}) }}" method="post">
  1168.                                 <button type="submit" class="btn btn-primary bg-gradient-primary bg-gradient-primary-hover"><i class="fas fa-file-code mr-1"></i>Factura electrónica</button>
  1169.                             </form>
  1170.                             <div class="col"></div>
  1171.                         </div>
  1172.                     </div>
  1173.                 </div>
  1174.                 <div class="modal-footer">
  1175.                     <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
  1176.                 </div>
  1177.             </div>
  1178.         </div>
  1179.     </div>
  1180.     {% if roleSuperadmin and factura.tarifa.tipoTarifa == 'Electricidad' %}
  1181.         {{ include('factura/_rentabilidad_modal.html.twig') }}
  1182.     {% endif %}
  1183. {% endblock %}
  1184. {% block script %}
  1185.     <script src="/js/show/factura.js"></script>
  1186.     {% if roleFacturacion %}
  1187.         {% include 'factura/_options_modal.html.twig' %}
  1188.         <script src="/js/email_prompt.js"></script>
  1189.         <script src="/js/factura_options_modal.js"></script>
  1190.         <script src="/js/comprobarFactura.js"></script>
  1191.     {% endif %}
  1192.     {% if roleSuperadmin %}
  1193.         <script src="/js/rentabilidad_factura.js"></script>
  1194.     {% endif %}
  1195. {% endblock %}