96 lines
2.8 KiB
Transact-SQL
96 lines
2.8 KiB
Transact-SQL
ALTER PROCEDURE [dbo].[PA_Fraccionamientos_EtapaGISGet]
|
|
@CveFraccionamientoEtapa int,
|
|
@CveUsuarioEjecuta int,
|
|
@ErrorMostrar varchar(max) OUTPUT,
|
|
@ErrorTipo int OUTPUT,
|
|
@Return bit OUTPUT
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
SELECT
|
|
@ErrorMostrar = NULL,
|
|
@ErrorTipo = 0,
|
|
@Return = 0;
|
|
|
|
BEGIN TRY
|
|
DECLARE @NombreRol varchar(100);
|
|
|
|
SELECT @NombreRol = R.NombreRol
|
|
FROM dbo.Sis_Usuarios AS U
|
|
INNER JOIN dbo.Sis_Roles AS R
|
|
ON R.CveRol = U.CveRol
|
|
WHERE U.CveUsuario = @CveUsuarioEjecuta
|
|
AND U.Activo = 1;
|
|
|
|
IF @NombreRol IS NULL
|
|
BEGIN
|
|
SET @ErrorMostrar = 'El usuario no está disponible para consultar el GIS.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.FraccionamientosEtapas AS E
|
|
INNER JOIN dbo.Fraccionamientos AS F
|
|
ON F.CveFraccionamiento = E.CveFraccionamiento
|
|
WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND
|
|
(
|
|
@NombreRol <> 'Empresa'
|
|
OR EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.Sis_UsuariosClientes AS UC
|
|
WHERE UC.CveUsuario = @CveUsuarioEjecuta
|
|
AND UC.CveCliente = F.CveCliente
|
|
AND UC.Activo = 1
|
|
)
|
|
)
|
|
)
|
|
BEGIN
|
|
SET @ErrorMostrar = 'La etapa no existe o no está asignada al usuario.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
SELECT
|
|
G.CveFraccionamientoEtapaGIS,
|
|
G.CveFraccionamientoEtapa,
|
|
E.CveFraccionamiento,
|
|
F.CveCliente,
|
|
E.Etapa,
|
|
G.Nombre,
|
|
G.UrlVisualizacion,
|
|
G.FechaAlta,
|
|
G.FechaModificacion
|
|
FROM dbo.FraccionamientosEtapasGIS AS G
|
|
INNER JOIN dbo.FraccionamientosEtapas AS E
|
|
ON E.CveFraccionamientoEtapa = G.CveFraccionamientoEtapa
|
|
INNER JOIN dbo.Fraccionamientos AS F
|
|
ON F.CveFraccionamiento = E.CveFraccionamiento
|
|
WHERE G.CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
|
|
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @ErrorMostrar = 'Ocurrió un error al consultar el GIS de la etapa; favor de contactar a Sistemas.';
|
|
SET @ErrorTipo = 1;
|
|
SET @Return = 0;
|
|
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
|
|
'Número: ', ERROR_NUMBER(),
|
|
'; Procedimiento: ', COALESCE(
|
|
ERROR_PROCEDURE(),
|
|
'PA_Fraccionamientos_EtapaGISGet'),
|
|
'; Línea: ', ERROR_LINE(),
|
|
'; Detalle: ', ERROR_MESSAGE()
|
|
);
|
|
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|