public string getDatos()
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table class='texto MANO' id='tblDatos' style='width: 350px;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:150px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");


            SqlDataReader dr = SEGMESPROYECTOSUBNODO.ObtenerMesesParaClonado(null, int.Parse(Session["ID_PROYECTOSUBNODO"].ToString()), (Session["MONEDA_VDP"] == null) ? Session["MONEDA_PROYECTOSUBNODO"].ToString() : Session["MONEDA_VDP"].ToString());

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t325_idsegmesproy"].ToString() + "' anomes='" + dr["t325_anomes"].ToString() + "' estado='" + dr["t325_estado"].ToString() + "' style='height:20px;' ");
                sb.Append("onclick='ms(this);seleccionarMes(this.rowIndex);' >");
                if (dr["t325_estado"].ToString() == "C")
                {
                    sb.Append("<td style='color:red'>");
                }
                else
                {
                    sb.Append("<td style='color:#009900;padding-left:5px;font-weight:bold;'>");
                }
                sb.Append(Fechas.AnnomesAFechaDescLarga((int)dr["t325_anomes"]) + "</td>");
                if (decimal.Parse(dr["Consumos"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Consumos"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Produccion"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + decimal.Parse(dr["Produccion"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'></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 meses abiertos", ex));
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsCallback)
            {
                if (Session["IDRED"] == null)
                {
                    try
                    {
                        Response.Redirect("~/SesionCaducadaModal.aspx", true);
                    }
                    catch (System.Threading.ThreadAbortException) { return; }
                }
                if (Request.QueryString["nM"] != null)
                {
                    nIdSegMes = int.Parse(Utilidades.decodpar(Request.QueryString["nM"].ToString()));
                }
                if (Request.QueryString["nA"] != null)
                {
                    nAlerta = byte.Parse(Utilidades.decodpar(Request.QueryString["nA"].ToString()));
                }
                if (Request.QueryString["sM"] != null)
                {
                    sMoneda = Utilidades.decodpar(Request.QueryString["sM"].ToString());
                }

                string[] aDatos = Regex.Split(SEGMESPROYECTOSUBNODO.ObtenerInformeDeAlerta(nIdSegMes, sMoneda, nAlerta), "@#@");
                if (aDatos[0] == "OK")
                {
                    strHTMLTabla             = aDatos[1];
                    cldResultadoM1.InnerText = aDatos[2];
                    cldResultadoM2.InnerText = aDatos[3];
                    cldAcumuladoM1.InnerText = aDatos[4];
                    cldAcumuladoM2.InnerText = aDatos[5];
                    txtMensaje.Text          = aDatos[6];
                }
                else
                {
                    sErrores = Errores.mostrarError(aDatos[1]);
                }

                //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);
            }
        }
        catch (Exception ex)
        {
            sErrores += Errores.mostrarError("Error al obtener los datos", ex);
        }
    }
Example #3
0
    protected string Grabar(string sSegMesProy, string sAvanceProd)
    {
        string sResul           = "";
        bool   bErrorControlado = false;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA")
            {
                SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, int.Parse(sSegMesProy), null);
                if (oSMPSN.t325_estado == "C")
                {
                    bErrorControlado = true;
                    throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el mes en curso."));
                }
            }

            SEGMESPROYECTOSUBNODO.UpdateAvanceProduccion(tr, int.Parse(sSegMesProy), decimal.Parse(sAvanceProd));
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar el avance de producción.", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Example #4
0
    private string Grabar(string sPSN, string strMeses)
    {
        string sResul = "OK@#@";

        #region abrir conexión y transacción serializable
        try
        {
            oConn = Conexion.Abrir();
            //tr = Conexion.AbrirTransaccion(oConn);
            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
        {
            bool     bContinuar = true;
            string[] aMes       = Regex.Split(strMeses, "///");
            foreach (string oMes in aMes)
            {
                if (bContinuar)
                {
                    string[] aValores = Regex.Split(oMes, "##");
                    switch (aValores[0])
                    {
                    case "U":
                        SEGMESPROYECTOSUBNODO.UpdateEstado(tr, int.Parse(aValores[1]), aValores[2]);
                        break;
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            //Master.sErrores = Errores.mostrarError("Error al eliminar el proyecto económico " + sNumPE, ex);
            sResul = "error@#@Error al actualizar el estado del mes del proyecto económico.\n\n" + ex.Message;
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    protected string Procesar(string sDesde, string sHasta, string sResponsables, string sSubnodos, string sPSN, string sClasesABorrar, string sConsPersonas, string sConsNivel, string sProdProfesional, string sProdPerfil, string sAvance, string sPeriodCons, string sPeriodProd, string sDeCirculante, string sIncMesesCerrados)
    {
        string sResul = "";

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            SEGMESPROYECTOSUBNODO.BorrarDatosMes(tr, int.Parse(sDesde), int.Parse(sHasta),
                                                 sResponsables,
                                                 sSubnodos,
                                                 sPSN,
                                                 sClasesABorrar,
                                                 (sConsPersonas == "1") ? true : false,
                                                 (sConsNivel == "1") ? true : false,
                                                 (sProdProfesional == "1") ? true : false,
                                                 (sProdPerfil == "1") ? true : false,
                                                 (sAvance == "1") ? true : false,
                                                 (sPeriodCons == "1") ? true : false,
                                                 (sPeriodProd == "1") ? true : false,
                                                 (sDeCirculante == "1") ? true : false,
                                                 (sIncMesesCerrados == "1") ? true : false
                                                 );
            Conexion.CommitTransaccion(tr);
            sResul = "OK";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al borrar los datos seleccionados.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Example #6
0
    private string ObtenerMeses(string sPSN, string sEstProy)
    {
        StringBuilder sb = new StringBuilder();

        sb.Append("<table id='tblDatos' class='texto' style='width: 260px; text-align:left' mantenimiento='1'>");
        sb.Append("<colgroup><col style='width:20px;' /><col style='width:180px;' /><col style='width:60px;' /></colgroup>");
        sb.Append("<tbody>");
        SqlDataReader dr = SEGMESPROYECTOSUBNODO.SelectByT305_idproyectosubnodo(null, int.Parse(sPSN));

        while (dr.Read())
        {
            sb.Append("<tr id='" + dr["t325_idsegmesproy"].ToString() + "' bd='' estado='" + dr["t325_estado"].ToString() + "' style='height:20px'>");
            sb.Append("<td><img src='../../../../images/imgFN.gif'></td>");
            sb.Append("<td>" + Fechas.AnnomesAFechaDescLarga(int.Parse(dr["t325_anomes"].ToString())) + "</td>");
            if (sEstProy == "A")
            {//Solo permito cambiar estado del mes en proyectos abiertos
                //sb.Append("<td><img src='../../../../images/imgFN.gif' onclick=\"mfa(this,'U')\"></td></tr>");
                if (dr["t325_estado"].ToString() == "A")
                {
                    sb.Append("<td style='text-align:center;' class='MA' title='Mes abierto'><img src='../../../../images/imgMesAbierto.gif' ondblclick='setEstado(this)'/></td></tr>");
                }
                else
                {
                    sb.Append("<td style='text-align:center;' class='MA' title='Mes cerrado'><img src='../../../../images/imgMesCerrado.gif' ondblclick='setEstado(this)'/></td></tr>");
                }
            }
            else
            {
                if (dr["t325_estado"].ToString() == "A")
                {
                    sb.Append("<td style='text-align:center;' title='Mes abierto'><img src='../../../../images/imgMesAbierto.gif' onclick=\"alert('El estado del proyecto no permite la modificación de meses')\"></td></tr>");
                }
                else
                {
                    sb.Append("<td style='text-align:center;' title='Mes cerrado'><img src='../../../../images/imgMesCerrado.gif' onclick=\"alert('El estado del proyecto no permite la modificación de meses')\"></td></tr>");
                }
            }
        }
        dr.Close();
        dr.Dispose();
        sb.Append("</tbody>");
        sb.Append("</table>");
        //strTablaHtml = sb.ToString();
        return(sb.ToString());
    }
Example #7
0
    protected string GenerarReplicasMeses()
    {
        string sResul = "";

        //bool bErrorDeadLockTimeout = false;
        try
        {
            //Este método es susceptible de bloqueo por lo que añado código para reintentos automáticos
            try
            {
                NODO.GenerarReplicasMesesCerrados();
                SEGMESPROYECTOSUBNODO.GenerarMesesEnReplicas();
                sResul = "OK@#@0";
            }
            catch (Exception ex)
            {
                int?nError = null;
                if (ex.GetType().ToString() == "System.Data.SqlClient.SqlException")
                {
                    nError = ((System.Data.SqlClient.SqlException)ex).Number;
                    if (nError == 1205 || nError == -2) //DeadLock o Timeout
                    {
                        //bErrorDeadLockTimeout = true;
                        //sResul = "OK@#@" + ((bErrorDeadLockTimeout) ? "1" : "0");
                        sResul = "OK@#@1";
                    }
                    else
                    {
                        sResul = "Error@#@Error al generar meses en réplicas. " + ex.Message;
                    }
                }
                else
                {
                    sResul = "Error@#@Error al generar meses en réplicas. " + ex.Message;
                }
            }
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al generar meses en réplicas.", ex);
        }

        return(sResul);
    }
    public void RaiseCallbackEvent(string eventArg)
    {
        string sResultado = "";

        string[] aArgs = Regex.Split(eventArg, @"@#@");
        sResultado = aArgs[0] + @"@#@"; if (Session["IDRED"] == null)
        {
            _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return;
        }
        ;

        switch (aArgs[0])
        {
        case ("getAlertas"):
            sResultado += SEGMESPROYECTOSUBNODO.ObtenerDialogosDeAlertas(aArgs[1], true);
            break;
        }
        //3º Damos contenido a la variable que se envía de vuelta al cliente.
        _callbackResultado = sResultado;
    }
Example #9
0
    public string getDatosGF(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sMonedaProyecto2, string sMonedaImportes2)
    {
        StringBuilder sb = new StringBuilder();

        //string sModoCoste = "";

        try
        {
            sLectura = "true";

            if (sMonedaProyecto2 != sMonedaImportes2)
            {
                sLectura = "true";
            }
            else
            {
                if (sEstadoProy == "A" || sEstadoProy == "P")// && Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA")
                {
                    if (sEstadoMes == "A" && SUPER.Capa_Negocio.Utilidades.EsAdminProduccion())
                    {
                        sLectura = "false";
                    }
                }
                else
                {
                    sLecturaInsMes = "true";
                }
            }

            SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2);

            sb.Append(oSegMes.t325_gastosfinancieros.ToString("N"));

            return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2));
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los gastos financieros.", ex));
        }
    }
Example #10
0
    public string getDatosPeriod(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sMonedaProyecto2, string sMonedaImportes2)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            sLectura = "true";

            if (sMonedaProyecto2 != sMonedaImportes2)
            {
                sLectura = "true";
            }
            else
            {
                if (sEstadoProy == "A" || sEstadoProy == "P")
                {
                    if (!(bool)Session["MODOLECTURA_PROYECTOSUBNODO"] && (sEstadoMes == "A" || Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA"))
                    {
                        sLectura = "false";
                    }
                }
            }

            if (sEstadoProy != "A" && sEstadoProy != "P")
            {
                sLecturaInsMes = "true";
            }

            SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2);

            sb.Append(oSegMes.t325_consperiod.ToString("N"));

            return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2));
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los consumos de periodificación.", ex));
        }
    }
Example #11
0
    private string getMesesProy(string sIDProySubnodo)
    {
        try
        {
            StringBuilder sb = new StringBuilder();
            SqlDataReader dr = SEGMESPROYECTOSUBNODO.SelectByT305_idproyectosubnodo(null, int.Parse(sIDProySubnodo));

            while (dr.Read())
            {
                sb.Append(dr["t325_idsegmesproy"].ToString() + "##");
                sb.Append(dr["t325_anomes"].ToString() + "##");
                sb.Append(dr["t325_estado"].ToString() + "///");
            }
            dr.Close();
            dr.Dispose();

            return("OK@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los meses del proyectosubnodo", ex));
        }
    }
    protected string Procesar(string strDatos)
    {
        string sResul = "";

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            SEGMESPROYECTOSUBNODO.BorrarMesesAbiertos(tr, strDatos);

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al borrar los meses abiertos indicados.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
    protected string Procesar(string sSegMesProy, string nPSN, string sConsPersonas, string sConsNivel, string sProdProfesional, string sProdPerfil, string sAvance, string sPeriodCons, string sPeriodProd, string sClasesAClonar, string strMeses)
    {
        string sResul = "", sw = "0";
        int    nSMPSN_destino    = 0;
        int    t325_anomes_maxC  = 0;
        int    t325_anomes_minA  = 0;
        int    t303_ultcierreeco = 0;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            DataSet ds = SEGMESPROYECTOSUBNODO.ObtenerMesesReferenciaParaClonado(tr, int.Parse(nPSN));
            foreach (DataRow oMes in ds.Tables[0].Rows)
            {
                if (oMes["t325_estado"].ToString() == "C")
                {
                    t325_anomes_maxC = (int)oMes["t325_anomes"];
                }
                if (oMes["t325_estado"].ToString() == "A")
                {
                    t325_anomes_minA = (int)oMes["t325_anomes"];
                }
            }
            foreach (DataRow oMes in ds.Tables[1].Rows)
            {
                t303_ultcierreeco = (int)oMes["t303_ultcierreeco"];
            }

            string[] aAnomes = Regex.Split(strMeses, "##");
            foreach (string oAnomes in aAnomes)
            {
                if (oAnomes == "")
                {
                    continue;
                }

                if (int.Parse(oAnomes) <= t303_ultcierreeco ||
                    int.Parse(oAnomes) <= t325_anomes_maxC)
                {
                    sw = "1";
                    continue;
                }

                nSMPSN_destino = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, int.Parse(nPSN), int.Parse(oAnomes));
                if (nSMPSN_destino != 0)
                {
                    SEGMESPROYECTOSUBNODO.Delete(tr, nSMPSN_destino);
                }

                nSMPSN_destino = SEGMESPROYECTOSUBNODO.Insert(tr, int.Parse(nPSN), int.Parse(oAnomes), "A", 0, 0, false, 0, 0);

                SEGMESPROYECTOSUBNODO.ClonarMes(tr, int.Parse(sSegMesProy),
                                                nSMPSN_destino,
                                                sClasesAClonar,
                                                (sConsPersonas == "1") ? true : false,
                                                (sConsNivel == "1") ? true : false,
                                                (sProdProfesional == "1") ? true : false,
                                                (sProdPerfil == "1") ? true : false,
                                                (sAvance == "1") ? true : false,
                                                (sPeriodCons == "1") ? true : false,
                                                (sPeriodProd == "1") ? true : false,
                                                SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()
                                                );
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + sw;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al clonar los datos del mes de referencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Example #14
0
 private void GenerarDialogos()
 {
     SEGMESPROYECTOSUBNODO.GenerarDialogosDeAlertas(sIdSegMesProyGenerarDialogos, false);
 }
Example #15
0
    private string Procesar()
    {
        string sResul = "";

        try
        {
            #region Obtenión de dataset con proyectosubnodo y creación de HASTABLE
            oProyectoSubNodo = null;
            DataSet ds = CONSUCONTACORO.GetDatosParaValidacion();

            htProyectoSubNodo = new Hashtable();
            foreach (DataRow dsProyectoSubNodo in ds.Tables[0].Rows)//Recorro tabla de proyectos-subnodos
            {
                htProyectoSubNodo.Add(dsProyectoSubNodo["t301_idproyecto"].ToString() + @"/" + dsProyectoSubNodo["t303_idnodo"].ToString(),
                                      new ProyectoSubNodo((int)dsProyectoSubNodo["t301_idproyecto"],
                                                          (int)dsProyectoSubNodo["t305_idproyectosubnodo"],
                                                          (int)dsProyectoSubNodo["t303_idnodo"],
                                                          dsProyectoSubNodo["t305_cualidad"].ToString()
                                                          )
                                      );
            }

            ds.Dispose();
            #endregion

            #region Abro transaccion
            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

            string sEstadoMes  = "";
            int    nSegMesProy = 0;

            CONSUCONTA.DeleteByAnno(tr, nAnno);

            DataSet ds2 = CONSUCONTACORO.GetCatalogo(tr);
            foreach (DataRow oFila in ds2.Tables[0].Rows)
            {
                oProyectoSubNodo = (ProyectoSubNodo)htProyectoSubNodo[oFila["t301_idproyecto"].ToString() + "/" + oFila["t303_idnodo"].ToString()];
                if (oProyectoSubNodo != null)
                {
                    if (oFila["t478_descripcion"].ToString() != "" && int.Parse(oFila["t325_anomes"].ToString().Substring(0, 4)) == nAnno)
                    {
                        nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]);
                        if (nSegMesProy == 0)
                        {
                            sEstadoMes  = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]);
                            nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"], sEstadoMes, 0, 0, false, 0, 0);
                        }
                        CONSUCONTA.Insert(tr, nSegMesProy, (int)oFila["t315_idproveedor"], (int)oFila["t478_nconsumo"], (decimal)oFila["t478_importe"], (int)oFila["t329_idclaseeco"], (int)oFila["t313_idempresa"], (int)oFila["t478_ndocumento"], oFila["t478_descripcion"].ToString());
                    }
                }
                //else
                //{
                //    string sMsg = "No existe un proyectosubnodo correspondiente al proyecto " + dr["t301_idproyecto"].ToString() + " y al " + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + " " + dr["t303_idnodo"].ToString() + ".";
                //    dr.Close();
                //    dr.Dispose();
                //    throw new Exception(sMsg);
                //}
            }
            ds2.Dispose();

            sResul = "OK@#@";
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar los datos", ex);
            Conexion.CerrarTransaccion(tr);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Example #16
0
    public string getDatosProfesionales(string sSegMesProy, string sMonedaImportes2)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            sLectura = "true";
            SqlDataReader dr = CONSPERMES.CatalogoProdIngProfesionales(int.Parse(sSegMesProy), sMonedaImportes2);

            sb.Append("<table class=texto id=tblDatos style='width: 960px;' mantenimiento=1>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:10px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:60px;' />");
            sb.Append("<col style='width:510px;' />");
            sb.Append("<col style='width:120px;' />");
            sb.Append("<col style='width:120px;' />");
            sb.Append("<col style='width:120px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");
            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t314_idusuario"].ToString() + "' caso='" + dr["caso"].ToString() + "'");
                sb.Append(" tipo='" + dr["TipoRecurso"].ToString() + "' bd='' ");
                sb.Append("style='height:20px;'>");

                sb.Append("<td><img src='../../../images/imgFN.gif'></td>");
                sb.Append("<td>");
                //switch (dr["caso"].ToString())
                //{
                //    case "1":
                //        sb.Append("<img border='0' src='../../../Images/imgUsuP" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />");
                //        break;
                //    case "4":
                //        sb.Append("<img border='0' src='../../../Images/imgUsuE" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />");
                //        break;
                //}
                switch (dr["TipoRecurso"].ToString())
                {
                case "I":
                    sb.Append("<img border='0' src='../../../Images/imgUsuP" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />");
                    break;

                case "F":
                    sb.Append("<img border='0' src='../../../Images/imgUsuF" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />");
                    break;

                default:
                    sb.Append("<img border='0' src='../../../Images/imgUsuE" + dr["sexo"].ToString() + ".gif' width='16px' height='16px' />");
                    break;
                }
                sb.Append("</td>");
                sb.Append("<td style='text-align:right; padding-right:10px;'>" + dr["t314_idusuario"].ToString() + "</td>");
                sb.Append("<td>" + dr["profesional"].ToString() + "</td>");

                sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["t378_costeunitariocon"].ToString()).ToString("N") + "</td>");
                sb.Append("<td style='text-align:right;'>" + double.Parse(dr["t378_unidades"].ToString()).ToString("N") + "</td>");
                sb.Append("<td style='text-align:right;padding-right:2px;'>" + double.Parse(dr["importe"].ToString()).ToString("N") + "</td>");
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2);
            sModoCoste = oSegMes.t301_modelocoste;

            return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2));
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos de producción/ingresos", 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);
    }
Example #18
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);
    }
Example #19
0
    protected string Grabar(string sSegMesProy, string sAvanceProd, string strDatos)
    {
        string sResul           = "";
        bool   bErrorControlado = false;
        double dUnidades        = 0;
        double?dUnidadesBD      = null;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA")
            {
                SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, int.Parse(sSegMesProy), null);
                if (oSMPSN.t325_estado == "C")
                {
                    bErrorControlado = true;
                    throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el mes en curso."));
                }
            }
            //PRODUCFACTPERF.DeleteByT325_idsegmesproy(tr, int.Parse(sSegMesProy));
            string[] aProd = Regex.Split(strDatos, "///");
            foreach (string oProd in aProd)
            {
                if (oProd == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oProd, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Tarifa
                //2. Unidades
                //3. Importe tarifa
                dUnidades = double.Parse(aValores[2]);
                if (dUnidades == 0)
                {
                    PRODUCFACTPERF.Delete(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]));
                }
                else
                {                            //Si existe en BBDD, updateo, sino, inserto
                    dUnidadesBD = PRODUCFACTPERF.GetUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]));
                    if (dUnidadesBD == null) //No existe registro -> lo insertamos
                    {
                        PRODUCFACTPERF.Insert(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), decimal.Parse(aValores[3]), dUnidades);
                    }
                    else
                    {//El registro ya existe, solo updateamos si el valor es diferente
                        if (dUnidades != dUnidadesBD)
                        {
                            PRODUCFACTPERF.UpdateUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), dUnidades);
                        }
                    }
                }
            }

            SEGMESPROYECTOSUBNODO.UpdateAvanceProduccion(tr, int.Parse(sSegMesProy), decimal.Parse(sAvanceProd));
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar la producción por perfil.", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
    public string getDatos()
    {
        string sMoneda = (Session["MONEDA_VDP"] == null) ? Session["MONEDA_PROYECTOSUBNODO"].ToString() : Session["MONEDA_VDP"].ToString();

        if (sMoneda == "")
        {
            sMoneda = "EUR";
        }
        int idPSN = int.Parse(Session["ID_PROYECTOSUBNODO"].ToString());

        StringBuilder sb = new StringBuilder();

        try
        {
            sb.Append("<table class='texto' id='tblDatos' style='width: 600px;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:40px;' />");
            sb.Append("<col style='width:160px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("<col style='width:100px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");


            SqlDataReader dr = SEGMESPROYECTOSUBNODO.ObtenerMesesAbiertosParaBorrado(null, idPSN, sMoneda);

            while (dr.Read())
            {
                sb.Append("<tr id='" + dr["t325_idsegmesproy"].ToString() + "' bd='' style='height:20px;'>");
                sb.Append("<td style='padding-left:5px; text-align:center;'><input type='checkbox' class='checkTabla' ></td>");//onclick='bCambios=true;'
                sb.Append("<td style='padding-left:5px;' >" + Fechas.AnnomesAFechaDescLarga((int)dr["t325_anomes"]) + "</td>");
                if (decimal.Parse(dr["Consumos"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Consumos"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Produccion"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Produccion"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Ingresos"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right;'>" + decimal.Parse(dr["Ingresos"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'></td>");
                }
                if (decimal.Parse(dr["Cobros"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + decimal.Parse(dr["Cobros"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right; padding-right:2px;'></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 meses abiertos", ex));
        }
    }
    protected string Grabar(string sSegMesProy, string sAvanceProd, string strDatos)
    {
        string sResul           = "";
        bool   bErrorControlado = false;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA")
            {
                SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, int.Parse(sSegMesProy), null);
                if (oSMPSN.t325_estado == "C")
                {
                    bErrorControlado = true;
                    throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el mes en curso."));
                }
            }
            //PRODUCFACTPROF.DeleteByT325_idsegmesproy(tr, int.Parse(sSegMesProy));

            string[] aProd = Regex.Split(strDatos, "///");
            foreach (string oProd in aProd)
            {
                if (oProd == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oProd, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Tarea
                //2. ID usuario
                //3. ID Perfil
                //4. Unidades

                if (aValores[0] == "D")
                {
                    PRODUCFACTPROF.Delete(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), int.Parse(aValores[2]));
                }
                else
                {
                    if (aValores[3] != "")
                    {
                        PRODUCFACTPROF.UpdateInsertSiNoExiste(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]),
                                                              int.Parse(aValores[2]), int.Parse(aValores[3]), double.Parse(aValores[4]));
                    }
                }
            }

            SEGMESPROYECTOSUBNODO.UpdateAvanceProduccion(tr, int.Parse(sSegMesProy), decimal.Parse(sAvanceProd));

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                string sAux = "Error al grabar la producción de los profesionales.\nsSegMesProy=" + sSegMesProy + "\nsAvanceProd=" + sAvanceProd + "\nstrDatos=" + strDatos;
                sResul = "Error@#@" + Errores.mostrarError(sAux, ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
    private string procesarReplica(string nProyecto, string nPSN, string sProy, string strDatos)
    {
        string sResul = "";
        //DataSet ds;
        //int nCount = 0, idNodoAuxDestino=0, idNodoAuxManiobra = 0, idNodoAuxManiobra3=0, nCountSubnodosNoManiobra = 0;
        int  idSubNodoGrabar = 0;
        int  nAux            = 0;
        int  idNodo          = -1;
        int  nResponsablePSN = 0;
        bool bReintentar     = true;

        #region apertura de 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
        {
            string[] aNodo = Regex.Split(strDatos, "///");

            foreach (string oNodo in aNodo)
            {
                if (oNodo == "")
                {
                    continue;
                }

                //nCount = 0;
                //idNodoAuxManiobra = 0;
                //idNodoAuxManiobra3 = 0;
                //nCountSubnodosNoManiobra = 0;
                //idNodoAuxDestino = 0;
                idSubNodoGrabar = 0;

                string[] aValores = Regex.Split(oNodo, "##");
                //0. idNodo
                //1. tiporeplica
                //2. idGestor
                idNodo = int.Parse(aValores[0]);
                if (!PROYECTOSUBNODO.ExisteProyectoSubNodo(tr, int.Parse(nProyecto), idNodo))
                {
                    nResponsablePSN = (aValores[2] == "") ? 0 : int.Parse(aValores[2]);
                    #region Cálculo de subnodo destino OLD

                    /*
                     * nCount = 0;
                     * ds = PROYECTOSUBNODO.ObtenerSubnodosParaReplicar(tr, int.Parse(aValores[0]));
                     * foreach (DataRow oFila in ds.Tables[0].Rows)
                     * {
                     *  //Maniobra=3 es el defecto para replicar
                     *  if ((byte)oFila["t304_maniobra"] == 3)
                     *  {
                     *      idNodoAuxManiobra3 = (int)oFila["t304_idsubnodo"];
                     *  }
                     *  else
                     *  {
                     *      if ((byte)oFila["t304_maniobra"] == 1)
                     *      {
                     *          nCount++;
                     *          idNodoAuxManiobra = (int)oFila["t304_idsubnodo"];
                     *      }
                     *      else
                     *      {
                     *          nCountSubnodosNoManiobra++;
                     *          idNodoAuxDestino = (int)oFila["t304_idsubnodo"];
                     *      }
                     *  }
                     * }
                     *
                     * if (nCountSubnodosNoManiobra == 1) //si solo hay un subnodo en el nodo, que la réplica se haga a ese subnodo.
                     * {
                     *  idSubNodoGrabar = idNodoAuxDestino;
                     * }
                     * else
                     * {
                     *  if (idNodoAuxManiobra3 != 0)
                     *  {
                     *      idSubNodoGrabar = idNodoAuxManiobra3;
                     *  }
                     *  else
                     *  {
                     *      if (nCount == 0)
                     *      {
                     *          NODO oNodo2 = NODO.SelectEnTransaccion(tr, int.Parse(aValores[0]));
                     *          nResponsablePSN = oNodo2.t314_idusuario_responsable;
                     *          //crear subnodo maniobra
                     *          idSubNodoGrabar = SUBNODO.Insert(tr, "Proyectos a reasignar", int.Parse(aValores[0]), 0, true, 1, oNodo2.t314_idusuario_responsable, null);
                     *      }
                     *      else
                     *      {
                     *          if (nCount > 1)
                     *          {
                     *              bReintentar = false;
                     *              ds.Dispose();
                     *              throw (new Exception("El número de subnodos de maniobra es " + nCount.ToString() + " en el nodo " + aValores[0] + ". Por favor avise al administrador."));
                     *          }
                     *
                     *          if (ds.Tables[0].Rows.Count - 1 > 1 || ds.Tables[0].Rows.Count - 1 == 0)
                     *          {
                     *              idSubNodoGrabar = idNodoAuxManiobra;
                     *          }
                     *          else
                     *          {
                     *              idSubNodoGrabar = idNodoAuxDestino;
                     *          }
                     *      }
                     *  }
                     * }
                     * ds.Dispose();
                     */
                    #endregion
                    idSubNodoGrabar = SUPER.Capa_Negocio.PROYECTOSUBNODO.ObtenerSubnodoDestinoReplica(tr, idNodo);

                    if (nResponsablePSN == 0)
                    {
                        NODO oNodo3 = NODO.SelectEnTransaccion(tr, idNodo);
                        nResponsablePSN = oNodo3.t314_idusuario_responsable;
                    }
                    nAux = PROYECTOSUBNODO.Insert(tr, int.Parse(nProyecto), idSubNodoGrabar, false, aValores[1], false, nResponsablePSN,
                                                  sProy, "X", "X", false, false, false, false, false, "", "", "", null, null, null, null,
                                                  null, null, false, 0);
                }
            }

            SEGMESPROYECTOSUBNODO.GenerarMesEnTransaccion(tr, int.Parse(nProyecto));

            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar la réplica del proyecto.", ex, bReintentar);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
    protected string Grabar(string sSegMesProy, string strDatos)
    {
        string sResul           = "";
        bool   bErrorControlado = false;
        double dUnidades        = 0;
        double?dUnidadesBD      = null;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() != "SA")
            {
                SEGMESPROYECTOSUBNODO oSMPSN = SEGMESPROYECTOSUBNODO.Obtener(tr, int.Parse(sSegMesProy), null);
                if (oSMPSN.t325_estado == "C")
                {
                    bErrorControlado = true;
                    throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el mes en curso."));
                }
            }
            //CONSPERMES.DeleteByT325_idsegmesproy(tr, int.Parse(sSegMesProy));
            string[] aConsumo = Regex.Split(strDatos, "///");
            foreach (string oConsumo in aConsumo)
            {
                if (oConsumo == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oConsumo, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID usuario
                //2. Coste
                //3. Unidades
                //4. Costerep
                //5. idempresa_nodomes
                //6. Nodo
                dUnidades = double.Parse(aValores[3]);
                if (dUnidades == 0)
                {
                    CONSPERMES.Delete(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]));
                }
                else
                {                            //Si existe en BBDD, updateo, sino, inserto
                    dUnidadesBD = CONSPERMES.GetUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]));
                    if (dUnidadesBD == null) //No existe registro -> lo insertamos
                    {
                        int?nEmpresa = null;
                        if (aValores[5] != "")
                        {
                            nEmpresa = int.Parse(aValores[5]);
                        }
                        int?nNodo = null;
                        if (aValores[6] != "")
                        {
                            nNodo = int.Parse(aValores[6]);
                        }
                        CONSPERMES.Insert(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), dUnidades, decimal.Parse(aValores[2]), decimal.Parse(aValores[4]), nNodo, nEmpresa);
                    }
                    else
                    {//El registro ya existe, solo updateamos si el valor es diferente
                        if (dUnidades != dUnidadesBD)
                        {
                            CONSPERMES.UpdateUnidades(tr, int.Parse(sSegMesProy), int.Parse(aValores[1]), dUnidades);
                        }
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar los consumos de los profesionales.", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Example #24
0
    private string Procesar(string sMesValor, string strNodos)
    {
        string sResul     = "";
        string sEstadoMes = "";

        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

            DataSet ds = PROYECTOSUBNODO.ObtenerSegMesGastosFinancierosDS(tr, int.Parse(sMesValor), strNodos);
            foreach (DataRow oSegMes in ds.Tables[0].Rows)
            {
                try
                {
                    if (oSegMes["t325_idsegmesproy"].ToString() != "")
                    {
                        SEGMESPROYECTOSUBNODO.UpdateGastosFinancieros(tr, (int)oSegMes["t325_idsegmesproy"], decimal.Parse(oSegMes["gasto_financiero"].ToString()));
                    }
                    else
                    {
                        if (decimal.Parse(oSegMes["gasto_financiero"].ToString()) != 0)
                        {
                            sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, (int)oSegMes["t305_idproyectosubnodo"], int.Parse(sMesValor));
                            SEGMESPROYECTOSUBNODO.Insert(tr, (int)oSegMes["t305_idproyectosubnodo"], int.Parse(sMesValor), sEstadoMes, 0, decimal.Parse(oSegMes["gasto_financiero"].ToString()), false, 0, 0);
                        }
                    }
                }
                catch (Exception exup)
                {
                    if (((SqlException)exup).Number == 2601)
                    {
                        SEGMESPROYECTOSUBNODO.UpdateGastosFinancierosByPSNAnomes(tr, (int)oSegMes["t305_idproyectosubnodo"], int.Parse(sMesValor), decimal.Parse(oSegMes["gasto_financiero"].ToString()));
                    }
                    else
                    {
                        throw (new Exception("Error al registrar los gastos financieros."));
                    }
                }
            }
            ds.Dispose();

            string[] aNodos = Regex.Split(strNodos, ",");
            foreach (string oNodo in aNodos)
            {
                if (oNodo == "")
                {
                    continue;
                }
                NODO objNodoAux = NODO.Select(tr, int.Parse(oNodo));
                HISTORIALGASTOSFINANCIEROS.Insert(tr, int.Parse(oNodo), int.Parse(sMesValor), DateTime.Now, objNodoAux.t303_interesGF, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()));
            }

            Conexion.CommitTransaccion(tr);

            sResul = "OK";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al registrar los gastos financieros de un " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + ".", ex, false);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
Example #25
0
    private string procesarCierre(string sOrigen, string sAnomesADM, string sPSN, string sCualidad, string sSegMesProy, string sIDProyecto, string sAnomes, string sIdSegMesProy)
    {
        string  sResul = "";
        string  sEstadoMes = "";
        bool    bReintentar = true, bHayQueAjustar = false;
        decimal nImporteAjuste = 0;

        #region apertura de 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
        {
            //comprobar que no se hayan abierto meses anteriores.
            if (sOrigen == "ADM" || int.Parse(sAnomes) == PROYECTOSUBNODO.ObtenerPrimerMesAbierto(tr, int.Parse(sPSN)))
            {
                if (sCualidad == "C")
                {
                    SEGMESPROYECTOSUBNODO.GenerarMesEnTransaccion(tr, int.Parse(sIDProyecto));

                    SqlDataReader dr = SEGMESPROYECTOSUBNODO.ObtenerAjuste(tr, int.Parse(sSegMesProy));
                    if (dr.Read())
                    {
                        bHayQueAjustar = ((int)dr["ajuste"] == 1) ? true : false;
                        nImporteAjuste = decimal.Parse(dr["Importe_Ajuste"].ToString());
                    }
                    dr.Close();
                    dr.Dispose();

                    if (bHayQueAjustar)
                    {
                        //buscar el mes máximo para ese PSN y crear uno posterior para el ajuste
                        int nUltAnomes = PROYECTOSUBNODO.ObtenerUltimoMes(tr, int.Parse(sPSN));
                        sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, int.Parse(sPSN), Fechas.AddAnnomes(nUltAnomes, 1));
                        int nNuevoSegMes = SEGMESPROYECTOSUBNODO.Insert(tr, int.Parse(sPSN), Fechas.AddAnnomes(nUltAnomes, 1), sEstadoMes, 0, 0, false, 0, 0);

                        DATOECO.Insert(tr, nNuevoSegMes, Constantes.AjusteProdCont, "Ajuste de producción y contratación", nImporteAjuste, null, null, null);
                    }
                }

                if (sOrigen == "ADM")
                {
                    SEGMESPROYECTOSUBNODO.CerrarMesADM(tr, int.Parse(sPSN), int.Parse(sAnomesADM));
                }
                else
                {
                    SEGMESPROYECTOSUBNODO.Cerrar(tr, int.Parse(sSegMesProy));
                }

                sResul = "OK@#@";
            }
            else
            {
                sResul = "OK@#@NO";
            }

            Conexion.CommitTransaccion(tr);

            if ((bool)Session["ALERTASPROY_ACTIVAS"] && sIdSegMesProy != "")
            {
                try
                {
                    sIdSegMesProyGenerarDialogos = sIdSegMesProy;
                    ThreadStart ts           = new ThreadStart(GenerarDialogos);
                    Thread      workerThread = new Thread(ts);
                    workerThread.Start();
                    //SEGMESPROYECTOSUBNODO.GenerarDialogosDeAlertas(sIdSegMesProy);
                }
                catch (Exception) { }
            }
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar el cierre.", ex, bReintentar);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Example #26
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);
    }
Example #27
0
    protected string Grabar(string strDatos)
    {
        string sResul           = "";
        int    sSegMesProy      = 0;
        string sEstadoMes       = "";
        bool   bErrorControlado = false;
        double dUnidades        = 0;
        double?dUnidadesBD      = 0;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            string[] aConsumo = Regex.Split(strDatos, "///");
            foreach (string oConsumo in aConsumo)
            {
                if (oConsumo == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oConsumo, "##");

                //0. Opcion BD. "I", "U", "D"
                //1. AnnoMes
                //2. ID usuario
                //3. Coste
                //4. Unidades
                //5. Costerep
                //6. idempresa_nodomes
                //7. Nodo

                nPSN        = int.Parse(Request.QueryString["nPSN"].ToString());
                sSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, nPSN, int.Parse(aValores[1]));
                if (sSegMesProy == 0)
                {
                    sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, nPSN, int.Parse(aValores[1]));
                    if (sEstadoMes == "C")
                    {
                        bErrorControlado = true;
                        throw (new Exception("Durante su intervención en la pantalla, otro usuario ha eliminado el año/mes: " + aValores[1]));
                    }
                    sSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, nPSN, int.Parse(aValores[1]), sEstadoMes, 0, 0, false, 0, 0);
                }
                else
                {
                    SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(tr, nPSN, int.Parse(aValores[1]), Request.QueryString["sMoneda"].ToString());
                    if (oSegMes.t325_estado == "C")
                    {
                        bErrorControlado = true;
                        throw (new Exception("Durante su intervención en la pantalla, otro usuario ha cerrado el año/mes: " + aValores[1]));
                    }
                    else
                    {
                        sSegMesProy = oSegMes.t325_idsegmesproy;
                    }
                }
                dUnidades = double.Parse(aValores[4]);
                if (dUnidades == 0)
                {
                    CONSPERMES.Delete(tr, sSegMesProy, int.Parse(aValores[2]));
                }
                else
                {                            //Si existe en BBDD, updateo, sino, inserto
                    dUnidadesBD = CONSPERMES.GetUnidades(tr, sSegMesProy, int.Parse(aValores[2]));
                    if (dUnidadesBD == null) //No existe registro -> lo insertamos
                    {
                        int?nEmpresa = null;
                        if (aValores[6] != "")
                        {
                            nEmpresa = int.Parse(aValores[6]);
                        }
                        int?nNodo = null;
                        if (aValores[7] != "")
                        {
                            nNodo = int.Parse(aValores[7]);
                        }
                        CONSPERMES.Insert(tr, sSegMesProy, int.Parse(aValores[2]), dUnidades, decimal.Parse(aValores[3]), decimal.Parse(aValores[5]), nNodo, nEmpresa);
                    }
                    else
                    {//El registro ya existe, solo updateamos si el valor es diferente
                        if (dUnidades != dUnidadesBD)
                        {
                            CONSPERMES.UpdateUnidades(tr, sSegMesProy, int.Parse(aValores[2]), dUnidades);
                        }
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            if (!bErrorControlado)
            {
                sResul = "Error@#@" + Errores.mostrarError("Error al grabar los consumos de los profesionales.", ex);
            }
            else
            {
                sResul = "Error@#@Operación rechazada.\n\n" + ex.Message;
            }
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
Example #28
0
    public string getDatosProduccion(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sMonedaProyecto2, string sMonedaImportes2)
    {
        StringBuilder sb = new StringBuilder();
        DataSet       ds;
        string        sModoCoste = "";

        try
        {
            sLectura = "false";

            sb.Append("<TABLE id=tblDatos style='width: 700px;' mantenimiento=1>");
            sb.Append("<COLGROUP>");
            sb.Append("<COL style='width:15px;' />");
            sb.Append("<COL style='width:325px;' />");
            sb.Append("<COL style='width:120px;' />");
            sb.Append("<COL style='width:120px;' />");
            sb.Append("<COL style='width:120px;' />");
            sb.Append("</COLGROUP>");
            sb.Append("<tbody>");
            ds = PRODUCFACTPROF.ObtenerProduccionPerfilAgrupado(int.Parse(sSegMesProy), sMonedaImportes2);

            if (sMonedaProyecto2 != sMonedaImportes2)
            {
                sLectura = "true";
            }
            else
            {
                if (sEstadoProy == "H" || sEstadoProy == "C" || (bool)Session["MODOLECTURA_PROYECTOSUBNODO"] || sEstadoMes == "C")
                {
                    sLecturaInsMes = "true";
                    sLectura       = "true";
                }
                if ((sEstadoProy == "A" || sEstadoProy == "P") && Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA")
                {
                    sLectura = "false";
                }
            }

            if (ds.Tables[0].Rows.Count > 0)
            {
                sAgrupado = "true";
                sLectura  = "true";
            }
            else
            {
                if (sEstadoProy == "H" || sEstadoProy == "C")
                {
                    ds = PRODUCFACTPERF.CatalogoMesCerrado(int.Parse(sSegMesProy), sMonedaImportes2);
                }
                else if (sEstadoMes == "A")
                {
                    ds = PRODUCFACTPERF.CatalogoMesAbierto(int.Parse(sSegMesProy), sMonedaImportes2);
                }
                //else if (Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA") ds = PRODUCFACTPERF.CatalogoMesCerradoSA(int.Parse(sSegMesProy));
                else
                {
                    ds = PRODUCFACTPERF.CatalogoMesCerrado(int.Parse(sSegMesProy), sMonedaImportes2);
                }
            }

            foreach (DataRow oFila in ds.Tables[0].Rows)
            {
                //sModoCoste = oFila["t301_modelocoste"].ToString();
                //sAvanceProd = double.Parse(oFila["t325_avanceprod"].ToString()).ToString("N");

                sb.Append("<tr id='" + oFila["t333_idperfilproy"].ToString() + "' bd='' unidades='" + oFila["unidades"].ToString().Replace(",", ".") + "' ");

                if (sLectura != "true")
                {
                    sb.Append(" onclick='ms(this)' ");
                }

                sb.Append("style='height:20px;'>");

                sb.Append("<td><img src='../../../images/imgFN.gif'></td>");
                sb.Append("<td>" + oFila["t333_denominacion"].ToString() + "</td>");
                sb.Append("<td style='text-align:right;'>" + double.Parse(oFila["tarifa"].ToString()).ToString("N") + "</td>");

                if (sLectura == "true" || sAgrupado == "true")
                {
                    sb.Append("<td style='text-align:right;'>" + double.Parse(oFila["unidades"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(oFila["importe"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td style='text-align:right;'><input type='text' class='txtNumL' style='width:90px; cursor:pointer' value='" + double.Parse(oFila["unidades"].ToString()).ToString("N") + "' onkeyup='fm(event);setUnidades(this);' onfocus='fn(this);' onchange='calcularTotal()' title='" + oFila["unidades"].ToString().Replace(",", ".") + "' /></td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'><input type='text' class='txtNumL' style='width:90px; cursor:pointer' value='" + double.Parse(oFila["importe"].ToString()).ToString("N") + "' onkeyup='fm(event);setImporte(this);' onfocus='fn(this);' onchange='calcularTotal()' /></td>");
                }
                sb.Append("</tr>");
            }

            ds.Dispose();

            SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2);
            sAvanceProd = oSegMes.t325_avanceprod.ToString("N");
            sModoCoste  = oSegMes.t301_modelocoste;

            this.txtAvanProd.Value = sAvanceProd;
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + sModoCoste + "@#@" + sAvanceProd + "@#@" + sAgrupado + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2));
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener la producción por perfil.", ex));
        }
    }
Example #29
0
 private string addMesesProy(string nIdProySubNodo, string sDesde, string sHasta)
 {
     return(SEGMESPROYECTOSUBNODO.InsertarSegMesProy(nIdProySubNodo, sDesde, sHasta));
 }
    public string getDatosProfesionales(string sSegMesProy, string sEstadoMes, string sEstadoProy, string sConConsumos, string sMonedaProyecto2, string sMonedaImportes2)
    {
        StringBuilder sb = new StringBuilder();
        SqlDataReader dr;
        int           i = 0;

        try
        {
            sLectura = "false";

            if (sEstadoMes == "A")
            {
                dr = PRODUCFACTPROF.CatalogoMesAbierto(int.Parse(sSegMesProy), (sConConsumos == "1") ? true : false, sMonedaImportes2);
            }
            else
            {
                dr = PRODUCFACTPROF.CatalogoMesCerrado(int.Parse(sSegMesProy), (sConConsumos == "1") ? true : false, sMonedaImportes2);
            }

            sb.Append("<table id=tblDatos style='width: 980px;' mantenimiento=1>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:15px;' />");
            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:250px;' />");
            sb.Append("<col style='width:130px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:65px;' />");
            sb.Append("<col style='width:95px;' />");
            sb.Append("</colgroup>");
            sb.Append("<tbody>");

            if (sMonedaProyecto2 != sMonedaImportes2)
            {
                sLectura = "true";
            }
            else
            {
                if (sEstadoProy == "H" || sEstadoProy == "C" || (bool)Session["MODOLECTURA_PROYECTOSUBNODO"] || sEstadoMes == "C")
                {
                    sLecturaInsMes = "true";
                    sLectura       = "true";
                }
                if ((sEstadoProy == "A" || sEstadoProy == "P") && Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "SA")
                {
                    sLectura = "false";
                }
            }


            while (dr.Read())
            {
                //sModoTarifa = dr["t301_modelotarif"].ToString();
                //sAvanceProd = double.Parse(dr["t325_avanceprod"].ToString()).ToString("N");
                sb.Append("<tr id='" + i.ToString() + "' bd='' ");
                sb.Append("tipo=" + dr["tipo"].ToString() + " ");
                sb.Append("nPT=" + dr["t331_idpt"].ToString() + " ");
                sb.Append("nF='" + dr["t334_idfase"].ToString() + "' ");
                sb.Append("nA='" + dr["t335_idactividad"].ToString() + "' ");
                sb.Append("nT='" + dr["t332_idtarea"].ToString() + "' ");
                sb.Append("nProf='" + dr["t314_idusuario"].ToString() + "' ");
                sb.Append("nPerfil='" + dr["t333_idperfilproy"].ToString() + "' ");
                sb.Append("unidades='" + dr["consumosfacturar"].ToString().Replace(",", ".") + "' ");
                sb.Append("unidfact='" + dr["consumosF"].ToString().Replace(",", ".") + "'");
                sb.Append("sexo='" + dr["sexo"].ToString() + "' ");
                sb.Append("nivel=" + dr["nivel"].ToString() + " ");
                sb.Append("importe='" + dr["totalfacturar"].ToString().Replace(",", ".") + "' ");

                //if (sLectura != "true" && dr["tipo"].ToString() == "U") sb.Append(" onclick='msse(this)' ");
                switch (dr["tipo"].ToString())
                {
                case "PT": sb.Append("bgcolor='#A6C7D7'"); break;

                case "F": sb.Append("bgcolor='#BCD5E1'"); break;

                case "A": sb.Append("bgcolor='#D1E2EA'"); break;

                case "T": sb.Append("bgcolor='#E6EEF2'"); break;
                }
                sb.Append(" style='height:20px' nivel='" + ((int)dr["nivel"]).ToString() + "'>");

                sb.Append("<td></td>");//icono bd

                //sb.Append("<td class='N" + ((int)dr["nivel"]).ToString() + "'>");
                switch ((int)dr["nivel"])
                {
                case 1:
                    sb.Append("<td align=right></td><td colspan='5' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W310'");
                    break;

                case 2:
                    sb.Append("<td align=right colspan='2'></td><td colspan='4' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W290'");
                    break;

                case 3:
                    sb.Append("<td align=right colspan='3'></td><td colspan='3' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W270'");
                    break;

                case 4:
                    sb.Append("<td align=right colspan='4'></td><td colspan='2' ");
                    if (dr["tipo"].ToString() != "U")
                    {
                        sb.Append("onmouseover='TTip(event)'");
                    }
                    sb.Append("><nobr class='NBR W250'");
                    break;

                case 5:
                    sb.Append("<td align=right colspan='5'></td><td><nobr class='NBR W230'");
                    break;
                }

                if (dr["tipo"].ToString() == "U")
                {
                    //sb.Append(" 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["desItem"].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;'>Empresa:</label>" + dr["EMPRESA"].ToString().Replace((char)34, (char)39) + "] hideselects=[off]\" ");
                    sb.Append(" 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["desItem"].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) + "] hideselects=[off]\" ");
                }
                sb.Append(">");

                if (dr["tipo"].ToString() == "T")
                {
                    sb.Append(int.Parse(dr["t332_idtarea"].ToString()).ToString("#,###") + " - ");
                }
                sb.Append(dr["desItem"].ToString() + "</nobr></td>");


                if (dr["tipo"].ToString() == "U")
                {
                    sb.Append("<td><nobr class='NBR W130'>" + dr["t333_denominacion"].ToString() + "</nobr></td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["tarifa"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["consumos"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["consumosNF"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;' title='" + dr["consumosF"].ToString().Replace(",", ".") + "'>" + double.Parse(dr["consumosF"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["importeF"].ToString()).ToString("N") + "</td>");

                    sb.Append("<td style='text-align:right;'>" + double.Parse(dr["consumosfacturar"].ToString()).ToString("N") + "</td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'>" + double.Parse(dr["totalfacturar"].ToString()).ToString("N") + "</td>");
                }
                else
                {
                    sb.Append("<td></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right;'></td>");
                    sb.Append("<td style='text-align:right; padding-right:2px;'></td>");
                }

                sb.Append("</tr>");
                i++;
            }
            dr.Close();
            dr.Dispose();

            SEGMESPROYECTOSUBNODO oSegMes = SEGMESPROYECTOSUBNODO.Obtener(null, int.Parse(sSegMesProy), sMonedaImportes2);
            sAvanceProd = oSegMes.t325_avanceprod.ToString("N");
            sModoTarifa = oSegMes.t301_modelotarif;

            this.txtAvanProd.Value = sAvanceProd;
            sb.Append("</tbody>");
            sb.Append("</table>");

            return("OK@#@" + sb.ToString() + "@#@" + sLectura + "@#@" + sModoTarifa + "@#@" + sAvanceProd + "@#@" + MONEDA.getDenominacionImportes(sMonedaImportes2));
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener la producción de los profesionales (linea=" + i.ToString() + ")", ex));
        }
    }