asd

 avatar
unknown
mysql
4 years ago
2.2 kB
5
Indexable
CREATE DEFINER=`root`@`localhost` PROCEDURE `pa_listar_solicitudes_requemientos`(
	IN `DNI_empleado` VARCHAR(10)
)
BEGIN
 DECLARE id_tipo_usuario_empleado TINYINT DEFAULT 0;
    DECLARE id_area_empleado TINYINT DEFAULT 0;
 SELECT Area_Id, usu_Tipo_User_Id_fk into id_area_empleado, id_tipo_usuario_empleado FROM usuarios u JOIN empleados e ON u.usu_Id_Emp_fk = e.Emp_Id JOIN sub_areas sa ON e.Emp_Perfiles_Id=sa.subArea_id JOIN areas a ON sa.subArea_Id_Area_Fk =a.Area_Id WHERE Emp_Dni = DNI_empleado;
    IF id_area_empleado <> 0 AND id_tipo_usuario_empleado<>0 THEN
  IF id_tipo_usuario_empleado=1 THEN
   SELECT u.Unidad_Nombre as Unidad, a.Area_Nombre as Area, sa.subArea_nombre as 'SubArea', e.Emp_Nombre as Encargado, psa.perfil_nombre as Perfil, sp.sPer_cantidad as Cantidad, t.turnos_Nombre as Turno, p.pri_nombre as Prioridad, sp.sPer_fecha_req as "Fecha de requerimiento" from solicitud_perfiles as sp
   JOIN perfiles_sub_areas as psa ON sp.sPer_id_perfil_fk = psa.perfil_Id
   JOIN sub_areas as sa ON psa.perfil_Id_Sub_Area_fk= sa.subArea_id
   JOIN areas as a ON sa.subArea_Id_Area_Fk= a.Area_Id
   JOIN unidades as u ON a.Area_Id_Unidad_fk = u.Unidad_Id
   JOIN empleados as e ON sp.sPer_id_empleado_fk = e.Emp_Id
   JOIN turnos as t ON e.Emp_TurnoId = t.turnos_ID
   JOIN prioridades as p ON sp.sPer_id_prioridad_fk = p.pri_Id;
        ELSE
   SELECT u.Unidad_Nombre as Unidad, a.Area_Nombre as Area, sa.subArea_nombre as 'SubArea', e.Emp_Nombre as Encargado, psa.perfil_nombre as Perfil, sp.sPer_cantidad as Cantidad, t.turnos_Nombre as Turno, p.pri_nombre as Prioridad, sp.sPer_fecha_req as "Fecha de requerimiento" from solicitud_perfiles as sp
   JOIN perfiles_sub_areas as psa ON sp.sPer_id_perfil_fk = psa.perfil_Id
   JOIN sub_areas as sa ON psa.perfil_Id_Sub_Area_fk= sa.subArea_id
   JOIN areas as a ON sa.subArea_Id_Area_Fk= a.Area_Id
   JOIN unidades as u ON a.Area_Id_Unidad_fk = u.Unidad_Id
   JOIN empleados as e ON sp.sPer_id_empleado_fk = e.Emp_Id
   JOIN turnos as t ON e.Emp_TurnoId = t.turnos_ID
   JOIN prioridades as p ON sp.sPer_id_prioridad_fk = p.pri_Id
            WHERE a.Area_Id= id_area_empleado;
        END IF;
 ELSE select "No se encontro un usuario asociado al DNI ingreado" as Mensaje;
    END IF;
END
Editor is loading...