function consultarRF(){
    
    var ano = $('#listaAnios option:selected').val();

    if(ano == ''){
        alert("Selecciona un año y luego pulsa en Consultar");
        return;
    }
        

    $('#tablaReporteRF tbody').empty();

    
    
    $.get("./cu/reporteFlujo_cu.php", {op:86,tabla:"ingresos",ano:ano}, function(respuesta){
        var datos = respuesta.split("_");
        
        var filaITR = '';
        var filaETR = '';
        var filaSaldosR = '';
        
        for(var i = 0; i < 12; i++){
            var montos = datos[i].split("*");
            
            var ingreso = (parseFloat(montos[0])).toFixed(2);
            var egreso = (parseFloat(montos[1])).toFixed(2);
            
            
            if(isNaN(ingreso))
                ingreso = parseFloat("0").toFixed(2);
            
            if(isNaN(egreso))
                egreso = parseFloat("0").toFixed(2);           
            
            var saldos = (parseFloat(ingreso) - parseFloat(egreso)).toFixed(2);
            
                        
            filaITR = filaITR + "<td style='text-align:center;' id='litr" + i + "'>" + ingreso + "</td> <td id='litp" + i + "'> </td> <td id='litd" + i + "'></td>";    
            filaETR = filaETR + "<td style='text-align:center;' id='letr" + i + "'>" + egreso + "</td> <td id='letp" + i + "'> </td> <td id='letd" + i + "'></td>";
            filaSaldosR = filaSaldosR + "<td style='text-align:center;' id='lsr" + i + "'>" + saldos + "</td> <td id='lsp" + i + "'> </td> <td id='lsd" + i + "'></td>";
        }
        
        
        $.get("./cu/reporteFlujo_cu.php", {op:87,condicion:"directos",ano:ano}, function(respuesta){
            var directosR = respuesta.split("_");
            var directosFijosR = directosR[0].split("*");
            var directosVariablesR = directosR[1].split("*");
            
            var filaDFR = '';
            var filaDVR = '';
            var filaDR = '';
            
            for(var i = 0; i < 12; i++){
                var dfr = (parseFloat(directosFijosR[i])).toFixed(2);
                var dvr = (parseFloat(directosVariablesR[i])).toFixed(2);
                
                if(isNaN(dfr))
                    dfr = parseFloat("0").toFixed(2);
                
                if(isNaN(dvr))
                    dvr = parseFloat("0").toFixed(2);
                
                var dr = (parseFloat(dfr) + parseFloat(dvr)).toFixed(2); 
                filaDFR = filaDFR + "<td style='text-align:center;' id='ldfr" + i + "'>" + dfr + "</td> <td id='ldfp" + i + "'> </td> <td id='ldfd" + i + "'></td>";
                filaDVR = filaDVR + "<td style='text-align:center;' id='ldvr" + i + "'>" + dvr + "</td> <td id='ldvp" + i + "'> </td> <td id='ldvd" + i + "'></td>";
                filaDR = filaDR + "<td style='text-align:center;' id='ldr" + i + "'>" + dr + "</td> <td id='ldp" + i + "'> </td> <td id='ldd" + i + "'></td>";
            }
            
            $.get("./cu/reporteFlujo_cu.php", {op:87,condicion:"indirectos",ano:ano}, function(respuesta){
                var indirectosR = respuesta.split("_");
                var indirectosFijosR = indirectosR[0].split("*");
                var indirectosVariablesR = indirectosR[1].split("*");
            
                var filaIFR = '';
                var filaIVR = '';
                var filaIR = '';
                
                $.get("./cu/reporteFlujo_cu.php", {op:76,anio:ano}, function(respuesta){
                    
                    if(!respuesta){
                        alert("No se han registrado los indirectos presupuestados.");
                        return;
                    }
                    
                    var indirectosP = respuesta.split("_");
                    var indirectosFijosP = indirectosP[0].split("*");
                    var indirectosVariablesP = indirectosP[1].split("*");
                    
                    if(indirectosFijosP[14] == 0){
                        indirectosFijosP = indirectosP[1].split("*");
                        indirectosVariablesP = indirectosP[0].split("*");
                    }
                    
                    
                    for(var i = 0; i < 12; i++){
                        var ifr = (parseFloat(indirectosFijosR[i])).toFixed(2);
                        var ivr = (parseFloat(indirectosVariablesR[i])).toFixed(2);
                        
                        if(isNaN(ifr))
                            ifr = parseFloat("0").toFixed(2);
                
                        if(isNaN(ivr))
                            ivr = parseFloat("0").toFixed(2);
                        
                        
                        var ir = (parseFloat(ifr) + parseFloat(ivr)).toFixed(2);
                        
                        var ifp = (parseFloat(indirectosFijosP[i+1])).toFixed(2);
                        var ivp = (parseFloat(indirectosVariablesP[i+1])).toFixed(2);
                        
                        var difIF = (parseFloat(indirectosFijosP[i+1]) - parseFloat(ifr)).toFixed(2);
                        var difIV = (parseFloat(indirectosVariablesP[i+1]) - parseFloat(ivr)).toFixed(2);
                        
                        var ip = (parseFloat(indirectosFijosP[i+1]) + parseFloat(indirectosVariablesP[i+1])).toFixed(2);
                        var ti = (parseFloat(ip) - parseFloat(ir)).toFixed(2);
                        
                        filaIFR = filaIFR + "<td style='text-align:center;'>" + ifr + "</td> <td>" + ifp + "</td> <td>" + difIF + "</td>";
                        filaIVR = filaIVR + "<td style='text-align:center;'>" + ivr + "</td> <td>" + ivp + "</td> <td>" + difIV + "</td>";
                        filaIR = filaIR + "<td style='text-align:center;'>" + ir + "</td> <td id='lip" + i + "'>" + ip + "</td> <td>" + ti + "</td>";
                    }
                    
                    
                    $.get("./cu/reporteFlujo_cu.php", {op:88,ano:ano}, function(respuesta){
                        var info = respuesta.split(",");
                        
                        var id_iproy = [];
                        
                        for(var i = 0; i < info.length-1; i++){
                            var ipt = [0,0,0,0,0,0,0,0,0,0,0,0];
                            var datos = info[i].split("¿");
                            var monto_ip = datos[1];
                            var tabla = datos[2].split("_");
                            id_iproy[i] = datos[0];
                            
                            var monto_mensual = [0,0,0,0,0,0,0,0,0,0,0,0];
                            var filaProyectos='';
                            for(var j = 0; j < tabla.length-1; j++){
                                var celda = tabla[j].split("*");
                                var celda_fecha = celda[0].split("-");                                
                                
                                if(parseInt(celda_fecha[0]) == ano){
                                    var celda_mes = parseInt(celda_fecha[1])-parseInt(1);
                                    ipt[celda_mes] = parseFloat(ipt[celda_mes]) + parseFloat(celda[1]) * monto_ip / 100;
                                    
                                    monto_mensual[celda_mes] = parseFloat(ipt[celda_mes]).toFixed(2);                                 
                                    
                                }
                            }
                            
                            for(var k = 0; k<12; k++){
                                filaProyectos = filaProyectos + "<td style='text-align:center;' id='proyr" + k + "-" + parseInt(datos[0]) + "'> " + parseFloat(0).toFixed(2) + " </td> <td id='proyp" + k + "-" + parseInt(datos[0]) + "'> " + parseFloat(monto_mensual[k]).toFixed(2) + " </td> <td id='proyd" + k + "-" + parseInt(datos[0]) + "'>" + parseFloat(monto_mensual[k]).toFixed(2) + "</td>";
                            }
                            
                            
                            $('#tablaReporteRF tbody').append("" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> "+datos[3]+" </strong> </td>" + filaProyectos + "</tr>");                            
                            
                        }
                        
                        
                        $.get("./cu/reporteFlujo_cu.php", {op:91,ano:ano}, function(respuesta){
                            var info = respuesta.split("_");
                                    
                            for(var i = 0; i< info.length-1; i++){
                                var datos = info[i].split("*");
                                var ingresos_reales = datos[3].split("-");
                                var flagExistente = false;
                                        
                                for(var j = 0; j<id_iproy.length; j++){
                                    if(parseInt(datos[0]) == parseInt(id_iproy[j]))
                                        flagExistente = true;
                                }
                                        
                                if(flagExistente){
                                    for(var k=0; k<12; k++){
                                        $("#proyr" + k + "-" + parseInt(datos[0])).text(parseFloat(ingresos_reales[k+1]).toFixed(2));
                                        $("#proyd"+ k + "-" + parseInt(datos[0])).text((parseFloat($("#proyp"+ k + "-" + parseInt(datos[0])).text()) - parseFloat($("#proyr"+ k + "-" + parseInt(datos[0])).text())).toFixed(2));
                                    }
                                }else{
                                    var filaProyectos='';
                                    for(var k = 0; k<12; k++){
                                        filaProyectos = filaProyectos + "<td style='text-align:center;' id='proyr" + k + "-" + parseInt(datos[0]) + "'> " + parseFloat(ingresos_reales[k+1]).toFixed(2) + " </td> <td id='proyp" + k + "-" + parseInt(datos[0]) + "'> " + parseFloat(0).toFixed(2) + " </td> <td id='proyd" + k + "-" + parseInt(datos[0]) + "'>" + parseFloat("-"+ingresos_reales[k+1]).toFixed(2) + "</td>";
                                    }
                                                                            
                                    $('#tablaReporteRF tbody').append("" +
                                        "<tr style='text-align:center;'>" + "<td style='text-align:center;' class='col1'> <strong> "+datos[1]+" </strong> </td>" + filaProyectos + "</tr>");
                                    }
                                }
                            
                        
                            $('#tablaReporteRF tbody').append("" +
                            "<tr><td colspan='37' style='background-color:gray'></td></tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Total Ingresos </strong> </td>" + filaITR + "</tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Total Egresos </strong> </td>" + filaETR + "</tr>" +
                            "<tr><td colspan='37' style='background-color:gray'></td></tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Directo Fijo </strong> </td>" + filaDFR + "</tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Directo Variable </strong> </td>" + filaDVR + "</tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Total Directos </strong> </td>" + filaDR + "</tr>" +
                            "<tr><td colspan='37' style='background-color:gray'></td></tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Indirecto Fijo </strong> </td>" + filaIFR + "</tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Indirecto Variable </strong> </td>" + filaIVR + "</tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Total Indirectos </strong> </td>" + filaIR + "</tr>" +
                            "<tr><td colspan='37' style='background-color:gray'></td></tr>" +
                            "<tr style='text-align:center;'>" + "<td style='text-align:center;'> <strong> Saldo Total </strong> </td>" + filaSaldosR + "</tr>"
                            );
                        
                        
                            for(var i = 0; i<12; i++){
                                $("#litp"+i).text(parseFloat(ipt[i]).toFixed(2));
                                var litreal = $("#litr"+i).text();
                                $("#litd"+i).text(parseFloat(ipt[i] - parseFloat(litreal)).toFixed(2));
                            }
                        
                            $.get("./cu/reporteFlujo_cu.php", {op:89,ano:ano}, function(respuesta){
                                var info = respuesta.split("&");
                                var dvp = [0,0,0,0,0,0,0,0,0,0,0,0];
                            
                                for(var i = 0; i < info.length-1; i++){
                                    var datos = info[i].split("¿");
                                    var monto_ip = datos[1];
                                    var tabla = datos[2].split("_");
                                
                                    for(var j = 0; j < tabla.length-1; j++){
                                        var celda = tabla[j].split("*");
                                        var celda_fecha = celda[0].split("-");                                
                                
                                        if(parseInt(celda_fecha[0]) == requestAnimationFrame){
                                            var celda_mes = parseInt(celda_fecha[1])-parseInt(1);
                                            dvp[celda_mes] = parseFloat(dvp[celda_mes]) + parseFloat(celda[1]) * monto_ip / 100;
                                        }
                                    }
                            
                                }
                            
                            
                                $.get("./cu/reporteFlujo_cu.php", {op:90,ano:ano}, function(respuesta){
                                    var filas = respuesta.split("_");
                                    var dfp = [0,0,0,0,0,0,0,0,0,0,0,0];
                            
                                    for(var i = 0; i < filas.length-1; i++){
                                        var datos = filas[i].split("*");
                                
                                        var fecha1 = moment(datos[1]);
                                        var fecha2 = moment(datos[2]);
                                        var periodos = fecha2.diff(fecha1, 'months') + 1;
                                
                                        var ano1 = fecha1.year();
                                        var mes1 = fecha1.month();
    
                                        for(var j = 0; j < periodos; j ++){
                                            if(mes1 == 12){
                                                mes1 = 0;
                                                ano1 ++;
                                            }
            
                                            if(ano != ano1)
                                                break;
                                    
                                            dfp[mes1] = (parseFloat(dfp[mes1]) + parseFloat(datos[3]) / parseFloat(periodos)).toFixed(2); 
                
                                            mes1 ++;
                                        }
                                    }
                               
                            
                                    for(var i = 0; i<12; i++){
                                        $("#ldvp"+i).text(parseFloat(dvp[i]).toFixed(2));
                                        var ldvreal = $("#ldvr"+i).text();
                                        $("#ldvd"+i).text(parseFloat(dvp[i] - parseFloat(ldvreal)).toFixed(2));
                                    
                                        $("#ldfp"+i).text(parseFloat(dfp[i]).toFixed(2));
                                        var ldfreal = $("#ldfr"+i).text();
                                        $("#ldfd"+i).text(parseFloat(dfp[i] - parseFloat(ldfreal)).toFixed(2));
                                    
                                        $("#ldp"+i).text((parseFloat($("#ldvp"+i).text()) + parseFloat($("#ldfp"+i).text())).toFixed(2));
                                        $("#ldd"+i).text((parseFloat($("#ldp"+i).text()) - parseFloat($("#ldr"+i).text())).toFixed(2));
                                    
                                        $("#letp"+i).text((parseFloat($("#ldp"+i).text()) + parseFloat($("#lip"+i).text())).toFixed(2));
                                        $("#letd"+i).text((parseFloat($("#letp"+i).text()) - parseFloat($("#letr"+i).text())).toFixed(2));
                                    
                                        $("#lsp"+i).text((parseFloat($("#litp"+i).text()) - parseFloat($("#letp"+i).text())).toFixed(2));
                                        $("#lsd"+i).text((parseFloat($("#lsp"+i).text()) - parseFloat($("#lsr"+i).text())).toFixed(2));
                                    }
                                    

                                });
                            
                                                        
                            });
                            
                            
                        });
                        
                        
                    });
                    
                
                });
                
                
            });
            
            
        });
        
        
    });
}





function tableToExcel(table, name, filename) {
        let uri = 'data:application/vnd.ms-excel;base64,', 
        template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><title></title><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>', 
        base64 = function(s) { return window.btoa(decodeURIComponent(encodeURIComponent(s))) },         format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; })}
        
        if (!table.nodeType) table = document.getElementById(table)
        var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML}

        var link = document.createElement('a');
        link.download = filename;
        link.href = uri + base64(format(template, ctx));
        link.click();
}




