private void Buscar()
    {
        Ocultar(Acciones.Inicio);
        Desactivar(Acciones.Inicio);
        Mostrar(Acciones.Inicio);

        String datosCapturados = HiddenField_FILTRO_DATO.Value;
        String campo           = HiddenField_FILTRO_DROP.Value;

        String CUMPLIDO  = HiddenField_CUMPLIDO.Value;
        String CANCELADO = HiddenField_CANCELADO.Value;

        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaResultadosBusqueda = new DataTable();

        if (campo == "RAZ_SOCIAL")
        {
            tablaResultadosBusqueda = _requisicion.ObtenerComRequerimientoPorRazSocial(datosCapturados, CANCELADO, CUMPLIDO);
        }
        else
        {
            if (DropDownList_BUSCAR.SelectedValue == "COD_EMPRESA")
            {
                tablaResultadosBusqueda = _requisicion.ObtenerComRequerimientoPorCodEmpresa(datosCapturados, CANCELADO, CUMPLIDO);
            }
            else
            {
                if (DropDownList_BUSCAR.SelectedValue == "ID_REQUERIMIENTO")
                {
                    tablaResultadosBusqueda = _requisicion.ObtenerComRequerimientoPorIdRequerimiento(Convert.ToDecimal(datosCapturados));
                }
            }
        }

        if (tablaResultadosBusqueda.Rows.Count <= 0)
        {
            if (_requisicion.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros que cumplieran los datos de busqueda.", Proceso.Advertencia);
            }

            Panel_GRID_RESULTADOS.Visible = false;
        }
        else
        {
            Panel_GRID_RESULTADOS.Visible = true;

            GridView_RESULTADOS_BUSQUEDA.DataSource = tablaResultadosBusqueda;
            GridView_RESULTADOS_BUSQUEDA.DataBind();
        }
    }
    protected void GridView_RESULTADOS_BUSQUEDA_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView_RESULTADOS_BUSQUEDA.PageIndex = e.NewPageIndex;

        String datosCapturados = TextBox_BUSCAR.Text.ToUpper();
        String campo           = DropDownList_BUSCAR.SelectedValue.ToString();

        requisicion _requicision = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaResultadosBusqueda = new DataTable();

        if (DropDownList_BUSCAR.SelectedValue == "NUM_DOC_IDENTIDDAD")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorNumDocIdentificacion(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "NOMBRES")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorNombres(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "APELLIDOS")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorApellidos(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "RAZ_SOCIAL")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorEmpresa(datosCapturados);
        }

        if (tablaResultadosBusqueda.Rows.Count <= 0)
        {
            Panel_MENSAJES.Enabled  = true;
            Panel_MENSAJES.Visible  = true;
            Label_MENSAJE.ForeColor = System.Drawing.Color.Red;
            if (_requicision.MensajeError != null)
            {
                Label_MENSAJE.Text = _requicision.MensajeError;
            }
            else
            {
                Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron registros que cumpliera con los datos de busqueda.";
            }
        }
        else
        {
            Panel_MENSAJES.Enabled                  = false;
            Panel_MENSAJES.Visible                  = false;
            Panel_RESULTADOS_GRID.Enabled           = true;
            Panel_RESULTADOS_GRID.Visible           = true;
            GridView_RESULTADOS_BUSQUEDA.DataSource = tablaResultadosBusqueda;
            GridView_RESULTADOS_BUSQUEDA.DataBind();
        }
    }
예제 #3
0
    protected void GridView_RESULTADOS_BUSQUEDA_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int indexSeleccionado = Convert.ToInt32(e.CommandArgument);

        if (e.CommandName == "seleccionar")
        {
            LabelIdRequerimiento.Text  = this.GridView_RESULTADOS_BUSQUEDA.DataKeys[indexSeleccionado].Values["ID_REQUERIMIENTO"].ToString();
            Label_NumDocIdentidad.Text = this.GridView_RESULTADOS_BUSQUEDA.DataKeys[indexSeleccionado].Values["NUM_DOC_IDENTIDAD"].ToString();
            Label_Nombre.Text          = this.GridView_RESULTADOS_BUSQUEDA.Rows[indexSeleccionado].Cells[4].Text.Trim() + " " + this.GridView_RESULTADOS_BUSQUEDA.Rows[indexSeleccionado].Cells[5].Text.Trim();

            HiddenField_ID_REQUERIMIENTO.Value = this.GridView_RESULTADOS_BUSQUEDA.DataKeys[indexSeleccionado].Values["ID_REQUERIMIENTO"].ToString();
            HiddenField_ID_SOLICITUD.Value     = this.GridView_RESULTADOS_BUSQUEDA.DataKeys[indexSeleccionado].Values["ID_SOLICITUD"].ToString();

            if (this.GridView_RESULTADOS_BUSQUEDA.Rows[indexSeleccionado].Cells[11].Text != "&nbsp;")
            {
                Label_Cargo.Text = this.GridView_RESULTADOS_BUSQUEDA.Rows[indexSeleccionado].Cells[11].Text;
            }
            else
            {
                Label_Cargo.Text = "";
            }

            requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
            DataTable   tablaReq     = _requisicion.ObtenerComRequerimientoPorIdRequerimiento(Convert.ToDecimal(LabelIdRequerimiento.Text));

            if (tablaReq.Rows.Count <= 0)
            {
                if (_requisicion.MensajeError != null)
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Error);
                }
                else
                {
                    Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información de la requisición seleccionada.", Proceso.Advertencia);
                }
            }
            else
            {
                DataRow filaReq = tablaReq.Rows[0];

                TextBox_NOMBRE_EMPRESA.Text = filaReq["RAZ_SOCIAL"].ToString().Trim();
                TextBox_CIUDAD.Text         = filaReq["NOMBRE_CIUDAD"].ToString().Trim();

                Ocultar(Acciones.Inicio);
                Mostrar(Acciones.Carga);

                Consultar(Convert.ToDecimal(this.GridView_RESULTADOS_BUSQUEDA.DataKeys[indexSeleccionado].Values["ID_REQUERIMIENTO"]), Convert.ToDecimal(this.GridView_RESULTADOS_BUSQUEDA.DataKeys[indexSeleccionado].Values["ID_SOLICITUD"]));
                InhabilitarTodasFilasGrilla(GridView_Documentos, 0);
            }
        }
    }
    private void GuardarCancelacion()
    {
        Decimal ID_REQUISICION = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);

        String CANCELADO      = "S";
        String TIPO_CANCELA   = RadioButtonList_TIPO_CANCELACION.SelectedValue;
        String MOTIVO_CANCELA = null;

        if (TIPO_CANCELA == "CLIENTE")
        {
            MOTIVO_CANCELA = DropDownList_MOTIVO_CANCELACION.SelectedValue;
        }
        String CUMPLIDO = "N";

        String CUMPLE_OPORTUNO = "N";

        if (CheckBox_ReqOportuna.Checked == true)
        {
            CUMPLE_OPORTUNO = "S";
        }

        String CUMPLE_EECTIVA = "N";

        if (CheckBox_ReqEfectiva.Checked == true)
        {
            CUMPLE_EECTIVA = "S";
        }

        String MOTIVO_CUMPLIDO = null;

        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        Boolean resultado = _requisicion.ActualizarConRequerimeintosBanderas(ID_REQUISICION, CUMPLIDO, CUMPLE_OPORTUNO, CUMPLE_EECTIVA, MOTIVO_CUMPLIDO, CANCELADO, TIPO_CANCELA, MOTIVO_CANCELA);

        if (resultado == false)
        {
            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Error);
        }
        else
        {
            Cargar(ID_REQUISICION);

            Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La requisición #: " + ID_REQUISICION.ToString() + " fue cancelada correctamente.", Proceso.Correcto);
        }
    }
    protected void Buscar()
    {
        Ocultar(Acciones.Inicio);
        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable _dataTable = new DataTable();

        switch (this.DropDownList_BUSCAR.SelectedValue)
        {
        case "NUMERO_DOCUMENTO":
            _dataTable = _requisicion.ObtenerRequerimientosPorNumeroDocumento(this.TextBox_BUSCAR.Text);
            break;

        case "NOMBRE":
            _dataTable = _requisicion.ObtenerRequerimientosPorNombre(this.TextBox_BUSCAR.Text);
            break;
        }

        if (_dataTable.Rows.Count > 0)
        {
            GridView_RESULTADOS_BUSQUEDA.DataSource = _dataTable;
            GridView_RESULTADOS_BUSQUEDA.DataBind();
            Mostrar(Acciones.BusquedaEncontro);
        }
        else
        {
            if (!String.IsNullOrEmpty(_requisicion.MensajeError))
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "ADVERTENCIA: No se encontró información para " + this.DropDownList_BUSCAR.SelectedItem + " : " + this.TextBox_BUSCAR.Text, Proceso.Advertencia);
            }

            Mostrar(Acciones.BusquedaNoEncontro);
        }

        _dataTable.Dispose();

        HiddenField_ID_REQUERIMIENTO.Value = "";
        HiddenField_ID_SOLICITUD.Value     = "";
    }
    private void cargarDatosEfectiviadOportunidadSegunReq(Decimal ID_REQUERIMIENTO)
    {
        requisicion _req = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaReq = _req.ObtenerComRequerimientoPorIdRequerimiento(ID_REQUERIMIENTO);

        if (tablaReq.Rows.Count <= 0)
        {
            if (_req.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _req.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontró información de la requisición seleccionada. no se pudo determinar el estado actual de OPORTUNIDAD Y EFECTIVIDAD.", Proceso.Advertencia);
            }

            CheckBox_ReqEfectiva.Checked = false;
            CheckBox_ReqOportuna.Checked = false;
        }
        else
        {
            DataRow filaReq = tablaReq.Rows[0];

            if (filaReq["CUMPLE_OPORTUNO"].ToString().Trim().ToUpper() == "S")
            {
                CheckBox_ReqOportuna.Checked = true;
            }
            else
            {
                CheckBox_ReqOportuna.Checked = false;
            }

            if (filaReq["CUMPLE_EFECTIVA"].ToString().Trim().ToUpper() == "S")
            {
                CheckBox_ReqEfectiva.Checked = true;
            }
            else
            {
                CheckBox_ReqEfectiva.Checked = false;
            }
        }
    }
    private void cargar_GridView_HOJA_DE_TRABAJO()
    {
        GridView_HOJA_DE_TRABAJO.PageIndex = Convert.ToInt32(HiddenField_PAGINA_GRID.Value);


        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaRequisicionesHojaTrabajoOriginal = new DataTable();

        if (HiddenField_TIPO_BUSQUEDA_ACTUAL.Value == "SIN_FILTRO")
        {
            tablaRequisicionesHojaTrabajoOriginal = _requisicion.ObtenerTablaRequerimientosUsuario();
        }
        else
        {
            if (HiddenField_FILTRO_DROP.Value == "ID_REGIONAL")
            {
                tablaRequisicionesHojaTrabajoOriginal = _requisicion.ObtenerComRequerimientoPorUsuLogFiltroRegional(HiddenField_FILTRO_DATO.Value);
            }
            else
            {
                if (HiddenField_FILTRO_DROP.Value == "ID_CIUDAD")
                {
                    tablaRequisicionesHojaTrabajoOriginal = _requisicion.ObtenerComRequerimientoPorUsuLogFiltroCiudad(HiddenField_FILTRO_DATO.Value);
                }
                else
                {
                    if (HiddenField_FILTRO_DROP.Value == "ID_CLIENTE")
                    {
                        tablaRequisicionesHojaTrabajoOriginal = _requisicion.ObtenerComRequerimientoPorUsuLogFiltroCliente(HiddenField_FILTRO_DATO.Value);
                    }
                    else
                    {
                        if (HiddenField_FILTRO_DROP.Value == "ID_REQUERIMIENTO")
                        {
                            tablaRequisicionesHojaTrabajoOriginal = _requisicion.ObtenerComRequerimientoPorUsuLogFiltroREQ(HiddenField_FILTRO_DATO.Value);
                        }
                    }
                }
            }
        }

        tablaRequisicionesHojaTrabajoOriginal.AcceptChanges();

        DataRow filaTablaRequisicionesCreada = tablaRequisicionesHojaTrabajoOriginal.NewRow();

        filaTablaRequisicionesCreada["NUMERACION"]       = DBNull.Value;
        filaTablaRequisicionesCreada["ID_REQUERIMIENTO"] = DBNull.Value;
        filaTablaRequisicionesCreada["COD_EMPRESA"]      = DBNull.Value;
        filaTablaRequisicionesCreada["RAZ_SOCIAL"]       = DBNull.Value;
        filaTablaRequisicionesCreada["TIPO_REQ"]         = DBNull.Value;
        filaTablaRequisicionesCreada["FECHA_REQUERIDA"]  = DBNull.Value;
        filaTablaRequisicionesCreada["COD_OCUPACION"]    = DBNull.Value;
        filaTablaRequisicionesCreada["NOM_OCUPACION"]    = DBNull.Value;
        filaTablaRequisicionesCreada["CANTIDAD"]         = tablaRequisicionesHojaTrabajoOriginal.Compute("SUM(CANTIDAD)", null);
        filaTablaRequisicionesCreada["ENVIADOS"]         = tablaRequisicionesHojaTrabajoOriginal.Compute("SUM(ENVIADOS)", null);
        filaTablaRequisicionesCreada["CONTRATAR"]        = tablaRequisicionesHojaTrabajoOriginal.Compute("SUM(CONTRATAR)", null);
        filaTablaRequisicionesCreada["FALTAN"]           = tablaRequisicionesHojaTrabajoOriginal.Compute("SUM(FALTAN)", null);
        filaTablaRequisicionesCreada["ALERTA"]           = "NINGUNA";
        filaTablaRequisicionesCreada["FECHA_R"]          = DBNull.Value;
        filaTablaRequisicionesCreada["ESTADO"]           = DBNull.Value;
        filaTablaRequisicionesCreada["CUMPLIDO"]         = DBNull.Value;
        filaTablaRequisicionesCreada["CANCELADO"]        = DBNull.Value;
        filaTablaRequisicionesCreada["USU_CRE"]          = DBNull.Value;

        tablaRequisicionesHojaTrabajoOriginal.Rows.Add(filaTablaRequisicionesCreada);

        tablaRequisicionesHojaTrabajoOriginal.AcceptChanges();

        GridView_HOJA_DE_TRABAJO.DataSource = tablaRequisicionesHojaTrabajoOriginal;
        GridView_HOJA_DE_TRABAJO.DataBind();

        DataRow filaParaColocarColor;
        int     contadorAlertasBajas   = 0;
        int     contadorAlertasMedias  = 0;
        int     contadorAlertasAltas   = 0;
        int     contadorAlertasNinguna = 0;

        for (int i = 0; i < tablaRequisicionesHojaTrabajoOriginal.Rows.Count; i++)
        {
            filaParaColocarColor = tablaRequisicionesHojaTrabajoOriginal.Rows[i];

            if (filaParaColocarColor["ALERTA"].ToString().Trim() == "ALTA")
            {
                GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorNo;
                contadorAlertasAltas += 1;
            }
            else
            {
                if (filaParaColocarColor["ALERTA"].ToString().Trim() == "MEDIA")
                {
                    GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorMedio;
                    contadorAlertasMedias += 1;
                }
                else
                {
                    if (filaParaColocarColor["ALERTA"].ToString().Trim() == "BAJA")
                    {
                        GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorSi;
                        contadorAlertasBajas += 1;
                    }
                    else
                    {
                        GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = System.Drawing.Color.Gray;
                        contadorAlertasNinguna += 1;
                    }
                }
            }

            if (i == (GridView_HOJA_DE_TRABAJO.Rows.Count - 1))
            {
                GridView_HOJA_DE_TRABAJO.Rows[i].Cells[1].Text = "";
            }
        }

        Label_ALERTA_ALTA.Text  = contadorAlertasAltas.ToString();
        Label_ALERTA_MEDIA.Text = contadorAlertasMedias.ToString();
        Label_ALERTA_BAJA.Text  = contadorAlertasBajas.ToString();
    }
    protected void Button_BUSCAR_Click(object sender, EventArgs e)
    {
        String datosCapturados = TextBox_BUSCAR.Text.ToUpper();
        String campo           = DropDownList_BUSCAR.SelectedValue.ToString();

        requisicion _requicision = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaResultadosBusqueda = new DataTable();

        if (DropDownList_BUSCAR.SelectedValue == "NUM_DOC_IDENTIFICACION")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasPorContratarPorNumDocIdentificacion(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "NOMBRES")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasPorContratarPorNombres(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "APELLIDOS")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasPorContratarPorApellidos(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "RAZ_SOCIAL")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasPorContratarPorEmpresa(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "REGIONAL")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasPorContratarRegional(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "CIUDAD")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasPorContratarCiudad(datosCapturados);
        }

        if (tablaResultadosBusqueda.Rows.Count <= 0)
        {
            if (_requicision.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requicision.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "No se encontraron registros que cumplieran los datos de busqueda.", Proceso.Advertencia);
            }

            Panel_HOJA_DE_TRABAJO.Visible = false;
        }
        else
        {
            Panel_HOJA_DE_TRABAJO.Visible       = true;
            GridView_HOJA_DE_TRABAJO.DataSource = tablaResultadosBusqueda;
            GridView_HOJA_DE_TRABAJO.DataBind();
            DataRow  filaParaColocarColor;
            int      contadorContratoVencido = 0;
            int      contadorAlertasBajas    = 0;
            int      contadorAlertasMedias   = 0;
            int      contadorAlertasAltas    = 0;
            int      contadorAlertasNinguna  = 0;
            DateTime fechaActual             = Convert.ToDateTime(DateTime.Now.ToShortDateString());

            for (int i = 0; i < tablaResultadosBusqueda.Rows.Count; i++)
            {
                filaParaColocarColor = tablaResultadosBusqueda.Rows[(GridView_HOJA_DE_TRABAJO.PageIndex * GridView_HOJA_DE_TRABAJO.PageSize) + i];

                if (filaParaColocarColor["ALERTA"].ToString().Trim() == "ALTA")
                {
                    GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorNo;
                    contadorAlertasAltas += 1;
                }
                else
                {
                    if (filaParaColocarColor["ALERTA"].ToString().Trim() == "MEDIA")
                    {
                        GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorMedio;
                        contadorAlertasMedias += 1;
                    }
                    else
                    {
                        if (filaParaColocarColor["ALERTA"].ToString().Trim() == "BAJA")
                        {
                            GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorSi;
                            contadorAlertasBajas += 1;
                        }
                        else
                        {
                            GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = System.Drawing.Color.Gray;
                            contadorAlertasNinguna += 1;
                        }
                    }
                }

                if (Convert.ToDateTime(filaParaColocarColor["FECHA_VENCE"]) < fechaActual)
                {
                    GridView_HOJA_DE_TRABAJO.Rows[i].Cells[0].Enabled = false;
                    GridView_HOJA_DE_TRABAJO.Rows[i].Cells[0].Text    = "";
                    GridView_HOJA_DE_TRABAJO.Rows[i].BackColor        = colorVencido;
                    contadorContratoVencido += 1;
                }
            }

            Label_ALERTA_ALTA.Text      = string.Empty;
            Label_ALERTA_MEDIA.Text     = string.Empty;
            Label_Contrato_Vencido.Text = string.Empty;

            Label_ALERTA_ALTA.Text      = contadorAlertasAltas.ToString() + " Personas con plazo de contratación vencido.";
            Label_ALERTA_MEDIA.Text     = contadorAlertasMedias.ToString() + " Personas en plazo de contratación.";
            Label_Contrato_Vencido.Text = contadorContratoVencido.ToString() + " Personas con objeto de contrato vencido.";
        }
    }
    private void cargar_GridView_HOJA_DE_TRABAJO()
    {
        Label_ALERTA_ALTA.Text      = string.Empty;
        Label_ALERTA_MEDIA.Text     = string.Empty;
        Label_Contrato_Vencido.Text = string.Empty;

        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable   tablaRequisicionesHojaTrabajoOriginal = _requisicion.ObtenerPersonasPorContratar();

        GridView_HOJA_DE_TRABAJO.DataSource = tablaRequisicionesHojaTrabajoOriginal;
        GridView_HOJA_DE_TRABAJO.DataBind();

        DataRow filaParaColocarColor;
        int     contadorContratoVencido = 0;
        int     contadorAlertasMedias   = 0;
        int     contadorAlertasAltas    = 0;
        int     contadorAlertasNinguna  = 0;

        DateTime fechaActual = Convert.ToDateTime(DateTime.Now.ToShortDateString());

        for (int i = 0; i < tablaRequisicionesHojaTrabajoOriginal.Rows.Count; i++)
        {
            filaParaColocarColor = tablaRequisicionesHojaTrabajoOriginal.Rows[(GridView_HOJA_DE_TRABAJO.PageIndex * GridView_HOJA_DE_TRABAJO.PageSize) + i];

            if (filaParaColocarColor["ALERTA"].ToString().Trim() == "ALTA")
            {
                GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorNo;
                contadorAlertasAltas += 1;
            }
            else
            {
                if (filaParaColocarColor["ALERTA"].ToString().Trim() == "MEDIA")
                {
                    GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = colorMedio;
                    contadorAlertasMedias += 1;
                }
                else
                {
                    GridView_HOJA_DE_TRABAJO.Rows[i].BackColor = System.Drawing.Color.Gray;
                    contadorAlertasNinguna += 1;
                }
            }

            if (Convert.ToDateTime(filaParaColocarColor["FECHA_VENCE"]) < fechaActual)
            {
                GridView_HOJA_DE_TRABAJO.Rows[i].Cells[0].Enabled = false;
                GridView_HOJA_DE_TRABAJO.Rows[i].Cells[0].Text    = "";
                GridView_HOJA_DE_TRABAJO.Rows[i].BackColor        = colorVencido;
                contadorContratoVencido += 1;
            }

            if (filaParaColocarColor["ESTADO_PROCESO"].ToString().Trim() == "EN DESCARTE")
            {
                GridView_HOJA_DE_TRABAJO.Rows[i].Cells[0].Enabled = false;
                GridView_HOJA_DE_TRABAJO.Rows[i].Cells[0].Text    = "";
                GridView_HOJA_DE_TRABAJO.Rows[i].BackColor        = colorDescarte;
                contadorContratoVencido += 1;
            }
        }

        Label_ALERTA_ALTA.Text      = contadorAlertasAltas.ToString() + " Personas con plazo de contratación vencido.";
        Label_ALERTA_MEDIA.Text     = contadorAlertasMedias.ToString() + " Personas en plazo de contratación.";
        Label_Contrato_Vencido.Text = contadorContratoVencido.ToString() + " Personas con objeto de contrato vencido.";
    }
    protected void Button_BUSCAR_Click(object sender, EventArgs e)
    {
        String datosCapturados = TextBox_BUSCAR.Text.ToUpper();
        String campo           = DropDownList_BUSCAR.SelectedValue.ToString();

        requisicion _requicision = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        DataTable tablaResultadosBusqueda = new DataTable();

        if (DropDownList_BUSCAR.SelectedValue == "NUM_DOC_IDENTIFICACION")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorNumDocIdentificacion(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "NOMBRES")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorNombres(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "APELLIDOS")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorApellidos(datosCapturados);
        }
        else if (DropDownList_BUSCAR.SelectedValue == "RAZ_SOCIAL")
        {
            tablaResultadosBusqueda = _requicision.ObtenerPersonasContratadasPorEmpresa(datosCapturados);
        }
        if (tablaResultadosBusqueda.Rows.Count <= 0)
        {
            configurarMensajes(true, System.Drawing.Color.Red, Label_MENSAJE, Panel_MENSAJES);
            if (_requicision.MensajeError != null)
            {
                Label_MENSAJE.Text = _requicision.MensajeError;
            }
            else
            {
                Label_MENSAJE.Text = "ADVERTENCIA: No se encontraron registros que cumplieran los datos de busqueda.";
            }

            Panel_RESULTADOS_GRID.Visible = false;
        }
        else
        {
            configurarMensajes(false, System.Drawing.Color.Green, Label_MENSAJE, Panel_MENSAJES);

            Panel_RESULTADOS_GRID.Visible           = true;
            GridView_RESULTADOS_BUSQUEDA.DataSource = tablaResultadosBusqueda;
            GridView_RESULTADOS_BUSQUEDA.DataBind();
            DataRow filaParaColocarColor;
            int     contadorAlertasBajas   = 0;
            int     contadorAlertasMedias  = 0;
            int     contadorAlertasAltas   = 0;
            int     contadorAlertasNinguna = 0;

            for (int i = 0; i < tablaResultadosBusqueda.Rows.Count; i++)
            {
                filaParaColocarColor = tablaResultadosBusqueda.Rows[i];

                if (filaParaColocarColor["ALERTA"].ToString().Trim() == "ALTA")
                {
                    GridView_RESULTADOS_BUSQUEDA.Rows[i].BackColor = System.Drawing.Color.Red;
                    contadorAlertasAltas += 1;
                }
                else
                {
                    if (filaParaColocarColor["ALERTA"].ToString().Trim() == "MEDIA")
                    {
                        GridView_RESULTADOS_BUSQUEDA.Rows[i].BackColor = System.Drawing.Color.Yellow;
                        contadorAlertasMedias += 1;
                    }
                    else
                    {
                        if (filaParaColocarColor["ALERTA"].ToString().Trim() == "BAJA")
                        {
                            GridView_RESULTADOS_BUSQUEDA.Rows[i].BackColor = System.Drawing.Color.Green;
                            contadorAlertasBajas += 1;
                        }
                        else
                        {
                            GridView_RESULTADOS_BUSQUEDA.Rows[i].BackColor = System.Drawing.Color.Gray;
                            contadorAlertasNinguna += 1;
                        }
                    }
                }

                if (i == (GridView_RESULTADOS_BUSQUEDA.Rows.Count - 1))
                {
                    GridView_RESULTADOS_BUSQUEDA.Rows[i].Cells[1].Text = "";
                }
            }

            Label_ALERTA_ALTA.Text  = contadorAlertasAltas.ToString();
            Label_ALERTA_MEDIA.Text = contadorAlertasMedias.ToString();
            Label_ALERTA_BAJA.Text  = contadorAlertasBajas.ToString();
        }
    }
    private void Cargar(Decimal ID_REQUERIMIENTO)
    {
        HiddenField_ID_REQUERIMIENTO.Value = ID_REQUERIMIENTO.ToString();

        requisicion _requisicion         = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());
        DataTable   TablaInfoRequisicion = _requisicion.ObtenerComRequerimientoPorIdRequerimiento(ID_REQUERIMIENTO);

        if (TablaInfoRequisicion.Rows.Count <= 0)
        {
            if (_requisicion.MensajeError != null)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Error);
            }
            else
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Advertencia);
            }
        }
        else
        {
            Ocultar(Acciones.Inicio);

            DataRow filainfoReq = TablaInfoRequisicion.Rows[0];

            if (filainfoReq["CANCELADO"].ToString().Trim() == "S")
            {
                Mostrar(Acciones.CargarReqCancelada);
                Desactivar(Acciones.Inicio);
            }
            else
            {
                if (filainfoReq["CUMPLIDO"].ToString().Trim() == "S")
                {
                    Mostrar(Acciones.CargarReqCumplida);
                    Desactivar(Acciones.Inicio);
                }
                else
                {
                    Mostrar(Acciones.CargarReqNormal);
                    Desactivar(Acciones.Inicio);
                }
            }

            cargar_informacion_control_registro(filainfoReq);

            cargar_info_datos_empresa(filainfoReq);

            cargar_fechas(filainfoReq);

            cargar_datos_envio(filainfoReq);

            cargar_datos_servicio_respectivo(filainfoReq);

            cargar_datos_perfil(filainfoReq);

            cargar_contrato_ubicacion(filainfoReq);

            TextBox_OBS_REQUERIMIENTO.Text = filainfoReq["OBS_REQUERIMIENTO"].ToString();

            if (filainfoReq["CANCELADO"].ToString().Trim() == "S")
            {
                cargar_info_req_cancelada(filainfoReq);
                cargarDatosEfectiviadOportunidadSegunReq(ID_REQUERIMIENTO);
            }
            else
            {
                if (filainfoReq["CUMPLIDO"].ToString().Trim() == "S")
                {
                    cargarDatosEfectiviadOportunidadSegunReq(ID_REQUERIMIENTO);
                    cargar_info_req_cumplida(filainfoReq);
                }
                else
                {
                    Mostrar(Acciones.CargarReqNormal);
                }
            }
        }
    }
    private void GuardarCumplir()
    {
        Decimal ID_REQUISICION = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value);

        String CANCELADO      = "N";
        String TIPO_CANCELA   = null;
        String MOTIVO_CANCELA = null;
        String CUMPLIDO       = "S";

        String CUMPLE_OPORTUNO = "N";

        if (CheckBox_ReqOportuna.Checked == true)
        {
            CUMPLE_OPORTUNO = "S";
        }

        String CUMPLE_EECTIVA = "N";

        if (CheckBox_ReqEfectiva.Checked == true)
        {
            CUMPLE_EECTIVA = "S";
        }

        String MOTIVO_CUMPLIDO = DropDownList_MOTIVO_CUMPLIR.SelectedValue;

        requisicion _requisicion = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString());

        parametro _p = new parametro(Session["idEmpresa"].ToString());
        Int32     contratadosPorReq = 0;
        Boolean   correcto          = true;
        Boolean   ajustarCantidad   = false;

        DataTable tablaMotivoCumplido = _p.ObtenerDescripcionParametroPorCodigo(tabla.PARAMETROS_MOTIVO_CUMPLIDO_REQ, MOTIVO_CUMPLIDO);

        if (tablaMotivoCumplido.Rows.Count > 0)
        {
            DataRow filaMotivoCumplido = tablaMotivoCumplido.Rows[0];
            if (filaMotivoCumplido["VARIABLE"].ToString().Trim().ToUpper() == "AJUSTAR_CANTIDAD")
            {
                ajustarCantidad = true;
            }
        }

        if (ajustarCantidad == true)
        {
            DataTable tablaConteoContratatos = _requisicion.ObtenerTrabajadoresContratadosPorReq(ID_REQUISICION);

            if (tablaConteoContratatos.Rows.Count > 0)
            {
                DataRow filaConteoContratados = tablaConteoContratatos.Rows[0];
                contratadosPorReq = Convert.ToInt32(filaConteoContratados["CONTRATADOS"].ToString());
            }
        }

        if (ajustarCantidad == true)
        {
            if (contratadosPorReq == 0)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "El requerimiento no puede ser cumplido utilizando el motivo: " + MOTIVO_CUMPLIDO + ", porque no se contrataron personas.", Proceso.Advertencia);
                correcto = false;
            }
        }

        if (correcto == true)
        {
            Boolean resultado = _requisicion.ActualizarConRequerimeintosBanderas(ID_REQUISICION, CUMPLIDO, CUMPLE_OPORTUNO, CUMPLE_EECTIVA, MOTIVO_CUMPLIDO, CANCELADO, TIPO_CANCELA, MOTIVO_CANCELA);

            if (resultado == false)
            {
                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, _requisicion.MensajeError, Proceso.Error);
            }
            else
            {
                Cargar(ID_REQUISICION);

                Informar(Panel_FONDO_MENSAJE, Image_MENSAJE_POPUP, Panel_MENSAJES, Label_MENSAJE, "La requisición #: " + ID_REQUISICION.ToString() + " fue cumplida correctamente.", Proceso.Correcto);
            }
        }
    }