Beispiel #1
0
    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));
        }
    }