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 getProyectosNoCerrados(int iAnoMes) { try { StringBuilder sb = new StringBuilder(); bool bMesesOK = true, bProcesable = true; sb.Append("<table class='texto' id=tblDatos style='width: 970px;' border='0'>"); sb.Append("<colgroup>"); sb.Append("<col style='width:25px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:55px;' />"); sb.Append("<col style='width:220px;' />"); sb.Append("<col style='width:55px;' />"); sb.Append("<col style='width:50px;' />"); sb.Append("<col style='width:60px;' />"); sb.Append("<col style='width:60px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:60px;' />");//Contrato sb.Append("<col style='width:80px;' />"); sb.Append("<col style='width:80px;' />"); sb.Append("<col style='width:80px;' />"); sb.Append("<col style='width:25px;' />"); sb.Append("</colgroup>"); SqlDataReader dr = PROYECTOSUBNODO.ObtenerProyectosNoCerrados((int)Session["UsuarioActual"], iAnoMes); while (dr.Read()) { bMesesOK = true; bProcesable = true; sb.Append("<tr id='" + dr["t301_idproyecto"].ToString() + "' "); sb.Append("idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' "); sb.Append("monedaPSN='" + dr["t422_idmoneda_proyecto"].ToString() + "' "); sb.Append(" ondblclick='irCarrusel(this)' "); if (dr["faltan_CEC_obligatorios"].ToString() == "1" || dr["faltan_CED_obligatorios"].ToString() == "1" || (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString()) && sOrigen != "carrusel") ) { bProcesable = false; } if (bProcesable) { sb.Append(" p='1'"); } else { sb.Append(" p='0'"); } //sb.Append(" ondblclick='CierreProyecto(this)' procesado='' "); // sb.Append(" procesado='' "); //if (iAnoMes == int.Parse(dr["t325_anomes"].ToString())) sb.Append(" class='MANO' "); sb.Append(" class='MA' "); sb.Append("style='height:20px;'>"); if (dr["ajuste"].ToString() == "1") { this.hdnExcepcion.Text = "1"; } //Celda 1 sb.Append("<td style='cursor:pointer;'>"); if (bProcesable) { sb.Append("<input type='checkbox' class='check' style='margin-left:5px;'/>"); } sb.Append("</td>"); //Celda 2 if (dr["t305_cualidad"].ToString() == "C") { sb.Append("<td><img src='../../../images/imgIconoContratante.gif' width='16px' height='16px' /></td>"); } else { sb.Append("<td><img src='../../../images/imgIconoRepPrecio.gif' width='16px' height='16px' /></td>"); } //Celda 3 sb.Append("<td style='text-align:right; padding-right:5px;'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>"); //Celda 4 if (iAnoMes != int.Parse(dr["t325_anomes"].ToString())) { sb.Append("<td style='padding-left:3px;' style='color:red'>"); } else { sb.Append("<td style='padding-left:3px;'>"); } sb.Append("<nobr class='NBR W210' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' /> Información] body=[<label style='width:75px'>Proyecto:</label>" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Responsable:</label>" + dr["responsable"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\" ondblclick='irCarrusel(this.parentNode.parentNode)' >" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>"); //Celda 5 sb.Append("<td>" + Fechas.AnnomesAFechaDescCorta(int.Parse(dr["T303_ultcierreeco"].ToString())) + "</td>"); //Celda 6 if (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString())) { sb.Append("<td style='color:red'>"); bMesesOK = false; } else { sb.Append("<td>"); } sb.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(dr["t325_anomes"].ToString())) + "</td>"); //Celda 7 sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(dr["consumoIAP"].ToString()).ToString("N") + "</td>"); //Celda 8 sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(dr["consumoPGE"].ToString()).ToString("N") + "</td>"); //Celda 9 if (bMesesOK) { sb.Append("<td style=text-align:center;'></td>"); } else { if (sOrigen == "carrusel") { sb.Append("<td style=text-align:center;'><img src='../../../Images/imgCalAma.gif' /></td>"); } else { sb.Append("<td style=text-align:center;'><img src='../../../Images/imgCalRojo.gif' /></td>"); } this.hdnExcepcion.Text = "1"; } //Celda 10 if (dr["faltan_CEC_obligatorios"].ToString() == "1" || dr["faltan_CED_obligatorios"].ToString() == "1") { sb.Append("<td style=text-align:center;'><img src='../../../Images/imgIconoObl16.gif' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=text-align:center;'></td>"); } //Celda 11 if (dr["faltan_Cualificadores_obligatorios"].ToString() == "1") { sb.Append("<td style=text-align:center;'><img src='../../../Images/imgIconoObl16Azul.gif' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=text-align:center;'></td>"); } //Celda 12 if (decimal.Parse(dr["consumonivel"].ToString()) > 0) { sb.Append("<td style=text-align:center;'><img src='../../../Images/imgConsNivel.gif' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=text-align:center;'></td>"); } //Celda 13 if (dr["ajuste"].ToString() == "1") { sb.Append("<td style=text-align:center;'><img src='../../../Images/imgAjuste2.gif' title='Importe de ajuste: " + double.Parse(dr["Importe_Ajuste"].ToString()).ToString("N") + " €' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=text-align:center;'></td>"); } //Celda 14 if (dr["t306_idcontrato"].ToString() == "" || dr["t305_cualidad"].ToString() != "C") { sb.Append("<td style='text-align:right;'></td>"); } else { sb.Append("<td style='text-align:right;'>" + int.Parse(dr["t306_idcontrato"].ToString()).ToString("#,###") + "</td>"); } //Celda 15 if (dr["t305_cualidad"].ToString() != "C") { sb.Append("<td style='text-align:right;'></td>"); } else { sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TotalContrato"].ToString()).ToString("N") + "</td>"); } //Celda 16 sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TotalProducido"].ToString()).ToString("N") + "</td>"); //Celda 17 if (dr["t305_cualidad"].ToString() != "C") { sb.Append("<td style='text-align:right;'></td>"); } else { sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TPPAC"].ToString()).ToString("N") + "</td>"); } //Celda 18 if (bProcesable) { sb.Append("<td style='text-align:right;padding-right:3px;'><img src='../../../Images/imgMesAbierto.gif' /></td>"); } else { sb.Append("<td style='text-align:right;padding-right:3px;'><img src='../../../Images/imgMesNoProceso.gif' /></td>"); } sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</table>"); return("OK@#@" + sb.ToString() + "@#@" + this.hdnExcepcion.Text); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos.", ex)); } }
private string obtenerDatos(int iAnoMes) { StringBuilder sb = new StringBuilder(); try { string sAnoMesIni, sAnoMesFin; int iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), iAnoMesFin; sAnoMesIni = iAnoMesIni.ToString(); this.hdnMesAct.Value = Fechas.AnnomesAFechaDescCorta(iAnoMes); #region grafico 1 DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4)); iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1); sAnoMesFin = iAnoMesFin.ToString(); DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4)); SqlDataReader dr = CONEXIONES.SelectGraficoMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), (int)Session["UsuarioActual"], dtPrimer, dtUltimo); DataTable table = new DataTable(); table.Load(dr); DataView dv = table.DefaultView; dr.Close(); dr.Dispose(); 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 las conexiones propias Series seriePropias = new Series("Conexiones propias"); //seriePropias.Points.DataBind(dv, "anomes", "npropias", ""); seriePropias.Points.DataBind(dv, "mes", "npropias", ""); Chart1.Series.Add(seriePropias); //Creo una serie para las conexiones en mi nombre Series serieAjenas = new Series("Conexiones en su nombre"); //serieAjenas.Points.DataBind(dv2, "anomes", "najenas", ""); serieAjenas.Points.DataBind(dv, "mes", "najenas", ""); Chart1.Series.Add(serieAjenas); for (int i = 0; i < Chart1.Series.Count; i++) { Chart1.Series[i].ChartType = SeriesChartType.Bar; Chart1.Series[i]["PointWidth"] = "1.0"; Chart1.Series[i]["DrawingStyle"] = "Default"; //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{N0}"; //Asigno evento click //Chart1.Series[i].MapAreaAttributes = "onclick=\"javascript:alert('Event captured! Series Name: #SER, Point Index: #INDEX, Valor: #VALX');\""; //Chart1.Series[i].MapAreaAttributes = "onclick=\"javascript:getMes('#VALX');\" onmouseover=\"document.body.style.cursor='pointer'\" onmouseout=\"document.body.style.cursor='default'\""; Chart1.Series[i].MapAreaAttributes = "onclick=\"javascript:getMes('#VALX');\" onmouseover=\"ponerMano();\" onmouseout=\"quitarMano();\""; } Chart1.Visible = true; table.Dispose(); dv.Dispose(); #endregion return("OK@#@");// +sb.ToString(); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex)); } }
private string ObtenerTabla(string sDisponibilidad, string sMisProyectos, string sFechaDesde, string sFechaHasta, string sRol, string sSupervisor, string sCentroTrab, string sOficina, string sProfesional, string sResponsable, string sEstructuraNodos) { int nWidthTabla = 400; int nColumnasACrear = 0; int nIndiceColPrimerMes = 19; string sComun = ""; StringBuilder sbA = new StringBuilder(); //body fijo StringBuilder sbB = new StringBuilder(); //body móvil StringBuilder sbColgroupTitulo = new StringBuilder(); StringBuilder sbTitulo = new StringBuilder(); string sTablaTituloMovil = ""; string sTablaBodyMovil = ""; //string sTablaResultado = ""; try { sbA.Append("<table id='tblBodyFijo' style='width:400px; text-align:left;' cellpadding='0' cellspacing='0' border='0'>"); sbA.Append("<colgroup>"); sbA.Append("<col style='width:20px;'/>"); //Icono (EXPANDIR/CONTRAER) sbA.Append("<col style='width:20px;'/>"); //Icono tipo recurso/sexo sbA.Append("<col style='width:360px;'/>"); //Profesional/Concepto sbA.Append("</colgroup>"); //sbA.Append("<tbody>"); DataSet ds = USUARIO.ConsultaDisponibilidad((int)Session["UsuarioActual"], int.Parse(sFechaDesde), int.Parse(sFechaHasta), sDisponibilidad, (sMisProyectos == "1")? true: false, sRol, sSupervisor, sCentroTrab, sOficina, sProfesional, sResponsable, sEstructuraNodos); bool bTitulos = false; int i = 0; int iUsuario = 0; int iContUsu = 0; DataRow oFilaCal = null; if (ds.Tables[0].Rows.Count != 0) { foreach (DataRow oFila in ds.Tables[0].Rows) { if (!bTitulos) { sbTitulo.Append("<tr class='TBLINI'>"); for (int x = nIndiceColPrimerMes; x < ds.Tables[0].Columns.Count; x++) { if (x < nIndiceColPrimerMes) { continue; } sbColgroupTitulo.Append("<col style='width:60px;' />"); sbTitulo.Append("<td align='center'>" + Fechas.AnnomesAFechaDescCorta(int.Parse(ds.Tables[0].Columns[x].ColumnName)) + "</td>"); nColumnasACrear++; } sbTitulo.Append("</tr>"); bTitulos = true; } if (oFila["tipodato"].ToString() == "0") { oFilaCal = oFila; continue; } ; sComun = "<tr id='" + oFila["t314_idusuario"].ToString() + "/" + oFila["t305_idproyectosubnodo"].ToString() + "/" + oFila["tipodato"].ToString() + "' "; if (iUsuario != int.Parse(oFila["t314_idusuario"].ToString())) { iUsuario = int.Parse(oFila["t314_idusuario"].ToString()); iContUsu++; } string sClass = ""; if (iContUsu % 2 == 0) { sClass += "FA"; } else { sClass += "FB"; } sbA.Append(sComun); sbB.Append(sComun); sbA.Append(" usu='" + oFila["t314_idusuario"].ToString() + "' "); sbA.Append(" cr=\"" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "\" "); sbA.Append(" supervisor=\"" + Utilidades.escape(oFila["supervisor"].ToString()) + "\" "); sbA.Append(" centro=\"" + Utilidades.escape(oFila["centroTrab"].ToString()) + "\" "); sbA.Append(" oficina=\"" + Utilidades.escape(oFila["oficina"].ToString()) + "\" "); sbA.Append(" rol=\"" + Utilidades.escape(oFila["rol"].ToString()) + "\" "); sbA.Append(" responsable=\"" + Utilidades.escape(oFila["responsable"].ToString()) + "\" "); sbA.Append(" cliente=\"" + Utilidades.escape(oFila["t302_denominacion"].ToString()) + "\" "); sbA.Append(" tipo='" + oFila["tipo"].ToString() + "'"); sbA.Append(" sexo='" + oFila["sexo"].ToString() + "'"); sbA.Append(" tipodato='" + oFila["tipodato"].ToString() + "'"); sbA.Append(" calendario=\"" + Utilidades.escape(oFila["t066_descal"].ToString()) + "\" "); sbA.Append(" falta='" + oFila["faltaEmp"].ToString() + "'"); if (oFila["fbajaEmp"] == DBNull.Value) { sbA.Append(" fbaja='000000' "); } else { sbA.Append(" fbaja='" + oFila["fbajaEmp"].ToString() + "' "); } if (oFila["tipodato"].ToString() == "1") { sComun = " class='" + sClass + "' nivel='1' desplegado='1' style='display:table-row;"; } else { sComun = " nivel='2' desplegado='0' class='" + sClass + " htr"; } //else sComun = " nivel='2' desplegado='0' style='display:none;' class='" + sClass; if (oFila["tipodato"].ToString() == "1" && i != 0) { sComun += "border-top: solid 1px #A6C3D2;"; } sComun += "' "; sbA.Append(sComun); //sbA.Append("onclick='setFilaFija(this)'"); sbB.Append(sComun); //sbB.Append("onclick='setFilaMovil(this)'"); if (oFila["tipodato"].ToString() == "1") { //sbA.Append("><td><IMG class=NSEG1 onclick=mostrar(this) src='../../../../images/plus.gif' style='cursor:pointer;'></td>"); sbA.Append("><td></td>"); sbA.Append("<td></td><td align='left' class='tdbr' style='padding-left:3px;font-weight: bold'>"); //sTooltip = Utilidades.escape("<label style='width:70px'>" + sNodo + ":</label>" + oFila["t303_denominacion"].ToString() + "<br/><label style='width:70px'>Supervisor:</label>" + oFila["supervisor"].ToString() + "<br/><label style='width:70px'>Centro:</label>" + oFila["centroTrab"].ToString() + "<br/><label style='width:70px'>Oficina:</label>" + oFila["oficina"].ToString() + "<br/><label style='width:70px'>Rol:</label>" + oFila["rol"].ToString() + "<br/><label style='width:70px'>Calendario:</label>" + oFila["t066_descal"].ToString()); //sbA.Append("<nobr style='font-weight: bold' class='NBR W360' onmouseover=showTTE(\"" + sTooltip + "\") onMouseout=\"hideTTE()\">" + oFila["descripcion"].ToString() + "</nobr>"); sbA.Append(oFila["descripcion"].ToString() + "</td>"); } else { sbA.Append("><td></td><td></td>"); sbA.Append("<td align='left' class='tdbr' style='padding-left:10px;white-space:nowrap;'>"); if (oFila["tipodato"].ToString() == "3") { //sTooltip = Utilidades.escape("<label style='width:70px'>" + sNodo + ":</label>" + oFila["t303_denominacion"].ToString() + "<br/><label style='width:70px'>Responsable:</label>" + oFila["responsable"].ToString() + "<br/><label style='width:70px'>Cliente:</label>" + oFila["t302_denominacion"].ToString()); //sbA.Append("<nobr class='NBR W360' onmouseover=showTTE(\"" + sTooltip + "\") onMouseout=\"hideTTE()\">" + oFila["descripcion"].ToString() + "</nobr>"); sbA.Append(oFila["descripcion"].ToString() + "</td>"); } else { //sbA.Append("<nobr class='NBR W360'>" + oFila["descripcion"].ToString() + "</nobr></td>"); sbA.Append(oFila["descripcion"].ToString() + "</td>"); } } sbB.Append(">"); for (int x = nIndiceColPrimerMes; x < ds.Tables[0].Columns.Count; x++) { if (x < nIndiceColPrimerMes) { continue; } sbB.Append("<td align='right'"); if (x == nIndiceColPrimerMes) { sbB.Append(" class='tdbrl'"); } if (oFila["tipodato"].ToString() == "1") { if (decimal.Parse(oFilaCal.ItemArray[x].ToString()) == 0) { sbB.Append(" style='background-color: #F58D8D;font-weight: bold;'"); } else { sbB.Append(" style='font-weight: bold'"); } } sbB.Append(">"); sbB.Append(decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N")); sbB.Append("</td>"); } sbA.Append("</tr>"); sbB.Append("</tr>"); i++; } } sbA.Append("</table>"); ds.Dispose(); nWidthTabla = nColumnasACrear * 60; sTablaTituloMovil = "<table id='tblTituloMovil' class='texto' style='width:" + nWidthTabla.ToString() + "px;' cellpadding='0'>"; sTablaTituloMovil += "<colgroup>"; sTablaTituloMovil += sbColgroupTitulo.ToString(); sTablaTituloMovil += "</colgroup>"; sTablaTituloMovil += sbTitulo.ToString(); sTablaTituloMovil += "</table>"; sTablaBodyMovil = "<table id='tblBodyMovil' class='texto' style='width:" + nWidthTabla.ToString() + "px; ' mantenimiento='1' cellpadding='0' cellspacing='0' border='0'>"; sTablaBodyMovil += "<colgroup>"; sTablaBodyMovil += sbColgroupTitulo.ToString(); sTablaBodyMovil += "</colgroup>"; sTablaBodyMovil += sbB.ToString(); sTablaBodyMovil += "</table>"; return("OK@#@" + sTablaTituloMovil + "@#@" + sTablaBodyMovil + "@#@" + sbA.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex)); } }
private string ObtenerTabla(int nPSN) { int nWidthTabla = 400; int nColumnasACrear = 0; int nIndiceColPrimerMes = 13; string sComun = ""; StringBuilder sbA = new StringBuilder(); //body fijo StringBuilder sbB = new StringBuilder(); //body móvil StringBuilder sbColgroupTitulo = new StringBuilder(); StringBuilder sbTitulo = new StringBuilder(); string sTablaTituloMovil = ""; string sTablaBodyMovil = ""; DataRow rowTipoDato3; //string sTablaResultado = ""; try { sbA.Append("<table id='tblBodyFijo' style='width:400px; text-align:left;'>"); sbA.Append("<colgroup>"); sbA.Append("<col style='width:20px;'/>"); //Icono sbA.Append("<col style='width:280px;'/>"); //Profesional sbA.Append("<col style='width:100px;'/>"); //Concepto sbA.Append("</colgroup>"); //sbA.Append("<tbody>"); DataSet ds = PROYECTOSUBNODO.Disponibilidad(nPSN); bool bTitulos = false; int i = 0; if (ds.Tables[0].Rows.Count != 0) { rowTipoDato3 = ds.Tables[0].Rows[0]; foreach (DataRow oFila in ds.Tables[0].Rows) { if (oFila["tipodato"].ToString() == "3") { //rowTipoDato3 = oFila; i++; continue; } if (!bTitulos) { sbTitulo.Append("<tr class='TBLINI'>"); for (int x = nIndiceColPrimerMes; x < ds.Tables[0].Columns.Count; x++) { if (x < nIndiceColPrimerMes) { continue; } sbColgroupTitulo.Append("<col style='width:60px;' />"); sbTitulo.Append("<td align='center'>" + Fechas.AnnomesAFechaDescCorta(int.Parse(ds.Tables[0].Columns[x].ColumnName)) + "</td>"); nColumnasACrear++; } sbTitulo.Append("</tr>"); bTitulos = true; } sComun = "<tr id='" + oFila["t314_idusuario"].ToString() + oFila["tipodato"].ToString() + "' "; sComun += " usu=" + oFila["t314_idusuario"].ToString(); sComun += " tipo='" + oFila["tipodato"].ToString() + "'"; sComun += " caso='" + oFila["caso"].ToString() + "'"; sComun += " sexo='" + oFila["sexo"].ToString() + "'"; if (oFila["t313_idempresa_nodomes"] == DBNull.Value) { sComun += " empnodo=''"; } else { sComun += " empnodo='" + oFila["t313_idempresa_nodomes"].ToString() + "'"; } if (oFila["t303_idnodo_usuariomes"] == DBNull.Value) { sComun += " nodousumes=''"; } else { sComun += " nodousumes='" + oFila["t303_idnodo_usuariomes"].ToString() + "'"; } sComun += " coste=" + oFila["coste"].ToString(); sComun += " costerep=" + oFila["costerep"].ToString(); sComun += " falta=" + oFila["falta"].ToString(); if (oFila["fbaja"] == DBNull.Value) { sComun += " fbaja='000000' "; } else { sComun += " fbaja='" + oFila["fbaja"].ToString() + "' "; } sComun += " style='height: 20px;"; if (oFila["tipodato"].ToString() == "1") { sComun += "cursor:pointer;"; } sComun += "' "; sbA.Append(sComun); if (oFila["tipodato"].ToString() == "1") { sbA.Append("onclick='setFilaFija(this)'"); } sbB.Append(sComun); if (oFila["tipodato"].ToString() == "1") { sbB.Append("onclick='setFilaMovil(this)'"); } if (oFila["tipodato"].ToString() == "1") { sbA.Append("><td></td>"); sbA.Append("<td align='left' class='tdbr' style='padding-left:3px;'>"); sbA.Append("<nobr class='NBR W280' onmouseover='TTip(event)'>" + oFila["Profesional"].ToString() + "</nobr>"); } else { sbA.Append("><td></td>"); sbA.Append("<td align='left' class='tdbr' style='padding-left:3px;'>"); } sbA.Append("</td><td class='tdbl'><nobr class='NBR W90'>" + oFila["descripcion"].ToString() + "</nobr></td>"); sbB.Append(">"); for (int x = nIndiceColPrimerMes; x < ds.Tables[0].Columns.Count; x++) { if (x < nIndiceColPrimerMes) { continue; } sbB.Append("<td align='right'"); if (x == nIndiceColPrimerMes) { sbB.Append(" class='tdbrl'"); } if (oFila["tipodato"].ToString() == "4") { sbB.Append(" jl='" + decimal.Parse(ds.Tables[0].Rows[i - 1].ItemArray[x].ToString()).ToString("#,##0") + "' "); } sbB.Append(">"); sbB.Append(decimal.Parse(oFila.ItemArray[x].ToString()).ToString("N")); sbB.Append("</td>"); } sbA.Append("</tr>"); sbB.Append("</tr>"); i++; } } sbA.Append("</table>"); ds.Dispose(); nWidthTabla = nColumnasACrear * 60; sTablaTituloMovil = "<table id='tblTituloMovil' class='texto' style='width:" + nWidthTabla.ToString() + "px;' cellpadding='0'>"; sTablaTituloMovil += "<colgroup>"; sTablaTituloMovil += sbColgroupTitulo.ToString(); sTablaTituloMovil += "</colgroup>"; sTablaTituloMovil += sbTitulo.ToString(); sTablaTituloMovil += "</table>"; sTablaBodyMovil = "<table id='tblBodyMovil' class='texto' style='width:" + nWidthTabla.ToString() + "px; ' mantenimiento='1' cellpadding='0'>"; sTablaBodyMovil += "<colgroup>"; sTablaBodyMovil += sbColgroupTitulo.ToString(); sTablaBodyMovil += "</colgroup>"; sTablaBodyMovil += sbB.ToString(); sTablaBodyMovil += "</table>"; return("OK@#@" + sTablaTituloMovil + "@#@" + sTablaBodyMovil + "@#@" + sbA.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex)); } }
public void CorreoDestinatariosUSA(int idcomunicacion, byte byteNueva) { string sVigencia = ""; // string sEstado = ""; string sTexto = ""; iFecha = 0; ArrayList aListCorreo = new ArrayList(); StringBuilder sbuilder = new StringBuilder(); // string sMensaje = ""; string sAsunto = ""; string sTO; ESPACIOCOMUNICACION oESPACIOCOMUNICACION = ESPACIOCOMUNICACION.Select(null, idcomunicacion); if (byteNueva == 1) { sAsunto = "Creación de un nuevo aviso para el proyecto '" + oESPACIOCOMUNICACION.t301_denominacion + "'."; } else { sAsunto = "Modificación de un aviso del proyecto '" + oESPACIOCOMUNICACION.t301_denominacion + "'."; } sbuilder.Append(@"<BR>SUPER le informa de la "); if (byteNueva == 1) { sbuilder.Append(@"creación de la siguiente comunicación por parte del usuario: " + Session["DES_EMPLEADO_ENTRADA"] + " "); } else { sbuilder.Append(@"modificación de la siguiente comunicación por parte del usuario: " + Session["DES_EMPLEADO_ENTRADA"] + " "); } sbuilder.Append(@"<BR><BR>Los datos de la comunicación son:<BR><BR><BR>"); sbuilder.Append("<label style='width:120px'>Fecha de aviso: </label>" + oESPACIOCOMUNICACION.t639_fechacom + "<br>"); sbuilder.Append("<label style='width:120px'>Autor: </label>" + oESPACIOCOMUNICACION.autor + "<br>"); string sPartidasConta = ""; if ((bool)oESPACIOCOMUNICACION.t639_consumo) { sPartidasConta += "Consumo,"; } if ((bool)oESPACIOCOMUNICACION.t639_produccion) { sPartidasConta += "Producción,"; } if ((bool)oESPACIOCOMUNICACION.t639_facturacion) { sPartidasConta += "Facturación,"; } if ((bool)oESPACIOCOMUNICACION.t639_facturacion) { sPartidasConta += "Otros,"; } if (sPartidasConta.Length > 0) { sPartidasConta = sPartidasConta.Substring(0, sPartidasConta.Length - 1); } sbuilder.Append("<label style='width:120px'>Partidas contables: </label>" + sPartidasConta + "<br>"); sTexto = oESPACIOCOMUNICACION.t639_descripcion; sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br>").Replace((char)34, (char)39); sbuilder.Append("<label style='width:120px'>Descripción: </label>" + sTexto + "<br>"); if ((bool)oESPACIOCOMUNICACION.t639_vigenciaproyecto) { sVigencia = "Todo el proyecto"; } else { sVigencia = Fechas.AnnomesAFechaDescCorta((int)oESPACIOCOMUNICACION.t639_vigenciadesde) + " - " + Fechas.AnnomesAFechaDescCorta((int)oESPACIOCOMUNICACION.t639_vigenciahasta); } sbuilder.Append("<label style='width:120px'>Vigencia: </label>" + sVigencia + "<br>"); sTexto = oESPACIOCOMUNICACION.t639_observaciones; sTexto = sTexto.Replace(((char)13).ToString() + ((char)10).ToString(), "<br>").Replace((char)34, (char)39); sbuilder.Append("<label style='width:120px'>Observaciones: </label>" + sTexto + "<br>"); iFecha = DateTime.Now.Year * 100 + DateTime.Now.Month; //if ((bool)oESPACIOCOMUNICACION.t639_vigenciaproyecto) sEstado = "Abierto"; //else if (iFecha >= int.Parse(oESPACIOCOMUNICACION.t639_vigenciadesde.ToString()) && iFecha <= int.Parse(oESPACIOCOMUNICACION.t639_vigenciahasta.ToString())) // sEstado = "Abierto"; //else sEstado = "Cerrado"; sbuilder.Append("<label style='width:120px'>Estado: </label>" + sTexto + "<br>"); aCorreoUSA = Regex.Split(sCorreoUSA, ","); for (int j = 0; j < aCorreoUSA.Length; j++) { if (aCorreoUSA[j] == "") { continue; } string[] aID = Regex.Split(aCorreoUSA[j], "/"); sTO = aID[0]; sTexto = sbuilder.ToString(); string[] aMail = { sAsunto, sTexto, sTO }; if (sTO != "") { aListCorreo.Add(aMail); } } Correo.EnviarCorreos(aListCorreo); }
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)); } }
private string getProyectosCierre(bool bADM, string nPSN, string sAnomes, string sResponsables, string sSubnodos, string sPSN, string sOrigen, string sComparacionLogica, string bListaProy) { try { StringBuilder sb = new StringBuilder(); Hashtable htAjustes = new Hashtable(); SqlDataReader dr = null; bool bMesesOK = true, bProcesable = true; DateTime? oDT1 = null, oDT2 = null, oDT3 = null, oDT4 = null; int nTiempoBD = 0; int nTiempoHTML = 0; int nTiempoDialogos = 0; sb.Append("<TABLE class='texto' id='tblDatos' style='width: 974px;'>"); sb.Append("<colgroup>"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:60px;' />"); sb.Append("<col style='width:140px;' />"); sb.Append("<col style='width:35px;' />"); sb.Append("<col style='width:55px;' />"); sb.Append("<col style='width:54px;' />"); sb.Append("<col style='width:60px;' />"); sb.Append("<col style='width:60px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:20px;' />"); sb.Append("<col style='width:55px;' />"); sb.Append("<col style='width:80px;' />"); sb.Append("<col style='width:80px;' />"); sb.Append("<col style='width:80px;' />"); sb.Append("<col style='width:25px;' />"); sb.Append("</colgroup>"); sb.Append("<tbody>"); bool bCarrusel = false; if (sOrigen == "carrusel") { bCarrusel = (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()) ? true : false; } oDT1 = DateTime.Now; if (bListaProy == "S") { dr = PROYECTOSUBNODO.ObtenerProyectosACerrar(nPSN); } else { if (!bADM) { if (sOrigen == "menucierresat" || sOrigen == "menucierresatsaa") { dr = PROYECTOSUBNODO.ObtenerProyectosACerrarUSA((int)Session["UsuarioActual"], (sOrigen == "menucierresatsaa") ? true : false); } else { dr = PROYECTOSUBNODO.ObtenerProyectosACerrar((int)Session["UsuarioActual"], (nPSN == "") ? null : (int?)int.Parse(nPSN), bCarrusel); } } else { dr = PROYECTOSUBNODO.ObtenerProyectosACerrarADM(int.Parse(sAnomes), sResponsables, sSubnodos, sPSN, (sComparacionLogica == "1") ? true : false); } } oDT2 = DateTime.Now; string s_idsegmesproy = ""; while (dr.Read()) { bMesesOK = true; bProcesable = true; aProyectos.Add(dr["t301_idproyecto"].ToString()); sb.Append("<tr id='" + dr["t301_idproyecto"].ToString() + "' "); sb.Append("idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' "); sb.Append("cualidad='" + dr["t305_cualidad"].ToString() + "' "); sb.Append("anomes='" + dr["t325_anomes"].ToString() + "' "); //sb.Append("ajuste='" + dr["ajuste"].ToString() + "' "); //sb.Append("importe_ajuste='" + dr["Importe_Ajuste"].ToString() + "' "); sb.Append("nSegMes='" + dr["t325_idsegmesproy"].ToString() + "' "); //if ( (byte)dr["monedas_proyectos_contrato"] > 1 // || (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString())) //{//Por ahora no permitimoes cerrar este caso ni a los administradores. // sb.Append("a_procesar='0' "); // bProcesable = false; //} //else if (bADM) { sb.Append("a_procesar='1' "); s_idsegmesproy += dr["t325_idsegmesproy"].ToString() + ","; } else if (dr["faltan_CEC_obligatorios"].ToString() == "1" || dr["faltan_CED_obligatorios"].ToString() == "1" || dr["faltan_Cualificadores_obligatorios"].ToString() == "1" || (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString()) && sOrigen != "carrusel") //|| ( (byte)dr["monedas_proyectos_contrato"] > 1 ) //|| (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString()) ) { sb.Append("a_procesar='0' "); bProcesable = false; } else { sb.Append("a_procesar='1' "); s_idsegmesproy += dr["t325_idsegmesproy"].ToString() + ","; } sb.Append("style='height:20px' procesado=''>"); if (dr["ajuste"].ToString() == "1") { this.hdnExcepcion.Text = "1"; } if (dr["t305_cualidad"].ToString() == "C") { sb.Append("<td style=\"border-right:none\"><img src='../../../images/imgIconoContratante.gif' width='16px' height='16px' /></td>"); } else { sb.Append("<td style=\"border-right:none\"><img src='../../../images/imgIconoRepPrecio.gif' width='16px' height='16px' /></td>"); } sb.Append("<td style=\"border-right:none; padding-right:5px;text-align:right;\">" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>"); sb.Append("<td style='padding-left:3px;'><nobr class='NBR W135' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' /> Información] body=[<label style='width:75px'>Proyecto:</label>" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Categoría:</label>" + ((dr["t301_categoria"].ToString() == "P") ? "Producto" : "Servicio") + "<br><label style='width:75px'>Responsable:</label>" + dr["responsable"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Moneda:</label>" + dr["t422_denominacion_proyecto"].ToString() + "] hideselects=[off]\">" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>"); sb.Append("<td style='padding-left:2px;'>" + dr["t422_idmoneda_proyecto"].ToString() + "</td>"); sb.Append("<td style='padding-left:1px;'>" + Fechas.AnnomesAFechaDescCorta(int.Parse(dr["T303_ultcierreeco"].ToString())) + "</td>"); if (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString())) { sb.Append("<td style='color:red;padding-left:1px;'>"); bMesesOK = false; } else { sb.Append("<td style='padding-left:1px;'>"); } sb.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(dr["t325_anomes"].ToString())) + "</td>"); sb.Append("<td style='text-align:right;padding-right:2px;'>" + decimal.Parse(dr["consumoIAP"].ToString()).ToString("N") + "</td>"); sb.Append("<td style='text-align:right;padding-right:2px;'>" + decimal.Parse(dr["consumoPGE"].ToString()).ToString("N") + "</td>"); if (bMesesOK) { sb.Append("<td style=\"border-right:none;text-align:center;padding-right:2px;\"></td>"); } else { if (sOrigen == "carrusel") { sb.Append("<td style=\"border-right:none;text-align:center;padding-right:2px;\"><img src='../../../Images/imgCalAma.gif' /></td>"); } else { sb.Append("<td style=\"border-right:none;text-align:center;padding-right:2px;\"><img src='../../../Images/imgCalRojo.gif' /></td>"); } this.hdnExcepcion.Text = "1"; } if (dr["faltan_CEC_obligatorios"].ToString() == "1" || dr["faltan_CED_obligatorios"].ToString() == "1") { sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgIconoObl16.gif' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=\"border-right:none;text-align:center;\"></td>"); } if (dr["faltan_Cualificadores_obligatorios"].ToString() == "1") { sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgIconoObl16Azul.gif' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=\"border-right:none;text-align:center;\"></td>"); } if (decimal.Parse(dr["consumonivel"].ToString()) > 0) { sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgConsNivel.gif' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=\"border-right:none;text-align:center;\"></td>"); } if ((byte)dr["monedas_proyectos_contrato"] > 1 || (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString()) ) { string sTitle = ""; if ((byte)dr["monedas_proyectos_contrato"] > 1) { sTitle += "Los proyectos asociados al contrato tienen monedas diferentes.<br>"; } if (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString()) { sTitle += "Moneda del contrato: " + dr["t422_denominacion_contrato"].ToString() + "\nMoneda del proyecto: " + dr["t422_denominacion_proyecto"].ToString() + "\n"; } if (dr["ajuste"].ToString() == "1") { if ((string)htAjustes[dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString()] == null) { htAjustes.Add(dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString(), dr["t301_idproyecto"].ToString() ); } sTitle += "Importe de ajuste: " + decimal.Parse(dr["Importe_Ajuste"].ToString()).ToString("N") + " " + dr["t422_denominacionimportes_proyecto"].ToString(); this.hdnExcepcion.Text = "1"; } sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgExclamacion.png' title='" + sTitle + "' /></td>"); } else if (dr["ajuste"].ToString() == "1" && bProcesable) //si hay ajuste y no hay excepción que impida cerrar { if ((string)htAjustes[dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString()] == null) { htAjustes.Add(dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString(), dr["t301_idproyecto"].ToString() ); sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgAjuste2.gif' title='Importe de ajuste: " + decimal.Parse(dr["Importe_Ajuste"].ToString()).ToString("N") + "' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=\"border-right:none;text-align:center;\"></td>"); } } else { sb.Append("<td style=\"border-right:none;text-align:center;\"></td>"); } if (decimal.Parse(dr["t325_consperiod"].ToString()) != 0) { sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgConsumoPeriod.gif' title='Consumos periodificados: " + decimal.Parse(dr["t325_consperiod"].ToString()).ToString("N") + "' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td style=\"border-right:none;text-align:center;\"></td>"); } if (decimal.Parse(dr["t325_prodperiod"].ToString()) != 0) { sb.Append("<td style='text-align:center;'><img src='../../../Images/imgProduccionPeriod.gif' title='Producción periodificada: " + decimal.Parse(dr["t325_prodperiod"].ToString()).ToString("N") + "' /></td>"); this.hdnExcepcion.Text = "1"; } else { sb.Append("<td></td>"); } if (dr["t306_idcontrato"].ToString() == "" || dr["t305_cualidad"].ToString() != "C") { sb.Append("<td style='text-align:right;'></td>"); } else { sb.Append("<td style='text-align:right;'>" + int.Parse(dr["t306_idcontrato"].ToString()).ToString("#,###") + "</td>"); } if (dr["t305_cualidad"].ToString() != "C") { sb.Append("<td style='text-align:right;'></td>"); } else { sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TotalContrato"].ToString()).ToString("N") + "</td>"); } sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TotalProducido"].ToString()).ToString("N") + "</td>"); if (dr["t305_cualidad"].ToString() != "C") { sb.Append("<td style='text-align:right;'></td>"); } else { sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TPPAC"].ToString()).ToString("N") + "</td>"); } if (bProcesable) { sb.Append("<td style=\"border-right:none\"><img src='../../../Images/imgMesAbierto.gif' /></td>"); } else { sb.Append("<td style=\"border-right:none;padding-left:3px;text-align:center;\"><img src='../../../Images/imgMesNoProceso.gif' /></td>"); } sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); oDT3 = DateTime.Now; nTiempoBD = Fechas.DateDiff("mm", (DateTime)oDT1, (DateTime)oDT2); nTiempoHTML = Fechas.DateDiff("mm", (DateTime)oDT2, (DateTime)oDT3); //Obtengo las alertas producidas por los proyectos a cerrar. //s_idsegmesproy int nAlertas = 0; if (s_idsegmesproy != "") { DataSet ds = SUPER.Capa_Datos.SEGMESPROYECTOSUBNODO.ObtenerDialogosDeAlertasDS(null, s_idsegmesproy, true); Session["DS_ALERTASCIERRE"] = ds; nAlertas = ds.Tables[0].Rows.Count; } oDT4 = DateTime.Now; nTiempoDialogos = Fechas.DateDiff("mm", (DateTime)oDT3, (DateTime)oDT4); return("OK@#@" + sb.ToString() + "@#@" + this.hdnExcepcion.Text + "@#@" + nAlertas.ToString() + "@#@" + nTiempoBD.ToString() + "@#@" + nTiempoHTML.ToString() + "@#@" + nTiempoDialogos.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos.", ex)); } }
private string obtener(string nAccederBDatos, string sEvolucionMensual, string sDesde, string sHasta, string sDimensiones, string sMagnitudes, string sNodo, string sProyecto, string sCliente, string sResponsable, string sCualidad, string sNaturaleza, string sTablasAuxiliares) { try { bool bNodo = false; bool bProyecto = false; bool bCliente = false; bool bResponsable = false; bool bCualidad = false; bool bNaturaleza = false; string sFormulas_aux = "", sOrdenDimensiones = ""; int nTiempoBD = 0; int nTiempoHTML = 0; #region Actualización de tablas auxiliares string[] aDimensiones = Regex.Split(sDimensiones, "{sep}"); foreach (string oDim in aDimensiones) { switch (oDim) { case "nodo": bNodo = true; sOrdenDimensiones += "2,"; break; case "proyecto": bProyecto = true; sOrdenDimensiones += "4,"; break; case "cliente": bCliente = true; sOrdenDimensiones += "6,"; break; case "responsable": bResponsable = true; sOrdenDimensiones += "8,"; break; case "cualidad": bCualidad = true; sOrdenDimensiones += "9,"; break; case "naturaleza": bNaturaleza = true; sOrdenDimensiones += "11,"; break; } } sOrdenDimensiones = sOrdenDimensiones.Substring(0, sOrdenDimensiones.Length - 1); string[] aMagnitud = Regex.Split(sMagnitudes, "{sep}"); foreach (string oDa in aMagnitud) { switch (oDa) { case "Ingresos_Netos": sFormulas_aux += "1,"; break; case "Margen": sFormulas_aux += "2,"; break; case "Obra_en_curso": sFormulas_aux += "3,"; break; case "Saldo_de_Clientes": sFormulas_aux += "4,"; break; case "Total_Cobros": sFormulas_aux += "5,"; break; case "Total_Gastos": sFormulas_aux += "6,"; break; case "Total_Ingresos": sFormulas_aux += "7,"; break; case "Volumen_de_Negocio": sFormulas_aux += "8,"; break; case "Otros_consumos": sFormulas_aux += "9,"; break; } } #endregion StringBuilder sb = new StringBuilder(); StringBuilder sbAux = new StringBuilder(); DataSet ds = null; DateTime? oDT1 = null, oDT2 = null, oDT3 = null; int nMeses = 0; bool sw_class = false; #region Creación del DataSet if (int.Parse(nAccederBDatos) == 1 || Session["DS_CUADROMANDO"] == null) { if (sEvolucionMensual == "1") { oDT1 = DateTime.Now; nMeses = Fechas.DateDiff("month", Fechas.AnnomesAFecha(int.Parse(sDesde)), Fechas.AnnomesAFecha(int.Parse(sHasta))) + 1; ds = SUPER.DAL.PROYECTOSUBNODO.PruebaDatosTablaDinamicaV5_EM(null, (int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), Session["MONEDA_VDC"].ToString(), bNodo, bProyecto, bCliente, bResponsable, bCualidad, bNaturaleza, sNodo, sProyecto, sCliente, sResponsable, sCualidad, sNaturaleza, sFormulas_aux, (sTablasAuxiliares == "1") ? true : false, sOrdenDimensiones); oDT2 = DateTime.Now; } else { oDT1 = DateTime.Now; ds = SUPER.DAL.PROYECTOSUBNODO.PruebaDatosTablaDinamicaV5(null, (int)Session["UsuarioActual"], int.Parse(sDesde), int.Parse(sHasta), Session["MONEDA_VDC"].ToString(), bNodo, bProyecto, bCliente, bResponsable, bCualidad, bNaturaleza, sNodo, sProyecto, sCliente, sResponsable, sCualidad, sNaturaleza, (sTablasAuxiliares == "1") ? true : false, sOrdenDimensiones); oDT2 = DateTime.Now; } Session["DS_CUADROMANDO"] = ds; } else { oDT1 = DateTime.Now; ds = (DataSet)Session["DS_CUADROMANDO"]; oDT2 = DateTime.Now; } #endregion if (sEvolucionMensual == "1") { #region Con Evolución Mensual sb.Append("<table id='tblDatos' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>"); sb.Append("<tr id='rowTituloDatos'>"); foreach (string oCol in aDimensiones) { switch (oCol) { //La imagen "imgMoveWhite.png" tiene que ser el primer objeto de la celda para que se puedan //arrastrar las columnas. case "nodo": sb.Append("<th dimension='nodo' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('nodo') /></th>"); break; case "proyecto": sb.Append("<th dimension='proyecto' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Proyecto</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('proyecto') /></th>"); break; case "cliente": sb.Append("<th dimension='cliente' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cliente</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cliente') /></th>"); break; case "responsable": sb.Append("<th dimension='responsable' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Responsable</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('responsable') /></th>"); break; case "cualidad": sb.Append("<th dimension='cualidad' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cualidad</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cualidad') /></th>"); break; case "naturaleza": sb.Append("<th dimension='naturaleza' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Naturaleza</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('naturaleza') /></th>"); break; } } sb.Append("<th class='Dimension'>Indicadores</th>"); for (int i = 14; i < ds.Tables[0].Columns.Count; i++) { if (i == 14) { string[] aRango = Regex.Split(ds.Tables[0].Columns[i].ColumnName, "-"); sb.Append("<th>" + Fechas.AnnomesAFechaDescCorta(int.Parse(aRango[0])) + " - " + Fechas.AnnomesAFechaDescCorta(int.Parse(aRango[1])) + "</th>"); } else { sb.Append("<th>" + Fechas.AnnomesAFechaDescCorta(int.Parse(ds.Tables[0].Columns[i].ColumnName)) + "</th>"); } } sb.Append("</tr>"); sb.Append("</table>"); #endregion sb.Append("{sep}"); #region HTML Filas sb.Append("<table id='tblDatosBody' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>"); foreach (DataRow oFila in ds.Tables[0].Rows) //Datos { sb.Append("<tr "); if (bNodo) { sb.Append("idnodo='" + oFila["t303_idnodo"].ToString() + "' "); sb.Append("desnodo=\"" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "\" "); } if (bProyecto) { sb.Append("idproyecto='" + oFila["t301_idproyecto"].ToString() + "' "); sb.Append("desproyecto=\"" + Utilidades.escape(oFila["t301_denominacion"].ToString()) + "\" "); } if (bCliente) { sb.Append("idcliente='" + oFila["t302_idcliente"].ToString() + "' "); sb.Append("descliente=\"" + Utilidades.escape(oFila["t302_denominacion"].ToString()) + "\" "); } if (bResponsable) { sb.Append("idresponsable='" + oFila["t314_idusuario_responsable"].ToString() + "' "); sb.Append("desresponsable=\"" + Utilidades.escape(oFila["ResponsableProyecto"].ToString()) + "\" "); } if (bCualidad) { sb.Append("cualidad='" + oFila["t305_cualidad"].ToString() + "' "); switch (oFila["t305_cualidad"].ToString()) { case "C": sb.Append("descualidad=\"Contratante\" "); break; case "P": sb.Append("descualidad=\"Replicada con gestión\" "); break; case "J": sb.Append("descualidad=\"Replicada sin gestión\" "); break; } } if (bNaturaleza) { sb.Append("idnaturaleza='" + oFila["t323_idnaturaleza"].ToString() + "' "); sb.Append("desnaturaleza=\"" + Utilidades.escape(oFila["t323_denominacion"].ToString()) + "\" "); } sb.Append(">"); foreach (string oDato in aDimensiones) { switch (oDato) { case "nodo": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t303_denominacion"].ToString() + "</td>"); break; case "proyecto": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + int.Parse(oFila["t301_idproyecto"].ToString()).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString() + "</td>"); break; case "cliente": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t302_denominacion"].ToString() + "</td>"); break; case "responsable": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["ResponsableProyecto"].ToString() + "</td>"); break; case "cualidad": switch (oFila["t305_cualidad"].ToString()) { case "C": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Contratante</td>"); break; case "P": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada con gestión</td>"); break; case "J": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada sin gestión</td>"); break; } break; case "naturaleza": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t323_denominacion"].ToString() + "</td>"); break; } } for (int i = 12; i < ds.Tables[0].Columns.Count; i++) { if (i == 13) { continue; //numrow } if (i == 12) { sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila[ds.Tables[0].Columns[i].ColumnName].ToString() + "</td>"); } else { sb.Append("<td magnitud='" + oFila[ds.Tables[0].Columns[12].ColumnName].ToString() + "' formula='" + oFila[ds.Tables[0].Columns[11].ColumnName].ToString() + "' mes='" + ds.Tables[0].Columns[i].ColumnName + "' ondblclick='gp(this);' class='MA " + ((i == 14) ? "MagPeriodo" : "Mag") + "'>" + ((decimal.Parse(oFila[ds.Tables[0].Columns[i].ColumnName].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila[ds.Tables[0].Columns[i].ColumnName].ToString()).ToString("N")) + "</td>"); } } sb.Append("</tr>"); } sb.Append("</table>"); #endregion } else { #region Sin Evolución Mensual sb.Append("<table id='tblDatos' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>"); sb.Append("<tr id='rowTituloDatos'>"); foreach (string oCol in aDimensiones) { switch (oCol) { //La imagen "imgMoveWhite.png" tiene que ser el primer objeto de la celda //para que se puedan arrastrar las columnas. case "nodo": sb.Append("<th dimension='nodo' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('nodo') /></th>"); break; case "proyecto": sb.Append("<th dimension='proyecto' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Proyecto</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('proyecto') /></th>"); break; case "cliente": sb.Append("<th dimension='cliente' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cliente</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cliente') /></th>"); break; case "responsable": sb.Append("<th dimension='responsable' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Responsable</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('responsable') /></th>"); break; case "cualidad": sb.Append("<th dimension='cualidad' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Cualidad</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('cualidad') /></th>"); break; case "naturaleza": sb.Append("<th dimension='naturaleza' class='Dimension'><img src='../../../Images/imgMoveWhite.png' class='move' /><label style='vertical-align:middle;'>Naturaleza</label><img src='../../../Images/imgSelector.png' class='selector' onclick=setFiltros('naturaleza') /></th>"); break; } } foreach (string oCol in aMagnitud) { switch (oCol) { case "Ingresos_Netos": sb.Append("<th class='MagTit' title='Ingresos netos'>Ing. netos</th>"); break; case "Margen": sb.Append("<th class='MagTit' title='Margen de contribución'>Margen</th>"); break; case "Obra_en_curso": sb.Append("<th class='MagTit' title='Obra en curso'>Obra en curso</th>"); break; case "Saldo_de_Clientes": sb.Append("<th class='MagTit' title='Saldo de clientes'>Saldo cli.</th>"); break; case "Total_Cobros": sb.Append("<th class='MagTit' title='Total cobros'>T. cobros</th>"); break; case "Total_Gastos": sb.Append("<th class='MagTit' title='Total gastos'>T. gastos</th>"); break; case "Total_Ingresos": sb.Append("<th class='MagTit' title='Total ingresos'>T. ingresos</th>"); break; case "Volumen_de_Negocio": sb.Append("<th class='MagTit' title='Volumen de negocio'>Vol. negocio</th>"); break; case "Otros_consumos": sb.Append("<th class='MagTit' title='Otros consumos'>Otros consumos</th>"); break; } } sb.Append("</tr>"); sb.Append("</table>"); #endregion sb.Append("{sep}"); #region HTML Filas sb.Append("<table id='tblDatosBody' style='width:auto;' cellpadding='0' cellspacing='0' border='0'>"); foreach (DataRow oFila in ds.Tables[0].Rows) //Datos { sb.Append("<tr "); if (bNodo) { sb.Append("idnodo='" + oFila["t303_idnodo"].ToString() + "' "); //sb.Append("desnodo=\"" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "\" "); } if (bProyecto) { sb.Append("idproyecto='" + oFila["t301_idproyecto"].ToString() + "' "); //sb.Append("desproyecto=\"" + Utilidades.escape(oFila["t301_denominacion"].ToString()) + "\" "); } if (bCliente) { sb.Append("idcliente='" + oFila["t302_idcliente"].ToString() + "' "); //sb.Append("descliente=\"" + Utilidades.escape(oFila["t302_denominacion"].ToString()) + "\" "); } if (bResponsable) { sb.Append("idresponsable='" + oFila["t314_idusuario_responsable"].ToString() + "' "); //sb.Append("desresponsable=\"" + Utilidades.escape(oFila["ResponsableProyecto"].ToString()) + "\" "); } if (bCualidad) { sb.Append("idcualidad='" + oFila["t305_cualidad"].ToString() + "' "); //switch (oFila["t305_cualidad"].ToString()) //{ // case "C": sb.Append("descualidad=\"Contratante\" "); break; // case "P": sb.Append("descualidad=\"Replicada con gestión\" "); break; // case "J": sb.Append("descualidad=\"Replicada sin gestión\" "); break; //} } if (bNaturaleza) { sb.Append("idnaturaleza='" + oFila["t323_idnaturaleza"].ToString() + "' "); //sb.Append("desnaturaleza=\"" + Utilidades.escape(oFila["t323_denominacion"].ToString()) + "\" "); } sb.Append(">"); foreach (string oDato in aDimensiones) { switch (oDato) { case "nodo": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t303_denominacion"].ToString() + "</td>"); break; case "proyecto": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + int.Parse(oFila["t301_idproyecto"].ToString()).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString() + "</td>"); break; case "cliente": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t302_denominacion"].ToString() + "</td>"); break; case "responsable": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["ResponsableProyecto"].ToString() + "</td>"); break; case "cualidad": switch (oFila["t305_cualidad"].ToString()) { case "C": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Contratante</td>"); break; case "P": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada con gestión</td>"); break; case "J": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">Replicada sin gestión</td>"); break; } break; case "naturaleza": sb.Append("<td" + ((!sw_class) ? " class='Dimension'" : "") + ">" + oFila["t323_denominacion"].ToString() + "</td>"); break; } } foreach (string oCol in aMagnitud) { switch (oCol) { case "Ingresos_Netos": sb.Append("<td magnitud='Ingresos_Netos' formula='1' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Ingresos_Netos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Ingresos_Netos"].ToString()).ToString("N")) + "</td>"); break; case "Margen": sb.Append("<td magnitud='Margen' formula='2' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Margen"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Margen"].ToString()).ToString("N")) + "</td>"); break; case "Obra_en_curso": sb.Append("<td magnitud='Obra_en_curso' formula='3' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Obra_en_curso"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Obra_en_curso"].ToString()).ToString("N")) + "</td>"); break; case "Saldo_de_Clientes": sb.Append("<td magnitud='Saldo_de_Clientes' formula='4' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Saldo_de_Clientes"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Saldo_de_Clientes"].ToString()).ToString("N")) + "</td>"); break; case "Total_Cobros": sb.Append("<td magnitud='Total_Cobros' formula='5' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Total_Cobros"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Total_Cobros"].ToString()).ToString("N")) + "</td>"); break; case "Total_Gastos": sb.Append("<td magnitud='Total_Gastos' formula='6' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Total_Gastos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Total_Gastos"].ToString()).ToString("N")) + "</td>"); break; case "Total_Ingresos": sb.Append("<td magnitud='Total_Ingresos' formula='7' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Total_Ingresos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Total_Ingresos"].ToString()).ToString("N")) + "</td>"); break; case "Volumen_de_Negocio": sb.Append("<td magnitud='Volumen_de_Negocio' formula='8' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Volumen_de_Negocio"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Volumen_de_Negocio"].ToString()).ToString("N")) + "</td>"); break; case "Otros_consumos": sb.Append("<td magnitud='Otros_consumos' formula='9' ondblclick='gp(this);' class='MA Mag'>" + ((decimal.Parse(oFila["Otros_consumos"].ToString()).ToString("N") == "0,00") ? "" : decimal.Parse(oFila["Otros_consumos"].ToString()).ToString("N")) + "</td>"); break; } } sb.Append("</tr>"); sw_class = true; } sb.Append("</table>"); #endregion } #region Arrays javascript if (sTablasAuxiliares == "1") { int i = 0; sbAux.Append("@#@"); foreach (DataRow oFila in ds.Tables[1].Rows) //Nodos { sbAux.Append("js_Nodo[" + i.ToString() + "] = { \"c\":" + oFila["t303_idnodo"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["t303_denominacion"].ToString()) + "\", \"m\":1 };"); //c: codigo, d:denominacion, m:marcado i++; } i = 0; sbAux.Append("@#@"); foreach (DataRow oFila in ds.Tables[2].Rows) //Proyecto { sbAux.Append("js_Proyecto[" + i.ToString() + "] = { \"c\":" + oFila["t301_idproyecto"].ToString() + ", \"d\":\"" + Utilidades.escape(int.Parse(oFila["t301_idproyecto"].ToString()).ToString("#,###") + " - " + oFila["t301_denominacion"].ToString()) + "\", \"m\":1 };"); i++; } i = 0; sbAux.Append("@#@"); foreach (DataRow oFila in ds.Tables[3].Rows) //Cliente { sbAux.Append("js_Cliente[" + i.ToString() + "] = { \"c\":" + oFila["t302_idcliente"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["t302_denominacion"].ToString()) + "\", \"m\":1 };"); i++; } i = 0; sbAux.Append("@#@"); foreach (DataRow oFila in ds.Tables[4].Rows) //Responsable proyecto { sbAux.Append("js_Responsable[" + i.ToString() + "] = { \"c\":" + oFila["t314_idusuario_responsable"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["ResponsableProyecto"].ToString()) + "\", \"m\":1 };"); i++; } i = 0; sbAux.Append("@#@"); foreach (DataRow oFila in ds.Tables[5].Rows) //Cualidad { string sCualidadAux = ""; switch (oFila["t305_cualidad"].ToString()) { case "C": sCualidadAux = "Contratante"; break; case "P": sCualidadAux = "Replicada con gestión"; break; case "J": sCualidadAux = "Replicada sin gestión"; break; } sbAux.Append("js_Cualidad[" + i.ToString() + "] = { \"c\":\"" + oFila["t305_cualidad"].ToString() + "\", \"d\":\"" + Utilidades.escape(sCualidadAux) + "\", \"m\":1 };"); i++; } i = 0; sbAux.Append("@#@"); foreach (DataRow oFila in ds.Tables[6].Rows) //Naturaleza { sbAux.Append("js_Naturaleza[" + i.ToString() + "] = { \"c\":" + oFila["t323_idnaturaleza"].ToString() + ", \"d\":\"" + Utilidades.escape(oFila["t323_denominacion"].ToString()) + "\", \"m\":1 };"); i++; } } #endregion ds.Dispose(); oDT3 = DateTime.Now; //nTiempoBD = Fechas.DateDiff("mm", (DateTime)oDT1, (DateTime)oDT2); //nTiempoHTML = Fechas.DateDiff("mm", (DateTime)oDT2, (DateTime)oDT3); nTiempoBD = (int)((TimeSpan)(oDT2 - oDT1)).TotalMilliseconds; nTiempoHTML = (int)((TimeSpan)(oDT3 - oDT2)).TotalMilliseconds; return("OK@#@" + sb.ToString() + "@#@" + nTiempoBD.ToString() + "@#@" + nTiempoHTML.ToString() + sbAux.ToString()); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex)); } }
private string obtenerComunicaciones(int iPSN) { try { string sNumPE = "", sDesc = "", sUSA = "N", sProyUSA = "N", sProyExternalizable = "N"; string sContable = "", sVigencia = "", sEstado = ""; int iFecha = DateTime.Now.Year * 100 + DateTime.Now.Month, idProy = -1; SqlDataReader dr2 = PROYECTO.fgGetDatosProy(iPSN); if (dr2.Read()) { idProy = int.Parse(dr2["t301_idproyecto"].ToString()); sNumPE = int.Parse(dr2["t301_idproyecto"].ToString()).ToString("###,###"); sDesc = dr2["t301_denominacion"].ToString(); if (dr2["t305_cualidad"].ToString() == "C" && dr2["t301_estado"].ToString() == "A" && (Session["UsuarioActual"].ToString() == dr2["t314_idusuario_SAT"].ToString() || Session["UsuarioActual"].ToString() == dr2["t314_idusuario_SAA"].ToString())) { sUSA = "S"; } if (dr2["t314_idusuario_SAT"].ToString() != "0" || dr2["t314_idusuario_SAA"].ToString() != "0") { sProyUSA = "S"; } sProyExternalizable = ((bool)dr2["t301_externalizable"]) ? "S" : "N"; } dr2.Close(); dr2.Dispose(); sb.Append("<table id='tblDatos' class='texto MA' style='WIDTH: 960px;' mantenimiento='1'>"); sb.Append("<colgroup>"); sb.Append(" <col style='width:10px;' />"); sb.Append(" <col style='width:60px;' />"); sb.Append(" <col style='width:205px;' />"); sb.Append(" <col style='width:70px;' />"); sb.Append(" <col style='width:200px;' />"); sb.Append(" <col style='width:125x;' />"); sb.Append(" <col style='width:175px;' />"); sb.Append(" <col style='width:25px;' />"); sb.Append(" <col style='width:70px;' />"); sb.Append(" <col style='width:20px;' />"); sb.Append("</colgroup>"); sb.Append("<tbody id='tbodyDatos'>"); SqlDataReader dr = ESPACIOCOMUNICACION.Catalogo(idProy); while (dr.Read()) { sb.Append("<tr id='" + dr["t639_idcomunicacion"].ToString() + "' bd='' onclick='mm(event)' onDblClick='detalle(this.id,event);' "); if (sUSA == "S") { sb.Append(" obs=\"" + Utilidades.escape(dr["t639_observaciones"].ToString()) + "\" "); } sb.Append(" style=' height:20px'>"); sb.Append("<td><img src='../../../images/imgFN.gif'></td>"); sb.Append("<td style='text-align:right; padding-right:3px;'>" + DateTime.Parse(dr["t639_fechacom"].ToString()).ToShortDateString() + "</td>"); sb.Append("<td style='padding-left:5px;'><nobr class='NBR W190' onmouseover='TTip(event)'>" + dr["Autor"].ToString() + "</nobr></td>"); sContable = ""; if ((bool)dr["t639_consumo"]) { sContable += "C,"; } if ((bool)dr["t639_produccion"]) { sContable += "P,"; } if ((bool)dr["t639_facturacion"]) { sContable += "F,"; } if ((bool)dr["t639_otros"]) { sContable += "O,"; } if (sContable.Length > 0) { sContable = sContable.Substring(0, sContable.Length - 1); } sb.Append("<td>" + sContable + "</td>"); sb.Append("<td><nobr class='NBR W190' onDblClick='detalle(this.parentNode.parentNode.id,event);' "); sb.Append("style='noWrap:true;' "); if (dr["t639_descripcion"].ToString() != "") { sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' /> Información] body=[" + Utilidades.CadenaParaTooltipExtendido(dr["t639_descripcion"].ToString()) + "] hideselects=[off]\" "); } sb.Append(">" + dr["t639_descripcion"].ToString() + "</nobr></td>"); sVigencia = ""; sEstado = ""; if ((bool)dr["t639_vigenciaproyecto"]) { sVigencia = "Todo el proyecto"; } else { sVigencia = Fechas.AnnomesAFechaDescCorta(int.Parse(dr["t639_vigenciadesde"].ToString())) + " - " + Fechas.AnnomesAFechaDescCorta(int.Parse(dr["t639_vigenciahasta"].ToString())); } sb.Append("<td>" + sVigencia + "</td>"); //sb.Append("<td><nobr class='NBR W160' onDblClick='detalle(this.parentNode.parentNode.id);' style='noWrap:true;height:16px' "); sb.Append("<td><nobr class='NBR W160' onDblClick='detalle(this.parentNode.parentNode.id,event);' style='noWrap:true;' "); if (dr["t639_observaciones"].ToString() != "") { sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' /> Información] body=[" + Utilidades.CadenaParaTooltipExtendido(dr["t639_observaciones"].ToString()) + "] hideselects=[off]\" "); } sb.Append(">" + dr["t639_observaciones"].ToString() + "</nobr></td>"); sb.Append("<td style='text-align:center;'>"); if (sUSA == "S") { sb.Append("<image style='width:16px;' class='MA' ondblclick='cargarObserva(this.parentNode.parentNode);' src='../../../images/imgComentario.gif'></image>"); } else { sb.Append("<image style='width:16px;' src='../../../images/imgSeparador.gif'></image>"); } sb.Append("</td>"); if ((bool)dr["t639_vigenciaproyecto"]) { sEstado = "Abierto"; } else if (iFecha >= int.Parse(dr["t639_vigenciadesde"].ToString()) && iFecha <= int.Parse(dr["t639_vigenciahasta"].ToString())) { sEstado = "Abierto"; } else if (iFecha < int.Parse(dr["t639_vigenciadesde"].ToString())) { sEstado = "Pendiente"; } else { sEstado = "Cerrado"; } sb.Append("<td style='text-align:center;'>"); if (sEstado == "Abierto") { sb.Append("<img style='width:16px;' src='../../../images/imgSI.gif' />"); } else if (sEstado == "Pendiente") { sb.Append("<img style='width:16px;' src='../../../images/imgPendiente.gif' />"); } else { sb.Append("<img style='width:16px;' src='../../../images/imgNO.gif' />"); } sb.Append("</td>"); sb.Append("<td style='text-align:center;'>"); if ((int)dr["docs"] > 0) { sb.Append("<img style='width:16px;' src='../../../images/imgDocumento.gif' />"); } sb.Append("</td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); sb.Append("</tbody>"); sb.Append("</table>"); return("OK@#@" + sb.ToString() + "@#@" + sNumPE + "@#@" + sDesc + "@#@" + sUSA + "@#@" + sProyUSA + "@#@" + sProyExternalizable); } catch (Exception ex) { return("Error@#@" + Errores.mostrarError("Error al obtener los espacios de comunicación", ex)); } }