예제 #1
0
 //insert
 public int InsertEvaluaciones(string ideva, int idemp, int idjefe, string idcategoriaemp, string idbandaemp, string estatuseva)
 {
     DatoEvaluacion DatEvaluacion = new DatoEvaluacion();
     return DatEvaluacion.InsertEvaluaciones(ideva , idemp, idjefe, idcategoriaemp, idbandaemp, estatuseva);
 }
예제 #2
0
 // update
 public int ActualizarEvaluaciones(string ideva,int idemp, string idevaold)
 {
     DatoEvaluacion DatEvaluacion = new DatoEvaluacion();
     return DatEvaluacion.ActualizarEvaluaciones(ideva, idemp, idevaold);
 }
예제 #3
0
        public void InsertaNuevo(string noEmpleado)
        {
            IDEmpleado.Text = noEmpleado;
            this.capitalHumano = new NegocioCapitalHumano();

            TablaEmpleados empleadosEbs = new TablaEmpleados();
            try
            {
                List<Employee> listaEmpleados_insert = capitalHumano.ListaEmpleados(noEmpleado, "%", "%", "%", "%", "%", "%", "%", "%", "%", "%", Convert.ToDateTime("01/Jan/1950"), Convert.ToDateTime("01/Jan/9999"));
                TxtPuesto.Text = listaEmpleados_insert[0].Puesto.ToString();
                TxtDepto.Text = listaEmpleados_insert[0].Organizacion.ToString();


                Banda.Text = listaEmpleados_insert[0].Grado.ToString();
                TxtEmpleado.Text = listaEmpleados_insert[0].NombreCompleto.ToString();
                antiguedadmes.Text = listaEmpleados_insert[0].mesContratacion.ToString();

            }
            catch (Exception e3)
            {
                throw e3;
            }
            string separarpto = TxtPuesto.Text;
            if (separarpto == null || separarpto == "")
            {
                MensajeError("No se encuentra asignado su Puesto o Depto en BD, consulte con Capital Humano");
                return;
            }
            else
            {
                // Split separator
                string[] parts = separarpto.Split('.');
                Depto.Text = parts[0];
                Pto.Text = parts[1];
            }

            TablaEmpleados empleadosEbs2 = new TablaEmpleados();

            List<Employee> listaEmpleados2 = capitalHumano.ListaPersona(IDEmpleado.Text);

            //----para validar que no venga vacio los datos y marque error
            if (listaEmpleados2 == null)
            {
                TextBox1.Text = "";
                MensajeError(capitalHumano.Log + " / o No se encuentra asignado su Jefe en BD, consulte con Capital Humano");
                return;

            }
            else
            {
                TextBox1.Text = listaEmpleados2[0].Supervisor.ToString();
                // antiguedadmes.Text = listaEmpleados2[0].mesContratacion.ToString();
            }

            decimal antiguedadm;
            antiguedadm = Convert.ToDecimal(antiguedadmes.Text);

            if (antiguedadm <= 3)
            {
                MensajeError("No puedes realizar la AutoEvaluacion hasta que cumpla 3 Meses Laborando, consulte a Capital Humano");
                return;
            }



            string connectionString = ConfigurationManager.ConnectionStrings["conexionAPPS"].ConnectionString;
            using (SqlConnection cnx = new SqlConnection(connectionString))
            {
                cnx.Open();

                string query = "SELECT id_plantilla FROM EVA_PLANTILLAS WHERE (vigencia_plant = '1')";
                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        lbPlantilla.Text = dr["id_plantilla"].ToString();
                    }
                }
                else
                {
                    //lbPlantilla.Text = "No se encontro plantilla autorizada";
                    lbPlantilla.Text = "1";
                }

            }   // cierre de la conn

            //--------------------------------PARA SACAR LA CATEGORIA POR LA BANDA
            lbidcategoria.Text = Banda.Text;

            using (SqlConnection cnx = new SqlConnection(connectionString))
            {
                cnx.Open();

                string query = "SELECT id_cat, banda, d_categoria FROM EVA_CATEGORIA " +
                               "WHERE d_categoria=  '" + Banda.Text + "' ";
                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        ban.Text = dr["banda"].ToString();
                    }
                }
                else
                {
                    ban.Text = "No se encontro categoria";
                }
            }

            //PARA SACAR LA BANDA
            using (SqlConnection cnxban = new SqlConnection(connectionString))
            {
                cnxban.Open();

                string queryb = "SELECT id_banda, banda FROM  EVA_BANDA WHERE (id_banda = '" + ban.Text + "')";
                SqlCommand cmdb = new SqlCommand(queryb, cnxban);
                SqlDataReader drb = cmdb.ExecuteReader();

                if (drb.HasRows)
                {
                    while (drb.Read())
                    {
                        Banda.Text = drb["banda"].ToString();
                    }
                }
            }   // cierre de la conn

            List<Employee> listaEmpleados3 = capitalHumano.ListaPersonaName(TextBox1.Text);
            if (listaEmpleados3 != null)
            {

                TxtJefeDir.Text = listaEmpleados3[0].SupervisorName.ToString();
                lbl_id_empAutoriza.Text = listaEmpleados3[0].SupervisorNoemp.ToString();
            }
            else
            {
                MensajeError(capitalHumano.Log + " NO se encuentra actualizado su Jefe en BD, consulte con Capital Humano");
                return;
            }


            // ULTIMO FOLIO USADO
            using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx.Open();

                string query = "SELECT MAX(id_eva) AS ultimofolio FROM EVA_FOLIOS";
                SqlCommand cmd = new SqlCommand(query, cnx);
                //cmd.Parameters.AddWithValue("@banda", Banda.Text);
                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        lbFolioeva.Text = dr["ultimofolio"].ToString();
                    }
                }
                else
                {
                    lbFolioeva.Text = "No rows found";
                }

            }   // cierre de la conn
            SumaFolio(lbFolioeva.Text, 1);
            //INCREMENTO FOLIO
            lbFolioevanew.Text = SumaFolio(lbFolioeva.Text, 1);

            // para saber cual fue su ultima evaluacion o si es la primera vez que entra
            using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx.Open();
                string query = " SELECT distinct(c.id_eva) as eva, c.id_emp, c.id_jefe, c.id_categoria_emp, c.id_banda_emp, c.estatus, c.fecha_captura,  " +
                               " DATEDIFF(day,  c.fecha_captura, GETDATE()) AS diastranscurridos , d.id_plantilla " +
                               " FROM EVA_C_EVALUACION  as c,  EVA_D_EVALUACION as d " +
                               " WHERE (c.id_emp = @noempleado) and c.id_eva=d.id_eva and d.id_plantilla= @idplantilla and c.estatus<>'3'" +
                               " ORDER BY c.fecha_captura";
                SqlCommand cmd = new SqlCommand(query, cnx);
                cmd.Parameters.AddWithValue("@noempleado", IDEmpleado.Text);
                cmd.Parameters.AddWithValue("@idplantilla", lbPlantilla.Text);
                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        diastranscurridos.Text = dr["diastranscurridos"].ToString();
                        idestatus.Text = dr["estatus"].ToString();
                        opcion.Text = "-";
                        int diastras = Convert.ToInt32(diastranscurridos.Text);
                    }
                }
                else
                {
                    opcion.Text = "nuevo";
                    int diastras = 0;
                }
            }   // cierre de la conn

            if (opcion.Text == "nuevo")
            {
                // inserto
                // si es mayor crear una nueva evaluacion e insertar valores e indicadores en tabla detalles
                DatoEvaluacion DatEvaluacion = new DatoEvaluacion();
                if (DatEvaluacion.InsertEvaluaciones(lbFolioevanew.Text, Convert.ToInt32(IDEmpleado.Text), Convert.ToInt32(lbl_id_empAutoriza.Text), lbidcategoria.Text, ban.Text, "1") > 0)
                {
                    //inserto en tabla detalle los valores nuvoil primero saco los datos a consultar
                    using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                    {
                        cnx.Open();

                        string query = "SELECT  a.c_seccion as seccion, a.c_valor as valor, a.c_comportamiento as comp " +
                                       "FROM    EVA_D_VALORES AS a INNER JOIN EVA_C_VALORES AS b ON a.c_comportamiento = b.c_valor " +
                                       "WHERE   a.c_banda =  '" + ban.Text + "' and a.id_plantilla = '" + lbPlantilla.Text + "' ";
                        SqlCommand cmd = new SqlCommand(query, cnx);
                        cmd.Parameters.AddWithValue("@banda", Banda.Text);
                        SqlDataReader dr = cmd.ExecuteReader();

                        if (dr.HasRows)
                        {
                            while (dr.Read())
                            {
                                seccion.Text = dr["seccion"].ToString();
                                valor.Text = dr["valor"].ToString();
                                comportamiento.Text = dr["comp"].ToString();
                                DatoDeteva DatDeteva = new DatoDeteva();
                                if (DatDeteva.InsertDetEvaluacion(lbFolioevanew.Text, Convert.ToInt32(lbPlantilla.Text), seccion.Text, valor.Text, comportamiento.Text, 0) > 0)
                                {
                                    //se ha insertado exitosamente
                                }
                            }
                        }
                        else
                        {
                            seccion.Text = "No hay seccion";
                        }
                    }   // cierre de la using
                } // del if de guardado de cabecera de evaluacion

                //ACTUALIZO EL FOLIO
                using (SqlConnection cnx2 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    cnx2.Open();
                    string query = "UPDATE EVA_FOLIOS set fecha=GETDATE(), idempleado='" + Convert.ToInt32(IDEmpleado.Text) + "', id_eva= '" + lbFolioevanew.Text + "'";
                    SqlCommand cmd = new SqlCommand(query, cnx2);
                    SqlDataReader dr = cmd.ExecuteReader();
                }

            } // del if del if (opcion.Text == "nuevo")

            //if (idestatus.Text == "0")
            //{

            //    using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            //    {
            //        cnx.Open();

            //        string query2 = " SELECT id_eva as ideva, id_emp, id_jefe, id_categoria_emp, id_banda_emp, estatus, fecha_captura, " +
            //                      " DATEDIFF(day,  fecha_captura, GETDATE()) AS diastranscurridos, ptos_ftes as ptos, necesidades, comentarios " +
            //                      " FROM EVA_C_EVALUACION " +
            //                      " WHERE (id_emp = @noempleado) " +
            //                      " ORDER BY fecha_captura";
            //        SqlCommand cmd2 = new SqlCommand(query2, cnx);
            //        cmd2.Parameters.AddWithValue("@noempleado", IDEmpleado.Text);
            //        SqlDataReader dr2 = cmd2.ExecuteReader();

            //        if (dr2.HasRows)
            //        {
            //            while (dr2.Read())
            //            {
            //                foliopendiente.Text = dr2["ideva"].ToString();
            //                lbFolioevanew.Text = foliopendiente.Text;

            //            }
            //        }

            //    }

            //} // del if (idestatus.Text=="0") {


            //----------- para insertar indicadores
            //inserto si es la primera vez que va capturar sino solo consulto los resultados
            using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {

                cnx.Open();
                string query = " SELECT    d.id_eva as ideva, d.id_plantilla as idplantilla, d.depto as depto, d.puesto as puesto, d.id_linea as idlinea, d.resultado_logrado as reslogrado, " +
                               " d.ptos, d.ponderacion_ind as ponderacionind, c.descripcion_kpi as descripcion_kpi, c.unidad_medida as umedida, c.porcentaje_pondera as porcentaje_pondera, " +
                               " c.meta_minima as meta_minima, c.meta_satisfactoria as meta_satisfactoria, c.meta_excelente as meta_excelente, d.calificacion_ind as calind " +
                               " FROM  EVA_D_INDICADORES as d, EVA_C_INDICADORES  as c " +
                               " WHERE left(d.depto,3)=left(c.depto,3) and left(d.puesto,3)=left(c.puesto,3) and d.id_plantilla=c.id_plantilla and " +
                               " d.id_linea=c.id_linea and (d.id_eva = '" + lbFolioevanew.Text + "') and d.id_plantilla='" + lbPlantilla.Text + "' and " +
                               " left(d.depto,3)='" + Depto.Text + "' and left(d.puesto,3)='" + Pto.Text + "' ";

                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();


                if (dr.HasRows)
                {
                    while (dr.Read())
                    {

                        ban_existe_eva.Text = "1";

                    }
                }
                else
                {
                    ban_existe_eva.Text = "0";

                }
            }
            if (ban_existe_eva.Text == "0")
            {
                // busco los indicadores que le corresponde por su puesto y depto y plantilla cuando es la 1 vez
                using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    cnx.Open();
                    string query = " SELECT id_plantilla, depto, puesto, id_linea, descripcion_kpi, unidad_medida, porcentaje_pondera, meta_minima, meta_satisfactoria, meta_excelente " +
                                   " FROM EVA_C_INDICADORES " +
                                   " WHERE id_plantilla='" + lbPlantilla.Text + "' and " +
                                   " left(puesto,3)='" + Pto.Text + "' and left(depto,3)='" + Depto.Text + "' ";
                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr2 = cmd.ExecuteReader();

                    if (dr2.HasRows)
                    {
                        while (dr2.Read())
                        {

                            idlinea.Text = dr2["id_linea"].ToString();
                            desckpi.Text = dr2["descripcion_kpi"].ToString();
                            umedida.Text = dr2["unidad_medida"].ToString();
                            ppondera.Text = dr2["porcentaje_pondera"].ToString();
                            metaminima.Text = dr2["meta_minima"].ToString();
                            metasat.Text = dr2["meta_satisfactoria"].ToString();
                            metaexc.Text = dr2["meta_excelente"].ToString();


                            using (SqlConnection cnx2 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                            {
                                cnx2.Open();

                                string query2 = " INSERT EVA_D_INDICADORES (id_eva, id_plantilla, depto, puesto, id_linea, fecha_captura_ind, resultado_logrado, ptos, ponderacion_ind, resultado_logrado_jefe, ptos_jefe, ponderacion_ind_jefe)  " +
                                                " values ('" + lbFolioevanew.Text + "', '" + lbPlantilla.Text + "', '" + Depto.Text + "','" + Pto.Text + "', '" + idlinea.Text + "', GETDATE(), 0, 0, 0, 0, 0, 0 )";
                                SqlCommand cmd2 = new SqlCommand(query2, cnx2);
                                SqlDataReader dr3 = cmd2.ExecuteReader();
                                //MensajeExito("Se ha guardado con Exito tu Evaluacion");
                            }


                        }
                    }
                    else
                    {
                        MensajeError("No se puede insertar el detalle de indicador, revise con Capital Humano si tiene indicadores en su puesto");
                        return;
                    }


                }

            }


        }