Пример #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     t03_projeto t03 = new t03_projeto();
     {
         pageBase pb = new pageBase();
         System.Text.StringBuilder sb = new System.Text.StringBuilder();
         sb.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;\">");
         sb.Append("<tr class=\"headerGrid\">");
         sb.Append("<td style='width:1%'></td>");
         sb.Append("<td>Projeto</td>");
         sb.Append("<td style=\"text-align:right\">Início</td>");
         sb.Append("<td style=\"text-align:right\">Término</td>");
         sb.Append("</tr>");
         t03.order = "select * from t03_projeto where (fl_ativa=1)  " + pb.sqlfiltro() + " order by nm_projeto";
         foreach (DataRow drp in t03.ListQuery().Tables[0].Rows)
         {
             sb.Append("<tr>");
             sb.Append("<td><a href='redirectArvore.aspx?cd_projeto=" + drp["t03_cd_projeto"] + "'><img title='Ir para arvore do projeto' src='images/lupa.gif' /></a></td>");
             sb.Append("<td>"+drp["nm_projeto"]+"</td>");
             if (drp["dt_inicio"] != DBNull.Value)
             {
                 sb.Append("<td style=\"text-align:right\">" + DateTime.Parse(drp["dt_inicio"].ToString()).ToShortDateString() + "</td>");
                 sb.Append("<td style=\"text-align:right\">" + DateTime.Parse(drp["dt_fim"].ToString()).ToShortDateString() + "</td>");
             }
             else
             {
                 sb.Append("<td style=\"text-align:right\">-</td>");
                 sb.Append("<td style=\"text-align:right\">-</td>");
             }
             sb.Append("</tr>");
         }
         sb.Append("</table>");
         Panel1.Controls.Add(pb.GetLiteral(sb.ToString()));
     }
 }
Пример #2
0
    protected void GridBind(string fl_status)
    {
        try
        {
            t03_projeto t03 = new t03_projeto();
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                string restricao = "";
                string restricao2 = "";

                restricao2 = "t08.t08_cd_acao=t09.t08_cd_acao and";
                if (fl_status == "Y")
                {
                    //restricao = " and t08_cd_acao in (select t08_cd_acao from t09_marco where fl_ativa=1 and fl_status<>'R') or t08_cd_acao in (select t08_cd_acao from t29_acaorestricao)";
                    restricao = " and (t08_cd_acao in (select t08_cd_acao from t29_acaorestricao where t07_cd_restricao in (select t07_cd_restricao from t07_restricao where t03_cd_projeto=t08.t03_cd_projeto) and t08_cd_acao not in (select t08_cd_acao from t09_marco where fl_ativa=1 and fl_status='R'))) ";
                }
                else if (fl_status == "A")
                {
                        DateTime dtatual = DateTime.Now.Date;

                    restricao = " and t08.t08_cd_acao in (select t08_cd_acao from t09_marco where fl_ativa=1 and fl_status='G') and t08.t08_cd_acao not in (select t08_cd_acao from t29_acaorestricao) "+
                        "and (select count(*) from t09_marco where fl_status='R' and t08_cd_acao=t08.t08_cd_acao) = 0";
                }
                else if (fl_status == "R")
                {
                   restricao = " and t08.t08_cd_acao in (select t08_cd_acao from t09_marco where fl_ativa=1 and fl_status='R')";
                }
                else if (fl_status == "G")
                {
                    restricao = " and t08.t08_cd_acao in (select t08_cd_acao from t09_marco where fl_ativa=1 and fl_status='G') and t08.t08_cd_acao not in (select t08_cd_acao from t29_acaorestricao) "+
                        "and (select count(*) from t09_marco where fl_status='R' and t08_cd_acao=t08.t08_cd_acao) = 0";
                }
                else if (fl_status == "B")
                {
                    restricao = " and t08.t08_cd_acao in (select t08_cd_acao from t09_marco where fl_ativa=1 and fl_status='B' ) and t08.t08_cd_acao not in (select t08_cd_acao from t29_acaorestricao) "+
                        "and (select count(*) from t09_marco where fl_status='R' and t08_cd_acao=t08.t08_cd_acao) = 0 " +
                        "and (select count(*) from t09_marco where fl_status='G' and t08_cd_acao=t08.t08_cd_acao) = 0 ";
                }
                else if (fl_status =="T")   //Exibe todos os projetos com todas as ações
                {
                    restricao = " and t08.t08_cd_acao in (select t08_cd_acao from t09_marco where fl_ativa=1)";

                }

                sb.Append("<table cellspacing=\"0\" cellpadding=\"11\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;\">");
                sb.Append("<tr style=\"background:#F0EDEB;font-weight:bold\">");
                sb.Append("<td colspan=\"11\">Eixos</td>");
                sb.Append("</tr>");
                t03.order = "select * from t03_projeto t03 where (fl_ativa=1)  " +
                            "and t03_cd_projeto in (select t03_cd_projeto from t08_acao t08 where fl_ativa=1 " +
                            restricao + ")" + pb.sqlfiltro() + " order by nm_projeto";

                //Response.Write("Eixo:" + t03.order + "<br><br>");
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    sb.Append("<tr style=\"background:#A8C7E3;font-weight:bold\">");
                    sb.Append("<td colspan=\"11\">" + dr["nm_projeto"] + "</td>");
                    sb.Append("</tr>");
                                                                //ACRESCIMO A SER FEITO DEPOIS DO WHERE QUANDO O REPONSAVEL ESTIVER PRONTO: t08.ds_parceiro LIKE '%teste%' and
                    t03.order = "select * from t08_acao t08, t09_marco t09 where "+ restricao2 +" t08.fl_ativa=1 and t03_cd_projeto=" + dr["t03_cd_projeto"] +
                                restricao +" order by nm_acao";

                    //Response.Write("Ação:" + t03.order + "<br><br>");
                    int index = 0;
                    int n = 0;
                    string imagem = "";

                if (Request["fl_status"]=="A"){

                    foreach (DataRow dra in t03.ListQuery().Tables[0].Rows)
                    {

                    DateTime dtatual = DateTime.Now.Date;
                    string dt = dra["dt_aviso"].ToString();
                    DateTime dtaviso = Convert.ToDateTime(dt);
                        if (dtatual >= dtaviso)
                        {
                            if (imagem != "B")
                            {

                                if (index == 0)
                                    {

                                    sb.Append("<tr class=\"headerGrid\">");
                                    sb.Append("<td width='1%'>Nº</td>");
                                    sb.Append("<td width='25%'>Ação</td>");
                                    sb.Append("<td width='10%'>Área</td>");
                                    sb.Append("<td width='10%'>Responsável</td>");
                                    sb.Append("<td width='1%'>Situação</td>");
                                    sb.Append("<td width='9%'>Andamento</td>");
                                    sb.Append("<td width='9%'>Público Alvo</td>");
                                    sb.Append("<td width='10%'>Local de Atuação</td>");
                                    sb.Append("<td width='1%'>Início</td>");
                                    sb.Append("<td width='1%'>Término</td>");
                                    sb.Append("<td width='1%'>Atualizado</td>");
                                    sb.Append("</tr>");
                                    index = 1;
                                    }
                                    sb.Append("<tr>");
                                    imagem = dra["fl_status"].ToString();
                                    n = n+1;
                                    sb.Append("<td>" + n + "</td>");
                                    sb.Append("<td>" + dra["ds_acao"] + "</td>");
                                    sb.Append("<td>" + dra["nm_acao"] + "</td>");
                                    sb.Append("<td>" + dra["ds_parceiro"] + "</td>");

                                    sb.Append("<td><img src=\"images/Y.gif\" /></td>");

                                    //sb.Append("<td>" + dra["fl_status"] + "</td>");
                                    sb.Append("<td>" + dra["ds_andamento"] + "</td>");
                                    sb.Append("<td>" + dra["ds_palvo"] + "</td>");
                                    sb.Append("<td>" + dra["ds_latuacao"] + "</td>");
                                    sb.Append("<td>" + ((DateTime)dra["dt_inicio"]).ToShortDateString() + "</td>");
                                    sb.Append("<td>" + ((DateTime)dra["dt_fim"]).ToShortDateString() + "</td>");
                                    sb.Append("<td>" + ((DateTime)dra["dt_alterado"]).ToShortDateString() + "</td>");

                                    sb.Append("</tr>");
                            }

                        }

                    }

                }	else {

                    foreach (DataRow dra in t03.ListQuery().Tables[0].Rows)
                    {

                        if (index == 0)
                        {

                            sb.Append("<tr class=\"headerGrid\">");
                            sb.Append("<td width='1%'>Nº</td>");
                            sb.Append("<td width='25%'>Ação</td>");
                            sb.Append("<td width='10%'>Área</td>");
                            sb.Append("<td width='10%'>Responsável</td>");
                            sb.Append("<td width='1%'>Situação</td>");
                            sb.Append("<td width='9%'>Andamento</td>");
                            sb.Append("<td width='9%'>Público Alvo</td>");
                            sb.Append("<td width='10%'>Local de Atuação</td>");
                            sb.Append("<td width='1%'>Início</td>");
                            sb.Append("<td width='1%'>Término</td>");
                            sb.Append("<td width='1%'>Atualizado</td>");
                            sb.Append("</tr>");
                            index = 1;
                        }
                        sb.Append("<tr>");
                        imagem = dra["fl_status"].ToString();
                        n = n+1;
                        sb.Append("<td>" + n + "</td>");
                        sb.Append("<td>" + dra["ds_acao"] + "</td>");
                        sb.Append("<td>" + dra["nm_acao"] + "</td>");
                        sb.Append("<td>" + dra["ds_parceiro"] + "</td>");

                        DateTime dtatual = DateTime.Now.Date;
                        string dt = dra["dt_aviso"].ToString();
                        DateTime dtaviso = Convert.ToDateTime(dt);

                        if (imagem == "R")
                        {
                            sb.Append("<td><img src=\"images/R.gif\" /></td>");
                        }
                        else if (dtatual >= dtaviso)
                        {
                            if (imagem != "B")
                            {
                                sb.Append("<td><img src=\"images/Y.gif\" /></td>");
                            } else
                            if (imagem == "G")
                            {
                                sb.Append("<td><img src=\"images/G.gif\" /></td>");
                            }
                            else if (imagem == "B")
                            {
                                sb.Append("<td><img src=\"images/B.gif\" /></td>");
                            }

                        }
                        else if (imagem == "G")
                        {
                            sb.Append("<td><img src=\"images/G.gif\" /></td>");
                        }
                        else if (imagem == "B")
                        {
                            sb.Append("<td><img src=\"images/B.gif\" /></td>");
                        }

                        //sb.Append("<td>" + dra["fl_status"] + "</td>");
                        sb.Append("<td>" + dra["ds_andamento"] + "</td>");
                        sb.Append("<td>" + dra["ds_palvo"] + "</td>");
                        sb.Append("<td>" + dra["ds_latuacao"] + "</td>");
                        sb.Append("<td>" + ((DateTime)dra["dt_inicio"]).ToShortDateString() + "</td>");
                        sb.Append("<td>" + ((DateTime)dra["dt_fim"]).ToShortDateString() + "</td>");
                        sb.Append("<td>" + ((DateTime)dra["dt_alterado"]).ToShortDateString() + "</td>");

                        sb.Append("</tr>");

                    }

                  }

                }
                sb.Append("</table>");
                Panel1.Controls.Add(pb.GetLiteral(sb.ToString()));
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
    protected void GrafBind(Panel pn)
    {
        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;text-align:left\">");
            sb.Append("<tr class=\"headerGrid\">");
            sb.Append("<td>Projeto</td>");
            sb.Append("<td style=\"text-align:right\">Previsto</td>");
            sb.Append("<td style=\"text-align:right\">Realizado</td>");
            sb.Append("<td style=\"text-align:right\">% de execução</td>");
            sb.Append("</tr>");

            int ano = DateTime.Now.Year;
            int mes = DateTime.Now.Month;
            int contac = 0;
            int cont = 0;
            int contproj = 0;
            double vl_prev = 0;
            double vl_real = 0;

            //Acumulador Previsto
            double acreal = 0;
            //Acumulador Realizado
            double acprev = 0;

            double projprev = 0;
            double projreal = 0;

            double vl_p1 = 0;
            double vl_p4 = 0;
            double vl_p8 = 0;
            double vl_p12 = 0;

            double vl_r1 = 0;
            double vl_r4 = 0;
            double vl_r8 = 0;
            double vl_r12 = 0;

            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select * from t03_projeto where (fl_ativa=1) and (dt_alterado is not null) " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        FÍSICO
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
                    double vl_fp1 = 0;
                    double vl_fp4 = 0;
                    double vl_fp8 = 0;
                    double vl_fp12 = 0;

                    double vl_fr1 = 0;
                    double vl_fr4 = 0;
                    double vl_fr8 = 0;
                    double vl_fr12 = 0;

                    contproj++;
                    System.Text.StringBuilder str = new System.Text.StringBuilder();
                    string str2 = "";
                    double previsto_total = 0;
                    double previsto = 0;
                    double realizado = 0;

                    str = new System.Text.StringBuilder();
                    str.Append("select * from t11_financeiro where t08_cd_acao in ");
                    str.Append("(select t08_cd_acao from t08_acao where t03_cd_projeto = " + dr["t03_cd_projeto"].ToString());
                    str.Append(" and fl_ativa=1)");

                    t03.order = str.ToString();
                    foreach (DataRow dr2 in t03.ListQuery().Tables[0].Rows) //INÍCIO DR2 (FINANCEIRO)
                    {
                        double vl_acp1 = 0;
                        double vl_acp4 = 0;
                        double vl_acp8 = 0;
                        double vl_acp12 = 0;

                        double vl_acr1 = 0;
                        double vl_acr4 = 0;
                        double vl_acr8 = 0;
                        double vl_acr12 = 0;
                        contac++;
                        cont++;
                        str = new System.Text.StringBuilder();
                        {
                            str.Append("select t11_cd_financeiro, nu_ano, ");
                            str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8+ vl_p9+ vl_p10+ vl_p11+ vl_p12) as previsto, ");
                            str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8+ vl_r9+ vl_r10+ vl_r11+ vl_r12) as realizado ");
                            str.Append("from t28_vlfinanceiro where t11_cd_financeiro = " + dr2["t11_cd_financeiro"].ToString() + " group by t11_cd_financeiro, nu_ano");
                        }

                        t03.order = str.ToString();
                        foreach (DataRow dr3 in t03.ListQuery().Tables[0].Rows) //INÍCIO DR3 (VALOR DE FINANCEIRO)
                        {
                            if ((int)dr3["nu_ano"] < ano)
                            {
                                previsto += double.Parse(dr3["previsto"].ToString());
                                realizado += double.Parse(dr3["realizado"].ToString());
                            }
                            else if ((int)dr3["nu_ano"] == ano)
                            {
                                //if ((mes >= 1) && (mes <= 3))
                                //{
                                    str2 = "select sum(vl_p1 + vl_p2+ vl_p3) as previsto, sum(vl_r1+ vl_r2+ vl_r3) as realizado from t28_vlfinanceiro where t11_cd_financeiro  = " + dr3["t11_cd_financeiro"].ToString();
                                    str2 += " and nu_ano=" + ano;
                                    t03.order = str2;
                                    foreach (DataRow dr4 in t03.ListQuery().Tables[0].Rows)
                                    {
                                        vl_acp1 += double.Parse(dr4["previsto"].ToString());
                                        vl_acr1 += double.Parse(dr4["realizado"].ToString());
                                    }
                                //}
                                //else if ((mes >= 4) && (mes <= 6))
                                //{
                                    str2 = "select sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6) as previsto, sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6) as realizado from t28_vlfinanceiro where t11_cd_financeiro  = " + dr3["t11_cd_financeiro"].ToString();
                                    str2 += " and nu_ano=" + ano;
                                    t03.order = str2;
                                    foreach (DataRow dr4 in t03.ListQuery().Tables[0].Rows)
                                    {
                                        vl_acp4 += double.Parse(dr4["previsto"].ToString());
                                        vl_acr4 += double.Parse(dr4["realizado"].ToString());
                                    }
                                //}
                                //else if ((mes >= 7) && (mes <= 9))
                                //{
                                    str2 = "select sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8+ vl_p9) as previsto, sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8+ vl_r9) as realizado from t28_vlfinanceiro where t11_cd_financeiro  = " + dr3["t11_cd_financeiro"].ToString();
                                    str2 += " and nu_ano=" + ano;
                                    t03.order = str2;
                                    foreach (DataRow dr4 in t03.ListQuery().Tables[0].Rows)
                                    {
                                        vl_acp8 += double.Parse(dr4["previsto"].ToString());
                                        vl_acr8 += double.Parse(dr4["realizado"].ToString());
                                    }
                                //}
                                //else if ((mes >= 10) && (mes <= 12))
                                //{
                                    str2 = "select sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8+ vl_p9+ vl_p10+ vl_p11+ vl_p12) as previsto, sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8+ vl_r9+ vl_r10+ vl_r11+ vl_r12) as realizado from t28_vlfinanceiro where t11_cd_financeiro = " + dr3["t11_cd_financeiro"].ToString();
                                    str2 += " and nu_ano=" + ano;
                                    t03.order = str2;
                                    foreach (DataRow dr4 in t03.ListQuery().Tables[0].Rows)
                                    {
                                        vl_acp12 += double.Parse(dr4["previsto"].ToString());
                                        vl_acr12 += double.Parse(dr4["realizado"].ToString());
                                    }
                                //}
                                //Response.Write(String.Format("Previsto 1º={0}, 2º={1}, 3º={2}, 4º={3} <br>", vl_acp1, vl_acp4, vl_acp8, vl_acp12));
                                //Response.Write(String.Format("Realizado 1º={0}, 2º={1}, 3º={2}, 4º={3} <br><br>", vl_acr1, vl_acr4, vl_acr8, vl_acr12));

                            }
                            previsto_total += double.Parse(dr3["previsto"].ToString());
                        }//FIM DR3

                        if (previsto_total != 0)
                        {
                            //projprev += (previsto * 100) / previsto_total;
                            //projreal += (realizado * 100) / previsto_total;

                            vl_fp1 += ((vl_acp1 + previsto) * 100) / previsto_total;
                            vl_fp4 += ((vl_acp4 + previsto) * 100) / previsto_total;
                            vl_fp8 += ((vl_acp8 + previsto) * 100) / previsto_total;
                            vl_fp12 += ((vl_acp12 + previsto) * 100) / previsto_total;

                            vl_fr1 += ((vl_acr1 + previsto) * 100) / previsto_total;
                            vl_fr4 += ((vl_acr4 + previsto) * 100) / previsto_total;
                            vl_fr8 += ((vl_acr8 + previsto) * 100) / previsto_total;
                            vl_fr12 += ((vl_acr12 + previsto) * 100) / previsto_total;

                            //RELATÓRIO FINANCEIRO
                            if ((mes >= 1) && (mes <= 3))
                            {
                                projprev += vl_fp1;
                                projreal += vl_fr1;
                            }
                            else if ((mes >= 4) && (mes <= 6))
                            {
                                projprev += vl_fp4;
                                projreal += vl_fr4;
                            }
                            else if ((mes >= 7) && (mes <= 9))
                            {
                                projprev += vl_fp8;
                                projreal += vl_fr8;
                            }
                            else if ((mes >= 10) && (mes <= 12))
                            {
                                projprev += vl_fp12;
                                projreal += vl_fr12;
                            }
                        }
                        else
                        {
                            projprev += 0;
                            projreal += 0;
                        }
                        vl_acp1 = 0;vl_acp4 = 0;vl_acp8 = 0;vl_acp12 = 0;
                        vl_acr1 = 0;vl_acr4 = 0;vl_acr8 = 0;vl_acr12 = 0;
                        previsto = 0;
                        realizado = 0;
                        previsto_total = 0;
                        //Response.Write(String.Format("Previsto 1º={0}, 2º={1}, 3º={2}, 4º={3} <br>", vl_p1, vl_p4, vl_p8, vl_p12));
                        //Response.Write(String.Format("Realizado 1º={0}, 2º={1}, 3º={2}, 4º={3} <br><br>", vl_r1, vl_r4, vl_r8, vl_r12));

                    } //FIM DR2

                    sb.Append("<tr>");
                    sb.Append("<td>" + dr["nm_projeto"] + "</td>");
                    if (cont != 0)
                    {
                        sb.Append("<td style=text-align:right>" + projprev.ToString("N2") + "</td>");
                        sb.Append("<td style=text-align:right>" + projreal.ToString("N2") + "</td>");
                        if (projprev != 0)
                        {
                            sb.Append("<td style=text-align:right>" +(projreal / projprev).ToString("N2") + "</td>");
                        }
                        else
                        {
                            sb.Append("<td style=text-align:right>0,00</td>");
                        }

                        acprev += projprev;
                        acreal += projreal;

                        vl_p1 += vl_fp1 / cont;
                        vl_p4 += vl_fp4 / cont;
                        vl_p8 += vl_fp8 / cont;
                        vl_p12 += vl_fp12 / cont;

                        vl_r1 += vl_fr1 / cont;
                        vl_r4 += vl_fr4 / cont;
                        vl_r8 += vl_fr8 / cont;
                        vl_r12 += vl_fr12 / cont;

                    }

                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }
                    sb.Append("</tr>");
                    projprev = 0;
                    projreal = 0;
                    cont = 0;
                    vl_fp1 = 0; vl_fp4 = 0; vl_fp8 = 0; vl_fp12 = 0;
                    vl_fr1 = 0; vl_fr4 = 0; vl_fr8 = 0; vl_fr12 = 0;
                }//FIM DR (PROJETOS)

                //Response.Write(String.Format("Previsto 1º={0}, 2º={1}, 3º={2}, 4º={3} <br>", vl_p1, vl_p4, vl_p8, vl_p12));
                //Response.Write(String.Format("Realizado 1º={0}, 2º={1}, 3º={2}, 4º={3} <br><br>", vl_r1, vl_r4, vl_r8, vl_r12));

                if (contac != 0)
                {

                    vl_prev = (acprev / contproj);
                    vl_real = (acreal / contproj);

                    sb.Append("<tr  class=\"headerGrid\">");
                    sb.Append("<td>Média</td>");
                    sb.Append("<td style=text-align:right>" + vl_prev.ToString("N2") + "</td>");
                    sb.Append("<td style=text-align:right>" + vl_real.ToString("N2") + "</td>");
                    if (vl_prev > 0)
                    {
                        sb.Append("<td style=text-align:right>" + (vl_real / vl_prev).ToString("N2") + "</td>");
                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }
                    sb.Append("</tr>");
                }

                sb.Append("</table>");
                Session["MonFinanceiroRel"] = sb.ToString();

                string strxml = "";
                strxml = "<graph caption='(Ano Referência " + ano + ")' formatNumberScale='0' ";
                strxml += "yAxisMaxValue='100' decimalPrecision='2' xAxisName='' yAxisName='' numberPrefix='' ";
                strxml += "numberSuffix='%25' showNames='1' showvalues='0'>";
                strxml += "<categories>";
                //=== lista as datas das medições
                strxml += "<category name='1º Trim' showName='1'/>";
                strxml += "<category name='2º Trim' showName='1'/>";
                strxml += "<category name='3º Trim' showName='1'/>";
                strxml += "<category name='4º Trim' showName='1'/>";
                strxml += "</categories>";

                strxml += "<dataset seriesName='Previsto' color='00A900' >";
                if (contproj > 0)
                {
                    strxml += "<set value='" + (vl_p1 / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + (vl_p4 / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + (vl_p8 / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + (vl_p12 / contproj).ToString().Replace(",", ".") + "' />";
                }
                else
                {
                    strxml += "<set /><set /><set /><set />";
                }
                strxml += "</dataset>";

                strxml += "<dataset seriesName='Realizado' color='0000FF' >";
                if (contproj > 0)
                {
                    if ((mes >= 1))
                    {
                        strxml += "<set value='" + (vl_r1 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 4))
                    {
                        strxml += "<set value='" + (vl_r4 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 7))
                    {
                        strxml += "<set value='" + (vl_r8 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 10))
                    {
                        strxml += "<set value='" + (vl_r12 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                }
                else
                {
                    strxml += "<set /><set /><set /><set />";
                }
                strxml += "</dataset>";
                strxml += "<trendlines>";
                strxml += "<line startValue='22000' color='00cc00' displayValue='Average' isTrendZone='0'/>";
                strxml += "</trendlines>";
                strxml += "</graph>";

                int altura = 350;
                int largura = 500;
                string html = "";
                html += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" ";
                html += "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" ";
                html += "width=\"" + (largura+10) + "\" height=\"" + altura + "\" align=\"center\">";
                html += "<param name=\"movie\" value=\"charts/FC_2_3_MSColumn3D.swf\" /><param name=\"wmode\" value=\"transparent\">";
                html += "<param name=\"FlashVars\" VALUE=\"&dataXML=" + strxml + "&chartWidth=" + largura + "&chartHeight=" + altura + "\" />";
                html += "</object>";

                pn.Controls.Add(pb.GetLiteral(html + sb.ToString()));

            }

        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
Пример #4
0
    protected void GridBind(Panel pn, string fl_status)
    {
        PanelGraf.Visible = false;
        PanelOpcao.Visible = false;
        PanelRel.Visible = true;
        linkVoltar.Visible = true;
        try
        {
            t03_projeto t03 = new t03_projeto();
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;\">");
                sb.Append("<tr style=\"background:#F0EDEB;font-weight:bold\">");
                sb.Append("<td colspan=\"3\">Projetos</td>");
                sb.Append("</tr>");
                string restricao = "";
                if (fl_status == "R")
                {
                    restricao = "and dt_limite < getdate() and dt_superada is null";
                }
                else if (fl_status == "G")
                {
                    restricao = "and dt_limite > getdate()";
                }
                else if (fl_status == "B")
                {
                    restricao = "and dt_superada is not null";
                }

                t03.order = "select * from t03_projeto t03 where (fl_ativa=1)  " +
                            "and t03_cd_projeto in (select t03_cd_projeto from t07_restricao where fl_ativa=1 " +
                            restricao + ")" + pb.sqlfiltro() + " order by nm_projeto";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    sb.Append("<tr style=\"background:#FAF9F8;font-weight:bold\">");
                    sb.Append("<td colspan=\"3\">" + dr["nm_projeto"] + "</td>");
                    sb.Append("</tr>");
                    t03.order = "select * from t07_restricao t07 where fl_ativa=1 and t03_cd_projeto=" + dr["t03_cd_projeto"] +
                                restricao + " order by dt_limite desc";
                    int index = 0;
                    foreach (DataRow dre in t03.ListQuery().Tables[0].Rows)
                    {

                        if (index == 0)
                        {
                            sb.Append("<tr class=\"headerGrid\">");
                            sb.Append("<td>Restrição</td>");
                            sb.Append("<td>Medida de gestão</td>");
                            sb.Append("<td>Data limite</td>");
                            sb.Append("</tr>");
                            index = 1;
                        }
                        sb.Append("<tr>");
                        sb.Append("<td>" + dre["ds_restricao"] + "</td>");
                        sb.Append("<td>" + dre["ds_medida"] + "</td>");
                        sb.Append("<td>" + ((DateTime)dre["dt_limite"]).ToShortDateString() + "</td>");
                        sb.Append("</tr>");
                    }
                }
                sb.Append("</table>");
                pn.Controls.Add(pb.GetLiteral(sb.ToString()));
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
Пример #5
0
    protected void GrafBind(Panel pn)
    {
        PanelGraf.Visible = true;
        PanelOpcao.Visible = true;
        PanelRel.Visible = false;
        linkVoltar.Visible = false;
        t03_projeto t03 = new t03_projeto();
        {
            //R
            t03.order = "select * from t07_restricao t07 where fl_ativa=1 and dt_limite < getdate() and dt_superada is null " +
            "and t03_cd_projeto in (select t03_cd_projeto from t03_projeto " +
            "where (fl_ativa=1)  " + pb.sqlfiltro() + ")";
            int r = t03.ListQuery().Tables[0].Rows.Count;
            //G
            t03.order = "select * from t07_restricao t07 where fl_ativa=1 and dt_limite > getdate() " +
            "and t03_cd_projeto in (select t03_cd_projeto from t03_projeto " +
            "where (fl_ativa=1)  " + pb.sqlfiltro() + ")";
            int g = t03.ListQuery().Tables[0].Rows.Count;
            //B
            t03.order = "select * from t07_restricao t07 where fl_ativa=1 and dt_superada is not null " +
            "and t03_cd_projeto in (select t03_cd_projeto from t03_projeto " +
            "where (fl_ativa=1)  " + pb.sqlfiltro() + ")";
            int b = t03.ListQuery().Tables[0].Rows.Count;
            int total = r + g + b;

            lblAzul.Text = b.ToString();
            lblVerde.Text = g.ToString();
            lblVermelha.Text = r.ToString();

            if (b == 0) linkConcluidos.NavigateUrl = "";
            if (g == 0) linkPrazos.NavigateUrl = "";
            if (r == 0) linkAtraso.NavigateUrl = "";

            if (total > 0)
            {
                lblFatiaAzul.Text = ((b * 100) / total).ToString();
                lblFatiaVerde.Text = ((g * 100) / total).ToString();
                lblFatiaVermelha.Text = ((r * 100) / total).ToString();
            }
            else
            {
                lblFatiaAzul.Text = "0";
                lblFatiaVerde.Text = "0";
                lblFatiaVermelha.Text = "0";
            }

            StringBuilder sb = new StringBuilder();
            sb.Append("<table width=100% height=20 border=0 cellpadding=0 cellspacing=0><tr>");
            if (b != 0)
            {
                sb.Append("<td style=\"border:none;background:url('images/B.gif');width:" + (b * 100) / total + "%\" title='" + (b * 100) / total + "%'>&nbsp;</td>");
            }
            if (g != 0)
            {
                sb.Append("<td style=\"border:none;background:url('images/G.gif');width:" + (g * 100) / total + "%\" title='" + (g * 100) / total + "%'>&nbsp;</td>");
            }
            if (r != 0)
            {
                sb.Append("<td style=\"border:none;background:url('images/R.gif');width:" + (r * 100) / total + "%\" title='" + (r * 100) / total + "%'>&nbsp;</td>");
            }
            sb.Append("</tr></table>");
            pn.Controls.Add(pb.GetLiteral(sb.ToString()));
        }
    }
Пример #6
0
    protected void btnFiltro_Click(object sender, EventArgs e)
    {
        System.Text.StringBuilder query = new System.Text.StringBuilder();
        string cd_entidade = "0";
        if (pb.fl_admin())
        {
            trParceiro.Visible = true;
            if (ddlt01_cd_entidade.SelectedValue != "")
            {
                cd_entidade = ddlt01_cd_entidade.SelectedValue;
            }
        }
        else
        {
            cd_entidade = pb.cd_entidade().ToString();
            trParceiro.Visible = false;
        }
        if (cd_entidade != "0")
        {
            query.Append("and (t01_cd_entidade=" + cd_entidade + ") ");
        }
        else
        {   //usuário parceiro
            query.Append("and (t01_cd_entidade in (select t01_cd_entidade from t05_parceiro where t05_cd_parceiro=" + pb.cd_parceiro() + ")) ");
        }

        if (ddlt03_cd_projeto.SelectedValue != "")
        {
            query.Append("and (t03_cd_projeto=" + ddlt03_cd_projeto.SelectedValue + ") ");
        }
        else
        {
            if (!(pb.fl_estrategico() || pb.fl_adminparceiro() || pb.fl_admin()))
             query.Append(" and (t03_cd_projeto in (select t03_cd_projeto from t03_projeto where t02_cd_usuario='" + pb.cd_usuario() + "')) ");
        }

        if (ddlt04_cd_tipologia.SelectedValue != "")
        {
            query.Append("and (t04_cd_tipologia=" + ddlt04_cd_tipologia.SelectedValue + ") ");
        }
        if (ddlt05_cd_parceiro.SelectedValue != "")
        {
            query.Append("and (t05_cd_parceiro=" + ddlt05_cd_parceiro.SelectedValue + ") ");
          // query.Append("and (t03_cd_projeto in (select t03_cd_projeto from t20_faseprojeto where t05_cd_parceiro=" + ddlt05_cd_parceiro.SelectedValue + "')) ");
        }
        if (ddlt19_cd_fase.SelectedValue != "")
        {
            query.Append("and (t03_cd_projeto in (select t03_cd_projeto from t20_faseprojeto where t19_cd_fase=" + ddlt19_cd_fase.SelectedValue + " and fl_ativa=1)) ");
        }
        //Response.Write(query.ToString());
        t03_projeto t03 = new t03_projeto();
        {
            t03.order = "select * from t03_projeto where (fl_ativa=1) " + query.ToString();
            int i = t03.ListQuery().Tables[0].Rows.Count;

            if (i > 0)
            {
                Session["sqlfiltro"] = query.ToString();

                //Detalhes do Filtro
                t03.order = "select max(dt_fim) as datafim, min(dt_inicio) as dataini from t03_projeto where (fl_ativa=1) and (dt_alterado is not null) " + query.ToString();
                foreach (DataRow drp in t03.ListQuery().Tables[0].Rows)
                {
                    if (drp["dataini"] != DBNull.Value)
                    {
                        DateTime dti = (DateTime)drp["dataini"];
                        DateTime dtf = (DateTime)drp["datafim"];
                        Session["mondti"] = dti.ToShortDateString();
                        Session["mondtf"] = dtf.ToShortDateString();
                    }
                }
                t01_entidade t01 = new t01_entidade();
                {
                    if (cd_entidade == "0")
                    {
                        t05_parceiro t05 = new t05_parceiro();
                        {
                            t05.t05_cd_parceiro = pb.cd_parceiro();
                            t05.Retrieve();
                            if (t05.Found)
                            {
                                cd_entidade = t05.t01_cd_entidade.ToString();
                            }
                        }
                    }
                    t01.t01_cd_entidade = Int32.Parse(cd_entidade);
                    t01.Retrieve();
                    if (t01.Found)
                    {
                        Session["monparceiro"] = t01.nm_entidade;
                    }
                }
                Session["monquantproj"] = i.ToString();
                Session["monprojeto"] = ddlt03_cd_projeto.SelectedItem.Text;
                Session["montipologia"] = ddlt04_cd_tipologia.SelectedItem.Text;
                Session["monresponsavel"] = ddlt05_cd_parceiro.SelectedItem.Text;
                Session["monfase"] = ddlt19_cd_fase.SelectedItem.Text;
                Response.Redirect("MonPainel2.aspx");
            }
            else
            {
                lblMsg.Visible = true;
                lblMsg.Text = pb.Message("A seleção efetuada não possui informações. Tente novamente.", "erro");
            }
        }
    }
Пример #7
0
    protected void detalhamentoFisico()
    {
        try
        {
            System.Text.StringBuilder sbFis = new System.Text.StringBuilder();
            sbFis.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;\">");
            sbFis.Append("<tr class=\"headerGrid\">");
            sbFis.Append("<td>Projeto</td>");
            sbFis.Append("<td style=\"text-align:right\">Previsto (%)</td>");
            sbFis.Append("<td style=\"text-align:right\">Realizado (%)</td>");
            sbFis.Append("<td style=\"text-align:right\">Índice de realização</td>");
            sbFis.Append("</tr>");

            int ano = DateTime.Now.Year;
            int mes = DateTime.Now.Month;

            double mc_p1 = 0; double mc_p2 = 0; double mc_p3 = 0; double mc_p4 = 0;
            double mc_r1 = 0; double mc_r2 = 0; double mc_r3 = 0; double mc_r4 = 0;
            int contproj = 0;
            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select * from t03_projeto where (fl_ativa=1)   " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow drp in t03.ListQuery().Tables[0].Rows)
                {
                    int cont = 0;
                    double projprev = 0;
                    double projreal = 0;

                    contproj++;
                    double amc_p1 = 0; double amc_p2 = 0; double amc_p3 = 0; double amc_p4 = 0;
                    double amc_r1 = 0; double amc_r2 = 0; double amc_r3 = 0; double amc_r4 = 0;
                    double previsto = 0;
                    double realizado = 0;
                    double previsto_total = 0;

                    //########## PREVISTO ###########
                    t03.order = "select * from t09_marco where fl_ativa=1 and t08_cd_acao in (select t08_cd_acao from t08_acao where t03_cd_projeto=" + drp["t03_cd_projeto"] + ")";
                    foreach (DataRow drm in t03.ListQuery().Tables[0].Rows)
                    {
                        cont++;
                        DateTime dt_original = (DateTime)drm["dt_prevista"];
                        if (dt_original.Year < ano)
                        {
                            previsto += double.Parse(drm["nu_esforco"].ToString());
                        }
                        else if (dt_original.Year == ano)
                        {
                            if ((dt_original.Month >= 1) && (dt_original.Month <= 3))
                            {
                                amc_p1 += double.Parse(drm["nu_esforco"].ToString());
                            }
                            else if ((dt_original.Month >= 4) && (dt_original.Month <= 6))
                            {
                                amc_p2 += double.Parse(drm["nu_esforco"].ToString());
                            }
                            else if ((dt_original.Month >= 7) && (dt_original.Month <= 9))
                            {
                                amc_p3 += double.Parse(drm["nu_esforco"].ToString());
                            }
                            else if ((dt_original.Month >= 10) && (dt_original.Month <= 12))
                            {
                                amc_p4 += double.Parse(drm["nu_esforco"].ToString());
                            }
                        }
                        previsto_total += double.Parse(drm["nu_esforco"].ToString());

                    }

                    //########## REALIZADO ###########
                    t03.order = "select * from t09_marco where fl_ativa=1 and fl_status='B' and t08_cd_acao in (select t08_cd_acao from t08_acao where t03_cd_projeto=" + drp["t03_cd_projeto"] + ")";
                    foreach (DataRow drm in t03.ListQuery().Tables[0].Rows)
                    {
                        DateTime dt_original = (DateTime)drm["dt_prevista"];
                        if (dt_original.Year < ano)
                        {
                            realizado += double.Parse(drm["nu_esforco"].ToString());
                        }
                        else if (dt_original.Year == ano)
                        {
                            if ((dt_original.Month >= 1) && (dt_original.Month <= 3))
                            {
                                amc_r1 += double.Parse(drm["nu_esforco"].ToString());
                            }
                            else if ((dt_original.Month >= 4) && (dt_original.Month <= 6))
                            {
                                amc_r2 += double.Parse(drm["nu_esforco"].ToString());
                            }
                            else if ((dt_original.Month >= 7) && (dt_original.Month <= 9))
                            {
                                amc_r3 += double.Parse(drm["nu_esforco"].ToString());
                            }
                            else if ((dt_original.Month >= 10) && (dt_original.Month <= 12))
                            {
                                amc_r4 += double.Parse(drm["nu_esforco"].ToString());
                            }
                        }
                    }
                    if (previsto_total > 0)
                    {
                        //mc_p1 += ((previsto + amc_p1) * 100) / previsto_total;
                        //mc_p2 += ((previsto + amc_p2) * 100) / previsto_total;
                        //mc_p3 += ((previsto + amc_p3) * 100) / previsto_total;
                        //mc_p4 += ((previsto + amc_p4) * 100) / previsto_total;
                        //Response.Write(mc_p1 + " - " + mc_p2 + "<br>");

                        //mc_r1 += ((realizado + amc_r1) * 100) / previsto_total;
                        //mc_r2 += ((realizado + amc_r2) * 100) / previsto_total;
                        //mc_r3 += ((realizado + amc_r3) * 100) / previsto_total;
                        //mc_r4 += ((realizado + amc_r4) * 100) / previsto_total;
                        //Response.Write(mc_r2+" - "+ mc_r1 );

                        if ((mes >= 1) && (mes <= 3))
                        {
                            mc_p1 += ((previsto + amc_p1) * 100) / previsto_total;
                            mc_r1 += ((realizado + amc_r1) * 100) / previsto_total;

                            projprev = ((previsto + amc_p1) * 100) / previsto_total;
                            projreal = ((previsto + amc_r1) * 100) / previsto_total;
                        }
                        else if ((mes >= 4) && (mes <= 6))
                        {
                            mc_p1 += ((previsto + amc_p1 + amc_p2 ) * 100) / previsto_total;
                            mc_r1 += ((realizado + amc_r1 + amc_r2 ) * 100) / previsto_total;
                            //projprev = ((previsto + amc_p1) * 100) / previsto_total;
                            //projprev += ((previsto + amc_p2) * 100) / previsto_total;
                            projprev += ((previsto + amc_p1 + amc_p2) * 100) / previsto_total;

                            //projreal = ((realizado + amc_r1) * 100) / previsto_total;
                            //projreal += ((realizado + amc_r2) * 100) / previsto_total;
                            projreal = ((realizado + amc_r1 + amc_r2) * 100) / previsto_total;
                            //Response.Write(projprev +" - "+ projreal );
                        }
                        else if ((mes >= 7) && (mes <= 9))
                        {
                            mc_p1 += ((previsto + amc_p1+amc_p2 +amc_p3) * 100) / previsto_total;
                            mc_r1 += ((realizado + amc_r1+amc_r2 +amc_r3) * 100) / previsto_total;
                            //projprev = ((previsto + amc_p1) * 100) / previsto_total;
                            //projprev += ((previsto + amc_p2) * 100) / previsto_total;
                            //projprev += ((previsto + amc_p3) * 100) / previsto_total;
                            projprev += ((previsto + amc_p1 + amc_p2 + amc_p3) * 100) / previsto_total;

                            //projreal = ((previsto + amc_r1) * 100) / previsto_total;
                            //projreal += ((previsto + amc_r2) * 100) / previsto_total;
                            //projreal += ((previsto + amc_r3) * 100) / previsto_total;
                            projreal = ((realizado + amc_r1 + amc_r2 + amc_r3) * 100) / previsto_total;
                        }
                        else if ((mes >= 10) && (mes <= 12))
                        {
                            mc_p1 += ((previsto + amc_p1 +amc_p2 +amc_p3 +amc_p4) * 100) / previsto_total;
                            mc_r1 += ((realizado + amc_r1 +amc_r2 +amc_r3 +amc_r4) * 100) / previsto_total;
                            //projprev = ((previsto + amc_p1) * 100) / previsto_total;
                            //projprev += ((previsto + amc_p2) * 100) / previsto_total;
                            //projprev += ((previsto + amc_p3) * 100) / previsto_total;
                            //projprev += ((previsto + amc_p4) * 100) / previsto_total;
                            projprev += ((previsto + amc_p1 + amc_p2 + amc_p3 + amc_p4) * 100) / previsto_total;

                            //projreal = ((previsto + amc_r1) * 100) / previsto_total;
                            //projreal += ((previsto + amc_r2) * 100) / previsto_total;
                            //projreal += ((previsto + amc_r3) * 100) / previsto_total;
                            //projreal += ((previsto + amc_r4) * 100) / previsto_total;
                            projreal = ((realizado + amc_r1 + amc_r2 + amc_r3 + amc_r4) * 100) / previsto_total;
                        }
                        //Response.Write(projprev +" - "+ projreal );
                    }
                    sbFis.Append("<tr>");
                    sbFis.Append("<td>" + drp["nm_projeto"] + "</td>");
                    if (cont != 0)
                    {
                        sbFis.Append("<td style=text-align:right>" + projprev.ToString("N2") + "</td>");
                        sbFis.Append("<td style=text-align:right>" + projreal.ToString("N2") + "</td>");
                        if (projprev != 0)
                        {
                            sbFis.Append("<td style=text-align:right>" + (projreal / projprev).ToString("N2") + "</td>");
                            fis_i += projreal / projprev;
                        }
                        else
                        {
                            sbFis.Append("<td style=text-align:right>0,00</td>");
                        }
                    }
                    else
                    {
                        sbFis.Append("<td style=text-align:right>0,00</td>");
                        sbFis.Append("<td style=text-align:right>0,00</td>");
                        sbFis.Append("<td style=text-align:right>0,00</td>");
                    }
                    sbFis.Append("</tr>");

                }
                sbFis.Append("</table>");

                fis_i = fis_i / contproj;

                string strxml = "";
                strxml = "<graph caption='(Ano Referência " + ano + ")' formatNumberScale='0' ";
                strxml += "yAxisMaxValue='100' decimalPrecision='2' xAxisName='' yAxisName='' numberPrefix='' ";
                strxml += "numberSuffix='%25' showNames='1' showvalues='0'>";
                strxml += "<categories>";
                //=== lista as datas das medições
                strxml += "<category name='1º Trim' showName='1'/>";
                strxml += "<category name='2º Trim' showName='1'/>";
                strxml += "<category name='3º Trim' showName='1'/>";
                strxml += "<category name='4º Trim' showName='1'/>";
                strxml += "</categories>";

                strxml += "<dataset seriesName='Previsto' color='00A900' >";
                if (contproj > 0)
                {
                    strxml += "<set value='" + (mc_p1 / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + ((mc_p1 + mc_p2) / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + ((mc_p1 + mc_p2 + mc_p3) / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + ((mc_p1 + mc_p2 + mc_p3 + mc_p4) / contproj).ToString().Replace(",", ".") + "' />";
                }
                else
                {
                    strxml += "<set /><set /><set /><set />";
                }
                strxml += "</dataset>";

                strxml += "<dataset seriesName='Realizado' color='0000FF' >";
                if (contproj > 0)
                {
                    if ((mes >= 1) && (mes <=3))
                    {
                        strxml += "<set value='" + (mc_r1 / contproj).ToString().Replace(",", ".") + "' />";
                        fis_prev = (mc_p1 / contproj);
                        fis_real = (mc_r1 / contproj);
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 4) && (mes <=6))
                    {
                        strxml += "<set value='" + ((mc_r1 + mc_r2) / contproj).ToString().Replace(",", ".") + "' />";
                        fis_prev = ((mc_p1 + mc_p2) / contproj);
                        fis_real = ((mc_r1 + mc_r2) / contproj);

                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 7) && (mes <=10))
                    {
                        strxml += "<set value='" + ((mc_r1 + mc_r2 + mc_r3) / contproj).ToString().Replace(",", ".") + "' />";
                        fis_prev = ((mc_p1 + mc_p2 + mc_p3) / contproj);
                        fis_real = ((mc_r1 + mc_r2 + mc_r3) / contproj);
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 10) && (mes <=12))
                    {
                        strxml += "<set value='" + ((mc_r1 + mc_r2 + mc_r3 + mc_r4) / contproj).ToString().Replace(",", ".") + "' />";
                        fis_prev = ((mc_p1 + mc_p2 + mc_p3 + mc_p4) / contproj);
                        fis_real = ((mc_r1 + mc_r2 + mc_r3 + mc_r4) / contproj);

                    }
                    if (fis_prev > 100)
                    {
                        fis_prev = 100;
                    }
                    if (fis_real > 100)
                    {
                        fis_real = 100;
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                }
                else
                {
                    strxml += "<set /><set /><set /><set />";
                }
                strxml += "</dataset>";
                strxml += "<trendlines>";
                strxml += "<line startValue='22000' color='00cc00' displayValue='Average' isTrendZone='0'/>";
                strxml += "</trendlines>";
                strxml += "</graph>";

                int altura = 350;
                int largura = 500;
                string html = "";
                html += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" ";
                html += "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" ";
                html += "width=\"" + (largura + 10) + "\" height=\"" + altura + "\" align=\"center\">";
                html += "<param name=\"movie\" value=\"charts/FC_2_3_MSColumn3D.swf\" /><param name=\"wmode\" value=\"transparent\">";
                html += "<param name=\"FlashVars\" VALUE=\"&dataXML=" + strxml + "&chartWidth=" + largura + "&chartHeight=" + altura + "\" />";
                html += "</object>";

                Session["MonFisicoGraf"] = html;
                Session["MonFisicoInd"] = sbFis.ToString();
            }
        }
        catch (Exception ex)
        {
            Response.Write("Detalhamento Físico: " + ex.Message);
        }
    }
Пример #8
0
    protected void detalhamentoFinanceiroParceiros()
    {
        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<br /><br clear='all'/><table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;text-align:left\">");
            sb.Append("<tr class=\"headerGrid\">");
            sb.Append("<td style='width:36%'>Parceiro</td>");
            sb.Append("<td style=\"text-align:right;width:11%\">Previsto*</td>");
            sb.Append("<td style=\"text-align:right;width:11%\">Realizado**</td>");
            sb.Append("<td style=\"text-align:right;width:13%\">Previsto/total (%)</td>");
            sb.Append("<td style=\"text-align:right;width:13%\">Realizado/total (%)</td>");
            sb.Append("<td style=\"text-align:right;width:16%\">Índice de realização</td>");
            sb.Append("</tr>");

            int ano = DateTime.Now.Year;
            int ano_ini = ano; int ano_fim = ano;
            int mes = DateTime.Now.Month;

            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select min(year(dt_inicio)) as ano_ini, max(year(dt_fim)) as ano_fim from t03_projeto where (fl_ativa=1)   " + pb.sqlfiltro();
                //Response.Write(t03.order);
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    if (dr["ano_ini"] != DBNull.Value)
                    {
                        ano_ini = (int)dr["ano_ini"];
                        ano_fim = (int)dr["ano_fim"];
                    }
                }
            }

            int contproj = 0;
            double[] vl_p1 = new double[ano_fim + 1];
            double[] vl_p4 = new double[ano_fim + 1];
            double[] vl_p8 = new double[ano_fim + 1];
            double[] vl_p12 = new double[ano_fim + 1];
            double[] vl_r1 = new double[ano_fim + 1];
            double[] vl_r4 = new double[ano_fim + 1];
            double[] vl_r8 = new double[ano_fim + 1];
            double[] vl_r12 = new double[ano_fim + 1];
            for (int i = ano_ini; i <= ano_fim; i++)
            {
                vl_p1[i] = 0; vl_r1[i] = 0; vl_p4[i] = 0; vl_r4[i] = 0; vl_p8[i] = 0; vl_r8[i] = 0; vl_p12[i] = 0; vl_r12[i] = 0;
            }

            double acprev = 0;
            double acreal = 0;

            t03 = new t03_projeto();
            {
                t03.order = "select * from t05_parceiro " +
                            "where t05_cd_parceiro in " +
                            "(select distinct(t05_cd_parceiro) from t11_financeiro " +
                            "where t08_cd_acao in (" +
                            "select t08_cd_acao from t08_acao where t03_cd_projeto in " +
                            "(select t03_cd_projeto from t03_projeto where (fl_ativa=1)  " +
                            pb.sqlfiltro() + ")))";

                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    int cont = 0;
                    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        FINANCEIRO
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
                    contproj++;
                    System.Text.StringBuilder str = new System.Text.StringBuilder();
                    double projprev = 0;
                    double projreal = 0;
                    double previsto = 0;
                    double realizado = 0;
                    double previsto_total = 0;
                    double[] vl_acp1 = new double[ano_fim + 1];
                    double[] vl_acp4 = new double[ano_fim + 1];
                    double[] vl_acp8 = new double[ano_fim + 1];
                    double[] vl_acp12 = new double[ano_fim + 1];
                    double[] vl_acr1 = new double[ano_fim + 1];
                    double[] vl_acr4 = new double[ano_fim + 1];
                    double[] vl_acr8 = new double[ano_fim + 1];
                    double[] vl_acr12 = new double[ano_fim + 1];
                    for (int i = ano_ini; i <= ano_fim; i++)
                    {
                        vl_acp1[i] = 0; vl_acr1[i] = 0; vl_acp4[i] = 0; vl_acr4[i] = 0; vl_acp8[i] = 0; vl_acr8[i] = 0; vl_acp12[i] = 0; vl_acr12[i] = 0;
                    }
                    str = new System.Text.StringBuilder();
                    str.Append("select nu_ano,  ");
                    //str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+vl_p5+ vl_p6+ vl_p7+ vl_p8+vl_p9+ vl_p10+ vl_p11+ vl_p12) as vl_p,");
                    //str.Append("sum(vl_r1 + vl_r2+ vl_r3+ vl_r4+vl_r5+ vl_r6+ vl_r7+ vl_r8+vl_r9+ vl_r10+ vl_r11+ vl_r12) as vl_r, ");
                    str.Append("sum(vl_p1) as vl_p1, sum(vl_r1) as vl_r1,");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4) as vl_p4,");
                    str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4) as vl_r4,");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+vl_p5+ vl_p6+ vl_p7+ vl_p8) as vl_p8,");
                    str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8) as vl_r8,");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8+vl_p9+ vl_p10+ vl_p11+ vl_p12) as vl_p12,");
                    str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8+vl_r9+ vl_r10+ vl_r11+ vl_r12) as vl_r12 ");
                    str.Append("from t28_vlfinanceiro where t11_cd_financeiro in  ");
                    str.Append("(select t11_cd_financeiro from t11_financeiro where t05_cd_parceiro=" + dr["t05_cd_parceiro"].ToString() + " and t08_cd_acao in  ");
                    str.Append("(select t08_cd_acao from t08_acao where fl_ativa=1 and t03_cd_projeto in (select t03_cd_projeto from t03_projeto where (fl_ativa=1) "+ pb.sqlfiltro() +" ))) group by nu_ano ");
                    //Response.Write(str.ToString()+"<br><br>");
                    t03.order = str.ToString();
                    foreach (DataRow dr2 in t03.ListQuery().Tables[0].Rows)
                    {
                        cont++;
                        if ((int)dr2["nu_ano"] < ano)
                        {
                            previsto += double.Parse(dr2["vl_p12"].ToString());
                            realizado += double.Parse(dr2["vl_r12"].ToString());
                        }
                        else if ((int)dr2["nu_ano"] == ano)
                        {
                            if ((mes >= 1) && (mes <= 3))
                            {
                                projprev += previsto + double.Parse(dr2["vl_p1"].ToString());
                                projreal += realizado + double.Parse(dr2["vl_r1"].ToString());
                            }
                            else if ((mes >= 4) && (mes <= 6))
                            {
                                projprev += previsto + double.Parse(dr2["vl_p4"].ToString());
                                projreal += realizado + double.Parse(dr2["vl_r4"].ToString());
                            }
                            else if ((mes >= 7) && (mes <= 9))
                            {
                                projprev += previsto + double.Parse(dr2["vl_p8"].ToString());
                                projreal += realizado + double.Parse(dr2["vl_r8"].ToString());
                            }
                            else if ((mes >= 10) && (mes <= 12))
                            {
                                projprev += previsto + double.Parse(dr2["vl_p12"].ToString());
                                projreal += realizado + double.Parse(dr2["vl_r12"].ToString());
                            }
                        }
                        vl_acp12[(int)dr2["nu_ano"]] += double.Parse(dr2["vl_p12"].ToString());
                        vl_acr12[(int)dr2["nu_ano"]] += double.Parse(dr2["vl_r12"].ToString());

                        //Response.Write(dr2["nu_ano"] + " - vl_p12: " + double.Parse(dr2["vl_p12"].ToString()) + "<br>");
                        previsto_total += double.Parse(dr2["vl_p12"].ToString());
                    }

                    for (int i = ano_ini; i <= ano_fim; i++)
                    {
                        vl_p12[i] += vl_acp12[i];
                        vl_r12[i] += vl_acr12[i];
                    }

                    sb.Append("<tr>");
                    sb.Append("<td>" + dr["nm_parceiro"] + "</td>");
                    if (cont != 0)
                    {
                        sb.Append("<td style=text-align:right>" + projprev.ToString("N2") + "</td>");
                        sb.Append("<td style=text-align:right>" + projreal.ToString("N2") + "</td>");

                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }

                    //Índice de realização financeira
                    if (cont != 0)
                    {
                        if (projprev != 0)
                        {
                            sb.Append("<td style=text-align:right>" + ((projprev * 100) / previsto_total).ToString("N2") + "</td>");
                            sb.Append("<td style=text-align:right>" + ((projreal * 100) / previsto_total).ToString("N2") + "</td>");
                            if (previsto_total > 0)
                            {
                                sb.Append("<td style=text-align:right>" + (((projreal * 100) / previsto_total) / ((projprev * 100) / previsto_total)).ToString("N2") + "</td>");
                            }
                            else
                            {
                                sb.Append("<td style=text-align:right>0,00</td>");
                            }
                                fin_i += ((projreal * 100) / previsto_total) / ((projprev * 100) / previsto_total);
                        }
                        else
                        {
                            sb.Append("<td style=text-align:right>0,00</td>");
                            sb.Append("<td style=text-align:right>0,00</td>");
                            sb.Append("<td style=text-align:right>0,00</td>");
                        }

                        acprev += (projprev * 100) / previsto_total;
                        acreal += (projreal * 100) / previsto_total;
                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }
                    sb.Append("</tr>");

                }//FIM DR (PROJETOS)

                sb.Append("</table>");

                Session["MonFinanceiroIndParceiro"] = sb.ToString();
            }

        }
        catch (Exception ex)
        {
            Response.Write("Detalhamento Financeiro Parceiro: " + ex);
        }
    }
Пример #9
0
    protected void detalhamentoFinanceiro()
    {
        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<br /><br clear='all'/><table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;text-align:left\">");
            sb.Append("<tr class=\"headerGrid\">");
            sb.Append("<td style='width:36%'>Projeto</td>");
            sb.Append("<td style=\"text-align:right;width:11%\">Previsto*</td>");
            sb.Append("<td style=\"text-align:right;width:11%\">Realizado**</td>");
            sb.Append("<td style=\"text-align:right;width:13%\">Previsto/total (%)</td>");
            sb.Append("<td style=\"text-align:right;width:13%\">Realizado/total (%)</td>");
            sb.Append("<td style=\"text-align:right;width:16%\">Índice de realização</td>");
            sb.Append("</tr>");

            int ano = DateTime.Now.Year;
            int ano_ini = ano; int ano_fim = ano;
            int mes = DateTime.Now.Month;

            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select min(year(dt_inicio)) as ano_ini, max(year(dt_fim)) as ano_fim from t03_projeto where (fl_ativa=1)   " + pb.sqlfiltro();
                //Response.Write(t03.order);
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    if (dr["ano_ini"] != DBNull.Value)
                    {
                        ano_ini = (int)dr["ano_ini"];
                        ano_fim = (int)dr["ano_fim"];
                    }
                }
            }

            int contproj = 0;
            double[] vl_p1 = new double[ano_fim +1];
            double[] vl_p4 = new double[ano_fim +1];
            double[] vl_p8 = new double[ano_fim +1];
            double[] vl_p12 = new double[ano_fim +1];
            double[] vl_r1 = new double[ano_fim +1];
            double[] vl_r4 = new double[ano_fim +1];
            double[] vl_r8 = new double[ano_fim +1];
            double[] vl_r12 = new double[ano_fim +1];
            for (int i = ano_ini; i <= ano_fim; i++)
            {
                vl_p1[i] = 0; vl_r1[i] = 0; vl_p4[i] = 0; vl_r4[i] = 0; vl_p8[i] = 0; vl_r8[i] = 0; vl_p12[i] = 0; vl_r12[i] = 0;
            }

            double acprev = 0;
            double acreal = 0;

            t03 = new t03_projeto();
            {
                t03.order = "select * from t03_projeto where (fl_ativa=1)   " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    int cont = 0;
                    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        FINANCEIRO
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
                    contproj++;
                    System.Text.StringBuilder str = new System.Text.StringBuilder();
                    double projprev = 0;
                    double projreal = 0;
                    double previsto = 0;
                    double realizado = 0;
                    double previsto_total = 0;
                    double[] vl_acp1 = new double[ano_fim + 1];
                    double[] vl_acp4 = new double[ano_fim + 1];
                    double[] vl_acp8 = new double[ano_fim + 1];
                    double[] vl_acp12 = new double[ano_fim + 1];
                    double[] vl_acr1 = new double[ano_fim + 1];
                    double[] vl_acr4 = new double[ano_fim + 1];
                    double[] vl_acr8 = new double[ano_fim + 1];
                    double[] vl_acr12 = new double[ano_fim + 1];
                    for (int i = ano_ini; i <= ano_fim; i++)
                    {
                        vl_acp1[i] = 0; vl_acr1[i] = 0; vl_acp4[i] = 0; vl_acr4[i] = 0; vl_acp8[i] = 0; vl_acr8[i] = 0; vl_acp12[i] = 0; vl_acr12[i] = 0;
                    }
                    str = new System.Text.StringBuilder();
                    str.Append("select nu_ano,  ");
                    //str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+vl_p5+ vl_p6+ vl_p7+ vl_p8+vl_p9+ vl_p10+ vl_p11+ vl_p12) as vl_p,");
                    //str.Append("sum(vl_r1 + vl_r2+ vl_r3+ vl_r4+vl_r5+ vl_r6+ vl_r7+ vl_r8+vl_r9+ vl_r10+ vl_r11+ vl_r12) as vl_r, ");
                    str.Append("sum(vl_p1) as vl_p1, sum(vl_r1) as vl_r1,");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4) as vl_p4,");
                    str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4) as vl_r4,");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+vl_p5+ vl_p6+ vl_p7+ vl_p8) as vl_p8,");
                    str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8) as vl_r8,");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8+vl_p9+ vl_p10+ vl_p11+ vl_p12) as vl_p12,");
                    str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8+vl_r9+ vl_r10+ vl_r11+ vl_r12) as vl_r12 ");
                    str.Append("from t28_vlfinanceiro where t11_cd_financeiro in  ");
                    str.Append("(select t11_cd_financeiro from t11_financeiro where t08_cd_acao in  ");
                    str.Append("(select t08_cd_acao from t08_acao where fl_ativa=1 and t03_cd_projeto=" + dr["t03_cd_projeto"].ToString() + ")) group by nu_ano ");
                    //Response.Write(str.ToString()+"<br><br>");
                    t03.order = str.ToString();
                    foreach (DataRow dr2 in t03.ListQuery().Tables[0].Rows)
                    {
                        cont++;
                        if ((int)dr2["nu_ano"] < ano)
                        {
                            if (dr2["vl_p12"] != DBNull.Value)
                            {
                                previsto += double.Parse(dr2["vl_p12"].ToString());
                            }
                            if (dr2["vl_r12"] != DBNull.Value)
                            {
                                realizado += double.Parse(dr2["vl_r12"].ToString());
                            }
                        }
                        else if ((int)dr2["nu_ano"] == ano)
                        {
                            if ((mes >= 1) && (mes <= 3))
                            {
                                if (dr2["vl_p1"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p1"].ToString());
                                }
                                if (dr2["vl_r1"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r1"].ToString());
                                }
                            }
                            else if ((mes >= 4) && (mes <= 6))
                            {
                                if (dr2["vl_p4"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p4"].ToString());
                                }
                                if (dr2["vl_r4"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r4"].ToString());
                                }
                            }
                            else if ((mes >= 7) && (mes <= 9))
                            {
                                if (dr2["vl_p8"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p8"].ToString());
                                }
                                if (dr2["vl_r8"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r8"].ToString());
                                }
                            }
                            else if ((mes >= 10) && (mes <= 12))
                            {
                                if (dr2["vl_p12"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p12"].ToString());
                                }
                                if (dr2["vl_r12"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r12"].ToString());
                                }
                            }
                        }
                        vl_acp12[(int)dr2["nu_ano"]] += double.Parse(dr2["vl_p12"].ToString());
                        vl_acr12[(int)dr2["nu_ano"]] += double.Parse(dr2["vl_r12"].ToString());

                        //Response.Write(dr2["nu_ano"] + " - vl_p12: " + double.Parse(dr2["vl_p12"].ToString()) + "<br>");
                        previsto_total += double.Parse(dr2["vl_p12"].ToString());
                    }

                    for (int i = ano_ini; i <= ano_fim; i++)
                    {
                        vl_p12[i]+= vl_acp12[i];
                        vl_r12[i] += vl_acr12[i];
                    }

                    sb.Append("<tr>");
                    sb.Append("<td>" + dr["nm_projeto"] + "</td>");
                    if (cont != 0)
                    {
                        sb.Append("<td style=text-align:right>" + projprev.ToString("N2") + "</td>");
                        sb.Append("<td style=text-align:right>" + projreal.ToString("N2") + "</td>");

                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }

                    //Índice de realização financeira
                    if (cont != 0)
                    {
                        if (previsto_total > 0)
                        {
                            sb.Append("<td style=text-align:right>" + ((projprev * 100) / previsto_total).ToString("N2") + "</td>");
                            sb.Append("<td style=text-align:right>" + ((projreal * 100) / previsto_total).ToString("N2") + "</td>");
                        }
                        else
                        {
                            sb.Append("<td style=text-align:right>0,00</td>");
                            sb.Append("<td style=text-align:right>0,00</td>");
                        }
                            if (projprev != 0)
                        {
                            sb.Append("<td style=text-align:right>" + (((projreal * 100) / previsto_total) / ((projprev * 100) / previsto_total)).ToString("N2") + "</td>");
                            fin_i += ((projreal * 100) / previsto_total) / ((projprev * 100) / previsto_total);
                        }
                        else
                        {
                            sb.Append("<td style=text-align:right>0,00</td>");
                        }

                        if (projprev > 0)
                        {
                            acprev += (projprev * 100) / previsto_total;
                        }
                        else
                        {
                            acprev += 0;
                        }

                        if (projreal > 0)
                        {
                            if (previsto_total > 0)
                            {
                                acreal += (projreal * 100) / previsto_total;
                                //Response.Write(projreal + "-" + previsto_total + " - " + acreal + "<br>");
                            }
                        }
                        else
                        {
                            acreal += 0;
                        }

                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }
                    sb.Append("</tr>");

                }//FIM DR (PROJETOS)

                fin_i = fin_i / contproj;

                //sb.Append("<tr  class=\"headerGrid\">");
                //sb.Append("<td colspan=3>Média</td>");
                //sb.Append("<td style=text-align:right>" + (acprev / contproj).ToString("N2") + "</td>");
                //sb.Append("<td style=text-align:right>" + (acreal / contproj).ToString("N2") + "</td>");
                //if (fin_prev > 0)
                //{
                //    sb.Append("<td style=text-align:right>" + ((acreal / contproj) / (acprev / contproj)).ToString("N2") + "</td>");
                //}
                //else
                //{
                //    sb.Append("<td style=text-align:right>0,00</td>");
                //}
                //sb.Append("</tr>");
                sb.Append("</table>");
                string periodo = "";
                if ((mes >= 1) && (mes <= 3))
                {
                    periodo = "31/3/" + ano;
                }
                else if ((mes >= 4) && (mes <= 6))
                {
                    periodo = "30/6/" + ano;
                }
                else if ((mes >= 7) && (mes <= 9))
                {
                    periodo = "30/9/" + ano;
                }
                else if ((mes >= 10) && (mes <= 12))
                {
                    periodo = "31/12/" + ano;
                }
                System.Text.StringBuilder sbPeriodo = new System.Text.StringBuilder();
                sbPeriodo.Append("<div style='text-align:left'>* até " + periodo);
                sbPeriodo.Append("<br>** em tempo real </div>");

                string strxml = "";
                strxml = "<graph formatNumberScale='0' ";
                strxml += " decimalPrecision='2' xAxisName='' yAxisName='' numberPrefix='' ";
                strxml += "numberSuffix='' showNames='1' showvalues='0'>";
                strxml += "<categories>";
                //=== lista as datas das medições
                for (int i = ano_ini; i <= ano_fim; i++)
                {
                    strxml += "<category name='"+ i +"' showName='1'/>";
                }
                strxml += "</categories>";

                strxml += "<dataset seriesName='Previsto' color='00A900' >";
                if (contproj > 0)
                {
                    for (int i = ano_ini; i <= ano_fim; i++)
                    {
                        strxml += "<set value='" + (vl_p12[i]).ToString().Replace(",", ".") + "' />";
                    }
                }
                else
                {
                    for (int i = ano_ini; i <= ano_fim; i++)
                    {
                        strxml += "<set />";
                    }
                }
                strxml += "</dataset>";

                strxml += "<dataset seriesName='Realizado' color='0000FF' >";
                if (contproj > 0)
                {
                        for (int i = ano_ini; i <= ano_fim; i++)
                        {
                            strxml += "<set value='" + (vl_r12[i]).ToString().Replace(",", ".") + "' />";
                            fin_prev = (acprev / contproj);
                            fin_real = (acreal / contproj);
                            //Response.Write(acreal +" - "+ contproj + "<br>");
                            //if (acprev > 0)
                            if (fin_prev > 100)
                            {
                                fin_prev = 100;
                            }
                            if (fin_real > 100)
                            {
                                fin_real = 100;
                            }
                        }

                }
                else
                {
                    for (int i = ano_ini; i <= ano_fim; i++)
                    {
                        strxml += "<set />";
                    }
                }
                strxml += "</dataset>";
                //strxml += "<trendlines>";
                //strxml += "<line startValue='22000' color='00cc00' displayValue='Average' isTrendZone='0'/>";
                //strxml += "</trendlines>";
                strxml += "</graph>";

                int altura = 350;
                int largura = 500;
                string html = "";
                html += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" ";
                html += "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" ";
                html += "width=\"" + (largura + 10) + "\" height=\"" + altura + "\" align=\"center\">";
                html += "<param name=\"movie\" value=\"charts/FC_2_3_MSColumn3D.swf\" /><param name=\"wmode\" value=\"transparent\">";
                html += "<param name=\"FlashVars\" VALUE=\"&dataXML=" + strxml + "&chartWidth=" + largura + "&chartHeight=" + altura + "\" />";
                html += "<EMBED src=\"charts/FC_2_3_MSColumn3D.swf?chartWidth=" + largura + "&&chartHeight=" + altura + "\" FlashVars=\"&dataXML=" + strxml + "\" quality=high bgcolor=#FFFFFF WIDTH=" + largura + " HEIGHT=\"" + altura + "\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\"></EMBED>";
                html += "</object>";

                //html += "<param name=\"movie\" value=\"charts/FC_2_3_Bar2D.swf?chartWidth=" + largura + "&amp;chartHeight=" + altura + "\">";
                //html += "<PARAM NAME=quality VALUE=high>";
                //html += "<PARAM NAME=bgcolor VALUE=#FFFFFF>";
                //html += "<param name=\"FlashVars\" VALUE=\"&dataXML=" + strxml + "&chartWidth=" + largura + "&chartHeight=" + altura + "\" />";
                //html += "<EMBED src=\"charts/FC_2_3_Bar2D.swf?chartWidth=" + largura + "&&chartHeight=" + altura + "\" FlashVars=\"&dataXML=" + strxml + "\" quality=high bgcolor=#FFFFFF WIDTH=" + largura + " HEIGHT=\"" + altura + "\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\"></EMBED>";

                Session["MonFinanceiroInd"] = sb.ToString();
                Session["MonFinanceiroGraf"] = html;
                Session["MonFinanceiroPeriodo"] = sbPeriodo.ToString();
                //lblerror.Text = (html + sb.ToString());
            }

        }
        catch (Exception ex)
        {
            Response.Write("Detalhamento Financeiro: " + ex);
        }
    }
Пример #10
0
    public void AcaoStatus(Panel pn)
    {
        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            int azul = 0;
            int amarelo = 0;
            int vermelho = 0;
            int verde = 0;
            int total = 0;

            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select * from t03_projeto where (fl_ativa=1)   " + pb.sqlfiltro() + " order by t03_cd_projeto";
                foreach (DataRow drp in t03.ListQuery().Tables[0].Rows)
                {
                    t08_acao t08 = new t08_acao();
                    {
                        t08.t03_cd_projeto = (int)drp["t03_cd_projeto"];
                        foreach (DataRow dra in t08.List().Tables[0].Rows)
                        {

                            bool r = false;
                            bool g = false;
                            bool b = false;
                            t09_marco t09 = new t09_marco();
                            {
                                t09.order = " and t08_cd_acao not in (select t08_cd_acao from t29_acaorestricao where t08_cd_acao not in (select t08_cd_acao from t09_marco where fl_ativa=1 and fl_status='R')) ";
                                t09.t08_cd_acao = Int32.Parse(dra["t08_cd_acao"].ToString());
                                foreach (DataRow dr in t09.List().Tables[0].Rows)
                                {
                                    switch (dr["fl_status"].ToString())
                                    {
                                        case "R":
                                            r = true;
                                            break;
                                        case "G":
                                            g = true;
                                            break;
                                        case "B":
                                            b = true;
                                            break;
                                    }
                                }
                            }
                            if (r)
                            {
                                vermelho++;
                            }
                            else if (g)
                            {
                                verde++;
                            }
                            else if (b)
                            {
                                azul++;
                            }

                            if (!r)
                            {
                                t29_acaorestricao t29 = new t29_acaorestricao();
                                {
                                    t29.t08_cd_acao = Int32.Parse(dra["t08_cd_acao"].ToString());
                                    t29.RetrieveAcao();
                                    if (t29.Found)
                                    {
                                        amarelo++;
                                    }

                                }
                            }
                        }

                    }
                }

                total = verde + vermelho + amarelo + azul;
                if (total > 0)
                {

                    lblAzul.Text = azul.ToString();
                    lblVerde.Text = verde.ToString();
                    lblAmarela.Text = amarelo.ToString();
                    lblVermelha.Text = vermelho.ToString();

                    lblFatiaAzul.Text = ((azul * 100) / total).ToString();
                    lblFatiaVerde.Text = ((verde * 100) / total).ToString();
                    lblFatiaAmarela.Text = ((amarelo * 100) / total).ToString();
                    lblFatiaVermelha.Text = ((vermelho * 100) / total).ToString();

                    if (azul == 0) linkConcluidos.NavigateUrl = "";
                    if (verde == 0) linkPrazos.NavigateUrl = "";
                    if (amarelo == 0) linkComRestricoes.NavigateUrl = "";
                    if (vermelho == 0) linkAtraso.NavigateUrl = "";

                    sb.Append("<table width=100% height=20 border=0 cellpadding=0 cellspacing=0><tr>");
                    if (azul != 0)
                    {
                        sb.Append("<td style=\"border:none;background:url('images/B.gif');width:" + (azul * 100) / total + "%\" title='" + (azul * 100) / total + "%'>&nbsp;</td>");
                    }
                    if (verde != 0)
                    {
                        sb.Append("<td style=\"border:none;background:url('images/G.gif');width:" + (verde * 100) / total + "%\" title='" + (verde * 100) / total + "%'>&nbsp;</td>");
                    }
                    if (amarelo != 0)
                    {
                        sb.Append("<td style=\"border:none;background:url('images/Y.gif');width:" + (amarelo * 100) / total + "%\" title='" + (amarelo * 100) / total + "%'>&nbsp;</td>");
                    }
                    if (vermelho != 0)
                    {
                        sb.Append("<td style=\"border:none;background:url('images/R.gif');width:" + (vermelho * 100) / total + "%\" title='" + (vermelho * 100) / total + "%'>&nbsp;</td>");
                    }
                    sb.Append("</tr></table>");
                }
                else
                {

                    lblAzul.Text = "0";
                    lblVerde.Text = "0";
                    lblAmarela.Text = "0";
                    lblVermelha.Text = "0";

                    lblFatiaAzul.Text = "0";
                    lblFatiaVerde.Text = "0";
                    lblFatiaAmarela.Text = "0";
                    lblFatiaVermelha.Text = "0";

                    linkConcluidos.NavigateUrl = "";
                    linkPrazos.NavigateUrl = "";
                    linkComRestricoes.NavigateUrl = "";
                    linkAtraso.NavigateUrl = "";
                }
            }
            pn.Controls.Add(pb.GetLiteral(sb.ToString()));
        }
        catch (Exception ex)
        {
            Response.Write("AcaoStatus: " + ex.Message);
        }
    }
Пример #11
0
    public void GrafAtualizacao(Panel pn)
    {
        try
        {
            int var1 = 0;
            int var2 = 0;
            int var3 = 0;

            int i = 0;
            double totaldias = 0;
            int dias = 0;

            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select dt_alterado from t03_projeto where (fl_ativa=1) and (dt_alterado is not null)  " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    DateTime dt = (DateTime)dr["dt_alterado"];
                    dias = (DateTime.Now - dt).Days + 1;

                    if (dias <= 14)
                        var1++;
                    if (dias > 14 && dias <= 28)
                        var2++;
                    if (dias > 28)
                        var3++;

                    totaldias += dias;
                    i++;
                }
            }

            if ((totaldias / i) == 1)
            {
                linkAtualiza.Text = "Média de dias sem atualizar: " + (totaldias / i).ToString("N0") + " dia";
            }
            else if (double.IsNaN(totaldias / i))
            {
                if (i == 1)
                {
                    linkAtualiza.Text = "Projeto não foi atualizado.";
                }
                else
                {
                    linkAtualiza.Text = "Projetos não foram atualizados.";
                }

                linkAtualiza.Enabled = false;
            }
            else
            {
                linkAtualiza.Text = "Média de dias sem atualizar: " + (totaldias / i).ToString("N0") + " dias";
            }
            linkAtualiza.ToolTip = linkAtualiza.Text;

            string str = "";
            string strXMLData;
            strXMLData = "<graph caption='' bgColor='' shownames='1' showvalues='1' formatNumber='1' decimalSeparator=',' decimalPrecision='0' numberSuffix=''>";

            int total = var1;
            string periodostr = "0 a 2 semanas";
            string cormen = "#008000";

            if (var1 == 0)
            {
                strXMLData = strXMLData + "<set name='" + periodostr + "' color='" + cormen + "'/>";
            }
            else
            {
                strXMLData = strXMLData + "<set name='" + periodostr + "' value='" + total.ToString().Replace(",", ".") + "' color='" + cormen + "'/>";
            }

            total = var2;
            periodostr = "2 a 4 semanas";
            cormen = "#FFFF00";

            if (var2 == 0)
            {
                strXMLData = strXMLData + "<set name='" + periodostr + "' color='" + cormen + "'/>";
            }
            else
            {
                strXMLData = strXMLData + "<set name='" + periodostr + "' value='" + total.ToString().Replace(",", ".") + "' color='" + cormen + "'/>";
            }

            total = var3;
            periodostr = "mais de 4 semanas";
            cormen = "#FF0000";
            if (var3 == 0)
            {
                strXMLData = strXMLData + "<set name='" + periodostr + "' color='" + cormen + "'/>";
            }
            else
            {
                strXMLData = strXMLData + "<set name='" + periodostr + "' value='" + total.ToString().Replace(",", ".") + "' color='" + cormen + "'/>";
            }

            strXMLData = strXMLData + "</graph>";

            //--------------------------------------------------------------------
            //Destroy objects

            string largura = "400";
            string altura = "150";

            str = "<OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" WIDTH=" + largura + " HEIGHT=\"" + altura + "\" ALIGN=\"\">";
            str += "<param name=\"wmode\" value=\"transparent\">";
            str += "<PARAM NAME=\"FlashVars\" value=\"&dataXML=" + strXMLData + "\">";
            str += "<PARAM NAME=movie VALUE=\"charts/FC_2_3_Column3D.swf?chartWidth=" + largura + "&amp;chartHeight=" + altura + "\">";
            str += "<PARAM NAME=quality VALUE=high>";
            str += "<PARAM NAME=bgcolor VALUE=#FFFFFF>";
            str += "<EMBED src=\"charts/FC_2_3_Column3D.swf?chartWidth=" + largura + "&&chartHeight=" + altura + "\" FlashVars=\"&dataXML=" + strXMLData + "\" quality=high bgcolor=#FFFFFF WIDTH=" + largura + " HEIGHT=\"" + altura + "\" ALIGN=\"\" TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/go/getflashplayer\"></EMBED>";
            str += "</OBJECT>";

            pn.Controls.Add(pb.GetLiteral(str));
        }
        catch (Exception ex)
        {
            Response.Write("GrafAtualizacao: " + ex.Message);
        }
    }
Пример #12
0
    protected void IndicadoresCarteira()
    {
        try
        {
            double xcont = 0;
            //Projetos
            double ycont = 0;
            //Financeiro
            double xtotal = 0;
            double parceiro = 0;
            t03_projeto t03 = new t03_projeto();
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                System.Text.StringBuilder sbP = new System.Text.StringBuilder();
                sb.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;\">");
                sb.Append("<tr class=\"headerGrid\">");
                sb.Append("<td>Projeto</td>");
                sb.Append("<td  style=text-align:center>Valor Alavancado para cada R$ 1,00</td>");
                sb.Append("</tr>");

                sbP.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;\">");
                sbP.Append("<tr class=\"headerGrid\">");
                sbP.Append("<td>Projeto</td>");
                sbP.Append("<td style=text-align:center>Parcerias</td>");
                sbP.Append("</tr>");

                t03.order = "select * from t03_projeto where (fl_ativa=1)   " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    double xtotal_proprio = 0;
                    double xtotal_externo = 0;
                    xcont++;
                    string str = "";
                    str = "select sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8+ vl_p9+ vl_p10+ vl_p11+ vl_p12) as total, ";
                    str += "t11_cd_financeiro, t05.fl_entidade from t28_vlfinanceiro t28 ";
                    str += "left join t05_parceiro t05 on t05.t05_cd_parceiro in (select t05_cd_parceiro from t11_financeiro where t11_cd_financeiro = t28.t11_cd_financeiro)";
                    str += "where t11_cd_financeiro in ";
                    str += "(select t11_cd_financeiro  from t11_financeiro where ";
                    str += "t08_cd_acao in ";
                    str += "(select t08_cd_acao from t08_acao where t03_cd_projeto = " + dr["t03_cd_projeto"] + " ";
                    str += "and fl_ativa=1)) ";
                    str += "group by t11_cd_financeiro, t05.fl_entidade ";
                    str += "order by t11_cd_financeiro";

                    t03.order = str;
                    foreach (DataRow dr2 in t03.ListQuery().Tables[0].Rows)
                    {
                        if (bool.Parse(dr2["fl_entidade"].ToString()))
                        {
                            xtotal_proprio += double.Parse(dr2["total"].ToString());
                        }
                        else
                        {
                            xtotal_externo += double.Parse(dr2["total"].ToString());
                        }
                        //Response.Write(string.Format("fl_entidade={0}, próprio={1}, externo={2} <br>", dr2["fl_entidade"], xtotal_proprio, xtotal_externo));

                    }
                    double totalprojeto = 0;
                    if (xtotal_proprio > 0)
                    {
                        xtotal += (xtotal_externo / xtotal_proprio);
                        totalprojeto = (xtotal_externo / xtotal_proprio);
                    }

                    sb.Append("<tr>");
                    sb.Append("<td>" + dr["NM_PROJETO"] + "</td>");
                    sb.Append("<td style=text-align:center>" + totalprojeto.ToString("N2") + "</td>");
                    sb.Append("</tr>");

                    //parceiros
                    double parcProjeto = 0;
                    ycont++;
                    t03.order = "select count(distinct(t05_cd_parceiro)) as parceiro from t06_parceiroprojeto where t03_cd_projeto=" + dr["t03_cd_projeto"];
                    foreach (DataRow dr2 in t03.ListQuery().Tables[0].Rows)
                    {
                        parcProjeto = double.Parse(dr2["parceiro"].ToString());
                        parceiro += double.Parse(dr2["parceiro"].ToString());
                    }
                    sbP.Append("<tr>");
                    sbP.Append("<td>" + dr["NM_PROJETO"] + "</td>");
                    sbP.Append("<td style=text-align:center>" + parcProjeto + "</td>");
                    sbP.Append("</tr>");

                }

                if (xcont > 0)
                {
                    lblialavancagem.Text = (xtotal / xcont).ToString("N2");
                    //if ((xtotal / xcont) == 0)
                    //    linkAlavancagem.NavigateUrl = "";
                }
                else
                {
                    //linkAlavancagem.NavigateUrl = "";
                }
                if (ycont > 0)
                {
                    lblimobilizacao.Text = (parceiro / ycont).ToString("N2");
                    //if ((parceiro / ycont) == 0)
                        //linkParceiros.NavigateUrl = "";
                }
                else
                {
                    //linkParceiros.NavigateUrl = "";
                }

                sb.Append("<tr class=\"headerGrid\">");
                sb.Append("<td>Média </td>");
                sb.Append("<td style=text-align:center>" + (xtotal / xcont).ToString("N2") + "</td>");
                sb.Append("</tr>");
                sb.Append("</table><br>");

                sbP.Append("<tr class=\"headerGrid\">");
                sbP.Append("<td>Média</td>");
                sbP.Append("<td style=text-align:center>" + (parceiro / ycont).ToString("N2") + "</td>");
                sbP.Append("</tr>");
                sbP.Append("</table><br>");

                Session["MonAlavancagem"] = sb.ToString();
                Session["MomParceiros"] = sbP.ToString();
            }
        }
        catch (Exception ex)
        {
            Response.Write("Indicadores: " + ex.Message);
        }
    }
Пример #13
0
    protected void detalhamentoFinanceiro()
    {
        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;text-align:left\">");
            sb.Append("<tr class=\"headerGrid\">");
            sb.Append("<td>Projeto</td>");
            sb.Append("<td style=\"text-align:right\">Previsto</td>");
            sb.Append("<td style=\"text-align:right\">Realizado</td>");
            sb.Append("<td style=\"text-align:right\">% de execução</td>");
            sb.Append("<td style=\"text-align:right\">Previsto (%)</td>");
            sb.Append("<td style=\"text-align:right\">Realizado (%)</td>");
            sb.Append("<td style=\"text-align:right\">Realizado / Previsto (%)</td>");
            sb.Append("</tr>");

            int ano = DateTime.Now.Year;
            int ano_ini = ano; int ano_fim = ano;
            int mes = DateTime.Now.Month;

            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select min(year(dt_inicio)) as ano_ini, max(year(dt_fim)) as ano_fim from t03_projeto where (fl_ativa=1)  " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    ano_ini = (int)dr["ano_ini"];
                    ano_fim = (int)dr["ano_fim"];
                }
            }

            int contproj = 0;
            double[] vl_p = new double[ano_fim - ano_ini];
            double[] vl_r = new double[ano_fim - ano_ini];

            double acprev = 0;
            double acreal = 0;

            //double[] vl_p1 = new double[ano_fim - ano_ini];
            //double[] vl_p4 = new double[ano_fim - ano_ini];
            //double[] vl_p8 = new double[ano_fim - ano_ini];
            //double[] vl_p12 = new double[ano_fim - ano_ini];
            //double[] vl_r1 = new double[ano_fim - ano_ini];
            //double[] vl_r4 = new double[ano_fim - ano_ini];
            //double[] vl_r8 = new double[ano_fim - ano_ini];
            //double[] vl_r12 = new double[ano_fim - ano_ini];
            //double[] vl_acp1 = new double[ano_fim - ano_ini];
            //double[] vl_acp4 = new double[ano_fim - ano_ini];
            //double[] vl_acp8 = new double[ano_fim - ano_ini];
            //double[] vl_acp12 = new double[ano_fim - ano_ini];
            //double[] vl_acr1 = new double[ano_fim - ano_ini];
            //double[] vl_acr4 = new double[ano_fim - ano_ini];
            //double[] vl_acr8 = new double[ano_fim - ano_ini];
            //double[] vl_acr12 = new double[ano_fim - ano_ini];

            t03 = new t03_projeto();
            {
                t03.order = "select min(year(dt_inicio)) as ano_ini, max(year(dt_fim)) as ano_fim from t03_projeto where (fl_ativa=1)  " + pb.sqlfiltro();
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    ano_ini = (int)dr["ano_ini"];
                    ano_fim = (int)dr["ano_fim"];
                }

                for (int i = ano_ini; ano_ini >= ano_fim; i++)
                {
                    vl_p[i] = 0; vl_r[i] = 0; vl_acp4[i] = 0; vl_acr4[i] = 0; vl_acp8[i] = 0; vl_acr8[i] = 0; vl_acp12[i] = 0; vl_acr12[i] = 0;
                    vl_p1[i] = 0; vl_r1[i] = 0; vl_p4[i] = 0; vl_r4[i] = 0; vl_p8[i] = 0; vl_r8[i] = 0; vl_p12[i] = 0; vl_r12[i] = 0;
                }

                t03.order = "select * from t03_projeto where (fl_ativa=1)  " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    int cont = 0;
                    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        FINANCEIRO
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
                    contproj++;
                    System.Text.StringBuilder str = new System.Text.StringBuilder();
                    string str2 = "";
                    double previsto = 0;
                    double realizado = 0;
                    double projprev = 0;
                    double projreal = 0;
                    double previsto_total = 0;
                    str = new System.Text.StringBuilder();
                    str.Append("select nu_ano,  ");
                    str.Append("sum(vl_p1) as vl_p1, sum(vl_r1) as vl_r1,");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4) as vl_p4,");
                    str.Append("sum(vl_r1+ vl_r2+ vl_r3+ vl_r4) as vl_r4,");
                    str.Append("sum(vl_p5+ vl_p6+ vl_p7+ vl_p8) as vl_p8,");
                    str.Append("sum(vl_r5+ vl_r6+ vl_r7+ vl_r8) as vl_r8,");
                    str.Append("sum(vl_p9+ vl_p10+ vl_p11+ vl_p12) as vl_p12,");
                    str.Append("sum(vl_r9+ vl_r10+ vl_r11+ vl_r12) as vl_r12 ");
                    str.Append("from t28_vlfinanceiro where t11_cd_financeiro in  ");
                    str.Append("(select t11_cd_financeiro from t11_financeiro where t08_cd_acao in  ");
                    str.Append("(select t08_cd_acao from t08_acao where fl_ativa=1 and t03_cd_projeto=" + dr["t03_cd_projeto"].ToString() + ")) group by nu_ano ");
                    //Response.Write(str.ToString()+"<br><br>");
                    t03.order = str.ToString();
                    foreach (DataRow dr2 in t03.ListQuery().Tables[0].Rows)
                    {
                        cont++;
                        //if ((int)dr2["nu_ano"] < ano)
                        //{
                        //    previsto += double.Parse(dr2["vl_p12"].ToString());
                        //    realizado += double.Parse(dr2["vl_r12"].ToString());
                        //}
                        //else if ((int)dr2["nu_ano"] == ano)
                        //{
                        vl_acp1[(int)dr2["nu_ano"]] += previsto + double.Parse(dr2["vl_p1"].ToString());
                        vl_acr1[(int)dr2["nu_ano"]] += realizado + double.Parse(dr2["vl_r1"].ToString());
                        vl_acp4[(int)dr2["nu_ano"]] += previsto + double.Parse(dr2["vl_p4"].ToString());
                        vl_acr4[(int)dr2["nu_ano"]] += realizado + double.Parse(dr2["vl_r4"].ToString());
                        vl_acp8[(int)dr2["nu_ano"]] += previsto + double.Parse(dr2["vl_p8"].ToString());
                        vl_acr8[(int)dr2["nu_ano"]] += realizado + double.Parse(dr2["vl_r8"].ToString());
                        vl_acp12[(int)dr2["nu_ano"]] += previsto + double.Parse(dr2["vl_p12"].ToString());
                        vl_acr12[(int)dr2["nu_ano"]] += realizado + double.Parse(dr2["vl_r12"].ToString());

                        if ((mes >= 1) && (mes <= 3))
                        {
                            projprev += previsto + double.Parse(dr2["vl_p1"].ToString());
                            projreal += realizado + double.Parse(dr2["vl_r1"].ToString());
                        }
                        else if ((mes >= 4) && (mes <= 6))
                        {
                            projprev += previsto + double.Parse(dr2["vl_p4"].ToString());
                            projreal += realizado + double.Parse(dr2["vl_r4"].ToString());
                        }
                        else if ((mes >= 7) && (mes <= 9))
                        {
                            projprev += previsto + double.Parse(dr2["vl_p8"].ToString());
                            projreal += realizado + double.Parse(dr2["vl_r8"].ToString());
                        }
                        else if ((mes >= 10) && (mes <= 12))
                        {
                            projprev += previsto + double.Parse(dr2["vl_p12"].ToString());
                            projreal += realizado + double.Parse(dr2["vl_r12"].ToString());
                        }

                        //}
                        previsto_total += double.Parse(dr2["vl_p12"].ToString());
                        //Response.Write(previsto_total + "<br>");
                    }

                    sb.Append("<tr>");
                    sb.Append("<td>" + dr["nm_projeto"] + "</td>");
                    if (cont != 0)
                    {
                        sb.Append("<td style=text-align:right>" + projprev.ToString("N2") + "</td>");
                        sb.Append("<td style=text-align:right>" + projreal.ToString("N2") + "</td>");
                        if (projprev != 0)
                        {
                            sb.Append("<td style=text-align:right>" + (projreal / projprev).ToString("N2") + "</td>");
                        }
                        else
                        {
                            sb.Append("<td style=text-align:right>0,00</td>");
                        }

                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }

                    //Índice de realização financeira
                    if (cont != 0)
                    {
                        sb.Append("<td style=text-align:right>" + ((projprev * 100) / previsto_total).ToString("N2") + "</td>");
                        sb.Append("<td style=text-align:right>" + ((projreal * 100) / previsto_total).ToString("N2") + "</td>");
                        if (projprev != 0)
                        {
                            sb.Append("<td style=text-align:right>" + (((projreal * 100) / previsto_total) / ((projprev * 100) / previsto_total)).ToString("N2") + "</td>");
                        }
                        else
                        {
                            sb.Append("<td style=text-align:right>0,00</td>");
                        }

                        acprev += (projprev * 100) / previsto_total;
                        acreal += (projreal * 100) / previsto_total;
                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }
                    sb.Append("</tr>");

                }//FIM DR (PROJETOS)

                sb.Append("<tr  class=\"headerGrid\">");
                sb.Append("<td colspan=3>Média</td>");
                sb.Append("<td style=text-align:right>" + (acprev / contproj).ToString("N2") + "</td>");
                sb.Append("<td style=text-align:right>" + (acreal / contproj).ToString("N2") + "</td>");
                if (fin_prev > 0)
                {
                    sb.Append("<td style=text-align:right>" + ((acreal / contproj) / (acprev / contproj)).ToString("N2") + "</td>");
                }
                else
                {
                    sb.Append("<td style=text-align:right>0,00</td>");
                }
                sb.Append("</tr>");
                sb.Append("</table>");

                Session["MonFinanceiro"] = sb.ToString();

                string strxml = "";
                strxml = "<graph caption='(Ano Referência " + ano + ")' formatNumberScale='0' ";
                strxml += "yAxisMaxValue='100' decimalPrecision='2' xAxisName='' yAxisName='' numberPrefix='' ";
                strxml += "numberSuffix='%25' showNames='1' showvalues='0'>";
                strxml += "<categories>";
                //=== lista as datas das medições
                for (int i = ano_ini; ano_ini >= ano_fim; i++)
                {
                    strxml += "<category name='"+ i +"' showName='1'/>";
                }
                strxml += "</categories>";

                strxml += "<dataset seriesName='Previsto' color='00A900' >";
                if (contproj > 0)
                {
                    for (int i = ano_ini; ano_ini >= ano_fim; i++)
                    {
                        strxml += "<set value='" + ((vl_p1[i] + vl_p4[i] + vl_p8[i] + vl_p12[i]) / contproj).ToString().Replace(",", ".") + "' />";
                    }
                }
                else
                {
                    for (int i = ano_ini; ano_ini >= ano_fim; i++)
                    {
                        strxml += "<set />";
                    }
                }
                strxml += "</dataset>";

                strxml += "<dataset seriesName='Realizado' color='0000FF' >";
                if (contproj > 0)
                {
                        for (int i = ano_ini; ano_ini >= ano_fim; i++)
                        {
                            strxml += "<set value='" + ((vl_r1[i] + vl_r4[i] + vl_r8[i] + vl_r12[i]) / contproj).ToString().Replace(",", ".") + "' />";
                            fin_prev += ((vl_p1[i] + vl_p4[i] + vl_p8[i] + vl_p12[i]) / contproj);
                            fin_real += ((vl_r1[i] + vl_r4[i] + vl_r8[i] + vl_r12[i]) / contproj);
                        }
                }
                else
                {
                    for (int i = ano_ini; ano_ini >= ano_fim; i++)
                    {
                        strxml += "<set />";
                    }
                }
                strxml += "</dataset>";
                strxml += "<trendlines>";
                strxml += "<line startValue='22000' color='00cc00' displayValue='Average' isTrendZone='0'/>";
                strxml += "</trendlines>";
                strxml += "</graph>";

                int altura = 350;
                int largura = 500;
                string html = "";
                html += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" ";
                html += "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" ";
                html += "width=\"" + (largura + 10) + "\" height=\"" + altura + "\" align=\"center\">";
                html += "<param name=\"movie\" value=\"charts/FC_2_3_MSColumn3D.swf\" /><param name=\"wmode\" value=\"transparent\">";
                html += "<param name=\"FlashVars\" VALUE=\"&dataXML=" + strxml + "&chartWidth=" + largura + "&chartHeight=" + altura + "\" />";
                html += "</object>";

                Response.Write(pb.GetLiteral(html + sb.ToString()));
            }

        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
    protected void GrafBind(Panel pn)
    {
        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            sb.Append("<table cellspacing=\"0\" cellpadding=\"4\" rules=\"all\" border=\"1\" style=\"color:#333333;width:100%;border-collapse:collapse;background:#FFFFFF;text-align:left\">");
            sb.Append("<tr class=\"headerGrid\">");
            sb.Append("<td>Projeto2</td>");
            sb.Append("<td style=\"text-align:right\">Previsto</td>");
            sb.Append("<td style=\"text-align:right\">Realizado</td>");
            sb.Append("<td style=\"text-align:right\">% de execução</td>");
            sb.Append("</tr>");

            int ano = DateTime.Now.Year;
            int mes = DateTime.Now.Month;

            int contproj = 0;
            double vl_prev = 0;
            double vl_real = 0;

            double vl_p1 = 0;double vl_p4 = 0;double vl_p8 = 0; double vl_p12 = 0;double vl_r1 = 0;double vl_r4 = 0;double vl_r8 = 0;double vl_r12 = 0;
            double vl_acp1 = 0;double vl_acp4 = 0;double vl_acp8 = 0;double vl_acp12 = 0;double vl_acr1 = 0;double vl_acr4 = 0;double vl_acr8 = 0;double vl_acr12 = 0;

            t03_projeto t03 = new t03_projeto();
            {
                t03.order = "select * from t03_projeto where (fl_ativa=1)  " + pb.sqlfiltro() + " order by dt_alterado desc";
                foreach (DataRow dr in t03.ListQuery().Tables[0].Rows)
                {
                    int cont = 0;
                    /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        FINANCEIRO
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
                    contproj++;
                    System.Text.StringBuilder str = new System.Text.StringBuilder();
                    string str2 = "";
                    double previsto = 0;
                    double realizado = 0;
                    double projprev = 0;
                    double projreal = 0;
                    double previsto_total = 0;
                    str = new System.Text.StringBuilder();
                    str.Append("select nu_ano,  ");
                    str.Append("sum(vl_p1) as vl_p1, sum(vl_r1) as vl_r1,  ");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4) as vl_p4, sum(vl_r1+ vl_r2+ vl_r3+ vl_r4) as vl_r4, ");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8) as vl_p8, sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8) as vl_r8, ");
                    str.Append("sum(vl_p1 + vl_p2+ vl_p3+ vl_p4+ vl_p5+ vl_p6+ vl_p7+ vl_p8+ vl_p9+ vl_p10+ vl_p11+ vl_p12) as vl_p12, sum(vl_r1+ vl_r2+ vl_r3+ vl_r4+ vl_r5+ vl_r6+ vl_r7+ vl_r8+ vl_r9+ vl_r10+ vl_r11+ vl_r12) as vl_r12 ");
                    str.Append("from t28_vlfinanceiro where t11_cd_financeiro in  ");
                    str.Append("(select t11_cd_financeiro from t11_financeiro where t08_cd_acao in  ");
                    str.Append("(select t08_cd_acao from t08_acao where fl_ativa=1 and t03_cd_projeto=" + dr["t03_cd_projeto"].ToString() + ")) group by nu_ano ");
                    //Response.Write(str.ToString()+"<br><br>");
                    t03.order = str.ToString();
                    foreach (DataRow dr2 in t03.ListQuery().Tables[0].Rows)
                    {
                        cont++;
                        if ((int)dr2["nu_ano"] < ano)
                        {
                            if (dr2["vl_p12"] != DBNull.Value)
                            {
                                previsto += double.Parse(dr2["vl_p12"].ToString());
                            }
                            if (dr2["vl_r12"] != DBNull.Value)
                            {
                                realizado += double.Parse(dr2["vl_r12"].ToString());
                            }
                        }
                        else if ((int)dr2["nu_ano"] == ano)
                        {
                            vl_acp1 += previsto + double.Parse(dr2["vl_p1"].ToString());
                            vl_acr1 += realizado + double.Parse(dr2["vl_r1"].ToString());
                            vl_acp4 += previsto + double.Parse(dr2["vl_p4"].ToString());
                            vl_acr4 += realizado + double.Parse(dr2["vl_r4"].ToString());
                            vl_acp8 += previsto + double.Parse(dr2["vl_p8"].ToString());
                            vl_acr8 += realizado + double.Parse(dr2["vl_r8"].ToString());
                            vl_acp12 += previsto + double.Parse(dr2["vl_p12"].ToString());
                            vl_acr12 += realizado + double.Parse(dr2["vl_r12"].ToString());

                            if ((mes >= 1) && (mes <= 3))
                            {
                                if (dr2["vl_p1"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p1"].ToString());
                                }
                                if (dr2["vl_r1"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r1"].ToString());
                                }
                            }
                            else if ((mes >= 4) && (mes <= 6))
                            {
                                if (dr2["vl_p4"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p4"].ToString());
                                }
                                if (dr2["vl_r4"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r4"].ToString());
                                }
                            }
                            else if ((mes >= 7) && (mes <= 9))
                            {
                                if (dr2["vl_p8"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p8"].ToString());
                                }
                                if (dr2["vl_r8"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r8"].ToString());
                                }
                            }
                            else if ((mes >= 10) && (mes <= 12))
                            {
                                if (dr2["vl_p12"] != DBNull.Value)
                                {
                                    projprev += previsto + double.Parse(dr2["vl_p12"].ToString());
                                }
                                if (dr2["vl_r12"] != DBNull.Value)
                                {
                                    projreal += realizado + double.Parse(dr2["vl_r12"].ToString());
                                }
                            }

                        }
                        previsto_total += double.Parse(dr2["vl_p12"].ToString());
                        //Response.Write(previsto_total + "<br>");
                    }

                    sb.Append("<tr>");
                    sb.Append("<td>" + dr["nm_projeto"] + "</td>");
                    if (cont != 0)
                    {
                        sb.Append("<td style=text-align:right>" + projprev.ToString("N2") + "</td>");
                        sb.Append("<td style=text-align:right>" + projreal.ToString("N2") + "</td>");
                        if (projprev != 0)
                        {
                            sb.Append("<td style=text-align:right>" + (projreal / projprev).ToString("N2") + "</td>");
                        }
                        else
                        {
                            sb.Append("<td style=text-align:right>0,00</td>");
                        }
                        vl_p1 += (vl_acp1 * 100) / previsto_total;
                        vl_p4 += (vl_acp4 * 100) / previsto_total;
                        vl_p8 += (vl_acp8 * 100) / previsto_total;
                        vl_p12 += (vl_acp12 * 100) / previsto_total;

                        vl_r1 += (vl_acr1 * 100) / previsto_total;
                        vl_r4 += (vl_acr4 * 100) / previsto_total;
                        vl_r8 += (vl_acr8 * 100) / previsto_total;
                        vl_r12 += (vl_acr12 * 100) / previsto_total;
                    }
                    else
                    {
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                        sb.Append("<td style=text-align:right>0,00</td>");
                    }
                    sb.Append("</tr>");

                }//FIM DR (PROJETOS)
                sb.Append("</table>");

                string strxml = "";
                strxml = "<graph caption='(Ano Referência " + ano + ")' formatNumberScale='0' ";
                strxml += "yAxisMaxValue='100' decimalPrecision='2' xAxisName='' yAxisName='' numberPrefix='' ";
                strxml += "numberSuffix='%25' showNames='1' showvalues='0'>";
                strxml += "<categories>";
                //=== lista as datas das medições
                strxml += "<category name='1º Trim' showName='1'/>";
                strxml += "<category name='2º Trim' showName='1'/>";
                strxml += "<category name='3º Trim' showName='1'/>";
                strxml += "<category name='4º Trim' showName='1'/>";
                strxml += "</categories>";

                strxml += "<dataset seriesName='Previsto' color='00A900' >";
                if (contproj > 0)
                {
                    strxml += "<set value='" + (vl_p1 / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + (vl_p4 / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + (vl_p8 / contproj).ToString().Replace(",", ".") + "' />";
                    strxml += "<set value='" + (vl_p12 / contproj).ToString().Replace(",", ".") + "' />";
                }
                else
                {
                    strxml += "<set /><set /><set /><set />";
                }
                strxml += "</dataset>";

                strxml += "<dataset seriesName='Realizado' color='0000FF' >";
                if (contproj > 0)
                {
                    if ((mes >= 1))
                    {
                        strxml += "<set value='" + (vl_r1 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 4))
                    {
                        strxml += "<set value='" + (vl_r4 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 7))
                    {
                        strxml += "<set value='" + (vl_r8 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                    if ((mes >= 10))
                    {
                        strxml += "<set value='" + (vl_r12 / contproj).ToString().Replace(",", ".") + "' />";
                    }
                    else
                    {
                        strxml += "<set />";
                    }

                }
                else
                {
                    strxml += "<set /><set /><set /><set />";
                }
                strxml += "</dataset>";
                strxml += "<trendlines>";
                strxml += "<line startValue='22000' color='00cc00' displayValue='Average' isTrendZone='0'/>";
                strxml += "</trendlines>";
                strxml += "</graph>";

                int altura = 350;
                int largura = 500;
                string html = "";
                html += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" ";
                html += "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" ";
                html += "width=\"" + (largura + 10) + "\" height=\"" + altura + "\" align=\"center\">";
                html += "<param name=\"movie\" value=\"charts/FC_2_3_MSColumn3D.swf\" /><param name=\"wmode\" value=\"transparent\">";
                html += "<param name=\"FlashVars\" VALUE=\"&dataXML=" + strxml + "&chartWidth=" + largura + "&chartHeight=" + altura + "\" />";
                html += "</object>";

                pn.Controls.Add(pb.GetLiteral(html + sb.ToString()));

            }

        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }