private string cargarCriterios(int nDesde, int nHasta) { StringBuilder sb = new StringBuilder(); int i = 0; try { /* * t -> tipo * c -> codigo * d -> denominacion * */ SqlDataReader dr = ConsultasPGE.ObtenerProfesionalesCRCriterios((int)Session["UsuarioActual"], Constantes.nNumElementosMaxCriterios); while (dr.Read()) { if ((int)dr["codigo"] == -1) { sb.Append("\tjs_cri[" + i + "] = {\"t\":" + dr["tipo"].ToString() + ",\"excede\":1};\n"); } else { sb.Append("\tjs_cri[" + i + "] = {\"t\":" + dr["tipo"].ToString() + ",\"c\":" + dr["codigo"].ToString() + ",\"d\":\"" + Utilidades.escape(dr["denominacion"].ToString().Replace((char)34, (char)39)) + "\"};\n"); } i++; } dr.Close(); dr.Dispose(); return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al cargar los criterios", ex)); } }
private string getDatos(int nNodo, int nAnno) { StringBuilder sb = new StringBuilder(); try { SqlDataReader dr = ConsultasPGE.ObtenerDatosResumidosGraficosNodo(nNodo, nAnno); while (dr.Read()) { sb.Append(dr["T325_ANOMES"].ToString() + "##"); sb.Append(dr["Ingresos_Netos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Margen"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Obra_en_curso"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Saldo_de_Clientes"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Total_Cobros"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Total_Ingresos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Volumen_de_Negocio"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Total_consumos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Ratio"].ToString().Replace(",", ".") + "///"); } dr.Close(); dr.Dispose(); return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos", ex)); } }
private string obtenerDatos(string sNivelEstructura, string sSituacionGarantia, string sNDiasGarantia, string sClientes, string sResponsables, string sNaturalezas, string sModeloContrato, string sContrato, string sIDEstructura ) { StringBuilder sb = new StringBuilder(); #region Cabecera tabla HTML sb.Append(@"<table id='tblDatos' class='MA' style='width: 960px;'> <colgroup> <col style='width:20px;' /> <col style='width:60px;' /> <col style='width:200px;' /> <col style='width:200px;' /> <col style='width:200px;' /> <col style='width:90px;' /> <col style='width:90px;' /> </colgroup>"); #endregion SqlDataReader dr = ConsultasPGE.ObtenerGarantias( (int)Session["UsuarioActual"], (sNivelEstructura == "0") ? null : (int?)int.Parse(sNivelEstructura), sSituacionGarantia, int.Parse(sNDiasGarantia), sClientes, sResponsables, sNaturalezas, sModeloContrato, sContrato, sIDEstructura ); while (dr.Read()) { sb.Append("<tr "); sb.Append("id='" + dr["t305_idproyectosubnodo"].ToString() + "' "); sb.Append("categoria='" + dr["t301_categoria"].ToString() + "' "); //string sTooltip = "<label style=width:70px;>Proyecto:</label>" + ((int)dr["t301_idproyecto"]).ToString("#,###") + " - " + dr["t301_denominacion"].ToString() + "<br><label style=width:70px;>Responsable:</label>" + dr["Responsable"].ToString() + "<br><label style=width:70px;>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString() + "<br><label style=width:70px;>Cliente:</label>" + dr["t302_denominacion"].ToString(); //sb.Append("tooltip=\"" + Utilidades.escape(sTooltip) + "\" "); sb.Append(">"); sb.Append("<td></td>"); sb.Append("<td style='text-align:right; padding-right:5px;'>" + ((int)dr["t301_idproyecto"]).ToString("#,###") + "</td>"); sb.Append("<td><nobr class='NBR W190'>" + dr["t301_denominacion"].ToString() + "</nobr></td>"); sb.Append("<td><nobr class='NBR W190'>" + dr["responsable_proyecto"].ToString() + "</nobr></td>"); sb.Append("<td><nobr class='NBR W190'>" + dr["t302_denominacion"].ToString() + "</nobr></td>"); sb.Append("<td>" + ((dr["t301_iniciogar"] == DBNull.Value) ? "" : ((DateTime)dr["t301_iniciogar"]).ToShortDateString()) + "</td>"); sb.Append("<td>" + ((dr["t301_fingar"] == DBNull.Value) ? "" : ((DateTime)dr["t301_fingar"]).ToShortDateString()) + "</td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</table>"); return("OK@#@" + sb.ToString()); }
private string cargarCriterios(string sDesde, string sHasta) { StringBuilder sb = new StringBuilder(); int nDesde = 0, nHasta = 0; int i = 0; try { /* * t -> tipo * c -> codigo * d -> denominacion * ///datos auxiliares para el catálogo de proyecto (16) * a -> categoria * u -> cualidad * e -> estado * l -> cliente * n -> nodo * r -> responsable * */ if (sDesde != "") { nDesde = int.Parse(sDesde); } if (sHasta != "") { nHasta = int.Parse(sDesde); } SqlDataReader dr = ConsultasPGE.ObtenerCombosDatosResumidosCriterios((int)Session["UsuarioActual"], nDesde, nHasta, Constantes.nNumElementosMaxCriterios); while (dr.Read()) { if ((int)dr["codigo"] == -1) { sb.Append("\tjs_cri[" + i + "] = {\"t\":" + dr["tipo"].ToString() + ",\"excede\":1};\n"); } else { if ((int)dr["tipo"] == 16) { sb.Append("\tjs_cri[" + i + "] = {\"t\":" + dr["tipo"].ToString() + ",\"c\":" + dr["codigo"].ToString() + ",\"d\":\"" + Utilidades.escape(dr["denominacion"].ToString().Replace((char)34, (char)39)) + "\",\"p\":\"" + dr["t301_idproyecto"].ToString() + "\",\"a\":\"" + dr["t301_categoria"].ToString() + "\",\"u\":\"" + dr["t305_cualidad"].ToString() + "\",\"e\":\"" + dr["t301_estado"].ToString() + "\",\"l\":\"" + dr["t302_denominacion"].ToString() + "\",\"n\":\"" + dr["t303_denominacion"].ToString() + "\",\"r\":\"" + dr["Responsable"].ToString() + "\"};\n"); } else { sb.Append("\tjs_cri[" + i + "] = {\"t\":" + dr["tipo"].ToString() + ",\"c\":" + dr["codigo"].ToString() + ",\"d\":\"" + Utilidades.escape(dr["denominacion"].ToString().Replace((char)34, (char)39)) + "\"};\n"); } } i++; } dr.Close(); dr.Dispose(); return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al cargar los criterios", ex)); } }
private string obtenerDatos(string sEstado, string sDesde, string sHasta, string sNivelEstructura, string sCategoria, string sCualidad, string sIDProyecto, string sClientes, string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato, string sContrato, string sIDEstructura, string sSectores, string sSegmentos, string sComparacionLogica, string sNivelIndentacion, string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN, string sOrgComercial) { //int nNivelIndentacion = int.Parse(sNivelIndentacion) + 1; int nWidthTabla = 3020;// 2550; StringBuilder sb = new StringBuilder(); try { //Añado espacio para las columnas de la superestructura que está activa if (Utilidades.EstructuraActiva("SN4")) { nEstructuraMinima = 1; } else if (Utilidades.EstructuraActiva("SN3")) { nEstructuraMinima = 2; } else if (Utilidades.EstructuraActiva("SN2")) { nEstructuraMinima = 3; } else if (Utilidades.EstructuraActiva("SN1")) { nEstructuraMinima = 4; } nWidthTabla += 300 * (5 - nEstructuraMinima); //if (sNivelIndentacion == "1") //{ sb.Append("<table id='tblDatos' class='texto' style='font-size:10px;width:" + nWidthTabla.ToString() + "px;'>"); sb.Append("<colgroup>"); if (Utilidades.EstructuraActiva("SN4")) { sb.Append("<col style='width:300px;' />"); //SNN4 } if (Utilidades.EstructuraActiva("SN3")) { sb.Append("<col style='width:300px;' />"); //SNN3 } if (Utilidades.EstructuraActiva("SN2")) { sb.Append("<col style='width:300px;' />"); //negocio } if (Utilidades.EstructuraActiva("SN1")) { sb.Append("<col style='width:300px;' />"); //linea } sb.Append("<col style='width:300px;' />"); //nodo //sb.Append("<col style='width:200px; text-align:right;' />");//area (subnodo) sb.Append("<col style='width:300px;' />"); //area (subnodo) sb.Append("<col style='width:400px;' />"); //cliente sb.Append("<col style='width:50px;' />"); //numero contrato sb.Append("<col style='width:300px;' />"); //contrato sb.Append("<col style='width:50px;' />"); //numero proyecto sb.Append("<col style='width:500px;' />"); //nombre proyecto sb.Append("<col style='width:100px;' />"); //tipo (producto / servicio) sb.Append("<col style='width:200px;' />"); //modelo de contratacion sb.Append("<col style='width:100px;' />"); //estado sb.Append("<col style='width:200px;' />"); //tipología sb.Append("<col style='width:300px;' />"); //naturaleza de producción sb.Append("<col style='width:400px;' />"); //responsable sb.Append("<col style='width:400px;' />"); //comercial sb.Append("<col style='width:200px;' />"); //cualificador sb.Append("<col style='width:400px;' />"); //motivo visión sb.Append("<col style='width:400px;' />"); //organización comercial sb.Append("<col style='width:70px;' />"); //Código NLO sb.Append("<col style='width:400px;' />"); //Denominación NLO sb.Append("</colgroup>"); //} sb.Append("<TR style='background-color: #BCD4DF;'>"); if (Utilidades.EstructuraActiva("SN4")) { sb.Append("<td style='padding-left:2px;'>" + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO4) + "</TD>"); } if (Utilidades.EstructuraActiva("SN3")) { sb.Append("<td style='padding-left:2px;'>" + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO3) + "</TD>"); } if (Utilidades.EstructuraActiva("SN2")) { sb.Append("<td style='padding-left:2px;'>" + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO2) + "</TD>"); } if (Utilidades.EstructuraActiva("SN1")) { sb.Append("<td style='padding-left:2px;'>" + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO1) + "</TD>"); } sb.Append("<td style='padding-left:2px;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</TD>"); sb.Append("<td style='padding-left:2px;'>" + Estructura.getDefLarga(Estructura.sTipoElem.SUBNODO) + "</TD>"); sb.Append("<td>Cliente</TD><td style='text-align:right;'>Nº</TD><td>Contrato</TD><td style='text-align:right;'>NºProy.</TD><td>Proyecto</TD><td>Tipo</TD><td>Modelo contratación</TD>"); sb.Append("<td>Estado</TD><td>Tipología</TD><td>Naturaleza de producción</TD><td>Responsable</TD><td>Comercial</TD><td>Cualificador de ventas</td><td>Motivo visión del proyecto</TD><td>Organización comercial</TD>"); sb.Append("<td>Código NLO</td><td>Nueva Línea de Oferta</td>"); sb.Append("</TR>"); SqlDataReader dr = ConsultasPGE.InformeProyectosAsignados(sEstado, (int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), (sNivelEstructura == "0")? null:(int?)int.Parse(sNivelEstructura), sCategoria, sCualidad, (sIDProyecto == "")? null:(int?)int.Parse(sIDProyecto), sClientes, sResponsables, sNaturalezas, sHorizontal, sModeloContrato, sContrato, sIDEstructura, sSectores, sSegmentos, (sComparacionLogica == "1")? true:false, sCNP, sCSN1P, sCSN2P, sCSN3P, sCSN4P, sPSN, sOrgComercial); while (dr.Read()) { sb.Append("<tr style='height:18px;'><td style='padding-left:2px;'>"); if (Utilidades.EstructuraActiva("SN4")) { sb.Append(dr["t394_denominacion"].ToString()); sb.Append("</td><td style='padding-left:2px;'>"); } if (Utilidades.EstructuraActiva("SN3")) { sb.Append(dr["t393_denominacion"].ToString()); sb.Append("</td><td style='padding-left:2px;'>"); } if (Utilidades.EstructuraActiva("SN2")) { sb.Append(dr["t392_denominacion"].ToString());//negocio sb.Append("</td><td style='padding-left:2px;'>"); } if (Utilidades.EstructuraActiva("SN1")) { sb.Append(dr["t391_denominacion"].ToString());//linea sb.Append("</td><td style='padding-left:2px;'>"); } sb.Append(dr["t303_denominacion"].ToString()); sb.Append("</td><td style='padding-left:2px;'>"); sb.Append(dr["t304_denominacion"].ToString()); sb.Append("</td><td style='padding-left:2px;'>"); sb.Append(dr["t302_denominacion"].ToString()); sb.Append("</td><td style='text-align:right;'>"); if (dr["t306_idcontrato"] != DBNull.Value) { sb.Append(int.Parse(dr["t306_idcontrato"].ToString()).ToString("#,###")); } sb.Append("</td><td>"); sb.Append(dr["t377_denominacion"].ToString());//contrato sb.Append("</td><td style='text-align:right;'>"); sb.Append(int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###")); sb.Append("</td><td>"); sb.Append(dr["t301_denominacion"].ToString()); sb.Append("</td><td>"); sb.Append(dr["t301_categoria"].ToString()); //Tipo: producto o servicio sb.Append("</td><td>"); sb.Append(dr["t316_denominacion"].ToString()); //modelo sb.Append("</td><td>"); sb.Append(dr["t301_estado"].ToString()); sb.Append("</td><td>"); sb.Append(dr["t320_denominacion"].ToString()); //Tipologia sb.Append("</td><td>"); sb.Append(dr["t323_denominacion"].ToString()); //naturaleza sb.Append("</td><td>"); sb.Append(dr["responsable_proyecto"].ToString()); sb.Append("</td>"); sb.Append("<td>"); sb.Append(dr["comercial_hermes"].ToString());//Organización comercial sb.Append("</td>"); sb.Append("<td>"); sb.Append(dr["t055_denominacion"].ToString());//Cualificador sb.Append("</td>"); sb.Append("<td>"); sb.Append(dr["motivo_vision"].ToString()); sb.Append("</td><td>"); sb.Append(dr["ta212_denominacion"].ToString());//Organización comercial //NLO sb.Append("</td><td style='text-align:right;'>"); if (dr["t195_codigoexterno"] != DBNull.Value) { sb.Append(int.Parse(dr["t195_codigoexterno"].ToString()).ToString("#,###")); } sb.Append("</td><td>"); sb.Append(dr["t195_denominacion"].ToString());//nUEVA lÍNEA DE oFERTA sb.Append("<td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</table>"); string sIdCache = "EXCEL_CACHE_" + Session["IDFICEPI_ENTRADA"].ToString() + "_" + DateTime.Now.ToString(); Session[sIdCache] = sb.ToString();; return("OK@#@cacheado@#@" + sIdCache + "@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex)); } }
private string obtenerDatos(string sDesde, string sHasta, string sNivelEstructura, string sCategoria, string sCualidad, string sClientes, string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato, string sContrato, string sIDEstructura, string sSectores, string sSegmentos, string sComparacionLogica, string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN) { int nWidthTabla = 470; //370+100 int nColumnasACrear = 0; StringBuilder sb = new StringBuilder(); StringBuilder sbColgroupTitulo = new StringBuilder(); StringBuilder sbTitulo = new StringBuilder(); StringBuilder sbResultado = new StringBuilder(); string sTablaTitulo = ""; string sTablaContenido = ""; string sTablaResultado = ""; decimal nRatio = 0; string sColor = ""; try { sbColgroupTitulo.Append("<colgroup>"); sbColgroupTitulo.Append("<col style='width:350px;' />"); sbColgroupTitulo.Append("<col style='width:120px;' />"); DataSet ds = ConsultasPGE.ObtenerDatosFichaEconomica((int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), (sNivelEstructura == "0")? null:(int?)int.Parse(sNivelEstructura), sCategoria, sCualidad, sClientes, sResponsables, sNaturalezas, sHorizontal, sModeloContrato, sContrato, sIDEstructura, sSectores, sSegmentos, (sComparacionLogica == "1")? true:false, sCNP, sCSN1P, sCSN2P, sCSN3P, sCSN4P, sPSN, Session["MONEDA_VDC"].ToString() ); bool bTitulos = false; int i = 0; foreach (DataRow oFila in ds.Tables[0].Rows) { if (!bTitulos) { sbTitulo.Append("<tr class='TBLINI'>"); sbTitulo.Append("<td></td>"); for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (x == 4) { string[] aNomMeses = Regex.Split(ds.Tables[0].Columns[x].ColumnName, "-"); sbTitulo.Append("<td>"); sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[0].ToString()))); sbTitulo.Append(" - "); sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[1].ToString()))); sbTitulo.Append("</td>"); } else { sbColgroupTitulo.Append("<col style='width:100px;' />"); sbTitulo.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(ds.Tables[0].Columns[x].ColumnName)) + "</td>"); nColumnasACrear++; } } sbTitulo.Append("</tr>"); bTitulos = true; } if (oFila["t454_idformula"].ToString() != "3" && oFila["t454_idformula"].ToString() != "1" && oFila["t454_idformula"].ToString() != "2" && oFila["t454_idformula"].ToString() != "8" ) { switch (oFila["nivel"].ToString()) { case "1": sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' "); //sb.Append(" style='display:block; height: 20px' nivel='1' desplegado='1'>"); sb.Append(" style='display:table-row; height: 20px' nivel='1' desplegado='1'>"); if (oFila["t454_idformula"].ToString() != "5") { sb.Append("<td style='text-align:left;'><IMG class=NSEG1 onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;'>"); } else { sb.Append("<td style='text-align:left;'><IMG class=NSEG1 src='../../../../images/imgSeparador.gif' style='width:9px;'>"); } sb.Append("<nobr class='NBR' style='width:320px;'>" + oFila["t454_literal"].ToString() + "</nobr></td>"); break; case "2": sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' "); sb.Append(" style='display:none; height: 20px' nivel='2' desplegado='1'>"); if (oFila["t454_idformula"].ToString() == "33" || oFila["t454_idformula"].ToString() == "34") { sb.Append("<td style='text-align:left;'><IMG class=NSEG2 onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;'>"); } else { sb.Append("<td style='text-align:left;'><IMG class=NSEG2 src='../../../../images/imgSeparador.gif' style='width:9px;'>"); } sb.Append("<nobr class='NBR' style='width:300px;'>" + oFila["t454_literal"].ToString() + "</nobr></td>"); break; case "3": sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' "); sb.Append(" style='display:none; height:20px;' nivel='3'>"); sb.Append("<td style='text-align:left;'><IMG class=NSEG3 src='../../../../images/imgSeparador.gif'>"); sb.Append("<nobr class='NBR' style='width:280px;'>" + oFila["t454_literal"].ToString() + "</nobr></td>"); break; } for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0) { sColor = "red"; } else { sColor = "black"; } sb.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>"); } sb.Append("</tr>"); } else { if (oFila["t454_idformula"].ToString() == "8") { sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='height:17px' class='TBLFIN'>"); sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>Ratio</nobr></td>"); for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (decimal.Parse(oFila.ItemArray[x].ToString()) == 0) { nRatio = 0; } else { nRatio = decimal.Parse(ds.Tables[0].Rows[i - 1].ItemArray[x].ToString()) * 100 / decimal.Parse(oFila.ItemArray[x].ToString()); } if (nRatio < 0) { sColor = "red"; } else { sColor = "black"; } sbResultado.Append("<td style='color:" + sColor + "'>" + nRatio.ToString("N") + " %</td>"); } sbResultado.Append("</tr>"); } else { sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='HEIGHT: 17px' class='TBLFIN'>"); if (oFila["t454_idformula"].ToString() == "3") { sbResultado.Append("<td style='text-align:left;'><nobr class='NSEG1'>" + oFila["t454_literal"].ToString() + " / </nobr><span style='color:red'>Facturación anticipada</span></td>"); } else { sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>" + oFila["t454_literal"].ToString() + "</nobr></td>"); } for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0) { sColor = "red"; } else { sColor = "black"; } sbResultado.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>"); } sbResultado.Append("</tr>"); } } i++; } ds.Dispose(); nWidthTabla = nWidthTabla + nColumnasACrear * 100; sTablaContenido = "<table id='tblDatos' class='texto' style='width:" + nWidthTabla.ToString() + "px; ' cellpadding='0'>"; sTablaContenido += sbColgroupTitulo.ToString(); sTablaContenido += "</colgroup>"; sTablaContenido += sb.ToString(); //sTablaContenido += "</tbody>"; sTablaContenido += "</table>"; sTablaTitulo = "<table id='tblTitulo' class='texto' style='width:" + nWidthTabla.ToString() + "px;' cellpadding='0'>"; sTablaTitulo += sbColgroupTitulo.ToString(); sTablaTitulo += "</colgroup>"; sTablaTitulo += sbTitulo.ToString(); sTablaTitulo += "</table>"; sTablaResultado = "<table id='tblResultado' class='texto' style='width:" + nWidthTabla.ToString() + "px;' cellpadding='0'>"; sTablaResultado += sbColgroupTitulo.ToString(); sTablaResultado += "</colgroup>"; sTablaResultado += sbResultado.ToString(); sTablaResultado += "</table>"; return("OK@#@" + sTablaTitulo + "@#@" + sTablaContenido + "@#@" + sTablaResultado); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex)); } }
private string obtenerDatos(string sAnno, string sEstado, string sCategoria, string sCualidad, string sClientes, string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato, string sContrato, string sIDEstructura, string sSectores, string sSegmentos, string sComparacionLogica, string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN) { StringBuilder sb = new StringBuilder(); try { SqlDataReader dr = ConsultasPGE.ObtenerConsumosProfesionalesGrafico((int)Session["UsuarioActual"], int.Parse(sAnno), sEstado, sCategoria, sCualidad, sClientes, sResponsables, sNaturalezas, sHorizontal, sModeloContrato, sContrato, sIDEstructura, sSectores, sSegmentos, (sComparacionLogica == "1") ? true : false, sCNP, sCSN1P, sCSN2P, sCSN3P, sCSN4P, sPSN); while (dr.Read()) { sb.Append(dr["t325_anomes"].ToString() + "##"); sb.Append(dr["Total Usuarios Propios"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Usuarios Propios"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Horas Propios"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Coste Horas Propios"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Jornadas Propios"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Coste Jornadas Propios"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Total Usuarios Otros nodos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Usuarios Otros nodos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Horas Otros nodos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Coste Horas Otros nodos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Jornadas Otros nodos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Coste Jornadas Otros nodos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Total Usuarios Externos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Usuarios Externos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Horas Externos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Coste Horas Externos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Jornadas Externos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Coste Jornadas Externos"].ToString().Replace(",", ".") + "##"); sb.Append(dr["Total Consumo"].ToString().Replace(",", ".") + "///"); } dr.Close(); dr.Dispose(); return("OK@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex)); } }
private string generarExcel(string sConceptoEje, string sDesde, string sHasta, string sNivelEstructura, string sCategoria, string sCualidad, string sPSN, string sClientes, string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato, string sContrato, string sIDEstructura, string sSectores, string sSegmentos, string sComparacionLogica, string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sProveedores, string sClaseEco, string sCabecera, string sURL) { StringBuilder sb = new StringBuilder(); try { SqlDataReader dr = ConsultasPGE.ObtenerConsuConta ( int.Parse(sConceptoEje), (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()) ? 0 : (int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), (sNivelEstructura == "0")? null:(int?)int.Parse(sNivelEstructura), sCategoria, sCualidad, sClientes, sResponsables, sNaturalezas, sHorizontal, sModeloContrato, sContrato, sIDEstructura, sSectores, sSegmentos, (sComparacionLogica == "1")? true:false, sCNP, sCSN1P, sCSN2P, sCSN3P, sCSN4P, sPSN, (sClaseEco == "")? null:(int?)int.Parse(sClaseEco), sProveedores, Session["MONEDA_VDC"].ToString() ); sb.Append("<table id='tblDatos' style='font-family:Arial;font-size:8pt;' cellspacing='0' cellpadding='0' border='1'>"); sb.Append("<tr style='height:18px;'>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Proveedor</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>" + sCabecera + "</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Nº Proy</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Proyecto</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Cualidad</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Concepto contable</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Nº documento</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Fecha contable</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Descripción</td>"); sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Importe</td>"); sb.Append("</tr>" + (char)10); while (dr.Read()) { sb.Append("<tr style='height:18px;'>"); sb.Append("<td>" + dr["t315_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["denominacion"].ToString() + "</td>"); sb.Append("<td>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>"); sb.Append("<td>" + dr["t301_denominacion"].ToString() + "</td>"); sb.Append("<td>"); switch (dr["t305_cualidad"].ToString()) { case "C": sb.Append("Contratante"); break; case "J": sb.Append("Replicado sin gestión"); break; case "P": sb.Append("Replicado con gestión"); break; } sb.Append("</td><td>" + dr["t303_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["t328_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["t478_ndocumento"].ToString() + "</td>"); sb.Append("<td> " + dr["fecha_contable"].ToString() + "</td>"); sb.Append("<td>" + dr["t478_descripcion"].ToString() + "</td>"); sb.Append("<td>" + decimal.Parse(dr["t478_importe"].ToString()).ToString("N") + "</td>"); sb.Append("</tr>" + (char)10); } dr.Close(); dr.Dispose(); //sb.Append("<tr><td colspan='11' rowspan='3' style='font-weight:bold;'> * Importes en " + Session["DENOMINACION_VDC"].ToString() + "</td></tr>"); sb.Append("<tr style='vertical-align:top;'>"); sb.Append("<td style='font-weight:bold;width:auto;'>* Importes en " + Session["DENOMINACION_VDC"].ToString() + "</td>"); for (var j = 2; j <= 11; j++) { sb.Append("<td></td>"); } sb.Append("</tr>" + (char)13); sb.Append("</table>"); //return "OK@#@" + sb.ToString(); string sIdCache = "EXCEL_CACHE_" + Session["IDFICEPI_ENTRADA"].ToString() + "_" + DateTime.Now.ToString(); Session[sIdCache] = sb.ToString();; return("OK@#@cacheado@#@" + sIdCache + "@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al generar el Excel.", ex)); } }
private string obtenerDatos(string sAnno, string sEstado, string sCategoria, string sCualidad, string sClientes, string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato, string sContrato, string sIDEstructura, string sSectores, string sSegmentos, string sComparacionLogica, string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN) { StringBuilder sb = new StringBuilder(); try { SqlDataReader dr = ConsultasPGE.ObtenerDatosResumidosGrafico((int)Session["UsuarioActual"], int.Parse(sAnno), sEstado, sCategoria, sCualidad, sClientes, sResponsables, sNaturalezas, sHorizontal, sModeloContrato, sContrato, sIDEstructura, sSectores, sSegmentos, (sComparacionLogica == "1") ? true : false, sCNP, sCSN1P, sCSN2P, sCSN3P, sCSN4P, sPSN); //while (dr.Read()) //{ // sb.Append(dr["t325_anomes"].ToString() + "##"); // sb.Append(dr["Ingresos_Netos"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Margen"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Obra_en_curso"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Saldo_de_Clientes"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Total_Cobros"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Total_Ingresos"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Volumen_de_Negocio"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Total_consumos"].ToString().Replace(",", ".") + "##"); // sb.Append(dr["Ratio"].ToString().Replace(",", ".") + "///"); //} DataTable table = new DataTable(); table.Load(dr); DataView dv = table.DefaultView; dr.Close(); dr.Dispose(); #region grafico 1 Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled = true; Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval = 1; Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1; Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray; //Creo las series para el gráfico con cada uno de los conceptos //Creo una serie para el volumen de negocio Series serieVolNeg = new Series("Vol. negocio"); //serieVolNeg.Points.DataBind(dv, "t325_anomes", "Volumen_de_Negocio", ""); serieVolNeg.Points.DataBind(dv, "t325_anomes", "Volumen_de_Negocio", ""); Chart1.Series.Add(serieVolNeg); //Creo una serie para el total de consumos Series serieConsumo = new Series("Total consumos"); serieConsumo.Points.DataBind(dv, "t325_anomes", "Total_consumos", ""); Chart1.Series.Add(serieConsumo); //Creo una serie para el total de ingresos Series serieIngreso = new Series("Ing. netos"); serieIngreso.Points.DataBind(dv, "t325_anomes", "Ingresos_Netos", ""); Chart1.Series.Add(serieIngreso); //Creo una serie para el margen Series serieMargen = new Series("Margen"); serieMargen.Points.DataBind(dv, "t325_anomes", "Margen", ""); Chart1.Series.Add(serieMargen); for (int i = 0; i < Chart1.Series.Count; i++) { if (dv.Count == 1) { Chart1.Series[i].ChartType = SeriesChartType.Column; Chart1.Series[i]["PointWidth"] = "0.2"; Chart1.Series[i]["DrawingStyle"] = "Default"; } else { Chart1.Series[i].ChartType = SeriesChartType.Spline; Chart1.Series[i].BorderWidth = 2; Chart1.Series[i].ShadowOffset = 1; } Chart1.Series[i].MarkerStyle = MarkerStyle.Circle; Chart1.Series[i].MarkerColor = Color.Navy; Chart1.Series[i].MarkerSize = 6; Chart1.Series[i].ToolTip = "#VALY{C0}"; } Chart1.Visible = true; #endregion #region gráfico 2 Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled = true; Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval = 1; Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1; Chart2.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray; //Creo las series para el gráfico con cada uno de los conceptos //Creo una serie para el total de ingresos Series serieTotIng = new Series("Total Ingresos"); serieTotIng.Points.DataBind(dv, "t325_anomes", "Total_Ingresos", ""); Chart2.Series.Add(serieTotIng); //Creo una serie para el total de cobros Series serieCobro = new Series("Total cobros"); serieCobro.Points.DataBind(dv, "t325_anomes", "Total_Cobros", ""); Chart2.Series.Add(serieCobro); for (int i = 0; i < Chart2.Series.Count; i++) { if (dv.Count == 1) { Chart2.Series[i].ChartType = SeriesChartType.Column; Chart2.Series[i]["PointWidth"] = "0.2"; Chart2.Series[i]["DrawingStyle"] = "Default"; } else { Chart2.Series[i].ChartType = SeriesChartType.Spline; Chart2.Series[i].BorderWidth = 2; Chart2.Series[i].ShadowOffset = 1; } Chart2.Series[i].MarkerStyle = MarkerStyle.Circle; Chart2.Series[i].MarkerColor = Color.Navy; Chart2.Series[i].MarkerSize = 6; Chart2.Series[i].ToolTip = "#VALY{C0}"; } Chart2.Visible = true; #endregion #region gráfico 3 Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled = true; Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval = 1; Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1; Chart3.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray; //Creo la serie para el Ratio Series serieRatio = new Series("Ratio"); serieRatio.Points.DataBind(dv, "t325_anomes", "Ratio", ""); Chart3.Series.Add(serieRatio); for (int i = 0; i < Chart3.Series.Count; i++) { if (dv.Count == 1) { Chart3.Series[i].ChartType = SeriesChartType.Column; Chart3.Series[i]["PointWidth"] = "0.2"; Chart3.Series[i]["DrawingStyle"] = "Default"; } else { //Chart3.Series[i].ChartType = SeriesChartType.Spline; Chart3.Series[i].ChartType = SeriesChartType.Area; Chart3.Series[i].BorderWidth = 2; Chart3.Series[i].ShadowOffset = 1; } //Chart3.Series[i].MarkerStyle = MarkerStyle.None; //Chart3.Series[i].MarkerColor = Color.Navy; //Chart3.Series[i].MarkerSize = 6; Chart3.Series[i].ToolTip = "#VALY{C0}"; } Chart3.Visible = true; #endregion #region gráfico 4 Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled = true; Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval = 1; Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1; Chart4.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray; //Chart4.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "D"; //Creo la serie para la obra en curso Series serieObra = new Series("Variación obra en curso"); //serieObra.Points.DataBind(dv, "Mes", "Obra_en_curso", ""); serieObra.Points.DataBind(dv, "t325_anomes", "Obra_en_curso", ""); Chart4.Series.Add(serieObra); for (int i = 0; i < Chart4.Series.Count; i++) { if (dv.Count == 1) { Chart4.Series[i].ChartType = SeriesChartType.Column; Chart4.Series[i]["PointWidth"] = "0.2"; Chart4.Series[i]["DrawingStyle"] = "Default"; } else { //Chart4.Series[i].ChartType = SeriesChartType.Spline; Chart4.Series[i].ChartType = SeriesChartType.Area; Chart4.Series[i].BorderWidth = 2; Chart4.Series[i].ShadowOffset = 1; } //Chart4.Series[i].MarkerStyle = MarkerStyle.Circle; //Chart4.Series[i].MarkerStyle = MarkerStyle.None; //Chart4.Series[i].MarkerColor = Color.Navy; //Chart4.Series[i].MarkerSize = 6; Chart4.Series[i].ToolTip = "#VALY{C0}"; } Chart4.Visible = true; #endregion table.Dispose(); dv.Dispose(); return("OK@#@");// +sb.ToString(); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex)); } }
private string obtenerDatos(string sTipo, string sDesde, string sHasta, string sDesdeAct, string sHastaAct, string sNivelEstructura, string sCategoria, string sCualidad, string sClientes, string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato, string sContrato, string sIDEstructura, string sSectores, string sSegmentos, string sComparacionLogica, string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN) { StringBuilder sb = new StringBuilder(); int? iDesde = null; int? iHasta = null; string sAux = "", sPrimer = ""; try { sb.Append("<table id='tblDatos' style='font-family:Arial;font-size:8pt;' cellSpacing='0' cellPadding='0' border='1'>"); sb.Append("<tbody>"); //sb.Append("<tr><td>Tabla</td><td>Fila</td><td>t499_id1</td><td>t499_id2</td><td>t499_id3</td>"); //sb.Append("<td>Línea de Negocio</td><td>Unidad de Negocio</td><td>Centro de responsabilidad</td>"); //sb.Append("<td>Nº proyecto</td><td>Denominación proyecto</td><td>Responsable del proyecto</td><td>Cualidad</td>"); //sb.Append("<td>Modalidad</td><td>Naturaleza</td><td>Oportunidad</td><td>Cliente</td>"); //sb.Append("<td>Grupo económico</td><td>Subgrupo económico</td><td>Concepto económico</td>"); //sb.Append("<td>Clase económica</td><td>Usuario</td><td>Qué</td><td>Acción</td><td>Autor acción</td>"); //sb.Append("<td>Cuando</td><td>Fecha cierre</td>"); //sb.Append("<td>Importe antiguo</td><td>Unidades antiguas</td><td>Coste contratante antiguo</td><td>Perfil antiguo</td>"); //sb.Append("<td>Importe nuevo</td><td>Unidades nuevas</td><td>Coste contratante nuevo</td><td>Perfil nuevo</td>"); //sb.Append("</tr>"); bool bTitulos = false; if (sDesde != "" && sDesde != "0") { iDesde = int.Parse(sDesde); } if (sHasta != "" && sHasta != "0") { iHasta = int.Parse(sHasta); } DataSet ds = ConsultasPGE.getDatosAuditoria((int)Session["IDFICEPI_ENTRADA"], (int)Session["UsuarioActual"], sTipo, iDesde, iHasta, DateTime.Parse(sDesdeAct), DateTime.Parse(sHastaAct), (sNivelEstructura == "0") ? null : (int?)int.Parse(sNivelEstructura), "",//ESTADO sCategoria.Trim(), sCualidad.Trim(), (sComparacionLogica == "1") ? true : false, sClientes, sResponsables, sNaturalezas, sHorizontal, sModeloContrato, sContrato, sIDEstructura, sSectores, sSegmentos, sCNP, sCSN1P, sCSN2P, sCSN3P, sCSN4P, sPSN ); foreach (DataRow oFila in ds.Tables[0].Rows) { #region Old //sb.Append("<td>" + oFila["t300_tabla"].ToString() + "</td>"); //sb.Append("<td>" + oFila["idfila"].ToString() + "</td>"); //sb.Append("<td>" + oFila["t499_id1"].ToString() + "</td>"); //sb.Append("<td>" + oFila["t499_id2"].ToString() + "</td>"); //sb.Append("<td>" + oFila["t499_id3"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Línea de Negocio"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Unidad de Negocio"].ToString() + "</td>"); //sb.Append("<td>" + oFila["C. Resp."].ToString() + "</td>"); //sb.Append("<td>" + int.Parse(oFila["Pyto"].ToString()).ToString("#,###") + "</td>"); //sb.Append("<td>" + oFila["Proyecto"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Responsable del Pyto"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Cual"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Modalidad"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Naturaleza"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Oport"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Cliente"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Grupo eco"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Subgrupo eco"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Concepto eco"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Clase eco"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Usuario"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Qué"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Accion"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Autor acción"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Cuando"].ToString() + "</td>"); //sb.Append("<td>" + oFila["Fec.cierre"].ToString() + "</td>"); //sb.Append("<td>" + double.Parse(oFila["Importe antiguo"].ToString()).ToString("#,###.##") + "</td>"); //sb.Append("<td>" + double.Parse(oFila["Unidades antiguas"].ToString()).ToString("#,###.##") + "</td>"); //sb.Append("<td>" + double.Parse(oFila["Cte.contrat.antiguo"].ToString()).ToString("#,###.##") + "</td>"); //sb.Append("<td>" + oFila["Perfil antiguo"].ToString() + "</td>"); //sb.Append("<td>" + double.Parse(oFila["Importe nuevo"].ToString()).ToString("#,###.##") + "</td>"); //sb.Append("<td>" + double.Parse(oFila["Unidades nuevas"].ToString()).ToString("#,###.##") + "</td>"); //sb.Append("<td>" + double.Parse(oFila["Cte.contrat.nuevo"].ToString()).ToString("#,###.##") + "</td>"); //sb.Append("<td>" + oFila["Perfil nuevo"].ToString() + "</td>"); //sb.Append("</tr>"); #endregion if (!bTitulos) { sb.Append("<tr align='center'>"); for (int x = 0; x < ds.Tables[0].Columns.Count; x++) { sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>" + ds.Tables[0].Columns[x].ColumnName + "</td>"); } sb.Append("</tr>"); bTitulos = true; } sb.Append("<tr>"); for (int x = 0; x < ds.Tables[0].Columns.Count; x++) { sAux = oFila[x].ToString(); if (ds.Tables[0].Columns[x].DataType.Name == "String" && sAux.Trim() != "") {//Para el contenido de campos de tipo Text hacemos transformaciones para que no falle la exportación a Excel sAux = sAux.Replace("<", " < "); sAux = sAux.Replace(">", " > "); sAux = sAux.Trim(); sPrimer = sAux.Substring(0, 1); switch (sPrimer) { case "-": case "+": case "=": sAux = "(" + sPrimer + ")" + sAux.Substring(1); break; } } sb.Append("<td>" + sAux + "</td>"); } sb.Append("</tr>"); } ds.Dispose(); sb.Append("</tbody></table>"); //return "OK@#@" + sb.ToString(); string sIdCache = "EXCEL_CACHE_" + Session["IDFICEPI_ENTRADA"].ToString() + "_" + DateTime.Now.ToString(); Session[sIdCache] = sb.ToString();; return("OK@#@cacheado@#@" + sIdCache + "@#@" + sb.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex)); } }
private string obtenerDatos(string sDesde, string sHasta, string sNivelEstructura, string sCategoria, string sCualidad, string sClientes, string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato, string sContrato, string sIDEstructura, string sSectores, string sSegmentos, string sComparacionLogica, string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P, string sPSN) { int nWidthTabla = 470; //370+100 int nColumnasACrear = 0; StringBuilder sb = new StringBuilder(); StringBuilder sbColgroupTitulo = new StringBuilder(); StringBuilder sbTitulo = new StringBuilder(); StringBuilder sbResultado = new StringBuilder(); string sTablaTitulo = ""; string sTablaContenido = ""; string sTablaResultado = ""; decimal nRatio = 0; string sColor = ""; try { sbColgroupTitulo.Append("<colgroup>"); sbColgroupTitulo.Append("<col style='width:350px;' />"); sbColgroupTitulo.Append("<col style='width:120px;' />"); DataSet ds = ConsultasPGE.ObtenerDatosSegRenta((int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), (sNivelEstructura == "0")? null:(int?)int.Parse(sNivelEstructura), sCategoria, sCualidad, sClientes, sResponsables, sNaturalezas, sHorizontal, sModeloContrato, sContrato, sIDEstructura, sSectores, sSegmentos, (sComparacionLogica == "1")? true:false, sCNP, sCSN1P, sCSN2P, sCSN3P, sCSN4P, sPSN, Session["MONEDA_VDC"].ToString() ); bool bTitulos = false; foreach (DataRow oFila in ds.Tables[0].Rows) { if (!bTitulos) { sbTitulo.Append("<tr class='TBLINI'>"); sbTitulo.Append("<td></td>"); for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (x == 4) { string[] aNomMeses = Regex.Split(ds.Tables[0].Columns[x].ColumnName, "-"); sbTitulo.Append("<td>"); sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[0].ToString()))); sbTitulo.Append(" - "); sbTitulo.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(aNomMeses[1].ToString()))); sbTitulo.Append("</td>"); } else { sbColgroupTitulo.Append("<col style='width:100px;' />"); sbTitulo.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(ds.Tables[0].Columns[x].ColumnName)) + "</td>"); nColumnasACrear++; } } sbTitulo.Append("</tr>"); bTitulos = true; } if (oFila["t454_idformula"].ToString() != "2") { switch (oFila["nivel"].ToString()) { case "1": sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='height: 20px' nivel='1'>"); sb.Append("<td style='text-align:left;'><IMG class=NSEG1 src='../../../../images/imgSeparador.gif'>"); sb.Append("<nobr class='NBR W320'>" + oFila["t454_literal"].ToString() + "</nobr></td>"); break; case "2": sb.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='height: 20px' nivel='2'>"); sb.Append("<td style='text-align:left;'><IMG class=NSEG2 src='../../../../images/imgSeparador.gif'>"); sb.Append("<nobr class='NBR W280'>- " + oFila["t454_literal"].ToString() + "</nobr></td>"); break; } for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0) { sColor = "red"; } else { sColor = "black"; } sb.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>"); } sb.Append("</tr>"); } else { //if (oFila["t454_idformula"].ToString() == "8") //{ // sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='HEIGHT: 17px' class='TBLFIN'>"); // sbResultado.Append("<td><nobr class='NBR W320 NSEG1'>Ratio</nobr></td>"); // for (int x = 4; x < ds.Tables[0].Columns.Count; x++) // { // if ((decimal)oFila.ItemArray[x] == 0) nRatio = 0; // else // { // nRatio = (decimal)ds.Tables[0].Rows[0].ItemArray[x] * 100 / (decimal)oFila.ItemArray[x]; // } // if (nRatio < 0) sColor = "red"; // else sColor = "black"; // sbResultado.Append("<td style='color:" + sColor + "'>" + nRatio.ToString("N") + " %</td>"); // } // sbResultado.Append("</tr>"); //} //else //{ sbResultado.Append("<tr id='" + oFila["t454_idformula"].ToString() + "' style='HEIGHT: 17px' class='TBLFIN'>"); sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>" + oFila["t454_literal"].ToString() + "</nobr></td>"); for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (decimal.Parse(oFila.ItemArray[x].ToString()) < 0) { sColor = "red"; } else { sColor = "black"; } sbResultado.Append("<td style='color:" + sColor + "'>" + decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N") + "</td>"); } sbResultado.Append("</tr>"); //} } } sbResultado.Append("<tr id='0' style='HEIGHT: 17px' class='TBLFIN'>"); sbResultado.Append("<td style='text-align:left;'><nobr class='NBR W320 NSEG1'>Ratio</nobr></td>"); for (int x = 4; x < ds.Tables[0].Columns.Count; x++) { if (decimal.Parse(ds.Tables[0].Rows[0].ItemArray[x].ToString()) == 0) { nRatio = 0; } else { nRatio = decimal.Parse(ds.Tables[0].Rows[12].ItemArray[x].ToString()) * 100 / decimal.Parse(ds.Tables[0].Rows[0].ItemArray[x].ToString()); } if (nRatio < 0) { sColor = "red"; } else { sColor = "black"; } sbResultado.Append("<td style='color:" + sColor + "'>" + nRatio.ToString("N") + " %</td>"); } sbResultado.Append("</tr>"); ds.Dispose(); nWidthTabla = nWidthTabla + nColumnasACrear * 100; sTablaContenido = "<table id='tblDatos' class='texto' style='WIDTH:" + nWidthTabla.ToString() + "px; table-layout:fixed; BORDER-COLLAPSE: collapse;' cellpadding='0' cellspacing='0' border='0'>"; sTablaContenido += sbColgroupTitulo.ToString(); sTablaContenido += "</colgroup>"; sTablaContenido += sb.ToString(); //sTablaContenido += "</tbody>"; sTablaContenido += "</table>"; sTablaTitulo = "<table id='tblTitulo' class='texto' style='WIDTH:" + nWidthTabla.ToString() + "px; table-layout:fixed; BORDER-COLLAPSE: collapse;' cellpadding='0' cellspacing='0' border='0'>"; sTablaTitulo += sbColgroupTitulo.ToString(); sTablaTitulo += "</colgroup>"; sTablaTitulo += sbTitulo.ToString(); sTablaTitulo += "</table>"; sTablaResultado = "<table id='tblResultado' class='texto' style='WIDTH:" + nWidthTabla.ToString() + "px; table-layout:fixed; BORDER-COLLAPSE: collapse;' cellpadding='0' cellspacing='0' border='0'>"; sTablaResultado += sbColgroupTitulo.ToString(); sTablaResultado += "</colgroup>"; sTablaResultado += sbResultado.ToString(); sTablaResultado += "</table>"; return("OK@#@" + sTablaTitulo + "@#@" + sTablaContenido + "@#@" + sTablaResultado); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos económicos.", ex)); } }