Exemple #1
0
    private void ObtenerDatosHito()
    {
        try
        {
            HITOPSP o = HITOPSP.Obtener(sTipoHito, nIdHito);

            txtIdHito.Text      = o.idhito.ToString();
            txtDesHito.Text     = o.deshito;
            txtDescripcion.Text = o.deshitolong;
            cboModo.Text        = o.modo;
            cboEstado.Text      = o.estado.ToString();
            txtAgrHito.Text     = flAgregacion(sTipoHito, o.margen);
            hdnOrden.Text       = o.orden.ToString();
            if (o.hitoPE)
            {
                chkPE.Checked = true;
                cboModo.Text  = "0";
            }
            else
            {
                chkPE.Checked = false;
            }
            //if (o.hitoPE) cboModo.Text = "3";
            //else cboModo.Text = o.modo;

            if (o.alerta)
            {
                chkAlerta.Checked = true;
            }
            if (o.ciclico)
            {
                chkCiclico.Checked = true;
            }
            if (sTipoHito == "HF")
            {
                if (o.fecha.Year > 1900)
                {
                    txtValFecha.Text = o.fecha.ToShortDateString();
                }
            }
            else
            {
                txtValFecha.Text = "";
            }
            //o.cod_une = nIdCR;
            o.num_proyecto = nIdPE;
            //Estado del proyecto económico
            this.hdnEstProy.Value = o.t301_estado;
            //Modo de acceso
            this.hdnModoAcceso.Value = PROYECTOSUBNODO.getAcceso(null, o.t305_idproyectosubnodo, int.Parse(Session["UsuarioActual"].ToString()));
        }
        catch (Exception ex)
        {
            sErrores += Errores.mostrarError("Error al obtener los datos del hito", ex);
        }
    }
Exemple #2
0
    private string ObtenerOtrosHitos(int nIdPE, int iCodHito)
    {
        //Relacion de hitos asignados al proyecto economico
        string        sResul   = "";
        StringBuilder sbuilder = new StringBuilder();

        try
        {
            SqlDataReader dr = HITOPSP.CatalogoHitos(nIdPE);

            sbuilder.Append("<table id='tblHitos' class='texto' style='width:450px;'>");
            sbuilder.Append("<colgroup><col style='width:400px;' /><col style='width:50px' /></colgroup>");
            sbuilder.Append("<tbody>");
            while (dr.Read())
            {
                //if (dr["idhito"].ToString() == nIdHito.ToString()) continue;
                if (dr["idhito"].ToString() == iCodHito.ToString())
                {
                    continue;
                }
                sbuilder.Append("<tr id='" + dr["idhito"].ToString() + "' style='height:16px'>");
                sbuilder.Append("<td style='padding-left:5px;'>" + dr["deshito"].ToString() + "</td>");
                string sCad    = dr["estado"].ToString();
                string sEstado = "";
                switch (sCad)
                {
                case "L": sEstado = "Latente"; break;

                case "C": sEstado = "Cumplido"; break;

                case "N": sEstado = "Notificado"; break;

                //case "F": sEstado = "Finalizado"; break;
                case "F": sEstado = "Inactivo"; break;
                }
                sbuilder.Append("<td>" + sEstado + "</td></tr>");
            }
            dr.Close();
            dr.Dispose();
            sbuilder.Append("</tbody>");
            sbuilder.Append("</table>");
            strTablaHitos = sbuilder.ToString();
            sResul        = strTablaHitos;
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de hitos del proyecto económico.", ex);
        }

        return(sResul);
    }
        private void listaTareas(int iNumPE)
        {
            StringBuilder strBuilder = new StringBuilder();
            double        fAvance, fETPL, fETPR, fConsumo;
            string        sCad, sFecha;

            strBuilder.Append("<table id='tblDatos' class='texto MA' style='width: 396px;'>");
            strBuilder.Append("<colgroup><col style='width:50px'/><col style='width:346px'/></colgroup>");
            strBuilder.Append("<tbody>");
            SqlDataReader dr = HITOPSP.CatalogoTareasPE(iNumPE);

            while (dr.Read())
            {
                strBuilder.Append("<tr style='height:16px;' ");

                StringBuilder sbTitle = new StringBuilder();
                sbTitle.Append("<b>Proy. Eco.</b>: ");
                sbTitle.Append(dr["nom_proyecto"].ToString().Replace((char)34, (char)39));
                sbTitle.Append("<br><b>Proy. Téc.</b>: ");
                sbTitle.Append(dr["t331_despt"].ToString().Replace((char)34, (char)39));
                if (dr["t334_desfase"].ToString() != "")
                {
                    sbTitle.Append("<br><b>Fase</b>:          ");
                    sbTitle.Append(dr["t334_desfase"].ToString().Replace((char)34, (char)39));
                }
                if (dr["t335_desactividad"].ToString() != "")
                {
                    sbTitle.Append("<br><b>Actividad</b>:  ");
                    sbTitle.Append(dr["t335_desactividad"].ToString().Replace((char)34, (char)39));
                }
                sbTitle.Append("<br><b>Tarea</b>:  ");
                sbTitle.Append(dr["desTarea"].ToString().Replace((char)34, (char)39));

                strBuilder.Append("id='");
                strBuilder.Append(dr["codTarea"].ToString());
                strBuilder.Append("' onclick='mm(event)' ondblclick='aceptar()' onmouseover='TTip(event);' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle'>  Estructura] body=[");
                strBuilder.Append(sbTitle);
                strBuilder.Append("]\"");
                sCad = dr["ETPL"].ToString();
                if (sCad == "")
                {
                    fETPL = 0;
                }
                else
                {
                    fETPL = double.Parse(sCad);
                }
                strBuilder.Append(" ETPL='" + fETPL.ToString("N") + "'");

                sCad = dr["FIPL"].ToString();
                if (sCad != "")
                {
                    sFecha = DateTime.Parse(sCad).ToShortDateString();
                }
                else
                {
                    sFecha = "";
                }
                strBuilder.Append(" FIPL='" + sFecha + "'");

                sCad = dr["FFPL"].ToString();
                if (sCad != "")
                {
                    sFecha = DateTime.Parse(sCad).ToShortDateString();
                }
                else
                {
                    sFecha = "";
                }
                strBuilder.Append(" FFPL='" + sFecha + "'");

                sCad = dr["ETPR"].ToString();
                if (sCad == "")
                {
                    fETPR = 0;
                }
                else
                {
                    fETPR = double.Parse(sCad);
                }
                strBuilder.Append(" ETPR='" + fETPR.ToString("N") + "'");

                sCad = dr["FFPR"].ToString();
                if (sCad != "")
                {
                    sFecha = DateTime.Parse(sCad).ToShortDateString();
                }
                else
                {
                    sFecha = "";
                }
                strBuilder.Append(" FFPR='" + sFecha + "'");

                sCad = dr["Consumo"].ToString();
                if (sCad == "")
                {
                    fConsumo = 0;
                }
                else
                {
                    fConsumo = double.Parse(sCad);
                }
                strBuilder.Append(" CONSUMO='" + fConsumo.ToString("N") + "'");

                if (fConsumo == 0)
                {
                    fAvance = 0;
                }
                else
                {
                    fAvance = (fETPR * 100) / fConsumo;
                }
                strBuilder.Append(" AVANCE='" + fAvance.ToString("N") + "'");
                strBuilder.Append(">");

                strBuilder.Append("<td style='text-align:right'>");
                strBuilder.Append(int.Parse(dr["codTarea"].ToString()).ToString("#,###"));
                strBuilder.Append("</td><td style='padding-left:5px;'><nobr style='width:346px;' class='NBR'>");
                strBuilder.Append(dr["desTarea"].ToString());
                strBuilder.Append("</nobr></td>");
            }
            dr.Close();
            dr.Dispose();
            strBuilder.Append("</tbody>");
            strBuilder.Append("</table>");
            strTablaHtml = strBuilder.ToString();
        }
Exemple #4
0
    protected string ObtenerTodasTareas(string sPE)
    {
        //Relacion de tareas asignadas del proyecto económico
        string sResul = "", sCad, sFecha, sCodTarea;
        double fPrev = 0, fCons = 0, fAvance = 0;
        bool   bAvanceAutomatico;

        StringBuilder sbuilder = new StringBuilder();

        try
        {
            sbuilder.Append("<table id='tblTareas' class='texto MANO' style='width: 800px;'>");
            //............................ idTarea........... Desc Tarea..........ETPL.......................................separador............FIPL....................FFPL..............ETPR......................................separador...........FFPR................CONSUMO.....................................AVANCE
            sbuilder.Append("<colgroup><col style='width:40px;' /><col style='width:340px;' /><col style='width:50px;'/><col style='width:10px' /><col style='width:60px' /><col style='width:60px' /><col style='width:50px' /><col style='width:10px' /><col style='width:60px' /><col style='width:50px'/><col style='width:50px' /></colgroup>");
            sbuilder.Append("<tbody>");
            if (sTipoHito != "HF")
            {
                SqlDataReader dr = HITOPSP.CatalogoTareasPE(int.Parse(sPE));

                //Tarea 50 Desc 350 ETPL 40+10 FIPL 60 FFPL 60 ETPR 40+10 FFPR 60 CONSUMO 50 AVANCE 50
                int i = 0;
                while (dr.Read())
                {
                    sCodTarea = dr["codTarea"].ToString();
                    sbuilder.Append("<tr id='" + sCodTarea + "' est='I' onclick='mm(event)' style='height:16px;'>");
                    sbuilder.Append("<td>" + int.Parse(sCodTarea).ToString() + "</td>");
                    sbuilder.Append("<td>" + dr["desTarea"].ToString() + "</td>");

                    if (dr["ETPL"] != DBNull.Value)
                    {
                        sbuilder.Append("<td style='text-align:right'>" + double.Parse(dr["ETPL"].ToString()).ToString("N") + "</td>");
                    }
                    else
                    {
                        sbuilder.Append("<td style='text-align:right'></td>");
                    }

                    sbuilder.Append("<td>&nbsp;</td>");

                    sFecha = dr["FIPL"].ToString();
                    if (sFecha != "")
                    {
                        sFecha = DateTime.Parse(dr["FIPL"].ToString()).ToShortDateString();
                    }

                    sbuilder.Append("<td>" + sFecha + "</td>");

                    sFecha = dr["FFPL"].ToString();
                    if (sFecha != "")
                    {
                        sFecha = DateTime.Parse(dr["FFPL"].ToString()).ToShortDateString();
                    }

                    sbuilder.Append("<td>" + sFecha + "</td>");

                    if (dr["ETPR"] != DBNull.Value)
                    {
                        sbuilder.Append("<td style='text-align:right'>" + double.Parse(dr["ETPR"].ToString()).ToString("N") + "</td>");
                    }
                    else
                    {
                        sbuilder.Append("<td style='text-align:right'></td>");
                    }

                    sbuilder.Append("<td>&nbsp;</td>");

                    sFecha = dr["FFPR"].ToString();
                    if (sFecha != "")
                    {
                        sFecha = DateTime.Parse(dr["FFPR"].ToString()).ToShortDateString();
                    }

                    sbuilder.Append("<td>" + sFecha + "</td>");

                    sbuilder.Append("<td style='text-align:right'>" + double.Parse(dr["consumo"].ToString()).ToString("N") + "</td>");

                    //%Avance
                    bAvanceAutomatico = (bool)dr["t332_avanceauto"];
                    if (!bAvanceAutomatico)
                    {
                        fAvance = double.Parse(dr["t332_AVANCE"].ToString());
                    }
                    else
                    {
                        fPrev = double.Parse(dr["ETPR"].ToString());
                        fCons = double.Parse(dr["Consumo"].ToString());
                        if (fPrev == 0)
                        {
                            fAvance = 0;
                        }
                        else
                        {
                            fAvance = (fCons * 100) / fPrev;
                        }
                    }
                    sCad = fAvance.ToString("N");
                    sbuilder.Append("<td style='text-align:right'>" + sCad + "</td></tr>");
                    i++;
                }
                dr.Close();
                dr.Dispose();
            }
            sbuilder.Append("</tbody>");
            sbuilder.Append("</table>");
            strTablaTareas = sbuilder.ToString();
            sResul         = "OK@#@" + strTablaTareas;
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de tareas.", ex);
        }

        return(sResul);
    }
Exemple #5
0
    protected string Grabar(string strDatosHito, string sDatosBorrado, string sTareas)
    {
        string sResul = "", sTipoHito, sDesHito, sDesHitoLong, sFecha, sEstado, sAlerta, sCiclico, sAccion, sTipoLinea, sCad, sCodTarea, sHitoPE;

        string[] aDatosHito;
        int      iCodHito, iCodPE, iMargen, iCodHitoOriginal;
        short    iOrden;//iCodCR
        bool     bAlerta = false, bCiclico = false, bHitoPE;
        DateTime dtFecha = DateTime.Now;

        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        try
        {
            aDatosHito = Regex.Split(strDatosHito, "##");
            iCodHito   = int.Parse(aDatosHito[1]);
            //iCodCR = short.Parse(aDatosHito[2]);
            iCodPE       = int.Parse(aDatosHito[3]);
            sDesHito     = Utilidades.unescape(aDatosHito[4]);
            sDesHitoLong = Utilidades.unescape(aDatosHito[5]);
            sFecha       = aDatosHito[6];
            if (sFecha != "")
            {
                dtFecha = DateTime.Parse(sFecha);
            }
            iOrden = short.Parse(aDatosHito[11]);

            //Al grabar un hito puede ocurrir que se haya cambiado el tipo de hito lo que implica que antes de grabar
            //hay que borrar de una tabla e insertar en otra
            if (sDatosBorrado != "")
            {
                #region Borrado
                string[] aDatosBorrado = Regex.Split(sDatosBorrado, "##");
                sAccion = aDatosBorrado[0];
                if (sAccion == "borrar")
                {
                    sTipoHito        = aDatosBorrado[1];
                    iCodHito         = int.Parse(aDatosBorrado[2]);
                    iCodHitoOriginal = int.Parse(aDatosBorrado[2]);
                    //Se realiza primero la inserción del nuevo hito y por último el borrado
                    //del viejo, para traspasar la documentación que pudiera tener.

                    //Inserta el hito en la nueva tabla
                    switch (sTipoHito)
                    {
                    case "HF":
                        //iCodHito = EstrProy.InsertarHito(tr, sDesHito, 0, iOrden);
                        iCodHito = EstrProy.InsertarHito(tr, sDesHito, 1, iOrden, iCodPE);
                        break;

                    case "HT":
                    case "HM":
                        //iCodHito = EstrProy.InsertarHitoPE(tr, iCodCR, iCodPE, sDesHito, sFecha, iOrden);
                        iCodHito = EstrProy.InsertarHitoPE(tr, iCodPE, sDesHito, sFecha, iOrden, sDesHitoLong);
                        break;
                    }

                    SqlDataReader dr;
                    //Selecciono los documentos de un tipo de hito, para luego insertarlos en el otro tipo de hitos.
                    if (sTipoHito == "HF")
                    {
                        dr = DOCUHE.Catalogo3(iCodHitoOriginal);
                    }
                    else
                    {
                        dr = DOCUH.Catalogo3(iCodHitoOriginal);
                    }

                    int nResul;
                    while (dr.Read())
                    {
                        long?idCS = null;//Id del documento en el Content-Server
                        if (dr["t2_iddocumento"].ToString() != "")
                        {
                            idCS = long.Parse(dr["t2_iddocumento"].ToString());
                        }
                        if (sTipoHito == "HF")
                        {
                            nResul = DOCUH.Insert(tr, iCodHito, dr["t367_descripcion"].ToString(), dr["t367_weblink"].ToString(),
                                                  dr["t367_nombrearchivo"].ToString(), idCS, (bool)dr["t367_privado"],
                                                  (bool)dr["t367_modolectura"], (bool)dr["t367_tipogestion"],
                                                  int.Parse(Session["UsuarioActual"].ToString()));
                        }
                        else
                        {
                            nResul = DOCUHE.Insert(tr, iCodHito, dr["t366_descripcion"].ToString(), dr["t366_weblink"].ToString(),
                                                   dr["t366_nombrearchivo"].ToString(), idCS, (bool)dr["t366_privado"],
                                                   (bool)dr["t366_modolectura"], (bool)dr["t366_tipogestion"],
                                                   int.Parse(Session["UsuarioActual"].ToString()));
                        }
                    }
                    dr.Close();
                    dr.Dispose();

                    //Borro el hito de la tabla en la que estaba
                    HITOPSP.Delete(tr, sTipoHito, iCodHitoOriginal);
                }
                #endregion
            }

            sTipoHito = aDatosHito[0];
            sEstado   = aDatosHito[7];
            sHitoPE   = aDatosHito[8];
            if (sHitoPE == "T")
            {
                bHitoPE = true;
            }
            else
            {
                bHitoPE = false;
            }
            sAlerta  = aDatosHito[9];
            sCiclico = aDatosHito[10];

            if ((sTipoHito == "HT") || (sTipoHito == "HM"))
            {
                iMargen = -1;
            }
            else
            {
                iMargen = 0;
            }
            if (sAlerta == "1")
            {
                bAlerta = true;
            }
            if (sCiclico == "1")
            {
                bCiclico = true;
            }
            HITOPSP.Update(tr, sTipoHito, iCodHito, sDesHito, sDesHitoLong, sEstado, iMargen, iOrden,
                           bAlerta, bCiclico, iCodPE, dtFecha, bHitoPE);

            //Grabamos las tareas asociadas al hito (Si es hito de PE no porque ya lo hace el trigger)
            //if (sTareas != "" && !bHitoPE)
            if (sTareas != "")
            {
                string[] aTareas = Regex.Split(sTareas, @"##");

                for (int i = 0; i < aTareas.Length - 1; i++)
                {
                    sCad       = aTareas[i];
                    sTipoLinea = sCad.Substring(0, 1);
                    sCodTarea  = quitaPuntos(sCad.Substring(1));
                    if (sTipoLinea == "D")
                    {//Borrar hito-tarea
                        HITOPSP.DeleteTarea(tr, iCodHito, int.Parse(sCodTarea));
                    }
                    else
                    {
                        if (sTipoLinea == "I")
                        {//Insertar hito-tarea
                            HITOPSP.InsertTarea(tr, iCodHito, int.Parse(sCodTarea));
                        }
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
            //sResul = "OK@#@" + DateTime.Now.ToString() + "@#@" + Session["UsuarioActual"].ToString() + "@#@" + Session["APELLIDO1"].ToString() + " " + Session["APELLIDO2"].ToString() + ", " + Session["NOMBRE"].ToString();
            sResul = "OK@#@" + iCodHito.ToString() + "@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del hito", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }