示例#1
0
        private void _cbxReleOperado_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_cbxReleOperado.SelectedIndex > 0 && _ctrlComponenteComprometido.Componente == null)
            {
                MessageBox.Show(MessageMgr.Instance.GetMessage("INGRESE_ALIMENTADOR"));
                _cbxReleOperado.SelectedIndex = 0;
                return;
            }

            if (_cbxReleOperado.SelectedIndex == 1)
            {
                _edacAsociado = ModeloMgr.Instancia.OperacionAlimentadorMgr.GetEdac(_ctrlComponenteComprometido.Componente.PkCodComponente, _txtFechaHoraAp.Value);
                if (_edacAsociado == null)
                {
                    MessageBox.Show(MessageMgr.Instance.GetMessage("NO_RELE_ASOCIADO_ALIM"));
                    _cbxReleOperado.SelectedIndex = 0;
                }
                else
                {
                    _lblEtapa.Text      = _edacAsociado.Etapa;
                    _lblFrecuencia.Text = _edacAsociado.Frecuencia;
                    _lblTiempoRele.Text = _edacAsociado.Tiempo.ToString("N2");
                }
            }
            else
            {
                _edacAsociado       = null;
                _lblEtapa.Text      = string.Empty;
                _lblTiempoRele.Text = string.Empty;
                _lblFrecuencia.Text = string.Empty;
            }
        }
        public Edac GetEdac(decimal codComponente, DateTime fecha)
        {
            Edac resultado = null;

            /*string sql =
             * @"SELECT
             * B.PK_COD_EDAC, B.TIPO_EDAC, B.AJUSTE_EDAC,B.ETAPA_EDAC
             * FROM
             * F_AC_COMPONENTE A, f_gf_param_edac B,f_gf_rcomponente_edac C
             * WHERE
             * A.pk_cod_componente=C.PK_COD_COMPONENTE AND
             * B.PK_COD_EDAC=C.pk_cod_edac AND
             * A.pk_cod_componente=:pk_cod_componente";*/

            string sql =
                @"select pe.*
            from f_gf_param_edac pe
            where pe.pk_cod_edac IN
            (SELECT r.pk_cod_edac 
             from f_gf_rcomponente_edac r
             WHERE r.pk_cod_componente=:cod_componente
             AND :fecha between r.fecha_inicio and NVL(r.fecha_fin,sysdate+1) )";

            DataTable     tabla = null;
            OracleCommand cmd   = CrearCommand();

            cmd.CommandText = sql;
            cmd.Parameters.Add("cod_componente", OracleDbType.Decimal, codComponente, ParameterDirection.Input);
            cmd.Parameters.Add("fecha", OracleDbType.Date, fecha.Date, ParameterDirection.Input);
            cmd.BindByName = true;
            tabla          = EjecutarCmd(cmd);

            if (tabla.Rows.Count > 0)
            {
                resultado            = new Edac();
                resultado.PkCodEdac  = ObjetoDeNegocio.GetValor <long>(tabla.Rows[0]["PK_COD_EDAC"]);
                resultado.Etapa      = ObjetoDeNegocio.GetValor <string>(tabla.Rows[0]["TIPO_EDAC"]);
                resultado.Frecuencia = ObjetoDeNegocio.GetValor <float>(tabla.Rows[0]["AJUSTE_EDAC"]).ToString("N2");
                resultado.Tiempo     = ObjetoDeNegocio.GetValor <float>(tabla.Rows[0]["ETAPA_EDAC"]);
            }
            return(resultado);
        }