Esempio n. 1
0
        protected void BCorreo_Click(object sender, EventArgs e)
        {
            string mensaje3, mensaje, mensaje_ind, mensaje3_ind, mensaje1_ind, cal_valores;
            mensaje="";
            mensaje_ind = "";
            mensaje1_ind = "";
            mensaje3 = "";
            cal_valores = "";
            // -------- PARA ENVIAR CORREO DE CONFIRMACION  -------------------------------------------------------

            usuario myUsuario = new usuario();
            usuarioBO myUsuarioBO = new usuarioBO();
            txtUser.Text = (string)(Session["Puesto"]);

            if (IsEmail(txtUser.Text))
            {
                myUsuario.Correo = txtUser.Text;
                myUsuario = myUsuarioBO.RetrievexCorreo(myUsuario);
            }
            else
            {
                myUsuario.Usuario = txtUser.Text;
                myUsuario = myUsuarioBO.Retrieve(myUsuario);
            }


            if (String.IsNullOrEmpty(myUsuario.Password))
            {

                pnlError.Visible = true;
            }
            else
            {

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

                    string query = "SELECT  id_eva, id_emp, id_jefe, id_categoria_emp, id_banda_emp, estatus" +
                                  " FROM  EVA_C_EVALUACION" +
                                  " WHERE (id_eva = '" + lbFolioeva.Text + "') ";
                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr = cmd.ExecuteReader();

                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            ban.Text = dr["id_banda_emp"].ToString();
                        }
                    }
                }   // cierre de la conn


                // MUESTRA EL GRID
                //String mensaje = String.Format("Tus datos de acceso a Apps son los siguientes: <br /><br />Usuario: {0}<br />Password: {1}", myUsuario.Usuario, myUsuario.Password);
                //enviarCorreo.EnviaMail("Recuperación de password", mensaje, myUsuario.Correo);
                string mensaje1 =" <table class=style1 font-family='calibri'> " +
                        " <tr><td colspan='5' align='center'><strong>   SECCION VALORES  </strong></td></tr> " +
                        " <tr> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>COMPORTAMIENTO</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>CONDUCTA 1</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>CONDUCTA 2</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>CONDUCTA 3</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>SELECCIONADA</strong></td> " +
                        " </tr> <tr>";

                
                using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    
                    cnx.Open();
                    string query = "SELECT d.d_partida_eva as idpe, d.id_eva as ideva, d.id_plantilla, d.c_seccion, d.c_valor as valor2, d.c_comportamiento as comp, " +
                                   "d.calificacion_val_emp as calificacionemp, d.calificacion_val_jefe, d.id_ind, v.valornuvoil as valor, " +
                                  " d.calificacion_ind_emp, d.calificacion_id_jefe, v.conducta1 as c1, v.conducta2 as c2, v.conducta3 as c3, v.c_banda, c.d_valor as nomvalor " +
                                  " FROM   EVA_D_EVALUACION AS d INNER JOIN " +
                                  " EVA_D_VALORES AS v ON d.c_comportamiento = v.c_comportamiento INNER JOIN " +
                                  " EVA_C_VALORES AS c ON v.c_comportamiento = c.c_valor " +
                                  " WHERE (d.id_eva = '" + lbFolioeva.Text + "') AND (v.c_banda = '" + ban.Text + "') AND (d.id_plantilla = '" + lbPlantilla.Text + "') ";

                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr = cmd.ExecuteReader();
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {

                                   mensaje = mensaje + " <tr> <td> " + dr["nomvalor"].ToString() + " </td> " +
                                              " <td> " + dr["c1"].ToString() + " </td> " +
                                              " <td> " + dr["c2"].ToString() + " </td> " +
                                              " <td> " + dr["c3"].ToString() + " </td> " +
                                              " <td align='center'> " + dr["calificacionemp"].ToString() + " </td> </tr>";
                        }
                          //mensaje = mensaje +                                  
                    }
                    mensaje3 = mensaje1 + mensaje + "</table>";
                }

                using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    mensaje1_ind = " <table class=style1 font-family='calibri'> " +
                        " <tr><td colspan='5' align='center'><strong>  SECCION INDICADORES  </strong></td></tr> " +
                        " <tr> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>LINEA</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>DESCRIPCION</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>UNIDAD MEDIDA</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>SELECCIONADO</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>CALIFICACION</strong></td> " +
                        " </tr> <tr>";

                    cnx.Open();
                    string query2 = " 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 = '" + lbFolioeva.Text + "') and d.id_plantilla='" + lbPlantilla.Text + "' and " +
                           " left(d.depto,3)='" + Depto.Text + "' and left(d.puesto,3)='" + Pto.Text + "' "; 

                    SqlCommand cmd2 = new SqlCommand(query2, cnx);
                    SqlDataReader dr2 = cmd2.ExecuteReader();
                    if (dr2.HasRows)
                    {
                        while (dr2.Read())
                        {
                            mensaje_ind = mensaje_ind + " <tr> <td> " + dr2["idlinea"].ToString() + " </td> " +
                                              " <td> " + dr2["descripcion_kpi"].ToString() + " </td> " +
                                              " <td> " + dr2["umedida"].ToString() + " </td> " +
                                              " <td> " + dr2["reslogrado"].ToString() + " </td> " +
                                              " <td> " + dr2["calind"].ToString() + " </td> </tr>";
                        }
                    }

                    
                }
            }
            string total_valores_ind, cal_indicador;
            total_valores_ind="";
            cal_indicador = "";
            //---PARA SACAR la calificacion kpis
            using (SqlConnection cnx4 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx4.Open();
                string querykpi = " select {fn IFNULL(SUM(ponderacion_ind),0)} AS total_puntaje_indicadores " +
                               " from EVA_C_EVALUACION as e, EVA_D_INDICADORES as d " +
                               " where e.id_eva='" + lbFolioeva.Text + "' and e.estatus='1' and d.id_plantilla='" + lbPlantilla.Text + "'  " +
                               " and e.id_eva=d.id_eva ";
                SqlCommand cmd = new SqlCommand(querykpi, cnx4);
                SqlDataReader drk = cmd.ExecuteReader();

                if (drk.HasRows)
                {
                    while (drk.Read())
                    {
                       total_valores_ind = drk["total_puntaje_indicadores"].ToString();
                    }
                }
                else
                {
                    total_valores_ind= "0";
                }
            }   // cierre de la conn

            // para sacar la calificacion en Letra 
            using (SqlConnection cnx5 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx5.Open();
                string query5 = " SELECT ponderacion_kpi, calificacion_kpi, descripcion_kpi " +
                                " FROM   EVA_C_CALIFICACION_KPI " +
                                " WHERE  ponderacion_kpi <=  '" + total_valores_ind + "' order by 1 ";
                SqlCommand cmd5 = new SqlCommand(query5, cnx5);

                SqlDataReader dr5 = cmd5.ExecuteReader();

                if (dr5.HasRows)
                {
                    while (dr5.Read())
                    {
                        cal_indicador = dr5["calificacion_kpi"].ToString();
                    }
                }
            }

            // para sacar la calificacion de valores
            using (SqlConnection cnx6 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx6.Open();
                string query6 = " SELECT SUM(d.calificacion_val_emp) as total_calificacionemp, SUM(d.calificacion_val_jefe) as total_calificacion_val_jefe " +
                                " FROM   EVA_D_EVALUACION AS d INNER JOIN " +
                                " EVA_D_VALORES AS v ON d.c_comportamiento = v.c_comportamiento INNER JOIN " +
                                " EVA_C_VALORES AS c ON v.c_comportamiento = c.c_valor  " +
                                " WHERE (d.id_eva = '" + lbFolioeva.Text + "') AND (v.c_banda = '" + ban.Text + "') AND (d.id_plantilla = '" + lbPlantilla.Text + "')  ";
                SqlCommand cmd6 = new SqlCommand(query6, cnx6);

                SqlDataReader dr6 = cmd6.ExecuteReader();

                if (dr6.HasRows)
                {
                    while (dr6.Read())
                    {
                        cal_valores = dr6["total_calificacionemp"].ToString();
                    }
                }
            }


            mensaje3 = mensaje3 + "<p align='center'>CALIFICACION SECCION VALORES: " + cal_valores + " </p><br><br><br>";
            mensaje3_ind = mensaje1_ind + mensaje_ind + "<tr><td colspan='5' align='right'><strong>CALIFICACION INDICADORES:</strong>" + cal_indicador + " </td></tr></table>  <br><br>";
            mensaje3 = mensaje3 + mensaje3_ind;
            correoDO enviarCorreo = new correoDO();
            enviarCorreo.EnviaMail_Eva("EVALUACION DESEMPEÑO", mensaje3, "*****@*****.**");
            pnlSuccess.Visible = true;
            // ----------------------------------------------------------------------------------------------------

        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            mensaje = "";
            mensaje_ind = "";
            mensaje1_ind = "";
            mensaje3 = "";
            cal_valores = "";
            lbfaltaInd = "";
            correo_empleado = "";
            mensaje_obs = "";
            ptos_jefe = "";
            comentario_jefe = "";
            necesidad_jefe = "";
            ban = "";
            total_valores_ind = "";
            cal_indicador = "";


            ideva.Text = Convert.ToString(Request.QueryString["ideva"]);

            ///-=======================================ENVIA CORREO AL EMPLEADO================================================
            // -------- PARA ENVIAR CORREO DE CONFIRMACION  -------------------------------------------------------
            string connectionString = ConfigurationManager.ConnectionStrings["conexionAPPS"].ConnectionString;
            //usuario myUsuario = new usuario();
            //usuarioBO myUsuarioBO = new usuarioBO();
            //txtUser.Text = (string)(Session["Puesto"]);

            //if (IsEmail(txtUser.Text))
            //{
            //    myUsuario.Correo = txtUser.Text;
            //    myUsuario = myUsuarioBO.RetrievexCorreo(myUsuario);

            //}
            //else
            //{
            //    myUsuario.Usuario = txtUser.Text;
            //    myUsuario = myUsuarioBO.Retrieve(myUsuario);
            //}

            //saco la plantilla actual
            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())
                    {
                        idplantilla.Text = dr["id_plantilla"].ToString();
                    }
                }
                else
                {
                    idplantilla.Text = "No se encontro plantilla autorizada";
                }

            }   // cierre de la conn

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

                string querye = " SELECT  id_eva, id_emp, id_jefe, id_categoria_emp, id_banda_emp, estatus, " +
                               " ptos_ftes_jefe, necesidades_jefe, comentarios_jefe, fecha_captura_jefe " + " FROM  EVA_C_EVALUACION" +
                              " WHERE (id_eva = '" + ideva.Text + "') ";
                SqlCommand cmde = new SqlCommand(querye, cnxe);
                SqlDataReader dre = cmde.ExecuteReader();

                if (dre.HasRows)
                {
                    while (dre.Read())
                    {
                        ban = dre["id_banda_emp"].ToString();
                        lbEmpleados.Text = dre["id_emp"].ToString();
                        ptos_jefe = dre["ptos_ftes_jefe"].ToString();
                        comentario_jefe = dre["comentarios_jefe"].ToString();
                        necesidad_jefe = dre["necesidades_jefe"].ToString();
                    }
                }
            }   // cierre de la conn

            //DEVUELVE LOS VALORES DEL EBS
            this.capitalHumano = new NegocioCapitalHumano();

            TablaEmpleados empleadosEbs = new TablaEmpleados();

            try
            {
                List<Employee> listaEmpleados = capitalHumano.ListaEmpleados(lbEmpleados.Text, "%", "%", "%", "%", "%", "%", "%", "%", "%", "%", Convert.ToDateTime("01/Jan/1950"), Convert.ToDateTime("01/Jan/9999"));
                TxtPuesto.Text = listaEmpleados[0].Puesto.ToString();
                TxtDepto.Text = listaEmpleados[0].Organizacion.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];
            }



            // MUESTRA EL GRID
            //String mensaje = String.Format("Tus datos de acceso a Apps son los siguientes: <br /><br />Usuario: {0}<br />Password: {1}", myUsuario.Usuario, myUsuario.Password);
            //enviarCorreo.EnviaMail("Recuperación de password", mensaje, myUsuario.Correo);
            string mensaje1 = " <table class=style1 font-family='calibri'> " +
                    " <tr><td colspan='5' align='center'><strong>   SECCION VALORES  </strong></td></tr> " +
                    " <tr> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>COMPORTAMIENTO</strong></td> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>DESCRIPCION 1</strong></td> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>DESCRIPCION 2</strong></td> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>DESCRIPCION 3</strong></td> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>SELECCIONADA</strong></td> " +
                    " </tr> <tr>";


            using (SqlConnection cnxee = new SqlConnection(connectionString))
            {

                cnxee.Open();
                string queryee = "SELECT d.d_partida_eva as idpe, d.id_eva as ideva, d.id_plantilla, d.c_seccion, d.c_valor as valor2, d.c_comportamiento as comp, " +
                               "d.calificacion_val_emp as calificacionemp, d.calificacion_val_jefe as calificacionjefe, d.id_ind, v.valornuvoil as valor, " +
                              " d.calificacion_ind_emp, d.calificacion_id_jefe, v.conducta1 as c1, v.conducta2 as c2, v.conducta3 as c3, v.c_banda, c.d_valor as nomvalor " +
                              " FROM   EVA_D_EVALUACION AS d INNER JOIN " +
                              " EVA_D_VALORES AS v ON d.c_comportamiento = v.c_comportamiento INNER JOIN " +
                              " EVA_C_VALORES AS c ON v.c_comportamiento = c.c_valor " +
                              " WHERE (d.id_eva = '" + ideva.Text + "') AND (v.c_banda = '" + ban + "') AND (d.id_plantilla = '" + idplantilla.Text + "') ";

                SqlCommand cmdee = new SqlCommand(queryee, cnxee);
                SqlDataReader dree = cmdee.ExecuteReader();
                if (dree.HasRows)
                {
                    while (dree.Read())
                    {

                        mensaje = mensaje + " <tr> <td> " + dree["nomvalor"].ToString() + " </td> " +
                                   " <td> " + dree["c1"].ToString() + " </td> " +
                                   " <td> " + dree["c2"].ToString() + " </td> " +
                                   " <td> " + dree["c3"].ToString() + " </td> " +
                                   " <td align='center'> " + dree["calificacionjefe"].ToString() + " </td> </tr>";
                    }
                    //mensaje = mensaje +                                  
                }
                mensaje3 = mensaje1 + mensaje + "</table>";
            }

            using (SqlConnection cnxe2 = new SqlConnection(connectionString))
            {
                mensaje1_ind = " <table class=style1 font-family='calibri'> " +
                    " <tr><td colspan='5' align='center'><strong>  SECCION INDICADORES  </strong></td></tr> " +
                    " <tr> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>LINEA</strong></td> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>DESCRIPCION</strong></td> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>UNIDAD MEDIDA</strong></td> " +
                        " <td style=background-color: #C0C0C0> " +
                            " <strong>SELECCIONADO</strong></td> " +
                    //" <td style=background-color: #C0C0C0> " +
                    //    " <strong>CALIFICACION</strong></td> " +
                    " </tr> <tr>";

                cnxe2.Open();
                string query2 = " 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.resultado_logrado_jefe as reslogradojefe, " +
                       " 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_jefe as calindjefe " +
                       " FROM  EVA_D_INDICADORES as d, EVA_C_INDICADORES  as c " +
                       " WHERE d.depto=c.depto and d.puesto=c.puesto and d.id_plantilla=c.id_plantilla and " +
                       " d.id_linea=c.id_linea and (d.id_eva = '" + ideva.Text + "') and d.id_plantilla='" + idplantilla.Text + "' and " +
                       " d.depto='" + Depto.Text + "' and d.puesto='" + Pto.Text + "' ";

                SqlCommand cmd2 = new SqlCommand(query2, cnxe2);
                SqlDataReader dr2 = cmd2.ExecuteReader();
                if (dr2.HasRows)
                {
                    while (dr2.Read())
                    {
                        mensaje_ind = mensaje_ind + " <tr> <td> " + dr2["idlinea"].ToString() + " </td> " +
                                          " <td> " + dr2["descripcion_kpi"].ToString() + " </td> " +
                                          " <td> " + dr2["umedida"].ToString() + " </td> " +
                                          " <td> " + dr2["reslogradojefe"].ToString() + " </td></tr> ";
                        //" <td> " + dr2["calindjefe"].ToString() + " </td> </tr>";
                    }
                }


            }

            //---PARA SACAR la calificacion kpis

            using (SqlConnection cnx4 = new SqlConnection(connectionString))
            {
                cnx4.Open();
                string querykpi = " select {fn IFNULL(SUM(ponderacion_ind_jefe),0)} AS total_puntaje_indicadores  " +
                               " from EVA_C_EVALUACION as e, EVA_D_INDICADORES as d " +
                               " where e.id_eva='" + ideva.Text + "' and e.estatus='2' and d.id_plantilla='" + idplantilla.Text + "'  " +
                               " and e.id_eva=d.id_eva ";
                SqlCommand cmdi = new SqlCommand(querykpi, cnx4);
                SqlDataReader drk = cmdi.ExecuteReader();

                if (drk.HasRows)
                {
                    while (drk.Read())
                    {
                        total_valores_ind = drk["total_puntaje_indicadores"].ToString();
                    }
                }
                else
                {
                    total_valores_ind = "0";
                }
            }   // cierre de la conn

            // para sacar la calificacion en Letra 
            using (SqlConnection cnx5 = new SqlConnection(connectionString))
            {
                cnx5.Open();
                string query5 = " SELECT ponderacion_kpi, calificacion_kpi, descripcion_kpi " +
                                " FROM   EVA_C_CALIFICACION_KPI " +
                                " WHERE  ponderacion_kpi <=  '" + total_valores_ind + "' order by 1 ";
                SqlCommand cmd5 = new SqlCommand(query5, cnx5);

                SqlDataReader dr5 = cmd5.ExecuteReader();

                if (dr5.HasRows)
                {
                    while (dr5.Read())
                    {
                        cal_indicador = dr5["calificacion_kpi"].ToString();
                    }
                }
            }

            // para sacar la calificacion de valores
            using (SqlConnection cnx6 = new SqlConnection(connectionString))
            {
                cnx6.Open();
                string query6 = " SELECT SUM(d.calificacion_val_emp) as total_calificacionemp, SUM(d.calificacion_val_jefe) as total_calificacion_val_jefe " +
                                " FROM   EVA_D_EVALUACION AS d INNER JOIN " +
                                " EVA_D_VALORES AS v ON d.c_comportamiento = v.c_comportamiento INNER JOIN " +
                                " EVA_C_VALORES AS c ON v.c_comportamiento = c.c_valor  " +
                                " WHERE (d.id_eva = '" + ideva.Text + "') AND (v.c_banda = '" + ban + "') AND (d.id_plantilla = '" + idplantilla.Text + "')  ";
                SqlCommand cmd6 = new SqlCommand(query6, cnx6);

                SqlDataReader dr6 = cmd6.ExecuteReader();

                if (dr6.HasRows)
                {
                    while (dr6.Read())
                    {
                        cal_valores = dr6["total_calificacion_val_jefe"].ToString();
                    }
                }
            }
            // para sacar el usuario del empleado q se califico
            using (SqlConnection cnxe = new SqlConnection(connectionString))
            {
                cnxe.Open();

                string queryemp = " SELECT  usr_username, usr_passwd, usr_nombre, usr_apellido_pat, usr_apellido_mat, usr_direccion, usr_email, usr_id_JDE, usr_id_JDE_AB " +
                                " FROM SYS_USR_USERS " +
                                " WHERE (usr_id_JDE_AB  = '" + lbEmpleados.Text + "') ";
                SqlCommand cmde = new SqlCommand(queryemp, cnxe);
                SqlDataReader dremp = cmde.ExecuteReader();

                if (dremp.HasRows)
                {
                    while (dremp.Read())
                    {
                        correo_empleado = dremp["usr_email"].ToString();
                    }
                }
                else
                {
                    correo_empleado = "";
                    MensajeError("No tiene asignado E-mail en el Apps");
                }
            }   // cierre de la conn


            //mensaje3 = mensaje3 + "<p align='center'><strong>CALIFICACION SECCION VALORES: " + cal_valores + " </strong> </p><br><br>";
            mensaje3 = mensaje3 + "<br><br>";
            //mensaje3_ind = mensaje1_ind + mensaje_ind + "<tr><td colspan='5' align='center'><strong>CALIFICACION INDICADORES : </strong>" + cal_indicador + " </td></tr></table>  <br><br>";
            mensaje3_ind = mensaje1_ind + mensaje_ind + "</table>  <br><br>";

            mensaje_obs = " <br><table class=style1 font-family='calibri'> " +
                        " <tr><td colspan='3' align='left'><strong>  COMENTARIOS ADICIONALES (JEFE INMEDIATO) </strong></td></tr> " +
                         " <tr> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong> PUNTOS FUERTES:  </strong>" + ptos_jefe + "</td></tr>" +
                            "  <tr><td style=background-color: #C0C0C0> " +
                                " <strong> NECESIDADES DE DESARROLLO:  </strong>" + necesidad_jefe + "</td>" +
                            "  <tr><td style=background-color: #C0C0C0> " +
                                " <strong> COMENTARIOS:  </strong>" + comentario_jefe + "</td>" +
                        " </tr> </table> <br>";

            mensaje3 = mensaje3 + mensaje3_ind + mensaje_obs;
            correo.Text = correo_empleado;
            correoDO enviarCorreo = new correoDO();
            enviarCorreo.EnviaMail_Eva("Retroalimentacion de Evaluacion de Desempeño ", mensaje3, correo_empleado);
            //guardo el log de envios a correo
            using (SqlConnection cnxc = new SqlConnection(connectionString))
            {
                cnxc.Open();
                string querycc = "INSERT EVA_ENVIO (id_emp, folio_eva, correo, fecha) values ( '" + lbEmpleados.Text + "'," +
                                  "'" + ideva.Text + "','" + correo.Text + "', GETDATE()) ";
                SqlCommand cmd = new SqlCommand(querycc, cnxc);
                SqlDataReader dr = cmd.ExecuteReader();
            }
            // aqui debe ir la direccion del empleado calificado lbEmpleados.Text 
            //pnlSuccess.Visible = true;
            ///===============================================================================================================================




        }
Esempio n. 3
0
        protected void ctFinalizar_Click(object sender, EventArgs e)
        {
            string mensaje3, mensaje, mensaje_ind, mensaje3_ind, mensaje1_ind, cal_valores, mensaje_obs;
            mensaje="";
            mensaje_ind = "";
            mensaje1_ind = "";
            mensaje3 = "";
            cal_valores = "";
            mensaje_obs = "";

            string connectionString = ConfigurationManager.ConnectionStrings["conexionAPPS"].ConnectionString;
            MensajeError(string.Empty);
            MensajeExito(string.Empty);

            int graba = 1;

            if (graba == 1 && this.TxtEmpleado.Text.ToString() == "")
            {
                MensajeError("No se encuentra registrado para la AutoEvaluacion");
                graba = 0;
            }

            if (graba == 1)
            {

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

                    string query = "SELECT  COUNT(v.d_valor) AS totalfaltantes " +
                                  " FROM   EVA_D_EVALUACION AS d INNER JOIN  EVA_C_VALORES AS v ON d.c_comportamiento = v.c_valor" +
                                  " WHERE (d.id_eva = '" + lbFolioeva.Text + "') AND (d.calificacion_val_emp = 0) ";
                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr = cmd.ExecuteReader();

                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            lbfaltaval.Text = dr["totalfaltantes"].ToString();
                        }
                    }
                }   // cierre de la conn

                if (lbfaltaval.Text == "0")
                {
                    lbfaltaval.Text = "Todos se encuentran capturados";
                }

                if (lbfaltaval.Text != ("Todos se encuentran capturados"))
                {
                    MensajeError("Te faltan " + lbfaltaval.Text + " opciones de capturar en la AutoEvaluacion de la primera Seccion de Valores");
                    graba = 1;
                    return;

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

                        string query = "UPDATE EVA_C_EVALUACION set  fecha_captura=GETDATE(), ptos_ftes='" + txt_puntos.Text + "', necesidades= '" + txt_necesidad.Text + "', comentarios=  '" + txt_comentario.Text + "' " +
                                       "WHERE id_eva= '" + lbFolioeva.Text + "'";
                        SqlCommand cmd = new SqlCommand(query, cnx);
                        SqlDataReader dr = cmd.ExecuteReader();
                        //MensajeExito("Se ha guardado con Exito tu Evaluacion, pero te quedan pendientes de contestar");
                    }
                }
                else
                {
                    using (SqlConnection cnx = new SqlConnection(connectionString))
                    {
                        cnx.Open();

                        string query = "UPDATE EVA_C_EVALUACION set  fecha_captura=GETDATE(), ptos_ftes='" + txt_puntos.Text + "', necesidades= '" + txt_necesidad.Text + "', comentarios=  '" + txt_comentario.Text + "' " +
                                       "WHERE id_eva= '" + lbFolioeva.Text + "'";
                        SqlCommand cmd = new SqlCommand(query, cnx);
                        SqlDataReader dr = cmd.ExecuteReader();
                        //MensajeExito("Se ha guardado con Exito tu Evaluacion, pero te quedan pendientes de contestar");
                    }
                }

            }

            //string val_objetivos;
            // revisar si tienen capturado los detalle de objetivos y de los indicadores
            using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx.Open();
                string query = " SELECT calificacion_val_emp " +
                               " FROM   EVA_D_EVALUACION WHERE (id_eva = '" + lbFolioeva.Text + "') and calificacion_val_emp='0' ";
                SqlCommand cmd = new SqlCommand(query, cnx);
                SqlDataReader dr = cmd.ExecuteReader();

                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        tempo.Text = dr["calificacion_val_emp"].ToString();
                    }
                }

            }

            if (tempo.Text == null)
            {
                MensajeError("No se puede finalizar no haz terminado la evaluacion de Valores");
                return;
            }
            else
            {

                // busco que este lleno los indicadores
                //REVISAR
                using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    cnx.Open();
                    string query = " SELECT calificacion_val_emp " +
                                   " FROM   EVA_D_EVALUACION WHERE (id_eva = '" + lbFolioeva.Text + "') and calificacion_val_emp='0' ";
                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr = cmd.ExecuteReader();

                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            tempo.Text = dr["calificacion_val_emp"].ToString();
                        }
                    }
                }
                using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    cnx.Open();
                    string query = " SELECT  resultado_logrado " +
                                   " FROM   EVA_D_INDICADORES WHERE (id_eva = '" + lbFolioeva.Text + "') AND (resultado_logrado = '0') ";
                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr = cmd.ExecuteReader();

                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            tempo2.Text = dr["resultado_logrado"].ToString();
                        }
                    }
                }

                //para ver si le falta algun indicador este en null
                using (SqlConnection cnx = new SqlConnection(connectionString))
                {
                    cnx.Open();

                    string query = " SELECT  COUNT(d.id_eva) AS faltantes_indicadores " +
                                    " FROM   EVA_D_INDICADORES AS d INNER JOIN  EVA_C_EVALUACION AS v ON d.id_eva = v.id_eva " +
                                    " WHERE  (d.id_eva = '" + lbFolioeva.Text + "') AND (d.calificacion_ind IS NULL) ";
                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr = cmd.ExecuteReader();

                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            lbfaltaInd.Text = dr["faltantes_indicadores"].ToString();
                        }
                    }
                }   // cierre de la conn

                if (lbfaltaInd.Text != "0")
                {
                    MensajeError("Te faltan " + lbfaltaInd.Text + " opciones de capturar en la Evaluacion de la Seccion de Indicadores");
                    return;
                }

                if (tempo.Text == "0")
                {
                    MensajeError("No se puede finalizar no haz terminado la evaluacion de Valores");
                    return;
                }

                if (tempo2.Text == "0.000")
                {
                    MensajeError("No se puede finalizar no haz terminado la evaluacion de Indicadores");
                    return;
                }

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

                    string query = "UPDATE EVA_C_EVALUACION set  estatus='1', fecha_captura=GETDATE() " +
                                   "WHERE id_eva= '" + lbFolioeva.Text + "'";

                    SqlCommand cmd = new SqlCommand(query, cnx);
                    SqlDataReader dr = cmd.ExecuteReader();
                    MensajeExito("Se ha guardado con Exito tu Evaluacion");
                
                    //txt_puntos.Text = string.Empty;
                    // Response.Redirect("captura_fin.aspx");
                    //Response.Redirect("captura_fin.aspx?folioeva=" + folioeva);
///-=======================================ENVIA CORREO AL EMPLEADO================================================


            // -------- PARA ENVIAR CORREO DE CONFIRMACION  -------------------------------------------------------

            usuario myUsuario = new usuario();
            usuarioBO myUsuarioBO = new usuarioBO();
            txtUser.Text = (string)(Session["Puesto"]);

            if (IsEmail(txtUser.Text))
            {
                myUsuario.Correo = txtUser.Text;
                myUsuario = myUsuarioBO.RetrievexCorreo(myUsuario);

            }
            else
            {
                myUsuario.Usuario = txtUser.Text;
                myUsuario = myUsuarioBO.Retrieve(myUsuario);
            }


            if (String.IsNullOrEmpty(myUsuario.Password))
            {

                pnlError.Visible = true;
            }
            else
            {

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

                    string querye = "SELECT  id_eva, id_emp, id_jefe, id_categoria_emp, id_banda_emp, estatus" +
                                  " FROM  EVA_C_EVALUACION" +
                                  " WHERE (id_eva = '" + lbFolioeva.Text + "') ";
                    SqlCommand cmde = new SqlCommand(querye, cnxe);
                    SqlDataReader dre = cmde.ExecuteReader();

                    if (dre.HasRows)
                    {
                        while (dre.Read())
                        {
                            ban.Text = dre["id_banda_emp"].ToString();
                        }
                    }
                }   // cierre de la conn


                // MUESTRA EL GRID
                //String mensaje = String.Format("Tus datos de acceso a Apps son los siguientes: <br /><br />Usuario: {0}<br />Password: {1}", myUsuario.Usuario, myUsuario.Password);
                //enviarCorreo.EnviaMail("Recuperación de password", mensaje, myUsuario.Correo);
                string mensaje1 =" <table class=style1 font-family='calibri'> " +
                        " <tr><td colspan='5' align='center'><strong>   SECCION VALORES  </strong></td></tr> " +
                        " <tr> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>COMPORTAMIENTO</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>DESCRIPCION 1</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>DESCRIPCION 2</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>DESCRIPCION 3</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>SELECCIONADA</strong></td> " +
                        " </tr> <tr>";

                
                using (SqlConnection cnxee = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    
                    cnxee.Open();
                    string queryee = "SELECT d.d_partida_eva as idpe, d.id_eva as ideva, d.id_plantilla, d.c_seccion, d.c_valor as valor2, d.c_comportamiento as comp, " +
                                   "d.calificacion_val_emp as calificacionemp, d.calificacion_val_jefe, d.id_ind, v.valornuvoil as valor, " +
                                  " d.calificacion_ind_emp, d.calificacion_id_jefe, v.conducta1 as c1, v.conducta2 as c2, v.conducta3 as c3, v.c_banda, c.d_valor as nomvalor " +
                                  " FROM   EVA_D_EVALUACION AS d INNER JOIN " +
                                  " EVA_D_VALORES AS v ON d.c_comportamiento = v.c_comportamiento INNER JOIN " +
                                  " EVA_C_VALORES AS c ON v.c_comportamiento = c.c_valor " +
                                  " WHERE (d.id_eva = '" + lbFolioeva.Text + "') AND (v.c_banda = '" + ban.Text + "') AND (d.id_plantilla = '" + lbPlantilla.Text + "') ";

                    SqlCommand cmdee = new SqlCommand(queryee, cnxee);
                    SqlDataReader dree = cmdee.ExecuteReader();
                    if (dree.HasRows)
                    {
                        while (dree.Read())
                        {

                                   mensaje = mensaje + " <tr> <td> " + dree["nomvalor"].ToString() + " </td> " +
                                              " <td> " + dree["c1"].ToString() + " </td> " +
                                              " <td> " + dree["c2"].ToString() + " </td> " +
                                              " <td> " + dree["c3"].ToString() + " </td> " +
                                              " <td align='center'> " + dree["calificacionemp"].ToString() + " </td> </tr>";
                        }
                          //mensaje = mensaje +                                  
                    }
                    mensaje3 = mensaje1 + mensaje + "</table>";
                }

                using (SqlConnection cnxe2 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
                {
                    mensaje1_ind = " <table class=style1 font-family='calibri'> " +
                        " <tr><td colspan='5' align='center'><strong>  SECCION INDICADORES  </strong></td></tr> " +
                        " <tr> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>LINEA</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>DESCRIPCION</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>UNIDAD MEDIDA</strong></td> " +
                            " <td style=background-color: #C0C0C0> " +
                                " <strong>SELECCIONADO</strong></td> " +
                            //" <td style=background-color: #C0C0C0> " +
                            //    " <strong>CALIFICACION</strong></td> " +
                        " </tr> <tr>";

                    cnxe2.Open();
                    string query2 = " 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 = '" + lbFolioeva.Text + "') and d.id_plantilla='" + lbPlantilla.Text + "' and " +
                           "  left(d.depto,3)='" + Depto.Text + "' and left(d.puesto,3)='" + Pto.Text + "' "; 

                    SqlCommand cmd2 = new SqlCommand(query2, cnxe2);
                    SqlDataReader dr2 = cmd2.ExecuteReader();
                    if (dr2.HasRows)
                    {
                        while (dr2.Read())
                        {
                            mensaje_ind = mensaje_ind + " <tr> <td> " + dr2["idlinea"].ToString() + " </td> " +
                                              " <td> " + dr2["descripcion_kpi"].ToString() + " </td> " +
                                              " <td> " + dr2["umedida"].ToString() + " </td> " +
                                              " <td> " + dr2["reslogrado"].ToString() + " </td> </tr>";
                                              //" <td> " + dr2["calind"].ToString() + " </td> </tr>";
                        }
                    }

                    
                }
            }
            string total_valores_ind, cal_indicador;
            total_valores_ind="";
            cal_indicador = "";
            //---PARA SACAR la calificacion kpis
            using (SqlConnection cnx4 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx4.Open();
                string querykpi = " select {fn IFNULL(SUM(ponderacion_ind),0)} AS total_puntaje_indicadores " +
                               " from EVA_C_EVALUACION as e, EVA_D_INDICADORES as d " +
                               " where e.id_eva='" + lbFolioeva.Text + "' and e.estatus='1' and d.id_plantilla='" + lbPlantilla.Text + "'  " +
                               " and e.id_eva=d.id_eva ";
                SqlCommand cmdi = new SqlCommand(querykpi, cnx4);
                SqlDataReader drk = cmdi.ExecuteReader();

                if (drk.HasRows)
                {
                    while (drk.Read())
                    {
                       total_valores_ind = drk["total_puntaje_indicadores"].ToString();
                    }
                }
                else
                {
                    total_valores_ind= "0";
                }
            }   // cierre de la conn

            // para sacar la calificacion en Letra 
            using (SqlConnection cnx5 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx5.Open();
                string query5 = " SELECT ponderacion_kpi, calificacion_kpi, descripcion_kpi " +
                                " FROM   EVA_C_CALIFICACION_KPI " +
                                " WHERE  ponderacion_kpi <=  '" + total_valores_ind + "' order by 1 ";
                SqlCommand cmd5 = new SqlCommand(query5, cnx5);

                SqlDataReader dr5 = cmd5.ExecuteReader();

                if (dr5.HasRows)
                {
                    while (dr5.Read())
                    {
                        cal_indicador = dr5["calificacion_kpi"].ToString();
                    }
                }
            }

            // para sacar la calificacion de valores
            using (SqlConnection cnx6 = new SqlConnection(ConfigurationManager.ConnectionStrings["conexionAPPS"].ToString()))
            {
                cnx6.Open();
                string query6 = " SELECT SUM(d.calificacion_val_emp) as total_calificacionemp, SUM(d.calificacion_val_jefe) as total_calificacion_val_jefe " +
                                " FROM   EVA_D_EVALUACION AS d INNER JOIN " +
                                " EVA_D_VALORES AS v ON d.c_comportamiento = v.c_comportamiento INNER JOIN " +
                                " EVA_C_VALORES AS c ON v.c_comportamiento = c.c_valor  " +
                                " WHERE (d.id_eva = '" + lbFolioeva.Text + "') AND (v.c_banda = '" + ban.Text + "') AND (d.id_plantilla = '" + lbPlantilla.Text + "')  ";
                SqlCommand cmd6 = new SqlCommand(query6, cnx6);

                SqlDataReader dr6 = cmd6.ExecuteReader();

                if (dr6.HasRows)
                {
                    while (dr6.Read())
                    {
                        cal_valores = dr6["total_calificacionemp"].ToString();
                    }
                }
            }


            //mensaje3 = mensaje3 + "<p align='center'><strong>CALIFICACION SECCION VALORES: " + cal_valores + " </strong> </p><br><br>";
            mensaje3 = mensaje3 + "<br><br>";
            //mensaje3_ind = mensaje1_ind + mensaje_ind + "<tr><td colspan='5' align='center'><strong>CALIFICACION INDICADORES : </strong>" + cal_indicador + " </td></tr></table>  <br><br>";
            mensaje3_ind = mensaje1_ind + mensaje_ind + "</table> <br><br>";
            mensaje_obs = " <br><table class=style1 font-family='calibri'> " +
                                   " <tr><td colspan='3' align='left'><strong>  COMENTARIOS ADICIONALES </strong></td></tr> " +
                                   " <tr> " +
                                       " <td style=background-color: #C0C0C0> " + 
                                           " <strong> PUNTOS FUERTES:  </strong> " + txt_puntos.Text + "</td>" +
                                       " <td style=background-color:  #C0C0C0> " +
                                           " <strong> NECESIDADES DE DESARROLLO: </strong> " + txt_necesidad.Text + "</td>" +
                                       " <td style=background-color: #C0C0C0> " +
                                           " <strong> COMENTARIOS:  </strong> " + txt_comentario.Text + "</td>" +
                                   " </tr> <tr> </table> <br>";
            mensaje3 = mensaje3 + mensaje3_ind + mensaje_obs;
            correoDO enviarCorreo = new correoDO();
            enviarCorreo.EnviaMail_Eva("EVALUACION DESEMPEÑO", mensaje3, myUsuario.Correo);
            pnlSuccess.Visible = true;
            // ----------------------------------------------------------------------------------------------------

        }
            
///===============================================================================================================================

                panel2.Visible = false;
                panel3.Visible = false;
            }
        }