private string obtenerResponsables()
    {
        string sResul = "";

        try
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            SqlDataReader             dr = null;

            dr = ProyTec.CatalogoResponsables((int)Session["UsuarioActual"]);

            sb.Append("<table id='tblDatos' class='texto MA' style='width: 350px;'>" + (char)10);
            sb.Append("<colgroup><col style='width:350px;' /></colgroup>" + (char)10);

            while (dr.Read())
            {
                //sb.Append("<tr id='" + dr["IDENTIFICADOR"].ToString() + "' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Profesional:</label>" + dr["PROFESIONAL"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Usuario:</label>" + int.Parse(dr["IDENTIFICADOR"].ToString()).ToString("#,###") + "<br><label style='width:70px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Empresa:</label>" + dr["EMPRESA"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\"");
                sb.Append("<tr id='" + dr["IDENTIFICADOR"].ToString() + "' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Profesional:</label>" + dr["PROFESIONAL"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Usuario:</label>" + int.Parse(dr["IDENTIFICADOR"].ToString()).ToString("#,###") + "<br><label style='width:70px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\"");
                sb.Append(" onclick='mm(event)' ondblclick='insertarItem(this)' onmousedown='DD(event)' ");
                sb.Append("style='height:16px'>");
                sb.Append("<td style='padding-left:5px; cursor:pointer;'>" + dr["PROFESIONAL"].ToString() + "</td>");
                sb.Append("</tr>" + (char)10);
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</table>");

            sResul = "OK@#@" + sb.ToString();
        }
        catch (System.Exception objError)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al leer obtenerResponsables ", objError);
        }
        return(sResul);
    }
    private string ObtenerPTs(string sTipoBusqueda, string strNomPT)
    {
        string        sResul = "";//sPermiso
        SqlDataReader dr;

        try
        {
            StringBuilder strBuilder = new StringBuilder();
            int           iUser      = (int)Session["UsuarioActual"];
            strBuilder.Append("<table id='tblDatos' class='texto MA' style='width: 780px;'>");
            strBuilder.Append("<colgroup><col style='width:390px;'><col style='width:390px;'></colgroup>");
            strBuilder.Append("<tbody>");
            dr = ProyTec.Catalogo(null, strNomPT, null, iUser, sTipoBusqueda);
            while (dr.Read())
            {
                nPE = int.Parse(dr["cod_pe"].ToString());
                strBuilder.Append("<tr id='" + dr["cod_pt"].ToString() + "' onclick='ms(this)' ondblclick='aceptarClick(this.rowIndex)' ");
                strBuilder.Append("des='" + dr["nom_pt"].ToString() + "' ");
                strBuilder.Append("idT305PE='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                strBuilder.Append("idPE='" + dr["cod_pe"].ToString() + "' ");
                strBuilder.Append("desPE='" + dr["nom_pe"].ToString() + "' ");
                strBuilder.Append("est='" + dr["t301_estado"].ToString() + "' ");
                strBuilder.Append("une='" + dr["cod_une"].ToString() + "' ");
                if (dr["t305_admiterecursospst"] != DBNull.Value)
                {
                    if ((bool)dr["t305_admiterecursospst"])
                    {
                        strBuilder.Append("bRecPST='S'>");
                    }
                    else
                    {
                        strBuilder.Append("bRecPST='N'>");
                    }
                }
                else
                {
                    strBuilder.Append("bRecPST='S'>");
                }
                strBuilder.Append("<td><nobr class='NBR W390'>" + nPE.ToString("#,###") + " " + dr["nom_pe"].ToString() + "</nobr></td>");
                strBuilder.Append("<td><nobr class='NBR W390'>" + dr["nom_pt"].ToString() + "</nobr></td></tr>");
            }
            dr.Close();
            dr.Dispose();
            strBuilder.Append("</tbody>");
            strBuilder.Append("</table>");

            sResul = "OK@#@" + strBuilder.ToString();
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex);
        }
        return(sResul);
    }
Beispiel #3
0
    protected string Grabar(string strDatosPT)
    {
        string sResul = "", sDatosPT;
        int    iCodPT;
        short  iOrden;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            string[] aPTs = Regex.Split(strDatosPT, "///");
            for (int i = 0; i < aPTs.Length - 1; i++)
            {
                sDatosPT = aPTs[i];
                string[] aDatosPT = Regex.Split(sDatosPT, "##");
                iCodPT = int.Parse(aDatosPT[0]);
                iOrden = short.Parse(aDatosPT[1]);
                ProyTec.UpdateOrden(tr, iCodPT, iOrden);
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del proyecto técnico", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Beispiel #4
0
        private void obtenerListaTareas(string sTipo, int nItem, int nRecurso)
        {
            StringBuilder strBuilder = new StringBuilder();
            SqlDataReader dr         = null;

            switch (sTipo)
            {
            case "P":
                dr = ProyTec.CatalogoTareasRecurso(nItem, nRecurso);
                break;

            case "F":
                dr = FASEPSP.CatalogoTareasRecurso(nItem, nRecurso);
                break;

            case "A":
                dr = ACTIVIDADPSP.CatalogoTareasRecurso(nItem, nRecurso);
                break;
            }
            strBuilder.Append("<table id='tblDatos' class='texto' style='width: 380px;'>");
            strBuilder.Append("<colgroup><col style='width: 50px;' /><col style='width: 330px;' />");
            strBuilder.Append("<col /></colgroup>");
            strBuilder.Append("<tbody>");
            while (dr.Read())
            {
                string sTTip = "";
                if (dr["fase"].ToString() != "")
                {
                    sTTip += "Fase:          " + dr["fase"].ToString();
                }
                if (dr["actividad"].ToString() != "")
                {
                    sTTip += (char)10 + "Actividad:   " + dr["actividad"].ToString();
                }
                strBuilder.Append("<tr title='" + sTTip + "' style='height:16px'>");
                strBuilder.Append("<td style='text-align:right;'>" + int.Parse(dr["t332_idtarea"].ToString()).ToString("#,###") + "</td>");
                strBuilder.Append("<td style='padding-left:10px;'><nobr class='NBR W320'>" + dr["t332_destarea"].ToString() + "</nobr></td>");
                strBuilder.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            strBuilder.Append("</tbody>");
            strBuilder.Append("</table>");
            divC.InnerHtml = strBuilder.ToString();
        }
    private string ObtenerPTs(string sTipoBusqueda, string sPSN, string strNomPT)
    {
        string        sResul = "";//sPermiso
        int?          nPSN   = null;
        SqlDataReader dr;

        try
        {
            StringBuilder strBuilder = new StringBuilder();
            int           iUser      = (int)Session["UsuarioActual"];
            if (sPSN != "")
            {
                nPSN = int.Parse(sPSN);
            }
            strBuilder.Append("<div style='background-image:url(../../../../Images/imgFT18.gif); width: 396px;'>");
            strBuilder.Append("<table id='tblDatos' class='texto MA' style='width: 396px;'>");
            strBuilder.Append("<colgroup><col style='width: 396px;''></colgroup>");
            strBuilder.Append("<tbody>");
            //dr = ProyTec.CatalogoBitacora(nPSN, iUser, strNomPT, sTipoBusqueda);
            dr = ProyTec.Catalogo(null, strNomPT, nPSN, iUser, sTipoBusqueda);
            while (dr.Read())
            {
                strBuilder.Append("<tr id='" + dr["cod_pt"].ToString());
                strBuilder.Append("' une='" + dr["cod_une"].ToString());
                strBuilder.Append("' nPE='" + dr["cod_pe"].ToString());
                strBuilder.Append("' dPE='" + dr["nom_pe"].ToString());
                strBuilder.Append("' est='" + dr["t301_estado"].ToString());
                strBuilder.Append("' idP='" + dr["t305_idproyectosubnodo"].ToString());
                strBuilder.Append("' sAccesoBitacoraPT='" + dr["t305_accesobitacora_pst"].ToString());
                strBuilder.Append("' onclick='ms(this)' ondblclick='aceptarClick(this.rowIndex)' onmouseover='TTip(event)'>");
                strBuilder.Append("<td><span class='NBR' style='width:380px;'>" + HttpUtility.HtmlEncode(dr["nom_pt"].ToString()) + "</span></td></tr>");
            }
            dr.Close();
            dr.Dispose();
            strBuilder.Append("</tbody>");
            strBuilder.Append("</table></div>");

            sResul = "OK@#@" + strBuilder.ToString();
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex);
        }
        return(sResul);
    }
Beispiel #6
0
    private string ObtenerPTs(string sTipoBusqueda, string strNomPT)
    {
        string        sResul = "";//sPermiso
        SqlDataReader dr;
        int           nPE;

        try
        {
            StringBuilder strBuilder = new StringBuilder();
            int           iUser      = (int)Session["UsuarioActual"];
            strBuilder.Append("<div style='background-image:url(../../../../Images/imgFT16.gif); width:596px;'>");
            strBuilder.Append("<table id='tblDatos' class='texto MA' style='width: 596px;'>");
            strBuilder.Append("<colgroup><col style='width=296px;'><col style='width=300px;'></colgroup>");
            strBuilder.Append("<tbody>");
            //dr = ProyTec.CatalogoBitacora(null, iUser, strNomPT, sTipoBusqueda);
            dr = ProyTec.Catalogo(null, strNomPT, null, iUser, sTipoBusqueda);
            while (dr.Read())
            {
                nPE = int.Parse(dr["cod_pe"].ToString());
                strBuilder.Append("<tr id='" + dr["cod_pt"].ToString() + "' onclick='ms(this)' ondblclick='aceptarClick(this.rowIndex)' style='height:16px;' ");
                strBuilder.Append("des='" + dr["nom_pt"].ToString() + "' ");
                strBuilder.Append("idT305PE='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                strBuilder.Append("idPE='" + dr["cod_pe"].ToString() + "' ");
                strBuilder.Append("desPE='" + dr["nom_pe"].ToString() + "' ");
                strBuilder.Append("est='" + dr["t301_estado"].ToString() + "' ");
                strBuilder.Append("une='" + dr["cod_une"].ToString() + "' ");
                //strBuilder.Append("sAccesoBitacoraPT='" + dr["t331_acceso_iap"].ToString() + "' ");
                strBuilder.Append("sAccesoBitacoraT='E' ");
                strBuilder.Append("desune='" + dr["t303_denominacion"].ToString() + "'>");
                strBuilder.Append("<td style='padding-left:5px;'>" + nPE.ToString("#,###") + " " + dr["nom_pe"].ToString() + "</td>");
                strBuilder.Append("<td style='padding-left:5px;'>" + HttpUtility.HtmlEncode(dr["nom_pt"].ToString()) + "</td></tr>");
            }
            dr.Close();
            dr.Dispose();
            strBuilder.Append("</tbody>");
            strBuilder.Append("</table></div>");

            sResul = "OK@#@" + strBuilder.ToString();
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex);
        }
        return(sResul);
    }
Beispiel #7
0
        public static void Borrar(SqlTransaction tr, string sTipo, int iCodigo)
        {
            switch (sTipo)
            {
            case "P": ProyTec.Eliminar(tr, iCodigo); break;

            case "F": BorrarFase(tr, iCodigo); break;

            case "A": BorrarActividad(tr, iCodigo); break;

            case "T": TAREAPSP.Delete(tr, iCodigo); break;

            case "HT": BorrarHito(tr, iCodigo); break;

            case "HM": BorrarHito(tr, iCodigo); break;

            case "HF": BorrarHitoPE(tr, iCodigo); break;
            }
            return;
        }
    private string buscarPT(string t331_idpt)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            ProyTec o = ProyTec.Obtener(int.Parse(t331_idpt));
            if (o.t331_idpt.ToString() != "")
            {
                sb.Append(o.t305_idproyectosubnodo.ToString() + "@#@");
                sb.Append(o.num_proyecto.ToString() + "@#@");
                sb.Append(o.nom_proyecto + "@#@");
                sb.Append(o.t331_despt);
            }

            return("OK@#@" + sb.ToString());;
        }
        catch (Exception ex)
        {
            return("AVISO@#@El proyecto técnico no existe o no está bajo tu ámbito de visión");
        }
    }
    private string ObtenerPTs(string sPSN)
    {
        string        sResul = "", sDesPT;
        int           nPSN;
        SqlDataReader dr;

        try
        {
            StringBuilder sb    = new StringBuilder();
            int           iUser = (int)Session["UsuarioActual"];
            sb.Append("<table id='tblPTs' class='texto MA' style='width:305px; text-align:left;'>");
            sb.Append("<tbody>");
            if (sPSN != "")
            {
                nPSN = int.Parse(sPSN);
                dr   = ProyTec.CatalogoBitacora(nPSN, iUser, "", "C");
                while (dr.Read())
                {
                    sDesPT = HttpUtility.HtmlEncode(dr["nom_pt"].ToString());
                    sb.Append("<tr id='" + dr["cod_pt"].ToString() + "' aIAP='" + dr["t331_acceso_iap"].ToString() + "'");
                    sb.Append(" style='height:16px;' onclick='ms(this)' ondblclick='bitacoraPT(this.rowIndex)'>");
                    sb.Append("<td><nobr class='NBR W300' style='padding-left:3px;'>" + HttpUtility.HtmlEncode(dr["nom_pt"].ToString()) + "</nobr>");
                    sb.Append("</td></tr>");
                }
                dr.Close();
                dr.Dispose();
            }
            sb.Append("</tbody>");
            sb.Append("</table>");
            strTablaHtmlPTs = sb.ToString();
            sResul          = "@#@" + strTablaHtmlPTs;
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex);
        }
        return(sResul);
    }
Beispiel #10
0
    private string ObtenerPTs(string sTipoBusqueda, string sPSN, string strNomPT)
    {
        string        sResul = "";//sPermiso
        int?          nPSN   = null;
        SqlDataReader dr;

        try
        {
            StringBuilder strBuilder = new StringBuilder();
            int           iUser      = (int)Session["UsuarioActual"];
            if (sPSN != "")
            {
                nPSN = int.Parse(sPSN);
            }
            strBuilder.Append("<div style='background-image:url(../../../Images/imgFT18.gif);width:396px'>");
            strBuilder.Append("<table id='tblDatos' class='texto MA' style='width: 396px;'>");
            strBuilder.Append("<colgroup><col style='width:396px;'></colgroup>");
            strBuilder.Append("<tbody>");
            dr = ProyTec.Catalogo(null, strNomPT, nPSN, iUser, sTipoBusqueda);
            while (dr.Read())
            {
                strBuilder.Append("<tr id='" + dr["cod_pt"].ToString() + "' onclick=\"ms(this)\" ondblclick=\"aceptarClick(this.rowIndex)\" >");
                strBuilder.Append("<td>" + dr["nom_pt"].ToString() + "</td></tr>");
            }
            dr.Close();
            dr.Dispose();
            strBuilder.Append("</tbody>");
            strBuilder.Append("</table></div>");

            sResul = "OK@#@" + strBuilder.ToString();
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los proyectos técnicos", ex);
        }
        return(sResul);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            if (Session["IDRED"] == null)
            {
                try
                {
                    Response.Redirect("~/SesionCaducadaModal.aspx", true);
                }
                catch (System.Threading.ThreadAbortException) { return; }
            }
            if (!Page.IsPostBack)
            {
                try
                {
                    LimpiarDatos();
                    //origen
                    if (Request.QueryString["o"] != null)
                    {
                        sOrigen = Utilidades.decodpar(Request.QueryString["o"].ToString());
                    }
                    //sAccBitacoraPT
                    if (Request.QueryString["b"] != null)
                    {
                        sAccesoBitacoraPT = Utilidades.decodpar(Request.QueryString["b"].ToString());
                    }
                    //if (Request.QueryString["sAccBitacora"] != null)
                    //    sAccBitacora = Request.QueryString["sAccBitacora"].ToString();
                    if (Request.QueryString["psn"] != null)
                    {
                        nPSN = int.Parse(Utilidades.decodpar(Request.QueryString["psn"].ToString()));
                    }
                    else
                    {
                        if (Session["ID_PROYECTOSUBNODO"].ToString() != "")
                        {
                            nPSN = int.Parse(Session["ID_PROYECTOSUBNODO"].ToString());
                        }
                    }
                    //Código de proyecto técnico
                    if (Request.QueryString["pt"] != null)
                    {
                        this.txtIdPT.Text  = Utilidades.decodpar(Request.QueryString["pt"].ToString());
                        this.txtDesPT.Text = Utilidades.decodpar(Request.QueryString["npt"].ToString());
                        ProyTec oPT = ProyTec.Obtener(int.Parse(this.txtIdPT.Text));
                        nPSN = oPT.t305_idproyectosubnodo;
                    }
                    if (nPSN > -1)
                    {
                        this.hdnT305IdProy.Value = nPSN.ToString();
                        string        sModoAcceso = PROYECTOSUBNODO.getAcceso(null, nPSN, (int)Session["UsuarioActual"]);
                        SqlDataReader dr          = PROYECTO.fgGetDatosProy(nPSN);
                        if (dr.Read())
                        {
                            //sAccesoBitacoraPT = dr["t305_accesobitacora_pst"].ToString();
                            if (sAccesoBitacoraPT != "X")
                            {
                                this.txtEstado.Text  = dr["t301_estado"].ToString();
                                this.txtNomProy.Text = dr["t301_denominacion"].ToString();
                                this.txtCodProy.Text = int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###");
                                if (sModoAcceso == "R")
                                {
                                    sAccesoBitacoraPT = "L";
                                }
                                else
                                {
                                    if (this.txtEstado.Text == "C" || this.txtEstado.Text == "H")
                                    {
                                        sAccesoBitacoraPT = "L";
                                    }
                                }
                            }
                        }
                        dr.Close();
                        dr.Dispose();
                        switch (this.txtEstado.Text)
                        {
                        case "A":
                            imgEstProy.ImageUrl = "~/images/imgIconoProyAbierto.gif";
                            imgEstProy.Attributes.Add("title", "Proyecto abierto");
                            break;

                        case "C":
                            imgEstProy.ImageUrl = "~/images/imgIconoProyCerrado.gif";
                            imgEstProy.Attributes.Add("title", "Proyecto cerrado");
                            break;

                        case "P":
                            imgEstProy.ImageUrl = "~/images/imgIconoProyPresup.gif";
                            imgEstProy.Attributes.Add("title", "Proyecto presupuestado");
                            break;

                        case "H":
                            imgEstProy.ImageUrl = "~/images/imgIconoProyHistorico.gif";
                            imgEstProy.Attributes.Add("title", "Proyecto histórico");
                            break;
                        }
                        if (sAccesoBitacoraPT != "X" && this.txtIdPT.Text != "")
                        {
                            //ObtenerDatosAsunto(int.Parse(quitaPuntos(this.txtIdPT.Text)));
                            obtenerAsuntos(quitaPuntos(this.txtIdPT.Text), "8", "0", 0, 0);
                            ObtenerDatosTs(int.Parse(this.txtIdPT.Text));
                        }
                    }
                    //Relleno el combo de tipo de asunto
                    this.cboTipo.DataValueField = "t384_idtipo";
                    this.cboTipo.DataTextField  = "t384_destipo";
                    this.cboTipo.DataSource     = TIPOASUNTO.Catalogo("", null, null, 3, 0);
                    this.cboTipo.DataBind();
                }
                catch (Exception ex)
                {
                    sErrores = Errores.mostrarError("Error al obtener los datos", ex);
                }
            }

            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";

            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }
Beispiel #12
0
        public static void Modificar(SqlTransaction tr, int iCodUne, int iNumProy, string sTipo, string sDesc,
                                     int iPT, int iFase, int iActiv, int iTarea, int iHito, int iMargen, int iOrden,
                                     string sFIniPL, string sFfinPl, double fDuracion, string sFIniV, string sFfinV,
                                     decimal fPresup, bool bFacturable, string sSituacion, decimal fAvance, Nullable <byte> iAvanceAuto)
        {
            //bool bEstadoTarea = false;
            byte iEstado;

            sDesc = Utilidades.unescape(sDesc);
            switch (sTipo)
            {
            case "P":
                if (sSituacion == "")
                {
                    iEstado = 1;
                }
                else
                {
                    iEstado = byte.Parse(sSituacion);
                }
                //por peticion de Victor el control de AE obligatorios solo se realizará en el caso de inserción
                //Compruebo si el CR tiene atributos estadisticos obligatorios
                //bEstadoTarea = ProyTec.bFaltanValoresAE(tr, (short)iCodUne, iPT);
                //if (bEstadoTarea)
                //{
                //    iEstado = 2;
                //    ProyTec.Modificar(tr, iPT, sDesc, iOrden,iEstado);
                //}
                //else//el estado lo dejo como estuviera
                ProyTec.Modificar(tr, iPT, sDesc, iOrden, iEstado, fPresup, fAvance, iAvanceAuto);
                break;

            case "F": ModificarFase(tr, iFase, sDesc, iOrden, fPresup, fAvance, iAvanceAuto); break;

            case "A": ModificarActividad(tr, iActiv, iFase, sDesc, iOrden, fPresup, fAvance, iAvanceAuto); break;

            case "T":
                int iUsuario = int.Parse(HttpContext.Current.Session["UsuarioActual"].ToString());
                if (sSituacion == "")
                {
                    iEstado = 1;
                }
                else
                {
                    iEstado = byte.Parse(sSituacion);
                }
                //por peticion de Victor el control de AE obligatorios solo se realizará en el caso de inserción
                //Compruebo si el CR tiene atributos estadisticos obligatorios
                //bEstadoTarea = TAREAPSP.bFaltanValoresAE(tr, (short)iCodUne, iTarea);
                //if (bEstadoTarea)
                //{
                //    iEstado = 2;
                //    TAREAPSP.Modificar(tr, iTarea, sDesc, iPT, iActiv, iOrden, sFIniPL, sFfinPl, fDuracion, sFIniV, sFfinV,
                //                        iUsuario, fPresup, iEstado);
                //}
                //else//el estado lo dejo como estuviera
                TAREAPSP.Modificar(tr, iTarea, sDesc, iPT, iActiv, iOrden, sFIniPL, sFfinPl, fDuracion, sFIniV, sFfinV,
                                   iUsuario, fPresup, iEstado, bFacturable);
                break;

            case "HT":
                ModificarHito(tr, iHito, sDesc, iOrden, iMargen);
                break;

            case "HF":
                ModificarHitoPE(tr, iHito, sDesc, iOrden, sFIniPL);
                break;

            case "HM":
                ModificarHito(tr, iHito, sDesc, iOrden, iMargen);
                break;
            }
        }
Beispiel #13
0
        public static string Insertar(SqlTransaction tr, int iCodUne, int iNumProy, int it305_IdProy,
                                      string sTipo, string sDesc, int iPT, int iFase, int iActiv, int iMargen, int iOrden,
                                      string sFIniPL, string sFfinPl, double fDuracion, string sFIniV, string sFfinV,
                                      decimal fPresup, bool bFacturable, bool bObligaEst, bool bAvanceAutomatico,
                                      string sSituacion, string sObs, decimal fAvance)
        {
            int  nResul = 0;
            byte iEstado;
            //bool bEstadoTarea = false;
            string sAviso = "";

            sDesc = Utilidades.unescape(sDesc);
            sObs  = Utilidades.unescape(sObs);
            switch (sTipo)
            {
            case "P":
                //Compruebo si el CR tiene atributos estadisticos obligatorios
                if (sSituacion == "")
                {
                    iEstado = 1;
                }
                else
                {
                    iEstado = byte.Parse(sSituacion);
                }
                //bEstadoTarea = ProyTec.bFaltanValoresAE(tr, (short)iCodUne, null);
                //if (bEstadoTarea) iEstado = 2;
                //else iEstado = 1;
                //if (bEstadoTarea) sAviso = "Se han insertado proyectos técnicos que quedan en estado Pendiente ya que el C.R. tiene atributos estadísticos\nobligatorios para los que el proyecto técnico no tiene valores asignados";
                nResul = ProyTec.Insert(tr, sDesc, it305_IdProy, iEstado, bObligaEst, (short)iOrden, null, sObs, false, false, "X", fPresup, fAvance, bAvanceAutomatico, "");
                break;

            case "F": nResul = InsertarFase(tr, sDesc, iOrden, sObs, fPresup, fAvance, bAvanceAutomatico); break;

            case "A": nResul = InsertarActividad(tr, iFase, sDesc, iOrden, sObs, fPresup, fAvance, bAvanceAutomatico); break;

            case "T":
                //Compruebo si el CR tiene atributos estadisticos obligatorios
                if (sSituacion == "")
                {
                    iEstado = 1;
                }
                else
                {
                    iEstado = byte.Parse(sSituacion);
                }
                //bEstadoTarea = TAREAPSP.bFaltanValoresAE(tr, (short)iCodUne, null);
                //if (bEstadoTarea) iEstado = 2;
                //else iEstado = 1;
                //if (bEstadoTarea) sAviso = "Se han insertado tareas que quedan en estado Pendiente ya que el C.R. tiene atributos estadísticos\nobligatorios para los que la tarea no tiene valores asignados";
                nResul = TAREAPSP.Insertar(tr, sDesc, iPT, iActiv, iOrden, sFIniPL, sFfinPl, fDuracion, sFIniV, sFfinV, fPresup,
                                           iEstado, bFacturable, bAvanceAutomatico, sObs);
                //Asocio los recursos del Proy. Economico a la tarea
                //el 04/12/2006 comenta Andoni que la herencia se realizará por trigger por lo que quitamos el código
                //if (nResul > 0)
                //{
                //    TAREAPSP.HeredarRecursos(tr, (short)iCodUne, iNumProy, nResul, sFfinPl);
                //}
                break;

            case "HM":
            case "HT":
                nResul = InsertarHito(tr, sDesc, iMargen, iOrden, it305_IdProy);
                break;

            case "HF":
                //nResul = InsertarHitoPE(tr, iCodUne, iNumProy, sDesc, sFIniPL, iOrden);
                nResul = InsertarHitoPE(tr, it305_IdProy, sDesc, sFIniPL, iOrden, sObs);
                break;
            }
            return(nResul.ToString() + "##" + sAviso);
        }
    private string PonerRecurso(bool bSoloAsignadas, bool bSoloActivas, int iRecursoOrigen, string sTipoItem, int IdRecurso, int IdItem,
                                string sHaciaProy, int IdNodo, int iUltCierreEco, int IdPsn, bool bNotifProf)
    {
        SqlConnection  oConn = null;
        SqlTransaction tr = null;
        string         sResul = "";
        bool           bAdmiteRecursoPST, bRecursoAsignado = false;

        try
        {
            if (sHaciaProy == "S")
            {
                bAdmiteRecursoPST = true;
            }
            else
            {
                bAdmiteRecursoPST = false;
            }
            //Abro transaccion
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);

            switch (sTipoItem)
            {
            case "E":
                PROYECTOSUBNODO.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null,
                                                         -1, "", false, bAdmiteRecursoPST, IdNodo, iUltCierreEco);
                break;

            case "P":
                ProyTec.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null, -1, "", false, bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco);
                break;

            case "F":
                FASEPSP.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null, -1, "", false, bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco);
                break;

            case "A":
                ACTIVIDADPSP.AsignarTareasProfesional(tr, bSoloAsignadas, bSoloActivas, iRecursoOrigen, IdItem, IdRecurso, null, null, -1, "", false, bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco);
                break;

            case "T":
                //iNumAsig = TareaRecurso.InsertarSNE(tr, IdItem, IdRecurso, null, null, null, null, null, null, 1, null, "", false);
                bRecursoAsignado = TareaRecurso.InsertarTEC(tr, IdItem, IdRecurso, null, null, null, null, null, null, 1, null, "", false,
                                                            bAdmiteRecursoPST, IdPsn, IdNodo, iUltCierreEco);
                if (bNotifProf && bRecursoAsignado)    //se notifica a profesionales y no estaba ya asignado a la tarea
                {
                    TAREAPSP oTar  = TAREAPSP.Obtener(null, IdItem);
                    TAREAPSP oTar2 = TAREAPSP.ObtenerOTC(null, IdItem);
                    string   oRec  = "##" + IdItem.ToString() + "##" + IdRecurso.ToString() + "################";
                    oRec += Utilidades.escape(oTar.t332_destarea) + "##";
                    oRec += oTar.num_proyecto.ToString() + "##" + Utilidades.escape(oTar.nom_proyecto) + "##";
                    oRec += Utilidades.escape(oTar.t331_despt) + "##" + Utilidades.escape(oTar.t334_desfase) + "##" + Utilidades.escape(oTar.t335_desactividad) + "##";
                    oRec += Utilidades.escape(oTar2.t346_codpst) + "##" + Utilidades.escape(oTar2.t346_despst) + "##";
                    oRec += Utilidades.escape(oTar.t332_otl) + "##" + Utilidades.escape(oTar.t332_incidencia) + "##";

                    TareaRecurso.EnviarCorreoRecurso(tr, "I", oRec, "", "", "", "", Utilidades.escape(oTar.t332_mensaje));
                }
                break;
            }
            //if (sHaciaProy == "S")
            //{
            //    if (!TareaRecurso.AsociadoAProyecto(tr, IdPsn, IdRecurso))
            //    {//lA FECHA DE alta en el proyecto será la siguiente al último mes cerrado del nodo
            //        DateTime dtFechaAlta = Fechas.AnnomesAFecha(Fechas.AddAnnomes(iUltCierreEco, 1));
            //        TareaRecurso.AsociarAProyecto(tr, IdNodo, IdRecurso, IdPsn, null, dtFechaAlta, null);
            //    }
            //    else
            //        TareaRecurso.ReAsociarAProyecto(tr, IdRecurso, IdPsn);
            //}
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = Errores.mostrarError("Error al grabar", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            if (Session["IDRED"] == null)
            {
                try
                {
                    Response.Redirect("~/SesionCaducadaModal.aspx", true);
                }
                catch (System.Threading.ThreadAbortException) { return; }
            }
            //if (!(bool)Session["FORANEOS"])
            //{
            //    this.imgForaneo.Visible = false;
            //    this.lblForaneo.Visible = false;
            //}
            sErrores         = "";
            sLectura         = "false";
            sNodo            = Estructura.getDefCorta(Estructura.sTipoElem.NODO);
            nIdAccion        = int.Parse(Utilidades.decodpar(Request.QueryString["a"].ToString())); //nIdAccion
            txtIdAsunto.Text = Utilidades.decodpar(Request.QueryString["as"].ToString());           //idAsunto
            //txtDesAsunto.Text = Utilidades.unescape(Request.QueryString["desAsunto"].ToString());
            ASUNTO_PT oAsto = ASUNTO_PT.Select(null, int.Parse(txtIdAsunto.Text));
            txtDesAsunto.Text   = oAsto.t409_desasunto;
            this.hdnAcceso.Text = Utilidades.decodpar(Request.QueryString["p"].ToString());//Permiso
            nIdPE = int.Parse(quitaPuntos(Request.QueryString["nPE"].ToString()));
            this.hdnDesPE.Text = Request.QueryString["desPE"].ToString();
            nIdPT = int.Parse(quitaPuntos(Utilidades.decodpar(Request.QueryString["nPT"].ToString())));
            this.hdnDesPT.Text         = Request.QueryString["desPT"].ToString();
            this.txtIdResponsable.Text = oAsto.t409_responsable.ToString();
            if (Request.QueryString["sIdResp"] != null && Request.QueryString["sIdResp"] != "undefined")
            {
                if (Request.QueryString["sIdResp"] != "")
                {
                    this.txtIdResponsable.Text = Utilidades.decodpar(Request.QueryString["r"].ToString());//sIdResp
                }
            }
            this.hdnNodo.Value = ProyTec.GetNodo(tr, nIdPT).ToString();
            try
            {
                Utilidades.SetEventosFecha(this.txtValLim);
                Utilidades.SetEventosFecha(this.txtValFin);

                ObtenerDatosAccion();
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al obtener los datos de la acción", ex);
            }
            try
            {
                //Datos de las personas asignadas a la acción
                string   strTabla  = ObtenerRecursos(nIdAccion.ToString(), this.hdnNodo.Value);
                string[] aRecursos = Regex.Split(strTabla, "@#@");
                if (aRecursos[0] == "OK")
                {
                    divR.InnerHtml = aRecursos[1];
                }

                //Datos de las tareas asignadas a la acción
                strTabla = ObtenerTareas(nIdAccion.ToString());
                string[] aTareas = Regex.Split(strTabla, "@#@");
                if (aTareas[0] == "OK")
                {
                    divH.InnerHtml = aTareas[1];
                }

                //Datos de los documentos asociados a la acción
                //strTabla = ObtenerDocumentos(nIdAccion.ToString());
                //string[] aTabla = Regex.Split(strTabla, "@#@");
                //if (aTabla[0] == "OK") divDoc.InnerHtml = aTabla[1];
                string sEstado = PROYECTO.getEstado(null, nIdPE);
                divDoc.InnerHtml = Utilidades.ObtenerDocumentos("AC_PT", nIdAccion, this.hdnAcceso.Text, sEstado);
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al obtener datos complementarios", ex);
            }

            this.hdnAcceso.Text = Request.QueryString["p"].ToString();//Permiso
            if (this.hdnAcceso.Text == "R")
            {
                ModoLectura.Poner(this.Controls);
                sLectura = "true";
            }
            //1º Se indican (por este orden) la función a la que se va a devolver el resultado
            //   y la función que va a acceder al servidor
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
            //2º Se "registra" la función que va a acceder al servidor.
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }
Beispiel #16
0
        /// <summary>
        /// Genera la estructura técnica de un proyecto en SUPER, sobre un proyecto ya existente
        /// Se borran los item que están en SUPER y no están en OpenProj (salvo que tengan consumos)
        /// Si el ítem es nuevo en OpenProj - > se inserta en SUPER
        /// Si el ítem tiene codigo (<Numero1></Numero1>) se updatea en SUPER
        /// </summary>
        private string Importar(bool bBorrarEstructura)
        {
            StringBuilder  sb = new StringBuilder();
            int            idPSN = -1, iMargen = 0, iCodUne = -1, iNumProy = -1, iPos, iAux;
            int            iPT = -1, iFase = -1, iActiv = -1, iTarea = -1, iHito = -1, iOrden = 1;
            string         sSituacion = "1", sAux, sTipo, sCodSuperItem = "", sNota = "", sAccion = "", sTaskUID = "", sCodTarea = "";//sMargen = "0",
            string         sFIPL = "", sFFPL = "", sFFPR = "", sWorkTarea = "", sListaTareas = "", sListaRecursos = "", sDenTarea = "", sCodUser = "";
            string         sMensError = "";
            bool           bFacturable, bHayQueUpdatear = false;//, bEsHito = false
            decimal        dETPL = 0, dETPR = 0;
            DateTime?      dtFIPL = null;
            DateTime?      dtFFPL = null;
            SqlConnection  oConn  = null;
            SqlTransaction tr     = null;

            sListaTareas   = this.hdnTareas.Value;
            sListaRecursos = this.hdnRecursos.Value;
            htTareas       = new Hashtable();

            #region Abro transaccion
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccion(oConn);
            }
            catch (Exception ex)
            {
                return("Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex));
            }
            #endregion
            idPSN = int.Parse(this.hdnPSN.Value);

            try
            {
                iCodUne = PROYECTOSUBNODO.GetNodo(tr, idPSN);
                if (bBorrarEstructura)
                {
                    if (PROYECTOSUBNODO.TieneConsumos(tr, idPSN))
                    {
                        Conexion.CerrarTransaccion(tr);
                        return("Error@#@El proyecto tiene consumos. No se puede eliminar la estructura actual.");
                    }
                    else
                    {
                        EstrProy.BorrarEstructura(tr, idPSN);
                    }
                }
                else
                {
                    //Vamos a meter lo que importamos debajo de lo que ya existe. Para ello obtenemos el mayor orden de los PT existentes
                    iOrden = ProyTec.GetMaxOrden(tr, idPSN) + 1;
                }
                bFacturable = PROYECTOSUBNODO.GetFacturable(tr, idPSN);

                #region Inserto y/o updateo los items del proyecto
                string[] aTareas = Regex.Split(sListaTareas, @"/#/");
                for (int i = 0; i < aTareas.Length - 1; i++)
                {
                    string[] aElem = Regex.Split(aTareas[i], @"#@#");
                    #region recojo datos del XML

                    /*
                     * aElem[0]: sTipo + "##";
                     * aElem[1]: UID + "##";
                     * aElem[2]: sMargen + "##";
                     * aElem[3]: DENOMINACION + "##";
                     * aElem[4]: ETPL + "##";
                     * aElem[5]: FIPL + "##";
                     * aElem[6]: FFPL + "##";
                     * aElem[7]: ETPR + "##";
                     * aElem[8]: FFPR + "##";
                     * aElem[9]: NOTAS + "##";
                     */
                    sTipo     = aElem[0];
                    sTaskUID  = aElem[1];
                    iMargen   = int.Parse(aElem[2]);
                    sDenTarea = aElem[3];
                    dETPL     = decimal.Parse(aElem[4]);
                    dETPR     = decimal.Parse(aElem[7]);
                    sFIPL     = aElem[5];
                    sFFPL     = aElem[6];
                    sFFPR     = aElem[8];
                    sNota     = aElem[9];
                    #endregion

                    #region Cálculo de códigos padre
                    switch (sTipo)
                    {
                    case "P":
                        iFase  = -1;
                        iActiv = -1;
                        break;

                    case "F":
                        iActiv = -1;
                        break;

                    case "A":
                        if (iMargen != 40)
                        {
                            iFase = -1;
                        }
                        break;

                    case "T":
                        if (iMargen == 40)
                        {
                            iFase = -1;
                        }
                        else
                        if (iMargen != 60)
                        {
                            iFase = -1; iActiv = -1;
                        }
                        break;
                        //case "HT":
                        //case "HF":
                        //case "HM":
                        //    iHito = int.Parse(aElem[7]);
                        //    if (sEstado == "D") sCadenaBorrado += sTipo + "@#@" + iHito.ToString() + @"##";//hito
                        //    break;
                    }
                    #endregion

                    #region Inserto o updateo el item de la estructura en BBDD
                    if (sCodSuperItem == "" || bBorrarEstructura)
                    {
                        sAccion = "I";
                    }
                    else
                    {
                        if (sCodSuperItem == "0.0" || sCodSuperItem == "0,0")
                        {
                            sAccion = "I";
                        }
                        else
                        {
                            sAccion = "U";
                            //El item esta en OpenProj -> marco en la hashtable para que no lo borre
                            #region obtención del código del elemento updateado
                            sAux = sCodSuperItem.Replace(",", ".");
                            iAux = int.Parse(sAux);
                            ItemsProyecto oItemAux = new ItemsProyecto();
                            switch (sTipo)
                            {
                            case "P":
                                iPT             = iAux;
                                oItemAux        = (ItemsProyecto)htPTs[iPT];
                                oItemAux.borrar = false;
                                htPTs[iPT]      = oItemAux;
                                break;

                            case "F":
                                iFase           = iAux;
                                oItemAux        = (ItemsProyecto)htFs[iFase];
                                oItemAux.borrar = false;
                                htFs[iFase]     = oItemAux;
                                break;

                            case "A":
                                iActiv          = iAux;
                                oItemAux        = (ItemsProyecto)htAs[iActiv];
                                oItemAux.borrar = false;
                                htAs[iActiv]    = oItemAux;
                                break;

                            case "T":
                                iTarea          = iAux;
                                oItemAux        = (ItemsProyecto)htItems[iTarea];
                                oItemAux.borrar = false;
                                htItems[iTarea] = oItemAux;
                                break;

                            case "HF":
                                iHito           = iAux;
                                oItemAux        = (ItemsProyecto)htHFs[iHito];
                                oItemAux.borrar = false;
                                htHFs[iHito]    = oItemAux;
                                break;
                            }
                            //if (sTipo.Substring(0, 1) == "H")
                            //{
                            //    AsociarTareasHitos(tr, iT305IdProy, iPT, iFase, iActiv, iTarea, iHito, iMargen);
                            //}
                            #endregion
                        }
                    }
                    if (sAccion == "I")
                    {
                        sAux = OpenProj.Insertar(tr, iCodUne, iNumProy, idPSN, sTipo, sDenTarea, iPT, iFase, iActiv, iMargen, iOrden,
                                                 sFIPL, sFFPL, dETPL, sFFPR, dETPR, Fechas.primerDiaMes(DateTime.Now).ToShortDateString(), "",
                                                 0, bFacturable, false, true, sSituacion, sNota, 0
                                                 );
                        #region obtención del código del elemento grabado
                        iPos = sAux.IndexOf("##");
                        iAux = int.Parse(sAux.Substring(0, iPos));
                        switch (sTipo)
                        {
                        case "P":
                            iPT = iAux;
                            break;

                        case "F":
                            iFase = iAux;
                            break;

                        case "A":
                            iActiv = iAux;
                            break;

                        case "T":
                            iTarea = iAux;
                            htTareas.Add(sTaskUID, iTarea.ToString());
                            break;
                            //case "HT":
                            //    iHito = iAux;
                            //    break;
                        }
                        //if (sTipo.Substring(0, 1) == "H")
                        //{
                        //    AsociarTareasHitos(tr, iT305IdProy, iPT, iFase, iActiv, iTarea, iHito, iMargen);
                        //}
                        #endregion
                    }
                    else
                    {//Hay que updatear el item (si hay algún cambio)
                        bHayQueUpdatear = false;

                        #region Mira si hay algún datos distinto para ver si hay que updatear el registro en la BBDD
                        ItemsProyecto oItem = new ItemsProyecto();
                        switch (sTipo)
                        {
                        case "T":
                            oItem = (ItemsProyecto)htItems[iTarea];
                            break;

                        case "P":
                            oItem = (ItemsProyecto)htPTs[iPT];
                            break;

                        case "F":
                            oItem = (ItemsProyecto)htFs[iFase];
                            break;

                        case "A":
                            oItem = (ItemsProyecto)htAs[iActiv];
                            break;

                        case "HF":
                            oItem = (ItemsProyecto)htHFs[iHito];
                            break;
                        }
                        if (oItem.nombre != sDenTarea)
                        {
                            bHayQueUpdatear = true;
                        }
                        else
                        {
                            if (oItem.descripcion != sNota)
                            {
                                bHayQueUpdatear = true;
                            }
                            else
                            {
                                if (sTipo == "T")
                                {
                                    if (oItem.PRIMER_CONSUMO.Substring(0, 10) != sFIPL)
                                    {
                                        bHayQueUpdatear = true;
                                    }
                                    else
                                    {
                                        if (oItem.FFPR.Substring(0, 10) != sFFPR)
                                        {
                                            bHayQueUpdatear = true;
                                        }
                                        else
                                        {
                                            if (oItem.ETPR != dETPR)
                                            {
                                                bHayQueUpdatear = true;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        #endregion

                        if (bHayQueUpdatear)
                        {
                            OpenProj.Modificar(tr, iCodUne, idPSN, sTipo, sDenTarea, iPT, iFase, iActiv, iTarea, iHito,
                                               iMargen, iOrden, sFIPL, sFFPL, dETPL, sNota);
                        }
                    }
                    iOrden++;
                    #endregion
                }
                #endregion

                #region Si hay recursos con nº empleado SUPER y con asignación a tarea, los meto
                bool     bAux      = false;
                string[] aRecursos = Regex.Split(sListaRecursos, @"/#/");
                for (int i = 0; i < aRecursos.Length - 1; i++)
                {
                    string[] aElem = Regex.Split(aRecursos[i], @"#@#");
                    //Recojo el código SUPER del recurso en la tarea
                    sTaskUID   = aElem[0];
                    sCodUser   = aElem[1];
                    sWorkTarea = aElem[2];
                    sFIPL      = aElem[3];
                    sFFPL      = aElem[4];
                    if (sFIPL != "")
                    {
                        dtFIPL = DateTime.Parse(sFIPL);
                    }
                    if (sFFPL != "")
                    {
                        dtFFPL = DateTime.Parse(sFFPL);
                    }
                    if (sCodUser != "")
                    {
                        sCodTarea = htTareas[sTaskUID].ToString();
                        if (sCodTarea != "" && sWorkTarea != "")
                        {
                            bAux = TareaRecurso.InsertarTEC(tr, int.Parse(sCodTarea), int.Parse(sCodUser), null, null,
                                                            double.Parse(sWorkTarea), dtFIPL, dtFFPL,
                                                            null, 1, "", "", true, true, idPSN, -1, -1);
                            if (!bAux)
                            {
                                sMensError += "Por restricciones del proyecto no es posible asignar el empleado " + sCodUser + " a la tarea " + sCodTarea + "\n";
                            }
                            TareaRecurso.UpdateEsfuerzo(tr, int.Parse(sCodTarea), int.Parse(sCodUser), null, double.Parse(sWorkTarea),
                                                        dtFIPL, dtFFPL, null, 1);
                        }
                    }
                }
                #endregion

                #region borro los items que estando en SUPER no están en OpenProj (si es tarea que no tenga consumo)
                //if (!bBorrarEstructura)
                //{
                //    ItemsProyecto oItemD = new ItemsProyecto();
                //    //Borrado de Proyectos Técnicos
                //    foreach (DictionaryEntry item in htPTs)
                //    {
                //        oItemD = (ItemsProyecto)item.Value;
                //        if (oItemD.borrar)
                //            ProyTec.Eliminar(tr, oItemD.codPT);
                //    }
                //    //Borrado de Fases
                //    foreach (DictionaryEntry item in htFs)
                //    {
                //        oItemD = (ItemsProyecto)item.Value;
                //        if (oItemD.borrar)
                //            FASEPSP.Delete(tr, oItemD.codFase);
                //    }
                //    //Borrado de Actividades
                //    foreach (DictionaryEntry item in htAs)
                //    {
                //        oItemD = (ItemsProyecto)item.Value;
                //        if (oItemD.borrar)
                //            ACTIVIDADPSP.Delete(tr, oItemD.codActiv);
                //    }
                //    //Borrado de Hitos de fecha
                //    foreach (DictionaryEntry item in htHFs)
                //    {
                //        oItemD = (ItemsProyecto)item.Value;
                //        if (oItemD.borrar)
                //            HITOPSP.Delete(tr, "HF", oItemD.codTarea);
                //    }
                //    //Borrado de Tareas que no tengan consumos
                //    foreach (DictionaryEntry item in htItems)
                //    {
                //        oItemD = (ItemsProyecto)item.Value;
                //        if (oItemD.borrar)
                //        {
                //            if (oItemD.Consumido == 0)
                //                TAREAPSP.Delete(tr, oItemD.codTarea);
                //        }
                //    }
                //}
                #endregion

                //Cierro transaccion
                Conexion.CommitTransaccion(tr);
                if (sMensError == "")
                {
                    sMensError = "OK";
                }
                else
                {
                    sMensError = "OKMSG@#@" + sMensError;
                }
                return(sMensError);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                return(Errores.mostrarError("Error al cargar la estructura a partir del fichero XML", ex));
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }
        }
Beispiel #17
0
    private void ObtenerDatosAsunto()
    {
        //Relleno el combo de tipo de asunto
        this.cboTipo.DataValueField = "t384_idtipo";
        this.cboTipo.DataTextField  = "t384_destipo";
        this.cboTipo.DataSource     = TIPOASUNTO.Catalogo("", null, null, 3, 0);
        this.cboTipo.DataBind();

        if (nIdAsunto == -1)
        {
            txtValCre.Text             = DateTime.Now.ToShortDateString();
            txtValNotif.Text           = DateTime.Now.ToShortDateString();
            this.txtIdResponsable.Text = Session["NUM_EMPLEADO_ENTRADA"].ToString();
            this.txtResponsable.Text   = Session["APELLIDO1"].ToString() + " " + Session["APELLIDO2"].ToString() + ", " + Session["NOMBRE"].ToString();
            this.txtRegistrador.Text   = Session["APELLIDO1"].ToString() + " " + Session["APELLIDO2"].ToString() + ", " + Session["NOMBRE"].ToString();
        }
        else
        {
            ASUNTO_PT o = ASUNTO_PT.Select(tr, nIdAsunto);
            txtIdAsunto.Text    = o.t409_idasunto.ToString();
            txtDesAsunto.Text   = o.t409_desasunto;
            txtDescripcion.Text = o.t409_desasuntolong;
            this.txtEtp.Text    = o.t409_etp.ToString("N");
            this.txtEtr.Text    = o.t409_etr.ToString("N");
            if (o.t409_fcreacion.Year > 1900)
            {
                txtValCre.Text = o.t409_fcreacion.ToShortDateString();
            }
            if (o.t409_fnotificacion.Year > 1900)
            {
                txtValNotif.Text = o.t409_fnotificacion.ToShortDateString();
            }
            if (o.t409_flimite.Year > 1900)
            {
                txtValLim.Text = o.t409_flimite.ToShortDateString();
            }
            if (o.t409_ffin.Year > 1900)
            {
                txtValFin.Text = o.t409_ffin.ToShortDateString();
            }
            this.txtDpto.Text               = o.t409_dpto;
            this.txtAlerta.Text             = o.t409_alerta;
            this.txtObs.Text                = o.t409_obs;
            this.txtRefExt.Text             = o.t409_refexterna;
            this.txtSistema.Text            = o.t409_sistema;
            this.cboEstado.SelectedValue    = o.t409_estado.ToString();
            this.cboEstado.Text             = o.Estado;
            this.txtEstadoAnt.Text          = o.t409_estado.ToString();
            this.cboPrioridad.SelectedValue = o.t409_prioridad.ToString();
            this.cboPrioridad.Text          = o.Prioridad;
            this.cboSeveridad.SelectedValue = o.t409_severidad.ToString();
            this.cboSeveridad.Text          = o.Severidad;
            this.cboTipo.SelectedValue      = o.t384_idtipo.ToString();
            this.cboTipo.Text               = o.Tipo;
            this.txtNotificador.Text        = o.t409_notificador;
            this.txtIdResponsable.Text      = o.t409_responsable.ToString();
            this.txtResponsable.Text        = o.Responsable;
            this.txtRegistrador.Text        = o.Registrador;
        }

        ProyTec         oPT  = ProyTec.Obtener(nIdPT);
        PROYECTOSUBNODO oPSN = PROYECTOSUBNODO.Obtener(null, oPT.t305_idproyectosubnodo);

        if (oPSN.t305_opd)
        {
            lblNumero.Style.Add("display", "none");
            txtIdAsunto.Style.Add("display", "none");
            lblCreacion.Style.Add("visibility", "hidden");
            txtValCre.Style.Add("visibility", "hidden");
            tsPestanas.Items[1].Disabled = true;
        }
    }
    protected string Grabar(string strDatosTarea, string slTareas)
    {
        string sIdTarea, sEstado, sResul = "";
        int    nIdTarea, nIdPT, iUsuario;
        bool   bFaltanValoresAE = false, bPrimeraTarea = true;
        short  nOrden = 0, iCodUne;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            string[] aDatosTarea = Regex.Split(strDatosTarea, "##");
            ///aDatosTarea[0] = IDPT
            ///aDatosTarea[1] = ID Actividad
            ///aDatosTarea[2] = NodoActivo
            int?nAct = null;
            if ((aDatosTarea[1] != "") && (aDatosTarea[1] != "0"))
            {
                nAct = int.Parse(aDatosTarea[1]);
            }
            nIdPT    = int.Parse(aDatosTarea[0]);
            iUsuario = int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString());
            iCodUne  = short.Parse(aDatosTarea[2]);

            string[] aTarea = Regex.Split(slTareas, "##");
            for (int i = 0; i < aTarea.Length; i++)
            {
                if (aTarea[i] != "")
                {
                    string[] aTar = Regex.Split(aTarea[i], ";");
                    sIdTarea = aTar[0];
                    sEstado  = aTar[1];
                    if ((sIdTarea != "") && (sIdTarea != "0"))
                    {
                        nIdTarea = int.Parse(sIdTarea);
                        if (bPrimeraTarea)
                        {
                            nOrden        = TAREAPSP.flCalcularOrden2(null, nIdPT);
                            bPrimeraTarea = false;
                        }
                        else
                        {
                            nOrden++;
                        }
                        TAREAPSP.ModificarPadre(tr, nIdTarea, nIdPT, nAct, nOrden, iUsuario);
                        //Como he podido cambiar de PT hay que ver si tiene los AE del nuevo PT para calcular su estado
                        //Siempre que la tarea no esté FINALIZADA, CERRADA o ANULADA (Victor 14/02/2012)
                        if (sEstado != "3" && sEstado != "4" && sEstado != "5")
                        {
                            bFaltanValoresAE = ProyTec.bFaltanValoresAE(tr, iCodUne, nIdPT);
                            if (bFaltanValoresAE)
                            {
                                TAREAPSP.ModificarEstado(tr, nIdTarea, 2, iUsuario);//Paso a estado PENDIENTE
                            }
                        }
                    }
                }
            }
            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos de la tarea", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }