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())); } }
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); } }
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); } }
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 + "%'> </td>"); } if (g != 0) { sb.Append("<td style=\"border:none;background:url('images/G.gif');width:" + (g * 100) / total + "%\" title='" + (g * 100) / total + "%'> </td>"); } if (r != 0) { sb.Append("<td style=\"border:none;background:url('images/R.gif');width:" + (r * 100) / total + "%\" title='" + (r * 100) / total + "%'> </td>"); } sb.Append("</tr></table>"); pn.Controls.Add(pb.GetLiteral(sb.ToString())); } }
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"); } } }
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); } }
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); } }
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 + "&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); } }
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 + "%'> </td>"); } if (verde != 0) { sb.Append("<td style=\"border:none;background:url('images/G.gif');width:" + (verde * 100) / total + "%\" title='" + (verde * 100) / total + "%'> </td>"); } if (amarelo != 0) { sb.Append("<td style=\"border:none;background:url('images/Y.gif');width:" + (amarelo * 100) / total + "%\" title='" + (amarelo * 100) / total + "%'> </td>"); } if (vermelho != 0) { sb.Append("<td style=\"border:none;background:url('images/R.gif');width:" + (vermelho * 100) / total + "%\" title='" + (vermelho * 100) / total + "%'> </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); } }
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 + "&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); } }
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); } }
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); } }