示例#1
0
    private string PonerRecurso(int IdRecurso, int IdNodo, int iUltCierreEco, int IdPsn,
                                bool bDeriva, decimal costecon, decimal costerep, bool bNotif)
    {
        SqlConnection  oConn  = null;
        SqlTransaction tr     = null;
        string         sResul = "";

        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
            //lA FECHA DE alta en el proyecto será la siguiente al último mes cerrado del nodo
            DateTime dtFechaAlta = Fechas.AnnomesAFecha(Fechas.AddAnnomes(iUltCierreEco, 1));
            if (!TareaRecurso.AsociadoAProyecto(tr, IdPsn, IdRecurso))
            {
                //TareaRecurso.AsociarAProyecto(tr, IdNodo, IdRecurso, IdPsn, null, dtFechaAlta, null);
                //if (costecon == null) costecon = 0;
                USUARIOPROYECTOSUBNODO.Insert(tr, IdPsn, IdRecurso, costecon, costerep, bDeriva, dtFechaAlta, null, null);
            }
            else
            {
                //TareaRecurso.ReAsociarAProyecto(tr, IdRecurso, IdPsn);
                if (!USUARIOPROYECTOSUBNODO.AsociadoDeAltaProyecto(tr, IdPsn, IdRecurso))
                {
                    USUARIOPROYECTOSUBNODO.Update(tr, IdPsn, IdRecurso, costecon, costerep, bDeriva, dtFechaAlta, null, null);
                }
            }
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = Errores.mostrarError("Error al grabar", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
示例#2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsCallback)
            {
                Master.nBotonera         = 45;
                Master.nResolucion       = 1280;
                Master.bFuncionesLocales = true;
                Master.TituloPagina      = "Cambio de estructura de usuarios";
                Master.FuncionesJavaScript.Add("Javascript/draganddrop.js");
                Master.FuncionesJavaScript.Add("Javascript/boxover.js");

                rdbAmbito.Items[1].Text = Estructura.getDefLarga(Estructura.sTipoElem.NODO);
                //02/02/2016 Victor, sacar el mes del último mes fcerrado de la empresa
                //txtMesValor.Text = Fechas.AnnomesAFechaDescLarga(Fechas.FechaAAnnomes(DateTime.Now));
                PARAMETRIZACIONSUPER oPar = PARAMETRIZACIONSUPER.Select(null);
                txtMesValor.Text = Fechas.AnnomesAFechaDescLarga(Fechas.AddAnnomes(oPar.t725_ultcierreempresa_ECO, 1));

                hdnMesValor.Text = Fechas.FechaAAnnomes(DateTime.Now).ToString();

                if (CAMBIOESTRUCTURAUSUARIO.bHayAparcadas(null))
                {
                    sHayAparcadas = "true";
                }
            }
        }
        catch (Exception ex)
        {
            Master.sErrores += Errores.mostrarError("Error al cargar los datos", ex);
        }
        //1º Se indican (por este orden) la función a la que se va a devolver el resultado
        //   y la función que va a acceder al servidor
        string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false);
        string cbLlamada   = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}";

        //2º Se "registra" la función que va a acceder al servidor.
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true);
    }
示例#3
0
    private string obtenerDatos(int iAnoMes)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            string sAnoMesIni, sAnoMesFin;
            int    iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), iAnoMesFin;

            sAnoMesIni           = iAnoMesIni.ToString();
            this.hdnMesAct.Value = Fechas.AnnomesAFechaDescCorta(iAnoMes);

            #region grafico 1
            DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4));
            iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1);
            sAnoMesFin = iAnoMesFin.ToString();
            DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4));

            SqlDataReader dr = CONEXIONES.SelectGraficoMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()),
                                                           (int)Session["UsuarioActual"], dtPrimer, dtUltimo);

            DataTable table = new DataTable();
            table.Load(dr);
            DataView dv = table.DefaultView;
            dr.Close();
            dr.Dispose();

            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Enabled   = true;
            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.Interval  = 1;
            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineWidth = 1;
            Chart1.ChartAreas["ChartArea1"].AxisX.MinorGrid.LineColor = Color.LightGray;
            //Creo las series para el gráfico con cada uno de los conceptos
            //Creo una serie para las conexiones propias
            Series seriePropias = new Series("Conexiones propias");
            //seriePropias.Points.DataBind(dv, "anomes", "npropias", "");
            seriePropias.Points.DataBind(dv, "mes", "npropias", "");
            Chart1.Series.Add(seriePropias);

            //Creo una serie para las conexiones en mi nombre
            Series serieAjenas = new Series("Conexiones en su nombre");
            //serieAjenas.Points.DataBind(dv2, "anomes", "najenas", "");
            serieAjenas.Points.DataBind(dv, "mes", "najenas", "");
            Chart1.Series.Add(serieAjenas);

            for (int i = 0; i < Chart1.Series.Count; i++)
            {
                Chart1.Series[i].ChartType       = SeriesChartType.Bar;
                Chart1.Series[i]["PointWidth"]   = "1.0";
                Chart1.Series[i]["DrawingStyle"] = "Default";
                //if (dv.Count == 1)
                //{
                //    Chart1.Series[i].ChartType = SeriesChartType.Column;
                //    Chart1.Series[i]["PointWidth"] = "0.2";
                //    Chart1.Series[i]["DrawingStyle"] = "Default";
                //}
                //else
                //{
                //    Chart1.Series[i].ChartType = SeriesChartType.Spline;
                //    Chart1.Series[i].BorderWidth = 2;
                //    Chart1.Series[i].ShadowOffset = 1;
                //}
                //Chart1.Series[i].MarkerStyle = MarkerStyle.Circle;
                //Chart1.Series[i].MarkerColor = Color.Navy;
                //Chart1.Series[i].MarkerSize = 6;
                Chart1.Series[i].ToolTip = "#VALY{N0}";
                //Asigno evento click
                //Chart1.Series[i].MapAreaAttributes = "onclick=\"javascript:alert('Event captured! Series Name: #SER, Point Index: #INDEX, Valor: #VALX');\"";
                //Chart1.Series[i].MapAreaAttributes = "onclick=\"javascript:getMes('#VALX');\" onmouseover=\"document.body.style.cursor='pointer'\" onmouseout=\"document.body.style.cursor='default'\"";
                Chart1.Series[i].MapAreaAttributes = "onclick=\"javascript:getMes('#VALX');\" onmouseover=\"ponerMano();\" onmouseout=\"quitarMano();\"";
            }

            Chart1.Visible = true;

            table.Dispose();
            dv.Dispose();
            #endregion

            return("OK@#@");// +sb.ToString();
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los datos.", ex));
        }
    }
    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));
        }
    }
    private void obtenerDatosXML(int iAnoMes)
    {
        StringBuilder sbGeneral = new StringBuilder();
        StringBuilder sbMeses   = new StringBuilder();

        try
        {
            string sAux, sAnoMesIni, sAnoMesFin;                                                                            //sAnoMesAux,
            int    iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), nOcupacion = 0, nOcupacionMax = 0, iAnoMesAux, iAnoMesFin; //iPropias = 0, iAjenas = 0, iLargura = 0, iLarguraAjena = 0,

            sAnoMesIni = iAnoMesIni.ToString();
            DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4));
            iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1);
            sAnoMesFin = iAnoMesFin.ToString();
            DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4));



            #region Cargo array de 13 meses con el nº de conexiones propias por mes
            ArrayList slLista = new ArrayList();
            iAnoMesAux = iAnoMesIni;
            for (int iFila = 0; iFila < 13; iFila++)
            {
                sAux = Fechas.AnnomesAFechaDescLarga(iAnoMesAux);
                string[] aDatosAux = new string[] { sAux, "0", "0", iAnoMesAux.ToString() };
                slLista.Add(aDatosAux);
                iAnoMesAux = Fechas.AddAnnomes(iAnoMesAux, 1);
            }
            SqlDataReader dr = CONEXIONES.SelectPropiasMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), dtPrimer, dtUltimo);
            while (dr.Read())
            {
                nOcupacion = int.Parse(dr["npropias"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[1] = dr["npropias"].ToString();
                        break;
                    }
                }
            }
            dr.Close();
            dr.Dispose();
            #endregion
            #region Cargo array de 13 meses con el nº de conexiones ajenas por mes
            SqlDataReader dr2 = CONEXIONES.SelectAjenasMes(null, (int)Session["UsuarioActual"], dtPrimer, dtUltimo);
            while (dr2.Read())
            {
                nOcupacion = int.Parse(dr2["najenas"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr2["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[2] = dr2["najenas"].ToString();
                        break;
                    }
                }
            }
            dr2.Close();
            dr2.Dispose();
            #endregion

            sbMeses.Append("<categories font='Arial' fontSize='11' fontColor='000000'>");
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                if (iFila == 12)
                {
                    nAnomesInicio = int.Parse(((string[])slLista[iFila])[3]);
                }
                sbMeses.Append("<category name='" + ((string[])slLista[iFila])[0] + "' />");
            }
            sbMeses.Append("</categories>");

            sbMeses.Append("<dataset seriesname='Propias' color='ff0033' alpha='70'>");
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                if (iFila == 12)
                {
                    nPropias = int.Parse(((string[])slLista[iFila])[1]);
                }
                sbMeses.Append("<set value='" + ((string[])slLista[iFila])[1] + "' link='JavaScript:buscar(" + ((string[])slLista[iFila])[1] + "," + ((string[])slLista[iFila])[2] + "," + ((string[])slLista[iFila])[3] + ")' />");
            }
            sbMeses.Append("</dataset>");

            sbMeses.Append("<dataset seriesname='En su nombre' color='000066' showValues='1' alpha='70'>");
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                if (iFila == 12)
                {
                    nAjenas = int.Parse(((string[])slLista[iFila])[2]);
                }
                sbMeses.Append("<set value='" + ((string[])slLista[iFila])[2] + "' link='JavaScript:buscar(" + ((string[])slLista[iFila])[1] + "," + ((string[])slLista[iFila])[2] + "," + ((string[])slLista[iFila])[3] + ")' />");
            }
            sbMeses.Append("</dataset>");

            sbGeneral.Append("<graph ");
            //sbGeneral.Append(" xaxisname='Meses' ");
            //sbGeneral.Append(" yaxisname='Actividad' ");
            sbGeneral.Append(" hovercapbg='73cef6' ");
            sbGeneral.Append(" hovercapborder='889E6D'");
            sbGeneral.Append(" rotateNames='0' ");
            sbGeneral.Append(" animation='1' ");
            sbGeneral.Append(" yAxisMaxValue='" + (nOcupacionMax + 10).ToString() + "' ");
            sbGeneral.Append(" numdivlines='4' ");
            sbGeneral.Append(" divLineColor='CCCCCC' ");
            sbGeneral.Append(" divLineAlpha='80' ");
            sbGeneral.Append(" decimalPrecision='0' ");
            sbGeneral.Append(" showAlternateVGridColor='1' ");
            sbGeneral.Append(" AlternateVGridAlpha='30' ");
            sbGeneral.Append(" AlternateVGridColor='CCCCCC' ");
            //sbGeneral.Append(" caption='Actividad registrada' ");
            sbGeneral.Append(" bgColor='D8E5EB' ");
            sbGeneral.Append(" >");


            strXML = sbGeneral.ToString() + sbMeses.ToString() + "</graph>";
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al obtener el registro de actividad.", ex);
        }
    }
    private void obtenerGrafico(int iAnoMes)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            string sAux, sAnoMesAux, sAnoMesIni, sAnoMesFin;
            int    iAnoMesIni = Fechas.AddAnnomes(iAnoMes, -12), iPropias = 0, iAjenas = 0, nOcupacion = 0, nOcupacionMax = 0, iLargura = 0, iLarguraAjena = 0, iAnoMesAux, iAnoMesFin;

            sAnoMesIni = iAnoMesIni.ToString();
            DateTime dtPrimer = Fechas.crearDateTime("01/" + sAnoMesIni.Substring(4, 2) + "/" + sAnoMesIni.Substring(0, 4));
            iAnoMesFin = Fechas.AddAnnomes(iAnoMes, 1);
            sAnoMesFin = iAnoMesFin.ToString();
            DateTime dtUltimo = Fechas.crearDateTime("01/" + sAnoMesFin.Substring(4, 2) + "/" + sAnoMesFin.Substring(0, 4));

            sb.Append("<table id='tblDatos' class='texto MANO' style='WIDTH: 960px; table-layout:fixed;' cellSpacing='0' border='0'>");
            sb.Append("<colgroup>");
            sb.Append(" <col style='width:90px;'/>");
            sb.Append(" <col style=\"width:870px;;\" />");
            sb.Append("</colgroup>");
            sb.Append("<tr style=\"height:20px;cursor:default;\">");
            sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black;'>&nbsp;</td>");
            sb.Append("<td>&nbsp;</td></tr>");

            #region Cargo array de 13 meses con el nº de conexiones propias por mes
            ArrayList slLista = new ArrayList();
            iAnoMesAux = iAnoMesIni;
            for (int iFila = 0; iFila < 13; iFila++)
            {
                sAux = Fechas.AnnomesAFechaDescLarga(iAnoMesAux);
                string[] aDatosAux = new string[] { sAux, "0", "0", iAnoMesAux.ToString() };
                slLista.Add(aDatosAux);
                iAnoMesAux = Fechas.AddAnnomes(iAnoMesAux, 1);
            }
            SqlDataReader dr = CONEXIONES.SelectPropiasMes(null, int.Parse(Session["IDFICEPI_PC_ACTUAL"].ToString()), dtPrimer, dtUltimo);
            while (dr.Read())
            {
                nOcupacion = int.Parse(dr["npropias"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[1] = dr["npropias"].ToString();
                        break;
                    }
                }
            }
            dr.Close();
            dr.Dispose();
            #endregion
            #region Cargo array de 13 meses con el nº de conexiones ajenas por mes
            SqlDataReader dr2 = CONEXIONES.SelectAjenasMes(null, (int)Session["UsuarioActual"], dtPrimer, dtUltimo);
            while (dr2.Read())
            {
                nOcupacion = int.Parse(dr2["najenas"].ToString());
                if (nOcupacion > nOcupacionMax)
                {
                    nOcupacionMax = nOcupacion;
                }
                for (int iFila = 0; iFila < 13; iFila++)
                {
                    if (((string[])slLista[iFila])[3] == dr2["anomes"].ToString())
                    {
                        ((string[])slLista[iFila])[2] = dr2["najenas"].ToString();
                        break;
                    }
                }
            }
            dr2.Close();
            dr2.Dispose();
            #endregion
            for (int iFila = 12; iFila >= 0; iFila--)
            {
                sAux       = ((string[])slLista[iFila])[0];//Añomes en formato corto
                iPropias   = int.Parse(((string[])slLista[iFila])[1]);
                iAjenas    = int.Parse(((string[])slLista[iFila])[2]);
                sAnoMesAux = ((string[])slLista[iFila])[3];//Añomes en formato numerico

                nOcupacion = iPropias;
                //if (iAjenas > iPropias)
                //    nOcupacion = iAjenas;
                iLargura      = flGetWidth(nOcupacion, nOcupacionMax);
                iLarguraAjena = flGetWidth(iAjenas, nOcupacionMax);
                sb.Append("<tr id=" + sAnoMesAux + " iPropias=" + iPropias.ToString() + " iAjenas=" + iAjenas.ToString() + " style=\"height:20px; background-color:White;\" onclick='buscar(this.id)'>");
                sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black;'>" + sAux + "</td>");
                sb.Append("<td style=\"background-image:url('../../../Images/imgGanttBG175.gif')\">");
                if (iLargura != 0 || iLarguraAjena != 0)
                {
                    sb.Append("<span style='height:18px;noWrap:true;'>");
                    sb.Append("<img src='../../../Images/imgGanttR.gif' style='vertical-align:middle;height:12px;width:" + iLargura.ToString() + "px;margin:0px;border:0px;display:block;' />");
                    sb.Append("<img src='../../../Images/imgAR.gif' style='vertical-align:middle;height:5px;width:" + iLarguraAjena.ToString() + "px;margin:0px;border:0px;display:block;' />");
                    sb.Append("</span>");
                    sb.Append("<label style='margin-left:10px;color:red;vertical-align:top;margin-top:8px;font-weight:bold;'>" + iPropias.ToString() + "</label>");
                    sb.Append("<label style='margin-left:20px;vertical-align:top;margin-top:8px;font-weight:bold;'>" + iAjenas.ToString() + "</label>");
                }
                else
                {
                    sb.Append("&nbsp;");
                }
                sb.Append("</td></tr>");
            }
            sb.Append("<tr style=\"height:20px;\">");
            sb.Append("<td style='padding-left:3px; border-right-style:solid; border-right-width:2px; border-right-color: Black; border-top-style:solid; border-top-width:2px; border-top-color: Black;'>&nbsp;</td>");
            sb.Append("<td style=\" border-top-style:solid; border-top-width:2px; border-top-color: Black;\">&nbsp;</td></tr>");
            sb.Append("</table>");

            strTablaHTMLGrafico = sb.ToString();
        }
        catch (Exception ex)
        {
            Master.sErrores = Errores.mostrarError("Error al obtener el registro de actividad propio.", ex);
        }
    }
示例#7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsCallback)
        {
            Master.TituloPagina      = "Cuadre de consumos económicos";
            Master.bFuncionesLocales = true;
            Master.FuncionesJavaScript.Add("Javascript/boxover.js");
            try
            {
                //if (!(bool)Session["FORANEOS"])
                //{
                //    this.imgForaneo.Visible = false;
                //    this.lblForaneo.Visible = false;
                //}
                sNodo = Estructura.getDefCorta(Estructura.sTipoElem.NODO);
                gomaNodo.Attributes.Add("title", "Borra el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO));
                this.lblNodo.InnerText = sNodo;
                this.lblNodo.Attributes.Add("title", Estructura.getDefLarga(Estructura.sTipoElem.NODO));
                //this.lbl1.InnerText = "Asociados a proyectos del " + this.lblNodo.InnerText;
                this.lblInternos.InnerText   = "Del " + sNodo;
                this.lblOtrosNodos.InnerText = "De otros " + sNodo + "s";
                if (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion())
                {
                    cboCR.Visible      = false;
                    hdnIdNodo.Visible  = true;
                    txtDesNodo.Visible = true;
                    gomaNodo.Visible   = true;
                }
                else
                {
                    cboCR.Visible      = true;
                    hdnIdNodo.Visible  = false;
                    txtDesNodo.Visible = false;
                    gomaNodo.Visible   = false;
                    cargarNodos();
                }
                int    iUMC;
                string sUMC = USUARIO.getUMCNodo(null, (int)Session["UsuarioActual"]);
                if (sUMC != "")
                {
                    iUMC = Fechas.AddAnnomes(int.Parse(sUMC), 1);
                }
                else
                {
                    //DateTime dtUMC = System.DateTime.Today;
                    //iUMC = (dtUMC.Year * 100) + dtUMC.Month;
                    iUMC = Fechas.AddAnnomes(Fechas.FechaAAnnomes(DateTime.Today), 1);
                }
                this.sMSCMA = iUMC.ToString();
                //PREFERENCIAS
                string[] aDatosPref = Regex.Split(getPreferencia(""), "@#@");
                if (bHayPreferencia && aDatosPref[0] == "OK")
                {
                    #region preferencia
                    if (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion())
                    {
                        hdnIdNodo.Text  = aDatosPref[1];
                        txtDesNodo.Text = aDatosPref[2];
                    }
                    else
                    {
                        cboCR.SelectedValue = aDatosPref[1];
                    }

                    chkDelNodo.Checked  = (aDatosPref[3] == "1") ? true : false;
                    chkExternos.Checked = (aDatosPref[4] == "1") ? true : false;
                    chkOtroNodo.Checked = (aDatosPref[5] == "1") ? true : false;
                    chkActuAuto.Checked = (aDatosPref[6] == "1") ? true : false;
                    chkRPA.Checked      = (aDatosPref[7] == "1") ? true : false;

                    this.rdbCoste.SelectedValue = aDatosPref[8];
                    this.hdnModeloCoste.Value   = aDatosPref[8];

                    if (chkActuAuto.Checked)
                    {
                        btnObtener.Disabled = true;

                        string   strTabla = ObtenerJornadasReportadas(iUMC, iUMC, aDatosPref[1], aDatosPref[3], aDatosPref[4], aDatosPref[5], aDatosPref[7], aDatosPref[8]);
                        string[] aTabla   = Regex.Split(strTabla, "@#@");
                        if (aTabla[0] == "OK")
                        {
                            divCatalogo2.InnerHtml = aTabla[1];
                        }
                        else
                        {
                            Master.sErrores += Errores.mostrarError(aTabla[1]);
                        }
                    }
                    else
                    {
                        divCatalogo2.InnerHtml = "<table id='tblDatos'></table>";
                    }
                    #endregion
                }
                else
                {
                    if (aDatosPref[0] == "Error")
                    {
                        Master.sErrores += Errores.mostrarError(aDatosPref[1]);
                    }
                    else
                    {
                        divCatalogo2.InnerHtml = "<table id='tblDatos'></table>";
                    }
                }
            }
            catch (Exception ex)
            {
                Master.sErrores = Errores.mostrarError("Error al obtener la consulta de jornadas reportadas.", 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);
        }
    }
示例#8
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);
    }
示例#9
0
    private string getProyectosCierre(bool bADM, string nPSN, string sAnomes, string sResponsables, string sSubnodos,
                                      string sPSN, string sOrigen, string sComparacionLogica, string bListaProy)
    {
        try
        {
            StringBuilder sb = new StringBuilder();
            Hashtable     htAjustes = new Hashtable();
            SqlDataReader dr = null;
            bool          bMesesOK = true, bProcesable = true;
            DateTime?     oDT1 = null, oDT2 = null, oDT3 = null, oDT4 = null;
            int           nTiempoBD       = 0;
            int           nTiempoHTML     = 0;
            int           nTiempoDialogos = 0;

            sb.Append("<TABLE class='texto' id='tblDatos' style='width: 974px;'>");
            sb.Append("<colgroup>");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:60px;' />");
            sb.Append("<col style='width:140px;' />");
            sb.Append("<col style='width:35px;' />");
            sb.Append("<col style='width:55px;' />");
            sb.Append("<col style='width:54px;' />");
            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:20px;' />");
            sb.Append("<col style='width:20px;' />");
            sb.Append("<col style='width:55px;' />");
            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>");
            sb.Append("<tbody>");

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

            oDT1 = DateTime.Now;
            if (bListaProy == "S")
            {
                dr = PROYECTOSUBNODO.ObtenerProyectosACerrar(nPSN);
            }
            else
            {
                if (!bADM)
                {
                    if (sOrigen == "menucierresat" || sOrigen == "menucierresatsaa")
                    {
                        dr = PROYECTOSUBNODO.ObtenerProyectosACerrarUSA((int)Session["UsuarioActual"], (sOrigen == "menucierresatsaa") ? true : false);
                    }
                    else
                    {
                        dr = PROYECTOSUBNODO.ObtenerProyectosACerrar((int)Session["UsuarioActual"], (nPSN == "") ? null : (int?)int.Parse(nPSN), bCarrusel);
                    }
                }
                else
                {
                    dr = PROYECTOSUBNODO.ObtenerProyectosACerrarADM(int.Parse(sAnomes), sResponsables, sSubnodos, sPSN, (sComparacionLogica == "1") ? true : false);
                }
            }
            oDT2 = DateTime.Now;
            string s_idsegmesproy = "";
            while (dr.Read())
            {
                bMesesOK    = true;
                bProcesable = true;

                aProyectos.Add(dr["t301_idproyecto"].ToString());
                sb.Append("<tr id='" + dr["t301_idproyecto"].ToString() + "' ");
                sb.Append("idPSN='" + dr["t305_idproyectosubnodo"].ToString() + "' ");
                sb.Append("cualidad='" + dr["t305_cualidad"].ToString() + "' ");
                sb.Append("anomes='" + dr["t325_anomes"].ToString() + "' ");
                //sb.Append("ajuste='" + dr["ajuste"].ToString() + "' ");
                //sb.Append("importe_ajuste='" + dr["Importe_Ajuste"].ToString() + "' ");
                sb.Append("nSegMes='" + dr["t325_idsegmesproy"].ToString() + "' ");

                //if ( (byte)dr["monedas_proyectos_contrato"] > 1
                //    || (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString()))
                //{//Por ahora no permitimoes cerrar este caso ni a los administradores.
                //    sb.Append("a_procesar='0' ");
                //    bProcesable = false;
                //}
                //else
                if (bADM)
                {
                    sb.Append("a_procesar='1' ");
                    s_idsegmesproy += dr["t325_idsegmesproy"].ToString() + ",";
                }
                else if (dr["faltan_CEC_obligatorios"].ToString() == "1" ||
                         dr["faltan_CED_obligatorios"].ToString() == "1" ||
                         dr["faltan_Cualificadores_obligatorios"].ToString() == "1" ||
                         (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString()) && sOrigen != "carrusel")
                         //|| ( (byte)dr["monedas_proyectos_contrato"] > 1 )
                         //|| (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString())
                         )
                {
                    sb.Append("a_procesar='0' ");
                    bProcesable = false;
                }
                else
                {
                    sb.Append("a_procesar='1' ");
                    s_idsegmesproy += dr["t325_idsegmesproy"].ToString() + ",";
                }

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

                if (dr["ajuste"].ToString() == "1")
                {
                    this.hdnExcepcion.Text = "1";
                }

                if (dr["t305_cualidad"].ToString() == "C")
                {
                    sb.Append("<td style=\"border-right:none\"><img src='../../../images/imgIconoContratante.gif' width='16px' height='16px' /></td>");
                }
                else
                {
                    sb.Append("<td style=\"border-right:none\"><img src='../../../images/imgIconoRepPrecio.gif' width='16px' height='16px' /></td>");
                }

                sb.Append("<td style=\"border-right:none; padding-right:5px;text-align:right;\">" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
                sb.Append("<td style='padding-left:3px;'><nobr class='NBR W135' 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'>Categoría:</label>" + ((dr["t301_categoria"].ToString() == "P") ? "Producto" : "Servicio") + "<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) + "<br><label style='width:75px'>Moneda:</label>" + dr["t422_denominacion_proyecto"].ToString() + "] hideselects=[off]\">" + dr["t301_denominacion"].ToString().Replace((char)34, (char)39) + "</nobr></td>");

                sb.Append("<td style='padding-left:2px;'>" + dr["t422_idmoneda_proyecto"].ToString() + "</td>");
                sb.Append("<td style='padding-left:1px;'>" + Fechas.AnnomesAFechaDescCorta(int.Parse(dr["T303_ultcierreeco"].ToString())) + "</td>");

                if (Fechas.AddAnnomes(int.Parse(dr["T303_ultcierreeco"].ToString()), 1) != int.Parse(dr["t325_anomes"].ToString()))
                {
                    sb.Append("<td style='color:red;padding-left:1px;'>");
                    bMesesOK = false;
                }
                else
                {
                    sb.Append("<td style='padding-left:1px;'>");
                }
                sb.Append(Fechas.AnnomesAFechaDescCorta(int.Parse(dr["t325_anomes"].ToString())) + "</td>");

                sb.Append("<td style='text-align:right;padding-right:2px;'>" + decimal.Parse(dr["consumoIAP"].ToString()).ToString("N") + "</td>");
                sb.Append("<td style='text-align:right;padding-right:2px;'>" + decimal.Parse(dr["consumoPGE"].ToString()).ToString("N") + "</td>");

                if (bMesesOK)
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;padding-right:2px;\"></td>");
                }
                else
                {
                    if (sOrigen == "carrusel")
                    {
                        sb.Append("<td style=\"border-right:none;text-align:center;padding-right:2px;\"><img src='../../../Images/imgCalAma.gif' /></td>");
                    }
                    else
                    {
                        sb.Append("<td style=\"border-right:none;text-align:center;padding-right:2px;\"><img src='../../../Images/imgCalRojo.gif' /></td>");
                    }
                    this.hdnExcepcion.Text = "1";
                }

                if (dr["faltan_CEC_obligatorios"].ToString() == "1" || dr["faltan_CED_obligatorios"].ToString() == "1")
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgIconoObl16.gif' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"></td>");
                }

                if (dr["faltan_Cualificadores_obligatorios"].ToString() == "1")
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgIconoObl16Azul.gif' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"></td>");
                }

                if (decimal.Parse(dr["consumonivel"].ToString()) > 0)
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgConsNivel.gif' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"></td>");
                }

                if ((byte)dr["monedas_proyectos_contrato"] > 1 ||
                    (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString())
                    )
                {
                    string sTitle = "";
                    if ((byte)dr["monedas_proyectos_contrato"] > 1)
                    {
                        sTitle += "Los proyectos asociados al contrato tienen monedas diferentes.<br>";
                    }
                    if (dr["t306_idcontrato"] != DBNull.Value && dr["t422_idmoneda_proyecto"].ToString() != dr["t422_idmoneda_contrato"].ToString())
                    {
                        sTitle += "Moneda del contrato: " + dr["t422_denominacion_contrato"].ToString() + "\nMoneda del proyecto: " + dr["t422_denominacion_proyecto"].ToString() + "\n";
                    }

                    if (dr["ajuste"].ToString() == "1")
                    {
                        if ((string)htAjustes[dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString()] == null)
                        {
                            htAjustes.Add(dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString(),
                                          dr["t301_idproyecto"].ToString()
                                          );
                        }
                        sTitle += "Importe de ajuste: " + decimal.Parse(dr["Importe_Ajuste"].ToString()).ToString("N") + " " + dr["t422_denominacionimportes_proyecto"].ToString();
                        this.hdnExcepcion.Text = "1";
                    }
                    sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgExclamacion.png' title='" + sTitle + "' /></td>");
                }
                else if (dr["ajuste"].ToString() == "1" && bProcesable)   //si hay ajuste y no hay excepción que impida cerrar
                {
                    if ((string)htAjustes[dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString()] == null)
                    {
                        htAjustes.Add(dr["t301_categoria"].ToString() + dr["t306_idcontrato"].ToString(),
                                      dr["t301_idproyecto"].ToString()
                                      );
                        sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgAjuste2.gif' title='Importe de ajuste: " + decimal.Parse(dr["Importe_Ajuste"].ToString()).ToString("N") + "' /></td>");
                        this.hdnExcepcion.Text = "1";
                    }
                    else
                    {
                        sb.Append("<td style=\"border-right:none;text-align:center;\"></td>");
                    }
                }
                else
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"></td>");
                }

                if (decimal.Parse(dr["t325_consperiod"].ToString()) != 0)
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"><img src='../../../Images/imgConsumoPeriod.gif' title='Consumos periodificados: " + decimal.Parse(dr["t325_consperiod"].ToString()).ToString("N") + "' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td style=\"border-right:none;text-align:center;\"></td>");
                }
                if (decimal.Parse(dr["t325_prodperiod"].ToString()) != 0)
                {
                    sb.Append("<td style='text-align:center;'><img src='../../../Images/imgProduccionPeriod.gif' title='Producción periodificada: " + decimal.Parse(dr["t325_prodperiod"].ToString()).ToString("N") + "' /></td>");
                    this.hdnExcepcion.Text = "1";
                }
                else
                {
                    sb.Append("<td></td>");
                }

                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>");
                }

                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>");
                }

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

                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>");
                }

                if (bProcesable)
                {
                    sb.Append("<td style=\"border-right:none\"><img src='../../../Images/imgMesAbierto.gif' /></td>");
                }
                else
                {
                    sb.Append("<td style=\"border-right:none;padding-left:3px;text-align:center;\"><img src='../../../Images/imgMesNoProceso.gif' /></td>");
                }
                sb.Append("</tr>");
            }
            dr.Close();
            dr.Dispose();
            sb.Append("</tbody>");
            sb.Append("</table>");

            oDT3        = DateTime.Now;
            nTiempoBD   = Fechas.DateDiff("mm", (DateTime)oDT1, (DateTime)oDT2);
            nTiempoHTML = Fechas.DateDiff("mm", (DateTime)oDT2, (DateTime)oDT3);
            //Obtengo las alertas producidas por los proyectos a cerrar.
            //s_idsegmesproy
            int nAlertas = 0;
            if (s_idsegmesproy != "")
            {
                DataSet ds = SUPER.Capa_Datos.SEGMESPROYECTOSUBNODO.ObtenerDialogosDeAlertasDS(null, s_idsegmesproy, true);
                Session["DS_ALERTASCIERRE"] = ds;
                nAlertas = ds.Tables[0].Rows.Count;
            }
            oDT4            = DateTime.Now;
            nTiempoDialogos = Fechas.DateDiff("mm", (DateTime)oDT3, (DateTime)oDT4);

            return("OK@#@" + sb.ToString() + "@#@" + this.hdnExcepcion.Text + "@#@" + nAlertas.ToString() + "@#@"
                   + nTiempoBD.ToString() + "@#@"
                   + nTiempoHTML.ToString() + "@#@"
                   + nTiempoDialogos.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al obtener los proyectos.", ex));
        }
    }
示例#10
0
    private string procesarOF(string sAnomes, string strDatos)
    {
        string sResul     = "";
        string sEstadoMes = "";
        int    nSMP       = 0;

        #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);
            }
            return("Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex));
        }
        #endregion

        try
        {
            string[] aOrdenes = Regex.Split(strDatos, "///");

            foreach (string oOrden in aOrdenes)
            {
                if (oOrden == "")
                {
                    continue;
                }

                //0. t376_iddatoeco
                //1. t325_idsegmesproy
                //2. t305_idproyectosubnodo
                //3. Opcion: B -> Borrado, D -> Decalaje

                string[] aValores = Regex.Split(oOrden, "##");
                if (aValores[3] == "B")
                {
                    DATOECO.Delete(tr, int.Parse(aValores[0]));
                }
                else
                {
                    //1º Obtener el siguiente idsegmesproy al actual.
                    nSMP = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, int.Parse(aValores[2]), Fechas.AddAnnomes(int.Parse(sAnomes), 1));
                    if (nSMP == 0)
                    {
                        sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, int.Parse(aValores[2]), Fechas.AddAnnomes(int.Parse(sAnomes), 1));
                        nSMP       = SEGMESPROYECTOSUBNODO.Insert(tr, int.Parse(aValores[2]), Fechas.AddAnnomes(int.Parse(sAnomes), 1), sEstadoMes, 0, 0, false, 0, 0);
                    }
                    DATOECO.UpdateDecalaje(tr, int.Parse(aValores[0]), nSMP);
                }
            }

            Conexion.CommitTransaccion(tr);

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