Пример #1
0
    private string Obtener(string sEstado, int iAnnoPIG, string sNaturalezas, string sProyectos)
    {
        string sResultado = "";

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

            string sProyectosPSN = PROYECTOSUBNODO.ObtenerProyectosSubnodo(sProyectos);

            if (sProyectosPSN == "")

            {
                sb.Append("<table id='tblDatos' class='texto MAM' style='WIDTH: 450px;'>" + (char)10);
                sb.Append("<colgroup>" + (char)10);
                sb.Append("<col style='width:20px' />");
                sb.Append("<col style='width:20px' />");
                sb.Append("<col style='width:20px' />");
                sb.Append("<col style='width:50px;' />");
                sb.Append("<col style='width:340px;' />");
                sb.Append("</colgroup>" + (char)10);
                sb.Append("</table>");
                return("OK@#@" + sb.ToString());
            }

            sResultado = "OK@#@" + PROYECTO.Obtener(sEstado, iAnnoPIG, sProyectosPSN, sNaturalezas);
            return(sResultado);
        }
        catch (Exception ex)
        {
            return("error@#@Error al obtener los proyectos.\\n\\n" + ex.Message);
        }
    }
    private string ObtenerPE(string sNumPE)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            //Obtengo los datos del proyecto
            PROYECTO        oProy   = PROYECTO.Obtener(tr, int.Parse(sNumPE));
            PROYECTOSUBNODO oPSNCON = PROYECTOSUBNODO.ObtenerContratante(null, int.Parse(sNumPE));

            return("OK@#@" +
                   Utilidades.escape(oProy.t301_denominacion) + "##" +
                   oProy.t301_estado + "##" + oProy.t301_categoria + "##" + oProy.t320_idtipologiaproy.ToString() + "##" + oProy.t323_idnaturaleza.ToString() +
                   "##" + Utilidades.escape(oProy.t323_denominacion) + "##" + oProy.t306_idcontrato.ToString() + "##" + Utilidades.escape(oProy.t377_denominacion) +
                   "##" + oPSNCON.t303_idnodo.ToString() + "##" + Utilidades.escape(oProy.t302_denominacion) + "##" + oProy.t302_idcliente_proyecto.ToString() +
                   "##" + (oProy.t323_coste?"1":"0"));
        }
        catch (Exception ex)
        {
            if (ex.Message == "No se ha obtenido ningun dato de PROYECTO")
            {
                return("OK@#@");
            }
            //return "error@#@Proyecto no encontrado.";
            else
            {
                return("error@#@Error al obtener el Proyecto Económico./n " + ex.Message);
            }
        }
    }
Пример #3
0
    private string getProyectosGestionados()
    {
        try
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("<TABLE class='texto MANO' id=tblDatos style='width: 700px; text-align:left;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:60px;' />");
            sb.Append("<col style='width:440px;' />");
            sb.Append("<col style='width:200px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("</colgroup>");
            SqlDataReader dr = PROYECTOSUBNODO.GetGestionados((int)Session["UsuarioActual"]);

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t301_idproyecto"].ToString() + "' ");
                sb.Append("idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("responsable=\"" + Utilidades.escape(dr["Responsable"].ToString()) + "\" ");
                sb.Append("nodo=\"" + Utilidades.escape(dr["t303_denominacion"].ToString()) + "\" ");
                sb.Append("style='height:20px;' ");
                sb.Append("title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:75px'>Proyecto:</label>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Responsable:</label>" + dr["responsable"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\"");
                sb.Append(">");

                sb.Append("<td style='text-align:right;'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
                sb.Append("<td style='padding-left:10px;'><nobr class='NBR W430'>" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W190'>" + dr["t302_denominacion"].ToString() + "</nobr></td>");
                if ((int)dr["externalizado"] == 1)
                {
                    sb.Append("<td style='text-align:center;'><img src='../../../images/imgOK.gif' /></td>");
                }
                else
                {
                    sb.Append("<td style='text-align:center;'></td>");
                }
                if ((bool)dr["t638_facturaSA"])
                {
                    sb.Append("<td style='text-align:center;'><img src='../../../images/imgOK.gif'/></td>");
                }
                else
                {
                    sb.Append("<td style='text-align:center;'></td>");
                }
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();

            sb.Append("</table>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos.", ex));
        }
    }
Пример #4
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);
        }
    }
Пример #5
0
 protected void ObtenerInterlocutoresOCyFA()
 {
     try
     {
         strTablaHTML = PROYECTOSUBNODO.ObtenerInterlocutoresOCyFA();
     }
     catch (Exception ex)
     {
         sErrores = Errores.mostrarError("Error al obtener la relación de interlocutores.", ex);
     }
 }
Пример #6
0
 protected void ObtenerInterlocutores(int t305_idproyectosubnodo)
 {
     try
     {
         strTablaHTML = PROYECTOSUBNODO.ObtenerInterlocutores(t305_idproyectosubnodo);
     }
     catch (Exception ex)
     {
         sErrores = Errores.mostrarError("Error al obtener la relación de interlocutores.", ex);
     }
 }
 private string obtener()
 {
     try
     {
         return("OK@#@" + PROYECTOSUBNODO.PruebaDatosTablaDinamica2());
     }
     catch (Exception ex)
     {
         return("Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex));
     }
 }
    protected string ObtenerProyectos(string sIdSubnodo, string sIdUsuario)
    {
        string        sResul = "";
        StringBuilder sb     = new StringBuilder();

        try
        {
            SqlDataReader dr = PROYECTOSUBNODO.ObtenerProyectosReasignacionMultiSubnodo(sIdSubnodo, (sIdUsuario == "") ? null : (int?)int.Parse(sIdUsuario));

            sb.Append("<table id='tblDatos' class='texto MAM' style='width:440px;'>");
            sb.Append("<colgroup>");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:190px;' />");
            sb.Append("    <col style='width:190px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");

            while (dr.Read())
            {
                sb.Append("<tr idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("idProy='" + dr["t301_idproyecto"].ToString() + "' ");
                sb.Append("categoria='" + dr["t301_categoria"].ToString() + "' ");
                sb.Append("cualidad='" + dr["t305_cualidad"].ToString() + "' ");
                sb.Append("estado='" + dr["t301_estado"].ToString() + "' ");
                sb.Append("responsable_origen='" + dr["t314_idusuario_responsable"].ToString() + "' ");
                //sb.Append("onclick='mmse(this);' ondblclick='insertarProyecto(this)' onmousedown='DD(this)' ");
                sb.Append("style='height:20px' >");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td style='padding-left:3px;'><nobr class='NBR W180' ondblclick='insertarProyecto(this.parentNode.parentNode)' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Proyecto:</label>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W185' ondblclick='insertarProyecto(this.parentNode.parentNode)' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:60px;'>Responsable:</label>" + dr["responsable"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + dr["responsable"].ToString() + "</nobr></td>");
                sb.Append("</tr>");
            }

            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            sResul = "OK@#@" + sb.ToString();;
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de proyectos.", ex, false);
        }

        return(sResul);
    }
    private string getUMCNP(string nPSN)
    {
        string sResul = "";

        try
        {
            PROYECTOSUBNODO oPSN = PROYECTOSUBNODO.Obtener(null, int.Parse(nPSN));
            sResul = "OK@#@" + oPSN.t303_ultcierreeco.ToString();
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener el último mes cerrado del " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del proyecto.", ex);
        }
        return(sResul);
    }
Пример #10
0
    private string ObtenerProyectos(string nNodo, string nAnno)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table id='tblDatos' class='texto' style='width: 960px;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:20px' />");
            sb.Append("<col style='width:20px' />");
            sb.Append("<col style='width:20px' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:355px' />");
            sb.Append("<col style='width:220px' />");
            sb.Append("<col style='width:260px' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");

            SqlDataReader dr = PROYECTOSUBNODO.ObtenerProyectosConObraEnCurso(int.Parse(nNodo), int.Parse(nAnno));

            while (dr.Read())
            {
                sb.Append("<tr style='height:20px' id=\"" + dr["t305_idproyectosubnodo"].ToString() + "\" ");
                sb.Append("categoria='" + dr["t301_categoria"].ToString() + "' ");
                sb.Append("cualidad='" + dr["t305_cualidad"].ToString() + "' ");
                sb.Append("estado='" + dr["t301_estado"].ToString() + "' ");
                sb.Append(">");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td style='text-align:right; padding-right:10px;'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
                sb.Append("<td><nobr class='NBR W350' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Proyecto:</label>" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Responsable:</label>" + dr["Responsable"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>");
                sb.Append("<td onmouseover='TTip(event)'><nobr class='NBR W210'>" + dr["t302_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td onmouseover='TTip(event)'><nobr class='NBR W250'>" + dr["t303_denominacion"].ToString() + "</nobr></td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos.", ex, false));
        }
    }
Пример #11
0
    protected string ObtenerProyectos(string sIdContrato)
    {
        string        sResul = "";
        StringBuilder sb     = new StringBuilder();

        try
        {
            SqlDataReader dr = PROYECTOSUBNODO.ObtenerContratantesCambioEstructura(int.Parse(sIdContrato), "T");

            sb.Append("<table id='tblDatosRep' class='texto' style='width:570px;'>");
            sb.Append("<colgroup><col style='width:20px;' /><col style='width:250px;' /><col style='width:100px;' /><col style='width:100px;' /><col style='width:100px;' /></colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sb.Append("<tr idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                //sb.Append("idProy='" + dr["t301_idproyecto"].ToString() + "' ");
                sb.Append("cualidad='" + dr["t305_cualidad"].ToString() + "' ");

                sb.Append("style='height:20px' >");
                sb.Append("<td></td>");
                sb.Append("<td style='padding-left:3px;'>");
                sb.Append("<nobr class='NBR W240'  style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] ");
                sb.Append("body=[<label style='width:70px;'>Proyecto:</label>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br>");
                sb.Append("<label style='width:70px;'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + int.Parse(dr["t303_idnodo"].ToString()).ToString("#,###") + " - " + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br>");
                sb.Append("<label style='width:70px;'>Gestor Prod:</label>" + int.Parse(dr["t314_idusuario_responsable"].ToString()).ToString("#,###") + " - " + dr["Responsable"].ToString().Replace((char)34, (char)39) + "<br>");
                sb.Append("<label style='width:70px;'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">");
                sb.Append(int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39));
                sb.Append("</nobr></td>");
                sb.Append("<td><nobr class='NBR W90' style='noWrap:true;'>" + dr["t303_denominacion"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W90' style='noWrap:true;'>" + dr["Responsable"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W90' style='noWrap:true;'>" + dr["t302_denominacion"].ToString() + "</nobr></td></tr>");
            }

            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            sResul = "OK@#@" + sb.ToString();;
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de réplicas.", ex);
        }

        return(sResul);
    }
Пример #12
0
    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; }
            }

            sErrores = "";
            sLectura = "false";
            string sEstado = Request.QueryString["Est"].ToString();
            this.hdnEstProy.Value = sEstado;
            nPSN = int.Parse(Request.QueryString["nPSN"].ToString());
            this.hdnIdProyectoSubNodo.Value = nPSN.ToString();
            try
            {
                ////18/10/2016 Por petición de Yolanda los proyectos cerrados no permiten añadir documentos
                //if (sEstado == "C" || sEstado == "H")
                //    this.hdnModoAcceso.Value = "R";
                //else
                this.hdnModoAcceso.Value = PROYECTOSUBNODO.getAcceso(null, nPSN, int.Parse(Session["UsuarioActual"].ToString()));

                div1.InnerHtml = Utilidades.ObtenerDocumentos("PSN", nPSN, this.hdnModoAcceso.Value, sEstado);

                string   strTabla2 = ObtenerListaDocumentos(nPSN, int.Parse(Session["UsuarioActual"].ToString()));
                string[] aTabla2   = Regex.Split(strTabla2, "@#@");
                if (aTabla2[0] == "OK")
                {
                    div2.InnerHtml = aTabla2[1];
                }
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al obtener datos complementarios", ex);
            }
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }
    private void getNodos(string nProy, string sOrigen, bool bUSA)
    {
        StringBuilder sb         = new StringBuilder();
        int?          nProyecto  = null;
        string        sPropFirme = "0";

        if (nProy != "")
        {
            nProyecto = int.Parse(nProy);
        }
        bool bCarrusel = false;

        if (sOrigen == "carrusel")
        {
            bCarrusel = SUPER.Capa_Negocio.Utilidades.EsAdminProduccion();
        }

        SqlDataReader dr;

        if (bUSA)
        {
            dr = PROYECTOSUBNODO.ObtenerNodosDeProyectosAReplicarUSA((int)Session["UsuarioActual"], (sOrigen == "menucierresatsaa") ? true : false);
        }
        else
        {
            dr = PROYECTOSUBNODO.ObtenerNodosDeProyectosAReplicar((int)Session["UsuarioActual"], nProyecto, bCarrusel);
        }
        while (dr.Read())
        {
            if (dr["tiporeplica"].ToString() == "J")
            {
                sPropFirme = "1";
            }
            else
            {
                sPropFirme = "0";
            }
            sb.Append("insertarNodoEnArray(" + dr["t301_idproyecto"].ToString() + "," + dr["idNodo"].ToString() + ",\"" + dr["t303_denominacion"].ToString() + "\",\"" + dr["tiporeplica"].ToString() + "\"," + sPropFirme + ",\"\",\"\",\"\");" + (char)13);
        }
        dr.Close();
        dr.Dispose();

        strArrayNodos = sb.ToString();
    }
    private void getProyectos(bool bUSA)
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("<table class='texto MANO' id='tblDatos' style='width: 700px;'>");
        sb.Append("<colgroup>");
        sb.Append("<col style='width:100px;' />");
        sb.Append("<col style='width:580px;' />");
        sb.Append("<col style='width:20px;' />");
        sb.Append("</colgroup>");
        sb.Append("<tbody>");

        SqlDataReader dr;

        if (bUSA)
        {
            dr = PROYECTOSUBNODO.ObtenerProyectosAReplicarUSA((int)Session["UsuarioActual"], (sOrigen == "menucierresatsaa") ? true : false);
        }
        else
        {
            dr = PROYECTOSUBNODO.ObtenerProyectosAReplicar((int)Session["UsuarioActual"], null, false);
        }
        while (dr.Read())
        {
            sb.Append("<tr id='" + dr["t301_idproyecto"].ToString() + "' nPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' onclick='ms(this);getNodos(this)' style='height:20px' procesado=''>");
            sb.Append("<td style='text-align:right; padding-right:10px;'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
            sb.Append("<td style='padding-left:3px;'>" + dr["t301_denominacion"].ToString() + "</td>");
            if ((int)dr["motivo"] == 0)
            {
                sb.Append("<td style='padding-left:3px;'><img src='../../../Images/imgRepPrec.gif' /></td>");
            }
            else
            {
                sb.Append("<td style='padding-left:3px;'><img src='../../../Images/imgRepNO.gif' /></td>");
            }
            sb.Append("</tr>");
        }
        dr.Close();
        dr.Dispose();
        sb.Append("</tbody>");
        sb.Append("</table>");

        strTablaHTML = sb.ToString();
    }
    private void getProyectoCarrusel(string nProy, string sProy, string nPSN, string sOrigen)
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("<table id='tblDatos' style='width: 700px;'>");
        sb.Append("<colgroup>");
        sb.Append("<col style='width:100px;' />");
        sb.Append("<col style='width:580px;' />");
        sb.Append("<col style='width:20px;' />");
        sb.Append("</colgroup>");
        sb.Append("<tbody>");

        bool bCarrusel = false;

        if (sOrigen == "carrusel")
        {
            bCarrusel = (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()) ? true : false;
        }

        SqlDataReader dr = PROYECTOSUBNODO.ObtenerProyectosAReplicar((int)Session["UsuarioActual"], int.Parse(nProy), bCarrusel);

        while (dr.Read())
        {
            sb.Append("<tr id='" + dr["t301_idproyecto"].ToString() + "' nPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' onclick='ms(this);getNodos(this)' style='height:20px' procesado=''>");
            sb.Append("<td style='text-align:right; padding-right:8px;'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
            sb.Append("<td style='padding-left:3px;'>" + dr["t301_denominacion"].ToString() + "</td>");
            if ((int)dr["motivo"] == 0)
            {
                sb.Append("<td style='padding-left:1px;'><img src='../../../Images/imgRepPrec.gif' /></td>");
            }
            else
            {
                sb.Append("<td style='padding-left:1px;'><img src='../../../Images/imgRepNO.gif' /></td>");
            }
            sb.Append("</tr>");
        }
        dr.Close();
        dr.Dispose();
        sb.Append("</tbody>");
        sb.Append("</table>");

        strTablaHTML = sb.ToString();
    }
Пример #16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            if (!Page.IsPostBack)
            {
                try
                {
                    if (Session["IDRED"] == null)
                    {
                        try
                        {
                            Response.Redirect("~/SesionCaducadaModal.aspx", true);
                        }
                        catch (System.Threading.ThreadAbortException) { return; }
                    }

                    sNodo = Estructura.getDefCorta(Estructura.sTipoElem.NODO);
                    if (Request.QueryString["psn"] != null)
                    {
                        this.hdnPSN.Value = Request.QueryString["psn"].ToString();
                        bool bLectura = false;

                        this.hdnEstadoPSN.Value = PROYECTOSUBNODO.getEstado(null, int.Parse(this.hdnPSN.Value));
                        if (this.hdnEstadoPSN.Value == "C" || this.hdnEstadoPSN.Value == "H")
                        {
                            //ModoLectura.Poner(this.Controls);
                            bLectura = true;
                        }
                        GetProfesionales(int.Parse(this.hdnPSN.Value), bLectura);
                    }
                }
                catch (Exception ex)
                {
                    sErrores += Errores.mostrarError("Error al obtener los datos", ex);
                }
            }
            string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
            string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";
            Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
        }
    }
Пример #17
0
    private string ObtenerPEs(string sIdPSN)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            //Obtengo los datos del proyecto
            PROYECTOSUBNODO oPSN  = PROYECTOSUBNODO.Obtener(tr, int.Parse(sIdPSN));
            PROYECTO        oProy = PROYECTO.Obtener(tr, oPSN.t301_idproyecto);
            return("OK@#@" + sb.ToString() + "@#@" + oPSN.t301_idproyecto.ToString("#,###") + "##" +
                   Utilidades.escape(oProy.t301_denominacion) + "##" +
                   Utilidades.escape(oProy.t302_denominacion) + "##" +
                   oProy.t301_estado + "##" + oProy.t301_categoria + "##" + oPSN.t305_cualidad + "##" +
                   oPSN.t303_denominacion + "##" + Utilidades.escape(oPSN.des_responsable) + "##" +
                   ObtenerMeses(sIdPSN, oProy.t301_estado));
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al obtener el Proyecto Económico", ex);
            return("error@#@Error al obtener el Proyecto Económico " + ex.Message);
        }
    }
Пример #18
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            try
            {
                if (Session["IDRED"] == null || Session["ID_PROYECTOSUBNODO"] == null || Session["UsuarioActual"] == null)
                {
                    try
                    {
                        Response.Redirect("~/SesionCaducadaModal.aspx", true);
                    }
                    catch (System.Threading.ThreadAbortException) { return; }
                }

                string[] aDatos = Regex.Split(PROYECTOSUBNODO.ObtenerProduccionPAC(), "@#@");
                //strTablaHTML = PROYECTOSUBNODO.ObtenerProduccionPAC();
                strTablaHTML       = aDatos[0];
                this.Title         = "::: SUPER ::: " + aDatos[1] + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
                tdMoneda.InnerText = "Importes en " + MONEDA.getDenominacionImportes((HttpContext.Current.Session["MONEDA_VDP"] != null) ? HttpContext.Current.Session["MONEDA_VDP"].ToString() : HttpContext.Current.Session["MONEDA_PROYECTOSUBNODO"].ToString());
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al obtener los proyectos", 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);
        }
    }
Пример #19
0
    private void ObtenerDatosAsunto()
    {
        int nTarea = 0;

        //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)
        {
            nTarea                     = nIdT;
            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_T o = ASUNTO_T.Select(tr, nIdAsunto);
            nTarea              = o.t332_idtarea;
            txtIdAsunto.Text    = o.t600_idasunto.ToString();
            txtDesAsunto.Text   = o.t600_desasunto;
            txtDescripcion.Text = o.t600_desasuntolong;
            this.txtEtp.Text    = o.t600_etp.ToString("N");
            this.txtEtr.Text    = o.t600_etr.ToString("N");//#,##0.##
            if (o.t600_fcreacion.Year > 1900)
            {
                txtValCre.Text = o.t600_fcreacion.ToShortDateString();
            }
            if (o.t600_fnotificacion.Year > 1900)
            {
                txtValNotif.Text = o.t600_fnotificacion.ToShortDateString();
            }
            if (o.t600_flimite.Year > 1900)
            {
                txtValLim.Text = o.t600_flimite.ToShortDateString();
            }
            if (o.t600_ffin.Year > 1900)
            {
                txtValFin.Text = o.t600_ffin.ToShortDateString();
            }
            this.txtDpto.Text               = o.t600_dpto;
            this.txtAlerta.Text             = o.t600_alerta;
            this.txtObs.Text                = o.t600_obs;
            this.txtRefExt.Text             = o.t600_refexterna;
            this.txtSistema.Text            = o.t600_sistema;
            this.cboEstado.SelectedValue    = o.t600_estado.ToString();
            this.cboEstado.Text             = o.Estado;
            this.txtEstadoAnt.Text          = o.t600_estado.ToString();
            this.cboPrioridad.SelectedValue = o.t600_prioridad.ToString();
            this.cboPrioridad.Text          = o.Prioridad;
            this.cboSeveridad.SelectedValue = o.t600_severidad.ToString();
            this.cboSeveridad.Text          = o.Severidad;
            this.cboTipo.SelectedValue      = o.t384_idtipo.ToString();
            this.cboTipo.Text               = o.Tipo;
            this.txtNotificador.Text        = o.t600_notificador;
            this.txtIdResponsable.Text      = o.t600_responsable.ToString();
            this.txtResponsable.Text        = o.Responsable;
            this.txtRegistrador.Text        = o.Registrador;
        }

        TAREAPSP        oTarea = TAREAPSP.Obtener(null, nTarea);
        PROYECTOSUBNODO oPSN   = PROYECTOSUBNODO.Obtener(null, oTarea.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 ObtenerProyectos(string sSAT, string sSAA, string sIdUser)
    {
        string        sResul = "";
        StringBuilder sb = new StringBuilder();
        bool          bSAT = false, bSAA = false;

        try
        {
            if (sSAT == "S")
            {
                bSAT = true;
            }
            if (sSAA == "S")
            {
                bSAA = true;
            }
            SqlDataReader dr = PROYECTOSUBNODO.ObtenerProyectosUSA(int.Parse(sIdUser), bSAT, bSAA, int.Parse(Session["UsuarioActual"].ToString()));

            sb.Append("<table id='tblDatos' class='texto MANO' style='width:960px;'>");
            sb.Append("<colgroup>");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:300px;' />");
            sb.Append("    <col style='width:290px;' />");
            sb.Append("    <col style='width:290px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sb.Append("<tr idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("idProy='" + dr["t301_idproyecto"].ToString() + "' ");
                sb.Append("categoria='" + dr["t301_categoria"].ToString() + "' ");
                sb.Append("cualidad='" + dr["t305_cualidad"].ToString() + "' ");
                sb.Append("estado='" + dr["t301_estado"].ToString() + "' ");
                sb.Append("sat='" + dr["t314_idusuario_SAT"].ToString() + "' ");
                sb.Append("saa='" + dr["t314_idusuario_SAA"].ToString() + "' ");

                sb.Append("style='height:20px' >");
                sb.Append("<td><input type='checkbox' style='width:15' class='checkTabla' checked='true' onclick='activarGrabar();'></td>");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td></td>");
                sb.Append("<td style='padding-left:3px;'><nobr class='NBR W290' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:70px;'>Proyecto:</label>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:70px;'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\">" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + " - " + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W280' style='noWrap:true;'>" + dr["denSAT"].ToString() + "</nobr></td>");
                sb.Append("<td><nobr class='NBR W280' style='noWrap:true;'>" + dr["denSAA"].ToString() + "</nobr></td></tr>");
            }

            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            sResul = "OK@#@" + sb.ToString();;
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener la relación de proyectos.", ex, false);
        }

        return(sResul);
    }
    protected void ObtenerVision(string sPSN)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            SqlDataReader dr = PROYECTOSUBNODO.ObtenerUsuariosConVision(sPSN, "");

            sb.Append("<table id='tblDatos' style='width:700px;' cellpadding='0' cellspacing='0' border='0'>");
            sb.Append("<colgroup>");
            sb.Append("    <col style='width:20px;' />");
            sb.Append("    <col style='width:430px;' />");
            sb.Append("    <col style='width:50px;' />");
            sb.Append("    <col style='width:50px;' />");
            sb.Append("    <col style='width:50px;' />");
            sb.Append("    <col style='width:50px;' />");
            sb.Append("    <col style='width:50px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t314_idusuario"].ToString() + "' ");

                sb.Append("bit='" + dr["BitPE"].ToString() + "' ");
                if (dr["ml_me"].ToString() != "2" ||
                    dr["am_me"].ToString() != "2")
                {
                    sb.Append("pge='1' ");
                }
                else
                {
                    sb.Append("pge='0' ");
                }
                if (dr["ml_mt"].ToString() != "2" ||
                    dr["am_mt"].ToString() != "2")
                {
                    sb.Append("pst='1' ");
                }
                else
                {
                    sb.Append("pst='0' ");
                }

                sb.Append(">");

                //if (dr["t001_sexo"].ToString() == "V")
                //{
                //    switch (dr["tipo"].ToString())
                //    {
                //        case "E": sb.Append("<td><img src='../../../Images/imgUsuEV.gif' style='width:16px;height:16px;' /></td>"); break;
                //        case "I": sb.Append("<td><img src='../../../Images/imgUsuIV.gif' style='width:16px;height:16px;' /></td>"); break;
                //    }
                //}
                //else
                //{
                //    switch (dr["tipo"].ToString())
                //    {
                //        case "E": sb.Append("<td><img src='../../../Images/imgUsuEM.gif' style='width:16px;height:16px;' /></td>"); break;
                //        case "I": sb.Append("<td><img src='../../../Images/imgUsuIM.gif' style='width:16px;height:16px;' /></td>"); break;
                //    }
                //}
                sb.Append("<td><img src='../../../Images/imgUsu" + dr["tipo"].ToString() + dr["t001_sexo"].ToString() + ".gif' style='width:16px;height:16px;' /></td>");

                sb.Append("<td style='padding-left:5px;'><nobr class='NBR W420' style='noWrap:true;' 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["t314_idusuario"].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;'>Motivo:</label>" + dr["Desmotivo"].ToString() + "] hideselects=[off]\">" + dr["Profesional"].ToString() + "</nobr></td>");
                switch (dr["BitPE"].ToString())
                {
                case "0": sb.Append("<td></td>"); break;

                case "1":
                    sb.Append("<td><img src='../../../Images/botones/imgBitacora.gif' style='width:16px;height:16px;' /></td>");
                    break;
                }
                switch (dr["ml_me"].ToString())
                {
                case "0": sb.Append("<td><img src='../../../Images/imgAccesoW.gif' style='width:16px;height:16px;' /></td>"); break;

                case "1": sb.Append("<td><img src='../../../Images/imgAccesoR.gif' style='width:16px;height:16px;' /></td>"); break;

                case "2": sb.Append("<td><img src='../../../Images/imgAccesoN.gif' style='width:16px;height:16px;' /></td>"); break;
                }
                //sb.Append("<td>" + dr["ml_me"].ToString() + "</td>");
                switch (dr["am_me"].ToString())
                {
                case "0": sb.Append("<td><img src='../../../Images/imgVisionCompleta.gif' style='width:16px;height:16px;' title='Completo' /></td>"); break;

                case "1": sb.Append("<td><img src='../../../Images/imgVisionRestringida.gif' style='width:16px;height:16px;' title='Restringido' /></td>"); break;

                case "2": sb.Append("<td><img src='../../../Images/imgVisionNula.gif' style='width:16px;height:16px;' title='Ninguno' /></td>"); break;
                }
//                sb.Append("<td>" + dr["am_me"].ToString() + "</td>");
                switch (dr["ml_mt"].ToString())
                {
                case "0": sb.Append("<td><img src='../../../Images/imgAccesoW.gif' style='width:16px;height:16px;' /></td>"); break;

                case "1": sb.Append("<td><img src='../../../Images/imgAccesoR.gif' style='width:16px;height:16px;' /></td>"); break;

                case "2": sb.Append("<td><img src='../../../Images/imgAccesoN.gif' style='width:16px;height:16px;' /></td>"); break;
                }
//                sb.Append("<td>" + dr["ml_mt"].ToString() + "</td>");
                switch (dr["am_mt"].ToString())
                {
                case "0": sb.Append("<td><img src='../../../Images/imgVisionCompleta.gif' style='width:16px;height:16px;' title='Completo' /></td>"); break;

                case "1": sb.Append("<td><img src='../../../Images/imgVisionRestringida.gif' style='width:16px;height:16px;' title='Restringido' /></td>"); break;

                case "2": sb.Append("<td><img src='../../../Images/imgVisionNula.gif' style='width:16px;height:16px;' title='Ninguno' /></td>"); break;
                }
//                sb.Append("<td>" + dr["am_mt"].ToString() + "</td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");
            strTablaHTML = sb.ToString();
        }
        catch (Exception ex)
        {
            sErrores = Errores.mostrarError("Error al obtener la relación de profesionales.", ex);
        }
    }
Пример #22
0
    private string Procesar(string strDatos)
    {
        string sResul = "";

        int idPSN = 0, responsable_origen = 0, responsable_destino = 0, subnodo_origen = 0, subnodo_destino = 0;

        try
        {
            REASIGNACIONPSN.DeleteAll(null, (int)Session["UsuarioActual"]);

            string[] aDatos = Regex.Split(strDatos, "///");
            foreach (string oProyecto in aDatos)
            {
                try
                {
                    if (oProyecto == "")
                    {
                        continue;
                    }
                    string[] aProyecto = Regex.Split(oProyecto, "##");
                    ///aProyecto[0] = idPSN
                    ///aProyecto[1] = responsable_origen
                    ///aProyecto[2] = responsable_destino
                    ///aProyecto[3] = subnodo_origen
                    ///aProyecto[4] = subnodo_destino
                    ///aProyecto[5] = procesado

                    idPSN = int.Parse(aProyecto[0]);
                    responsable_origen  = int.Parse(aProyecto[1]);
                    responsable_destino = int.Parse(aProyecto[2]);
                    subnodo_origen      = int.Parse(aProyecto[3]);
                    subnodo_destino     = int.Parse(aProyecto[4]);

                    REASIGNACIONPSN.Insertar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, "");

                    if (aProyecto[5] == "1" || (aProyecto[1] == aProyecto[2] && aProyecto[3] == aProyecto[4]))
                    {
                        REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, "");
                        continue;
                    }

                    #region abrir conexión y transacción
                    try
                    {
                        oConn = Conexion.Abrir();
                        tr    = Conexion.AbrirTransaccionSerializable(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

                    PROYECTOSUBNODO oPSN     = PROYECTOSUBNODO.Obtener(tr, int.Parse(aProyecto[0]));
                    SUBNODO         oSubnodo = SUBNODO.Obtener(tr, int.Parse(aProyecto[4]));

                    if (oPSN.t303_idnodo != oSubnodo.t303_idnodo)
                    {
                        throw (new NullReferenceException("El " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del proyecto y el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del " + Estructura.getDefLarga(Estructura.sTipoElem.SUBNODO) + " destino no coinciden, por lo que no se puede realizar la reasignación."));
                    }

                    PROYECTOSUBNODO.UpdateReasignacion(tr, idPSN, responsable_destino, subnodo_destino);

                    //update proceso OK
                    REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, "");

                    Conexion.CommitTransaccion(tr);
                }
                catch (Exception ex)
                {
                    Conexion.CerrarTransaccion(tr);
                    //update proceso KO
                    REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, ex.Message);
                    sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex);
                }
                finally
                {
                    Conexion.Cerrar(oConn);
                }
            }// fin foreach
            sResul = "OK";
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex);
        }
        return(sResul);
    }
    private string Procesar(int iNumPSN_Origen, int iNumPSN_Destino, bool bBitacoraPT, bool bBitacoraTA, bool bHitos,
                            string sEstadosTarea, string ID_PROYECTOSUBNODO, string MODOLECTURA_PROYECTOSUBNODO,
                            string RTPT_PROYECTOSUBNODO, string MONEDA_PROYECTOSUBNODO, string sAccDoc, bool bCopiaAE)
    {
        string sResul = "";
        string sModelotarif_Origen  = "";
        string sModelotarif_Destino = "";
        bool   bErrorControlado     = false;
        int    iNodoOrigen          = 0;
        int    iNodoDestino         = 0;
        int    iNumPE_Origen        = 0;
        int    iNumPE_Destino       = 0;

        #region Validaciones previas a la copia de la estructura del proyecto

        try
        {
            //  Comprobaciones de servidor

            /*  - Si un proyecto económico destino tiene consumos
             *  - Los nodos de los proyectos origen y destino deben ser los mismos
             *  - El proyecto destino debe tener el atributo t305_admiterecursospst con valor a 1
             *  - El modelo de tarificación de los proyectos origen y destino deben ser los mismos
             *  - En el proyecto origen debe tener alguna figura en escritura para poder realizarse la copia.
             *    Es decir debe ser:
             *      - Responsable de Oficina Técnica del nodo del proyecto
             *          - Responsable, Delegado, Colaborador de proyecto
             *          - Responsable técnico de proyecto económico (RTPE)
             *          - Jefe de proyecto
             *      - Administrador
             */
            if (bTieneConsumosPE(iNumPSN_Destino))
            {
                bErrorControlado = true;
                throw (new Exception("El proyecto destino tiene consumos.\n\nNo se puede realizar el proceso."));
            }

            SqlDataReader dr = PROYECTO.fgGetDatosProy2(iNumPSN_Origen);
            if (dr.Read())
            {
                iNodoOrigen         = int.Parse(dr["t303_idnodo"].ToString());
                iNumPE_Origen       = int.Parse(dr["t301_idproyecto"].ToString());
                sModelotarif_Origen = dr["t301_modelotarif"].ToString();
            }

            dr = PROYECTO.fgGetDatosProy2(iNumPSN_Destino);
            if (dr.Read())
            {
                if ((bool)dr["t305_admiterecursospst"] == false)
                {
                    dr.Close();
                    dr.Dispose();
                    bErrorControlado = true;
                    throw (new Exception("El proyecto destino debe tener el atributo 'Permitir PST' activado.\n\nNo se puede realizar el proceso."));
                }
                iNodoDestino         = int.Parse(dr["t303_idnodo"].ToString());
                iNumPE_Destino       = int.Parse(dr["t301_idproyecto"].ToString());
                sModelotarif_Destino = dr["t301_modelotarif"].ToString();
            }
            dr.Close();
            dr.Dispose();

            //if (iNodoOrigen != iNodoDestino)
            //{
            //    bErrorControlado = true;
            //    throw (new Exception("Los nodos de los proyectos origen y destino son diferentes.\n\nNo se puede realizar el proceso."));
            //}

            if (sModelotarif_Origen != sModelotarif_Destino)
            {
                bErrorControlado = true;
                throw (new Exception("Los modelos de tarificación de los proyectos origen y destino son diferentes.\n\nNo se puede realizar el proceso."));
            }

            bool bModoEscritura = false;
            dr = PROYECTOSUBNODO.FigurasModoEscritura(null, iNumPSN_Origen, (int)Session["UsuarioActual"]);
            if (dr.HasRows)
            {
                bModoEscritura = true;
            }
            if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "")
            {
                bModoEscritura = true;
            }
            dr.Close();
            dr.Dispose();

            if (!bModoEscritura)
            {
                bErrorControlado = true;
                throw (new Exception("Debe tener acceso al proyecto origen en modo escritura.\n\nNo se puede realizar el proceso."));
            }
        }
        catch (Exception ex)
        {
            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error en las validaciones previas al proceso", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
            return(sResul);
        }

        #endregion

        #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
        {
            PROYECTOSUBNODO.Duplicar(tr, iNumPSN_Origen, iNumPSN_Destino, iNumPE_Origen, iNumPE_Destino,
                                     bBitacoraPT, bBitacoraTA, bHitos, sEstadosTarea, (int)Session["UsuarioActual"], sAccDoc, bCopiaAE);

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);

            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar datos de la estructura del proyecto", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        /* Se restauran los valores que se han modificado al seleccionar el proyecto origen */
        Session["ID_PROYECTOSUBNODO"]          = int.Parse(ID_PROYECTOSUBNODO);
        Session["MODOLECTURA_PROYECTOSUBNODO"] = (MODOLECTURA_PROYECTOSUBNODO == "1") ? true : false;
        Session["RTPT_PROYECTOSUBNODO"]        = (RTPT_PROYECTOSUBNODO == "1") ? true : false;
        Session["MONEDA_PROYECTOSUBNODO"]      = MONEDA_PROYECTOSUBNODO;

        return(sResul);
    }
    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);
    }
Пример #25
0
    private string obtener(string sEvolucionMensual, string sAgrupacion, string sVisualizacion, string sDato)
    {
        try
        {
            if (Session["DS_TABLADINAMICA"] == null)
            {
                Session["DS_TABLADINAMICA"] = PROYECTOSUBNODO.PruebaDatosTablaDinamicaServidor();
            }
            bool    bEvolucionMensual = (sEvolucionMensual == "1") ? true : false;
            DataSet ds = (DataSet)Session["DS_TABLADINAMICA"];

            #region Actualización de tablas auxiliares
            ds.Tables["Agrupaciones"].Rows.Clear();
            string[] aAgrupacion = Regex.Split(sAgrupacion, "{sep}");
            foreach (string oAg in aAgrupacion)
            {
                if (oAg == "")
                {
                    continue;
                }
                DataRow dr = ds.Tables["Agrupaciones"].NewRow();
                dr[0] = oAg;
                ds.Tables["Agrupaciones"].Rows.Add(dr);
            }

            /* Creo la tabla de Visualizaciones */
            ds.Tables["Visualizaciones"].Rows.Clear();
            string[] aVisualizacion = Regex.Split(sVisualizacion, "{sep}");
            foreach (string oVi in aVisualizacion)
            {
                if (oVi == "")
                {
                    continue;
                }
                DataRow dr = ds.Tables["Visualizaciones"].NewRow();
                dr[0] = oVi;
                ds.Tables["Visualizaciones"].Rows.Add(dr);
            }

            /* Creo la tabla de Datos */
            ds.Tables["Datos"].Rows.Clear();
            string[] aDato = Regex.Split(sDato, "{sep}");
            foreach (string oDa in aDato)
            {
                if (oDa == "")
                {
                    continue;
                }
                DataRow dr = ds.Tables["Datos"].NewRow();
                dr[0] = oDa;
                ds.Tables["Datos"].Rows.Add(dr);
            }

            #endregion

            #region Creación de tabla de resultado

            if (ds.Tables["Resultado"] != null)
            {
                ds.Tables.Remove("Resultado");
            }
            /* Creo la tabla de Resultado */
            DataTable dtResultado = ds.Tables.Add("Resultado");
            dtResultado.Columns.Add("t305_idproyectosubnodo", typeof(int));
            dtResultado.Columns.Add("t325_anomes", typeof(int));
            dtResultado.Columns.Add("t303_idnodo", typeof(int));
            dtResultado.Columns.Add("t303_denominacion", typeof(string));
            dtResultado.Columns.Add("t301_idproyecto", typeof(int));
            dtResultado.Columns.Add("t301_denominacion", typeof(string));
            dtResultado.Columns.Add("t302_idcliente", typeof(int));
            dtResultado.Columns.Add("t302_denominacion", typeof(string));
            dtResultado.Columns.Add("t314_idusuario_responsable", typeof(int));
            dtResultado.Columns.Add("ResponsableProyecto", typeof(string));
            dtResultado.Columns.Add("t305_cualidad", typeof(string));
            dtResultado.Columns.Add("t323_idnaturaleza", typeof(int));
            dtResultado.Columns.Add("t323_denominacion", typeof(string));

            if (!bEvolucionMensual)
            {
                dtResultado.Columns.Add("Ingresos_Netos", typeof(decimal));
                dtResultado.Columns.Add("Margen", typeof(decimal));
                dtResultado.Columns.Add("Obra_en_curso", typeof(decimal));
                dtResultado.Columns.Add("Saldo_de_Clientes", typeof(decimal));
                dtResultado.Columns.Add("Total_Cobros", typeof(decimal));
                dtResultado.Columns.Add("Total_Gastos", typeof(decimal));
                dtResultado.Columns.Add("Total_Ingresos", typeof(decimal));
                dtResultado.Columns.Add("Volumen_de_Negocio", typeof(decimal));
                dtResultado.Columns.Add("Otros_consumos", typeof(decimal));
                dtResultado.Columns.Add("Consumo_recursos", typeof(decimal));
            }
            else
            {
                foreach (DataRow oFilaTotal in ds.Tables["Datos"].Rows)
                {
                    foreach (DataRow oFilaMes in ds.Tables["Meses"].Rows)
                    {
                        dtResultado.Columns.Add(oFilaTotal["Dato"].ToString() + "_" + oFilaMes["Mes"].ToString(), typeof(decimal));
                    }
                }
            }

            ds.Tables["Resultado"].Rows.Clear();



            foreach (DataRow oFilaDato in ds.Tables["Consulta"].Rows)
            {
                int sw = 0;
                foreach (DataRow oFilaResultado in ds.Tables["Resultado"].Rows)
                {
                    int sw_agrupacion = 0;
                    foreach (DataRow oFilaAgrupacion in ds.Tables["Agrupaciones"].Rows)
                    {
                        if (oFilaDato[oFilaAgrupacion["Agrupacion"].ToString()].ToString() == oFilaResultado[oFilaAgrupacion["Agrupacion"].ToString()].ToString())
                        {
                            sw_agrupacion++;
                        }
                    }
                    if (sw_agrupacion == ds.Tables["Agrupaciones"].Rows.Count)
                    {
                        foreach (DataRow oFilaTotal in ds.Tables["Datos"].Rows)
                        {
                            if (!bEvolucionMensual)
                            {
                                oFilaResultado[oFilaTotal["Dato"].ToString()] = decimal.Parse(oFilaResultado[oFilaTotal["Dato"].ToString()].ToString()) + decimal.Parse(oFilaDato[oFilaTotal["Dato"].ToString()].ToString());
                            }
                            else
                            {
                                foreach (DataRow oFilaMes in ds.Tables["Meses"].Rows)
                                {
                                    oFilaResultado[oFilaTotal["Dato"].ToString() + "_" + oFilaMes["Mes"].ToString()] = decimal.Parse(oFilaResultado[oFilaTotal["Dato"].ToString() + "_" + oFilaMes["Mes"].ToString()].ToString()) + (((int)oFilaMes["Mes"] == (int)oFilaDato["t325_anomes"]) ? decimal.Parse(oFilaDato[oFilaTotal["Dato"].ToString()].ToString()) : 0);
                                }
                            }
                        }
                        sw = 1;
                        break;
                    }
                }
                if (sw == 1)
                {
                    continue;
                }

                DataRow dr = ds.Tables["Resultado"].NewRow();
                dr["t305_idproyectosubnodo"]     = (int)oFilaDato["t305_idproyectosubnodo"];
                dr["t325_anomes"]                = (int)oFilaDato["t325_anomes"];                //: oDato.anomes,
                dr["t303_idnodo"]                = (int)oFilaDato["t303_idnodo"];                //: oDato.idnodo,
                dr["t303_denominacion"]          = (string)oFilaDato["t303_denominacion"];       //: oDato.desnodo,
                dr["t301_idproyecto"]            = (int)oFilaDato["t301_idproyecto"];            //: oDato.idproyecto,
                dr["t301_denominacion"]          = (string)oFilaDato["t301_denominacion"];       //: oDato.desproyecto,
                dr["t302_idcliente"]             = (int)oFilaDato["t302_idcliente"];             //: oDato.idcliente,
                dr["t302_denominacion"]          = (string)oFilaDato["t302_denominacion"];       //: oDato.descliente,
                dr["t314_idusuario_responsable"] = (int)oFilaDato["t314_idusuario_responsable"]; //: oDato.idresponsableproyecto,
                dr["ResponsableProyecto"]        = (string)oFilaDato["ResponsableProyecto"];     //: oDato.desresponsableproyecto,
                dr["t305_cualidad"]              = (string)oFilaDato["t305_cualidad"];           //: oDato.cualidad,
                dr["t323_idnaturaleza"]          = (int)oFilaDato["t323_idnaturaleza"];          //: oDato.idnaturaleza,
                dr["t323_denominacion"]          = (string)oFilaDato["t323_denominacion"];       //: oDato.desnaturaleza,

                if (!bEvolucionMensual)
                {
                    dr["Ingresos_Netos"]     = (decimal)oFilaDato["Ingresos_Netos"];     //: oDato.Ingresos_Netos,
                    dr["Margen"]             = (decimal)oFilaDato["Margen"];             //: oDato.Margen,
                    dr["Obra_en_curso"]      = (decimal)oFilaDato["Obra_en_curso"];      //: oDato.Obra_en_curso,
                    dr["Saldo_de_Clientes"]  = (decimal)oFilaDato["Saldo_de_Clientes"];  //: oDato.Saldo_de_Clientes,
                    dr["Total_Cobros"]       = (decimal)oFilaDato["Total_Cobros"];       //: oDato.Total_Cobros,
                    dr["Total_Gastos"]       = (decimal)oFilaDato["Total_Gastos"];       //: oDato.Total_Gastos,
                    dr["Total_Ingresos"]     = (decimal)oFilaDato["Total_Ingresos"];     //: oDato.Total_Ingresos,
                    dr["Volumen_de_Negocio"] = (decimal)oFilaDato["Volumen_de_Negocio"]; //: oDato.Volumen_de_Negocio,
                    dr["Otros_consumos"]     = (decimal)oFilaDato["Otros_consumos"];     //: oDato.Otros_consumos,
                    dr["Consumo_recursos"]   = (decimal)oFilaDato["Consumo_recursos"];   //: oDato.Consumo_recursos
                }
                else
                {
                    foreach (DataRow oFilaTotal in ds.Tables["Datos"].Rows)
                    {
                        foreach (DataRow oFilaMes in ds.Tables["Meses"].Rows)
                        {
                            dr[oFilaTotal["Dato"].ToString() + "_" + oFilaMes["Mes"].ToString()] = (decimal)oFilaDato[oFilaTotal["Dato"].ToString()];
                        }
                    }
                }
                ds.Tables["Resultado"].Rows.Add(dr);
            }

            #endregion

            #region Creación de tabla HTML con el resultado

            StringBuilder sb = new StringBuilder();

            sb.Append("<table id='tblDatos' style='width:auto' cellpadding='0' cellspacing='0' border='0'>");
//            var tblDatos = $I("tblDatos");
//            if (tblDatos != null) {
//                var oNF = null;
//                var oNC = null;
            sb.Append("<tr class='TBLINI' style='text-align:center; height:20px; border:solid 1px #FFFFF; border-collapse:collapse; border-spacing:0px;background-repeat: repeat-x;'>");
            foreach (DataRow oFilaVis in ds.Tables["Visualizaciones"].Rows)
            {
                sb.Append("<td>" + oFilaVis["Visualizacion"].ToString() + "</td>");
            }
            foreach (DataRow oFilaTotal in ds.Tables["Datos"].Rows)
            {
                if (!bEvolucionMensual)
                {
                    sb.Append("<td>" + oFilaTotal["Dato"].ToString() + "</td>");
                }
                else
                {
                    foreach (DataRow oMes in ds.Tables["Meses"].Rows)
                    {
                        sb.Append("<td>" + oFilaTotal["Dato"].ToString() + "_" + oMes["Mes"].ToString() + "</td>");
                    }
                }
            }
            sb.Append("</tr>");
            foreach (DataRow oFilaResultado in ds.Tables["Resultado"].Rows)
            {
                //for (var i = 0; i < this.tabla_resultado.length; i++) {
                //oNF = tblDatos.insertRow(-1);
                sb.Append("<tr>");

                foreach (DataRow oFilaVis in ds.Tables["Visualizaciones"].Rows)
                {
                    sb.Append("<td>" + oFilaResultado[oFilaVis["Visualizacion"].ToString()].ToString() + "</td>");
                }

                foreach (DataRow oFilaTotal in ds.Tables["Datos"].Rows)
                {
                    if (!bEvolucionMensual)
                    {
                        sb.Append("<td style='text-align:right;'>" + decimal.Parse(oFilaResultado[oFilaTotal["Dato"].ToString()].ToString()).ToString("N") + "</td>");
                    }
                    else
                    {
                        foreach (DataRow oMes in ds.Tables["Meses"].Rows)
                        {
                            sb.Append("<td>" + decimal.Parse(oFilaResultado[oFilaTotal["Dato"].ToString() + "_" + oMes["Mes"].ToString()].ToString()).ToString("N") + "</td>");
                        }
                    }
                }
            }
            // $I("divCatalogo").children[0].style.width = tblDatos.scrollWidth + "px";
//            }
            //$I("divCatalogo").scrollTop = 0;
            //$I("divCatalogo").scrollLeft = 0;

            sb.Append("</table>");

            #endregion

            ds.Dispose();
            return("OK@#@" + sb.ToString());// + PROYECTOSUBNODO.PruebaDatosTablaDinamica2();
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex));
        }
    }
    private string Procesar(string sAnno, string strNodos)
    {
        string sResul     = "";
        string sEstadoMes = "";
        int    nSMPSN     = 0;

        try
        {
            #region abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(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

            PROYECTOSUBNODO.EliminarObraEnCurso(tr, int.Parse(sAnno), strNodos);
            DataSet ds = PROYECTOSUBNODO.ObtenerProyectosObraEnCurso(tr, int.Parse(sAnno), strNodos);

            foreach (DataRow oPSN in ds.Tables[0].Rows)
            {
                nSMPSN = (int)oPSN["t325_idsegmesproy_dic"];
                if (nSMPSN == 0)
                {
                    sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, (int)oPSN["t305_idproyectosubnodo"], int.Parse(sAnno) * 100 + 12);
                    nSMPSN     = SEGMESPROYECTOSUBNODO.Insert(tr, (int)oPSN["t305_idproyectosubnodo"], int.Parse(sAnno) * 100 + 12, sEstadoMes, 0, 0, false, 0, 0);
                }

                //Insertamos en diciembre el importe del 20% en negativo.
                DATOECO.Insert(tr, nSMPSN, Constantes.nIdClaseObraEnCurso, "20% Obra en Curso Fin de Año", decimal.Parse(oPSN["20_Obra_Curso_Anno"].ToString()) * -1, null, null, null);

                nSMPSN = (int)oPSN["t325_idsegmesproy_ene"];
                if (nSMPSN == 0)
                {
                    sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, (int)oPSN["t305_idproyectosubnodo"], (int.Parse(sAnno) + 1) * 100 + 1);
                    nSMPSN     = SEGMESPROYECTOSUBNODO.Insert(tr, (int)oPSN["t305_idproyectosubnodo"], (int.Parse(sAnno) + 1) * 100 + 1, sEstadoMes, 0, 0, false, 0, 0);
                }
                //Insertamos en diciembre el importe del 20% en positivo.
                DATOECO.Insert(tr, nSMPSN, Constantes.nIdClaseObraEnCurso, "20% Obra en Curso Fin de Año", decimal.Parse(oPSN["20_Obra_Curso_Anno"].ToString()), null, null, null);
            }
            ds.Dispose();

            Conexion.CommitTransaccion(tr);

            sResul = "OK";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al realizar el paso del 20% de la obra en curso.", ex, false);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Пример #27
0
    private string Traspglobal(string sSobreescribir)
    {
        string  sResul     = "";
        string  sEstadoMes = "";
        int     nSMPSN     = 0;
        DataSet dsProf     = null;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(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
        {
            DataSet ds = CONSPERMES.ObtenerPSNaTraspasarDS((int)Session["UsuarioActual"]);
            foreach (DataRow oPSN in ds.Tables[0].Rows)
            {
                if (PROYECTOSUBNODO.ObtenerUltCierreEcoNodoPSN(tr, (int)oPSN["t305_idproyectosubnodo"]) >= (int)oPSN["annomes_traspaso"])
                {
                    Conexion.CerrarTransaccion(tr);
                    sResul = "Error@#@" + Errores.mostrarError("No se ha realizado el traspaso, debido a que el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " '" + oPSN["t303_denominacion"].ToString() + "' se encuentra cerrado en el mes a traspasar.");
                    break;
                }
                else
                {
                    nSMPSN = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"]);
                    if (nSMPSN == 0)
                    {
                        if (oPSN["tiene_consumos"].ToString() == "1")
                        {
                            sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"]);
                            if (sEstadoMes == "C")
                            {
                                continue;
                            }

                            nSMPSN = SEGMESPROYECTOSUBNODO.Insert(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"], sEstadoMes, 0, 0, false, 0, 0);
                        }
                    }
                    else
                    {
                        SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(tr, nSMPSN, null);
                        if (oSegMes.t325_estado == "C")
                        {
                            continue;
                        }

                        if (sSobreescribir == "1")
                        {
                            CONSPERMES.DeleteByT325_idsegmesproy(tr, nSMPSN);
                        }
                    }

                    #region Datos Profesionales
                    if (oPSN["tiene_consumos"].ToString() == "1") //si tiene consumos técnicos (IAP)
                    {
                        dsProf = CONSPERMES.ObtenerDatosPSNaTraspasarDS(tr, (int)oPSN["t305_idproyectosubnodo"], (int)oPSN["annomes_traspaso"], oPSN["t301_modelocoste"].ToString(), true, (sSobreescribir == "1")? false:true);
                        foreach (DataRow oProf in dsProf.Tables[0].Rows)
                        {
                            double nUnidades = (oPSN["t301_modelocoste"].ToString() == "J") ? double.Parse(oProf["jornadas_adaptadas"].ToString()) : double.Parse(oProf["horas_reportadas_proy"].ToString());
                            if (nUnidades != 0)
                            {
                                CONSPERMES.Insert(tr, nSMPSN,
                                                  (int)oProf["t314_idusuario"],
                                                  (oPSN["t301_modelocoste"].ToString() == "J") ? double.Parse(oProf["jornadas_adaptadas"].ToString()) : double.Parse(oProf["horas_reportadas_proy"].ToString()),
                                                  decimal.Parse(oProf["t330_costecon"].ToString()),
                                                  decimal.Parse(oProf["t330_costerep"].ToString()),
                                                  (oProf["t303_idnodo"] != DBNull.Value)? (int?)oProf["t303_idnodo"]:null,
                                                  (oProf["t313_idempresa"] != DBNull.Value)? (int?)oProf["t313_idempresa"]:null);
                            }
                        }
                        dsProf.Dispose();
                    }

                    #endregion

                    SEGMESPROYECTOSUBNODO.UpdateTraspasoIAP(tr, nSMPSN, true);
                }
            }

            ds.Dispose();

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al realizar el traspaso global.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Пример #28
0
    private string Grabar(string sPSN, string sAnnomes, string strProfesionales, string sHayDatosProf)
    {
        string sResul = "";
        string sEstadoMes = "";
        int    nPSN = int.Parse(sPSN), nAnnomes = int.Parse(sAnnomes), nSMPSN = 0;
        bool   bErrorControlado = false;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(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
        {
            if (PROYECTOSUBNODO.ObtenerUltCierreEcoNodoPSN(tr, nPSN) >= nAnnomes)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = "Error@#@" + Errores.mostrarError("No se ha realizado el traspaso, debido a que el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " se encuentra cerrado en el mes a traspasar.");
            }
            else
            {
                nSMPSN = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN, nAnnomes);
                if (nSMPSN == 0)
                {
                    if (sHayDatosProf == "1")
                    {
                        sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN, nAnnomes);
                        if (sEstadoMes != "C")
                        {
                            nSMPSN = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN, nAnnomes, sEstadoMes, 0, 0, false, 0, 0);
                        }
                    }
                }
                else
                {
                    if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA")
                    {
                        SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, nSMPSN, null);
                        if (oSMPSN.t325_estado == "C")
                        {
                            bErrorControlado = true;
                            throw (new Exception("No se permite grabar, debido a que el mes en curso está cerrado para el proyecto."));
                        }
                    }

                    CONSPERMES.DeleteByT325_idsegmesproy(tr, nSMPSN);
                }

                #region Datos Profesionales
                if (strProfesionales != "" && sEstadoMes != "C")
                {
                    string[] aProfesionales = Regex.Split(strProfesionales, "##");
                    foreach (string oProf in aProfesionales)
                    {
                        if (oProf == "")
                        {
                            continue;
                        }
                        string[] aProf = Regex.Split(oProf, "//");
                        ///aProf[0] = idUsuario
                        ///aProf[1] = costecon
                        ///aProf[2] = costerep
                        ///aProf[3] = nodo_usuario
                        ///aProf[4] = empresa_nodo
                        ///aProf[5] = unidades económicas

                        CONSPERMES.Insert(tr, nSMPSN, int.Parse(aProf[0]), double.Parse(aProf[5]), decimal.Parse(aProf[1]), decimal.Parse(aProf[2]), (aProf[3] != "") ? (int?)int.Parse(aProf[3]) : null, (aProf[4] != "") ? (int?)int.Parse(aProf[4]) : null);
                    }
                }
                #endregion

                SEGMESPROYECTOSUBNODO.UpdateTraspasoIAP(tr, nSMPSN, true);

                Conexion.CommitTransaccion(tr);
                sResul = "OK@#@";
            }
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar los consumos del proyecto.", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    private string ExportarExcel(string sProyectos, string sAnomes)
    {
        string        sResul = "";
        StringBuilder sb     = new StringBuilder();

        try
        {
            SqlDataReader dr = PROYECTOSUBNODO.ObtenerInformeUSAExcel(sProyectos, int.Parse(sAnomes));
            sb.Append("<TABLE style='font-family:Arial;font-size:8pt;' cellSpacing='2' border=1>");
            sb.Append("<tr align='center'>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Nº proyecto</td>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Denominación de proyecto</td>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</td>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Responsable de proyecto</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Cliente</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Tipo de facturación</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Mes</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Consumos</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Producción</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Facturación</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Otros</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Partida</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Comunicado</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>USA / Responsable comunicado</TD>");
            sb.Append("        <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Nº documentos</TD>");
            sb.Append("</TR>");

            while (dr.Read())
            {
                sb.Append("<tr style='vertical-align:top;' >");
                if (dr["tipo"].ToString() == "A")
                {
                    sb.Append("<td>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
                }
                else
                {
                    sb.Append("<td></td>");
                }
                sb.Append("<td>" + dr["t301_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["t303_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["ResponsableProyecto"].ToString() + "</td>");
                sb.Append("<td>" + dr["t302_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["TipoFacturacion"].ToString() + "</td>");
                sb.Append("<td>&nbsp;" + dr["Mes"].ToString() + "</td>");
                sb.Append("<td>" + dr["t641_consumos"].ToString() + "</td>");
                sb.Append("<td>" + dr["t641_produccion"].ToString() + "</td>");
                sb.Append("<td>" + dr["t641_facturacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["t641_otros"].ToString() + "</td>");

                sb.Append("<td>" + dr["partidas_comunicado"].ToString() + "</td>");
                sb.Append("<td>" + dr["desc_comunicado"].ToString() + "</td>");

                if (dr["tipo"].ToString() == "A")
                {
                    sb.Append("<td>USA: " + dr["SAT"].ToString());
                    if (dr["SAA"].ToString() != "")
                    {
                        sb.Append(" / " + dr["SAA"].ToString());
                    }
                    sb.Append("</td>");
                }
                else
                {
                    sb.Append("<td>RC: " + dr["usu_comunicado"].ToString() + "</td>");
                }

                sb.Append("<td>" + dr["num_doc"].ToString() + "</td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</table>");

            string sIdCache = "EXCEL_CACHE_" + Session["IDFICEPI_ENTRADA"].ToString() + "_" + DateTime.Now.ToString();
            Session[sIdCache] = sb.ToString();;

            return("OK@#@cacheado@#@" + sIdCache + "@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al obtener los datos mensuales de la agenda", ex);
        }

        return(sResul);
    }
    private string getProyectosNoCerrados(int iAnoMes)
    {
        try
        {
            StringBuilder sb = new StringBuilder();
            bool          bMesesOK = true, bProcesable = true;

            sb.Append("<table class='texto' id=tblDatos style='width: 970px;' border='0'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:25px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:55px;' />");
            sb.Append("<col style='width:220px;' />");
            sb.Append("<col style='width:55px;' />");
            sb.Append("<col style='width:50px;' />");
            sb.Append("<col style='width:60px;' />");
            sb.Append("<col style='width:60px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:60px;' />");//Contrato
            sb.Append("<col style='width:80px;' />");
            sb.Append("<col style='width:80px;' />");
            sb.Append("<col style='width:80px;' />");
            sb.Append("<col style='width:25px;' />");
            sb.Append("</colgroup>");
            SqlDataReader dr = PROYECTOSUBNODO.ObtenerProyectosNoCerrados((int)Session["UsuarioActual"], iAnoMes);

            while (dr.Read())
            {
                bMesesOK    = true;
                bProcesable = true;

                sb.Append("<tr id='" + dr["t301_idproyecto"].ToString() + "' ");
                sb.Append("idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("monedaPSN='" + dr["t422_idmoneda_proyecto"].ToString() + "' ");

                sb.Append(" ondblclick='irCarrusel(this)' ");

                if (dr["faltan_CEC_obligatorios"].ToString() == "1" ||
                    dr["faltan_CED_obligatorios"].ToString() == "1" ||
                    (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString()) && sOrigen != "carrusel")
                    )
                {
                    bProcesable = false;
                }
                if (bProcesable)
                {
                    sb.Append(" p='1'");
                }
                else
                {
                    sb.Append(" p='0'");
                }
                //sb.Append(" ondblclick='CierreProyecto(this)'  procesado='' ");
                //


                sb.Append(" procesado='' ");
                //if (iAnoMes == int.Parse(dr["t325_anomes"].ToString())) sb.Append(" class='MANO' ");
                sb.Append(" class='MA' ");
                sb.Append("style='height:20px;'>");

                if (dr["ajuste"].ToString() == "1")
                {
                    this.hdnExcepcion.Text = "1";
                }
                //Celda 1
                sb.Append("<td style='cursor:pointer;'>");
                if (bProcesable)
                {
                    sb.Append("<input type='checkbox' class='check' style='margin-left:5px;'/>");
                }
                sb.Append("</td>");
                //Celda 2
                if (dr["t305_cualidad"].ToString() == "C")
                {
                    sb.Append("<td><img src='../../../images/imgIconoContratante.gif' width='16px' height='16px' /></td>");
                }
                else
                {
                    sb.Append("<td><img src='../../../images/imgIconoRepPrecio.gif' width='16px' height='16px' /></td>");
                }
                //Celda 3
                sb.Append("<td style='text-align:right; padding-right:5px;'>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
                //Celda 4
                if (iAnoMes != int.Parse(dr["t325_anomes"].ToString()))
                {
                    sb.Append("<td style='padding-left:3px;' style='color:red'>");
                }
                else
                {
                    sb.Append("<td style='padding-left:3px;'>");
                }

                sb.Append("<nobr class='NBR W210' style='noWrap:true;' title=\"cssbody=[dvbdy] cssheader=[dvhdr] header=[<img src='../../../images/info.gif' style='vertical-align:middle' />  Información] body=[<label style='width:75px'>Proyecto:</label>" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Responsable:</label>" + dr["responsable"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>" + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + ":</label>" + dr["t303_denominacion"].ToString().Replace((char)34, (char)39) + "<br><label style='width:75px'>Cliente:</label>" + dr["t302_denominacion"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\" ondblclick='irCarrusel(this.parentNode.parentNode)' >" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>");

                //Celda 5
                sb.Append("<td>" + Fechas.AnnomesAFechaDescCorta(int.Parse(dr["T303_ultcierreeco"].ToString())) + "</td>");
                //Celda 6
                if (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString()))
                {
                    sb.Append("<td style='color:red'>");
                    bMesesOK = false;
                }
                else
                {
                    sb.Append("<td>");
                }
                sb.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(dr["t325_anomes"].ToString())) + "</td>");
                //Celda 7
                sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(dr["consumoIAP"].ToString()).ToString("N") + "</td>");
                //Celda 8
                sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(dr["consumoPGE"].ToString()).ToString("N") + "</td>");
                //Celda 9
                if (bMesesOK)
                {
                    sb.Append("<td style=text-align:center;'></td>");
                }
                else
                {
                    if (sOrigen == "carrusel")
                    {
                        sb.Append("<td style=text-align:center;'><img src='../../../Images/imgCalAma.gif' /></td>");
                    }
                    else
                    {
                        sb.Append("<td  style=text-align:center;'><img src='../../../Images/imgCalRojo.gif' /></td>");
                    }
                    this.hdnExcepcion.Text = "1";
                }
                //Celda 10
                if (dr["faltan_CEC_obligatorios"].ToString() == "1" || dr["faltan_CED_obligatorios"].ToString() == "1")
                {
                    sb.Append("<td style=text-align:center;'><img src='../../../Images/imgIconoObl16.gif' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=text-align:center;'></td>");
                }
                //Celda 11
                if (dr["faltan_Cualificadores_obligatorios"].ToString() == "1")
                {
                    sb.Append("<td style=text-align:center;'><img src='../../../Images/imgIconoObl16Azul.gif' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=text-align:center;'></td>");
                }
                //Celda 12
                if (decimal.Parse(dr["consumonivel"].ToString()) > 0)
                {
                    sb.Append("<td style=text-align:center;'><img src='../../../Images/imgConsNivel.gif' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=text-align:center;'></td>");
                }
                //Celda 13
                if (dr["ajuste"].ToString() == "1")
                {
                    sb.Append("<td style=text-align:center;'><img src='../../../Images/imgAjuste2.gif' title='Importe de ajuste: " + double.Parse(dr["Importe_Ajuste"].ToString()).ToString("N") + " &euro;' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=text-align:center;'></td>");
                }
                //Celda 14
                if (dr["t306_idcontrato"].ToString() == "" || dr["t305_cualidad"].ToString() != "C")
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'>" + int.Parse(dr["t306_idcontrato"].ToString()).ToString("#,###") + "</td>");
                }
                //Celda 15
                if (dr["t305_cualidad"].ToString() != "C")
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TotalContrato"].ToString()).ToString("N") + "</td>");
                }
                //Celda 16
                sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TotalProducido"].ToString()).ToString("N") + "</td>");
                //Celda 17
                if (dr["t305_cualidad"].ToString() != "C")
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["TPPAC"].ToString()).ToString("N") + "</td>");
                }
                //Celda 18
                if (bProcesable)
                {
                    sb.Append("<td style='text-align:right;padding-right:3px;'><img src='../../../Images/imgMesAbierto.gif' /></td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;padding-right:3px;'><img src='../../../Images/imgMesNoProceso.gif' /></td>");
                }
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();

            sb.Append("</table>");

            return("OK@#@" + sb.ToString() + "@#@" + this.hdnExcepcion.Text);
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos.", ex));
        }
    }