1261 lines
49 KiB
Transact-SQL
1261 lines
49 KiB
Transact-SQL
SET NOCOUNT ON;
|
|
GO
|
|
|
|
/* Migración del modelo de preguntas por tipo de trámite. */
|
|
IF COL_LENGTH(N'dbo.Tra_Preguntas', N'CveTipoTramite') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_Preguntas
|
|
ADD CveTipoTramite int NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_Preguntas', N'Codigo') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_Preguntas
|
|
ADD Codigo varchar(50) COLLATE Modern_Spanish_CI_AS NULL;
|
|
END;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.FK_Tra_Preguntas_TiposTramite', N'F') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_Preguntas
|
|
ADD CONSTRAINT FK_Tra_Preguntas_TiposTramite
|
|
FOREIGN KEY (CveTipoTramite)
|
|
REFERENCES dbo.Tra_TiposTramite (CveTipoTramite);
|
|
END;
|
|
GO
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM sys.indexes
|
|
WHERE object_id = OBJECT_ID(N'dbo.Tra_Preguntas')
|
|
AND name = N'UX_Tra_Preguntas_Codigo'
|
|
)
|
|
BEGIN
|
|
CREATE UNIQUE NONCLUSTERED INDEX UX_Tra_Preguntas_Codigo
|
|
ON dbo.Tra_Preguntas (Codigo)
|
|
WHERE Codigo IS NOT NULL;
|
|
END;
|
|
GO
|
|
|
|
;WITH OrdenNormalizado AS
|
|
(
|
|
SELECT
|
|
CveEstatusSolicitud,
|
|
ROW_NUMBER() OVER (ORDER BY Orden, CveEstatusSolicitud) AS OrdenNuevo
|
|
FROM dbo.Tra_EstatusSolicitud
|
|
)
|
|
UPDATE E
|
|
SET Orden = N.OrdenNuevo
|
|
FROM dbo.Tra_EstatusSolicitud AS E
|
|
INNER JOIN OrdenNormalizado AS N
|
|
ON N.CveEstatusSolicitud = E.CveEstatusSolicitud;
|
|
|
|
;WITH OrdenNormalizado AS
|
|
(
|
|
SELECT
|
|
CveTipoTramite,
|
|
ROW_NUMBER() OVER (ORDER BY Orden, CveTipoTramite) AS OrdenNuevo
|
|
FROM dbo.Tra_TiposTramite
|
|
)
|
|
UPDATE T
|
|
SET Orden = N.OrdenNuevo
|
|
FROM dbo.Tra_TiposTramite AS T
|
|
INNER JOIN OrdenNormalizado AS N
|
|
ON N.CveTipoTramite = T.CveTipoTramite;
|
|
|
|
;WITH OrdenNormalizado AS
|
|
(
|
|
SELECT
|
|
CveDocumentoRequerido,
|
|
ROW_NUMBER() OVER
|
|
(
|
|
PARTITION BY CveTipoTramite
|
|
ORDER BY Orden, CveDocumentoRequerido
|
|
) AS OrdenNuevo
|
|
FROM dbo.Tra_DocumentosRequeridos
|
|
)
|
|
UPDATE D
|
|
SET Orden = N.OrdenNuevo
|
|
FROM dbo.Tra_DocumentosRequeridos AS D
|
|
INNER JOIN OrdenNormalizado AS N
|
|
ON N.CveDocumentoRequerido = D.CveDocumentoRequerido;
|
|
|
|
;WITH OrdenNormalizado AS
|
|
(
|
|
SELECT
|
|
CvePregunta,
|
|
ROW_NUMBER() OVER
|
|
(
|
|
PARTITION BY CveTipoTramite
|
|
ORDER BY Orden, CvePregunta
|
|
) AS OrdenNuevo
|
|
FROM dbo.Tra_Preguntas
|
|
)
|
|
UPDATE P
|
|
SET Orden = N.OrdenNuevo
|
|
FROM dbo.Tra_Preguntas AS P
|
|
INNER JOIN OrdenNormalizado AS N
|
|
ON N.CvePregunta = P.CvePregunta;
|
|
|
|
;WITH OrdenNormalizado AS
|
|
(
|
|
SELECT
|
|
CveOpcionPregunta,
|
|
ROW_NUMBER() OVER
|
|
(
|
|
PARTITION BY CvePregunta
|
|
ORDER BY Orden, CveOpcionPregunta
|
|
) AS OrdenNuevo
|
|
FROM dbo.Tra_OpcionesPregunta
|
|
)
|
|
UPDATE O
|
|
SET Orden = N.OrdenNuevo
|
|
FROM dbo.Tra_OpcionesPregunta AS O
|
|
INNER JOIN OrdenNormalizado AS N
|
|
ON N.CveOpcionPregunta = O.CveOpcionPregunta;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudList
|
|
@Texto varchar(200) = NULL,
|
|
@IncluirInactivos bit = 0,
|
|
@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
|
|
SELECT CveEstatusSolicitud, Codigo, EstatusSolicitud, Orden, EsFinal, EsActivo
|
|
FROM dbo.Tra_EstatusSolicitud
|
|
WHERE (@IncluirInactivos = 1 OR EsActivo = 1)
|
|
AND (NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
|
|
OR Codigo LIKE '%' + @Texto + '%'
|
|
OR EstatusSolicitud LIKE '%' + @Texto + '%')
|
|
ORDER BY Orden, EstatusSolicitud;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar los estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudGet
|
|
@CveEstatusSolicitud 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
|
|
SELECT CveEstatusSolicitud, Codigo, EstatusSolicitud, Orden, EsFinal, EsActivo
|
|
FROM dbo.Tra_EstatusSolicitud
|
|
WHERE CveEstatusSolicitud = @CveEstatusSolicitud;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar el estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudSave
|
|
@CveEstatusSolicitud int = NULL,
|
|
@Codigo varchar(50),
|
|
@EstatusSolicitud varchar(100),
|
|
@EsFinal bit,
|
|
@EsActivo bit,
|
|
@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
|
|
SELECT @Codigo = LTRIM(RTRIM(@Codigo)), @EstatusSolicitud = LTRIM(RTRIM(@EstatusSolicitud));
|
|
IF NULLIF(@Codigo, '') IS NULL OR NULLIF(@EstatusSolicitud, '') IS NULL
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'Capture el código y el estatus de la solicitud.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_EstatusSolicitud WHERE Codigo = @Codigo AND CveEstatusSolicitud <> ISNULL(@CveEstatusSolicitud, 0))
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El código del estatus ya está registrado.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @CveEstatusSolicitud IS NULL
|
|
BEGIN
|
|
DECLARE @Orden int =
|
|
ISNULL((SELECT MAX(Orden) FROM dbo.Tra_EstatusSolicitud), 0) + 1;
|
|
|
|
INSERT dbo.Tra_EstatusSolicitud (Codigo, EstatusSolicitud, Orden, EsFinal, EsActivo)
|
|
VALUES (@Codigo, @EstatusSolicitud, @Orden, @EsFinal, @EsActivo);
|
|
SET @CveEstatusSolicitud = CONVERT(int, SCOPE_IDENTITY());
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.Tra_EstatusSolicitud
|
|
SET Codigo = @Codigo,
|
|
EstatusSolicitud = @EstatusSolicitud,
|
|
EsFinal = @EsFinal,
|
|
EsActivo = @EsActivo
|
|
WHERE CveEstatusSolicitud = @CveEstatusSolicitud;
|
|
END;
|
|
SELECT @CveEstatusSolicitud AS CveEstatusSolicitud;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al guardar el estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_EstatusSolicitudDelete
|
|
@CveEstatusSolicitud 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
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_Solicitudes WHERE CveEstatusSolicitud = @CveEstatusSolicitud)
|
|
OR EXISTS (SELECT 1 FROM dbo.Tra_HistorialEstatusSolicitud WHERE CveEstatusSolicitud = @CveEstatusSolicitud)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El estatus ya se utiliza en solicitudes y no puede eliminarse. Puede desactivarlo.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
DELETE dbo.Tra_EstatusSolicitud WHERE CveEstatusSolicitud = @CveEstatusSolicitud;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el estatus de solicitud; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_EstatusSolicitudDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteList
|
|
@Texto varchar(250) = NULL,
|
|
@IncluirInactivos bit = 0,
|
|
@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
|
|
SELECT T.CveTipoTramite, T.Codigo, T.TipoTramite, T.Descripcion, T.Orden, T.EsActivo,
|
|
COUNT(P.CvePregunta) AS NumeroPreguntas
|
|
FROM dbo.Tra_TiposTramite AS T
|
|
LEFT JOIN dbo.Tra_Preguntas AS P ON P.CveTipoTramite = T.CveTipoTramite
|
|
WHERE (@IncluirInactivos = 1 OR T.EsActivo = 1)
|
|
AND (NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
|
|
OR T.Codigo LIKE '%' + @Texto + '%'
|
|
OR T.TipoTramite LIKE '%' + @Texto + '%'
|
|
OR T.Descripcion LIKE '%' + @Texto + '%')
|
|
GROUP BY T.CveTipoTramite, T.Codigo, T.TipoTramite, T.Descripcion, T.Orden, T.EsActivo
|
|
ORDER BY T.Orden, T.TipoTramite;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar los tipos de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteGet
|
|
@CveTipoTramite 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
|
|
SELECT T.CveTipoTramite, T.Codigo, T.TipoTramite, T.Descripcion, T.Orden, T.EsActivo,
|
|
(SELECT COUNT(*) FROM dbo.Tra_Preguntas AS P WHERE P.CveTipoTramite = T.CveTipoTramite) AS NumeroPreguntas
|
|
FROM dbo.Tra_TiposTramite AS T
|
|
WHERE T.CveTipoTramite = @CveTipoTramite;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar el tipo de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteSave
|
|
@CveTipoTramite int = NULL,
|
|
@Codigo varchar(50),
|
|
@TipoTramite varchar(200),
|
|
@Descripcion varchar(500) = NULL,
|
|
@EsActivo bit,
|
|
@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
|
|
SELECT @Codigo = LTRIM(RTRIM(@Codigo)), @TipoTramite = LTRIM(RTRIM(@TipoTramite)), @Descripcion = NULLIF(LTRIM(RTRIM(@Descripcion)), '');
|
|
IF NULLIF(@Codigo, '') IS NULL OR NULLIF(@TipoTramite, '') IS NULL
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'Capture el código y el nombre del tipo de trámite.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_TiposTramite WHERE Codigo = @Codigo AND CveTipoTramite <> ISNULL(@CveTipoTramite, 0))
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El código del tipo de trámite ya está registrado.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @CveTipoTramite IS NULL
|
|
BEGIN
|
|
DECLARE @Orden int =
|
|
ISNULL((SELECT MAX(Orden) FROM dbo.Tra_TiposTramite), 0) + 1;
|
|
|
|
INSERT dbo.Tra_TiposTramite (Codigo, TipoTramite, Descripcion, Orden, EsActivo, CveUsuario)
|
|
VALUES (@Codigo, @TipoTramite, @Descripcion, @Orden, @EsActivo, @CveUsuarioEjecuta);
|
|
SET @CveTipoTramite = CONVERT(int, SCOPE_IDENTITY());
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.Tra_TiposTramite
|
|
SET Codigo = @Codigo, TipoTramite = @TipoTramite, Descripcion = @Descripcion,
|
|
EsActivo = @EsActivo, FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveTipoTramite = @CveTipoTramite;
|
|
END;
|
|
SELECT @CveTipoTramite AS CveTipoTramite;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al guardar el tipo de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoTramiteDelete
|
|
@CveTipoTramite 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
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_Solicitudes WHERE CveTipoTramite = @CveTipoTramite)
|
|
OR EXISTS (SELECT 1 FROM dbo.Tra_DocumentosRequeridos WHERE CveTipoTramite = @CveTipoTramite)
|
|
OR EXISTS (SELECT 1 FROM dbo.Tra_Preguntas WHERE CveTipoTramite = @CveTipoTramite)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El tipo de trámite tiene información relacionada y no puede eliminarse. Puede desactivarlo.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
DELETE dbo.Tra_TiposTramite WHERE CveTipoTramite = @CveTipoTramite;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el tipo de trámite; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoTramiteDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoList
|
|
@Texto varchar(250) = NULL,
|
|
@IncluirInactivos bit = 0,
|
|
@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
|
|
SELECT CveTipoDocumento, TipoDocumento, Descripcion, ExtensionesPermitidas, TamanoMaximoMb, EsActivo
|
|
FROM dbo.Tra_TiposDocumento
|
|
WHERE (@IncluirInactivos = 1 OR EsActivo = 1)
|
|
AND (NULLIF(LTRIM(RTRIM(@Texto)), '') IS NULL
|
|
OR TipoDocumento LIKE '%' + @Texto + '%'
|
|
OR Descripcion LIKE '%' + @Texto + '%'
|
|
OR ExtensionesPermitidas LIKE '%' + @Texto + '%')
|
|
ORDER BY TipoDocumento;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar los tipos de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoGet
|
|
@CveTipoDocumento 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
|
|
SELECT CveTipoDocumento, TipoDocumento, Descripcion, ExtensionesPermitidas, TamanoMaximoMb, EsActivo
|
|
FROM dbo.Tra_TiposDocumento
|
|
WHERE CveTipoDocumento = @CveTipoDocumento;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar el tipo de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoSave
|
|
@CveTipoDocumento int = NULL,
|
|
@TipoDocumento varchar(200),
|
|
@Descripcion varchar(500) = NULL,
|
|
@ExtensionesPermitidas varchar(200) = NULL,
|
|
@TamanoMaximoMb int = NULL,
|
|
@EsActivo bit,
|
|
@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
|
|
SELECT @TipoDocumento = LTRIM(RTRIM(@TipoDocumento)),
|
|
@Descripcion = NULLIF(LTRIM(RTRIM(@Descripcion)), ''),
|
|
@ExtensionesPermitidas = NULLIF(LTRIM(RTRIM(@ExtensionesPermitidas)), '');
|
|
IF NULLIF(@TipoDocumento, '') IS NULL
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'Capture el nombre del tipo de documento.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @TamanoMaximoMb IS NOT NULL AND @TamanoMaximoMb <= 0
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El tamaño máximo debe ser mayor que cero.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_TiposDocumento WHERE TipoDocumento = @TipoDocumento AND CveTipoDocumento <> ISNULL(@CveTipoDocumento, 0))
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El tipo de documento ya está registrado.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @CveTipoDocumento IS NULL
|
|
BEGIN
|
|
INSERT dbo.Tra_TiposDocumento (TipoDocumento, Descripcion, ExtensionesPermitidas, TamanoMaximoMb, EsActivo, CveUsuario)
|
|
VALUES (@TipoDocumento, @Descripcion, @ExtensionesPermitidas, @TamanoMaximoMb, @EsActivo, @CveUsuarioEjecuta);
|
|
SET @CveTipoDocumento = CONVERT(int, SCOPE_IDENTITY());
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.Tra_TiposDocumento
|
|
SET TipoDocumento = @TipoDocumento, Descripcion = @Descripcion,
|
|
ExtensionesPermitidas = @ExtensionesPermitidas, TamanoMaximoMb = @TamanoMaximoMb,
|
|
EsActivo = @EsActivo, FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveTipoDocumento = @CveTipoDocumento;
|
|
END;
|
|
SELECT @CveTipoDocumento AS CveTipoDocumento;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al guardar el tipo de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoDocumentoDelete
|
|
@CveTipoDocumento 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
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_DocumentosRequeridos WHERE CveTipoDocumento = @CveTipoDocumento)
|
|
OR EXISTS (SELECT 1 FROM dbo.Tra_DocumentosSolicitud WHERE CveTipoDocumento = @CveTipoDocumento)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El tipo de documento tiene información relacionada y no puede eliminarse. Puede desactivarlo.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
DELETE dbo.Tra_TiposDocumento WHERE CveTipoDocumento = @CveTipoDocumento;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el tipo de documento; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoDocumentoDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoList
|
|
@CveTipoTramite int = NULL,
|
|
@IncluirInactivos bit = 0,
|
|
@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
|
|
SELECT D.CveDocumentoRequerido, D.CveTipoTramite, T.TipoTramite,
|
|
D.CveTipoDocumento, TD.TipoDocumento, D.EsRequerido, D.Orden, D.EsActivo
|
|
FROM dbo.Tra_DocumentosRequeridos AS D
|
|
INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = D.CveTipoTramite
|
|
INNER JOIN dbo.Tra_TiposDocumento AS TD ON TD.CveTipoDocumento = D.CveTipoDocumento
|
|
WHERE (@CveTipoTramite IS NULL OR D.CveTipoTramite = @CveTipoTramite)
|
|
AND (@IncluirInactivos = 1 OR D.EsActivo = 1)
|
|
ORDER BY T.Orden, T.TipoTramite, D.Orden, TD.TipoDocumento;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar los documentos requeridos; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoGet
|
|
@CveDocumentoRequerido 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
|
|
SELECT D.CveDocumentoRequerido, D.CveTipoTramite, T.TipoTramite,
|
|
D.CveTipoDocumento, TD.TipoDocumento, D.EsRequerido, D.Orden, D.EsActivo
|
|
FROM dbo.Tra_DocumentosRequeridos AS D
|
|
INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = D.CveTipoTramite
|
|
INNER JOIN dbo.Tra_TiposDocumento AS TD ON TD.CveTipoDocumento = D.CveTipoDocumento
|
|
WHERE D.CveDocumentoRequerido = @CveDocumentoRequerido;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar el documento requerido; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoSave
|
|
@CveDocumentoRequerido int = NULL,
|
|
@CveTipoTramite int,
|
|
@CveTipoDocumento int,
|
|
@EsRequerido bit,
|
|
@EsActivo bit,
|
|
@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
|
|
IF NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposTramite WHERE CveTipoTramite = @CveTipoTramite)
|
|
OR NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposDocumento WHERE CveTipoDocumento = @CveTipoDocumento)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'Seleccione un tipo de trámite y un tipo de documento válidos.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.Tra_DocumentosRequeridos
|
|
WHERE CveTipoTramite = @CveTipoTramite
|
|
AND CveTipoDocumento = @CveTipoDocumento
|
|
AND CveDocumentoRequerido <> ISNULL(@CveDocumentoRequerido, 0)
|
|
)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El documento ya está asociado al tipo de trámite.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @CveDocumentoRequerido IS NULL
|
|
BEGIN
|
|
DECLARE @Orden int = ISNULL((
|
|
SELECT MAX(Orden)
|
|
FROM dbo.Tra_DocumentosRequeridos
|
|
WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
|
|
|
|
INSERT dbo.Tra_DocumentosRequeridos (CveTipoTramite, CveTipoDocumento, EsRequerido, Orden, EsActivo)
|
|
VALUES (@CveTipoTramite, @CveTipoDocumento, @EsRequerido, @Orden, @EsActivo);
|
|
SET @CveDocumentoRequerido = CONVERT(int, SCOPE_IDENTITY());
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
DECLARE @CveTipoTramiteAnterior int;
|
|
SELECT
|
|
@CveTipoTramiteAnterior = CveTipoTramite,
|
|
@Orden = Orden
|
|
FROM dbo.Tra_DocumentosRequeridos
|
|
WHERE CveDocumentoRequerido = @CveDocumentoRequerido;
|
|
|
|
IF @CveTipoTramiteAnterior <> @CveTipoTramite
|
|
BEGIN
|
|
SET @Orden = ISNULL((
|
|
SELECT MAX(Orden)
|
|
FROM dbo.Tra_DocumentosRequeridos
|
|
WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
|
|
END;
|
|
|
|
UPDATE dbo.Tra_DocumentosRequeridos
|
|
SET CveTipoTramite = @CveTipoTramite, CveTipoDocumento = @CveTipoDocumento,
|
|
EsRequerido = @EsRequerido, Orden = @Orden, EsActivo = @EsActivo
|
|
WHERE CveDocumentoRequerido = @CveDocumentoRequerido;
|
|
END;
|
|
SELECT @CveDocumentoRequerido AS CveDocumentoRequerido;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al guardar el documento requerido; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_DocumentoRequeridoDelete
|
|
@CveDocumentoRequerido 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
|
|
DELETE dbo.Tra_DocumentosRequeridos WHERE CveDocumentoRequerido = @CveDocumentoRequerido;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al eliminar el documento requerido; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_DocumentoRequeridoDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_TipoPreguntaList
|
|
@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
|
|
SELECT CveTipoPregunta, TipoPregunta, EsActivo
|
|
FROM dbo.Tra_TiposPregunta
|
|
WHERE EsActivo = 1
|
|
ORDER BY CveTipoPregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar los tipos de pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_TipoPreguntaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaList
|
|
@CveTipoTramite int,
|
|
@SoloConOpciones bit = 0,
|
|
@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
|
|
SELECT P.CvePregunta, P.CveTipoTramite, T.TipoTramite, P.CveTipoPregunta,
|
|
TP.TipoPregunta, P.Codigo, P.Pregunta, P.Descripcion, P.EsRequerida,
|
|
P.Orden, P.EsActivo, COUNT(O.CveOpcionPregunta) AS NumeroOpciones
|
|
FROM dbo.Tra_Preguntas AS P
|
|
INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = P.CveTipoTramite
|
|
INNER JOIN dbo.Tra_TiposPregunta AS TP ON TP.CveTipoPregunta = P.CveTipoPregunta
|
|
LEFT JOIN dbo.Tra_OpcionesPregunta AS O ON O.CvePregunta = P.CvePregunta
|
|
WHERE P.CveTipoTramite = @CveTipoTramite
|
|
AND (@SoloConOpciones = 0 OR P.CveTipoPregunta IN (3, 4))
|
|
GROUP BY P.CvePregunta, P.CveTipoTramite, T.TipoTramite, P.CveTipoPregunta,
|
|
TP.TipoPregunta, P.Codigo, P.Pregunta, P.Descripcion, P.EsRequerida,
|
|
P.Orden, P.EsActivo
|
|
ORDER BY P.Orden, P.Pregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar las preguntas; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaGet
|
|
@CvePregunta 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
|
|
SELECT P.CvePregunta, P.CveTipoTramite, T.TipoTramite, P.CveTipoPregunta,
|
|
TP.TipoPregunta, P.Codigo, P.Pregunta, P.Descripcion, P.EsRequerida,
|
|
P.Orden, P.EsActivo,
|
|
(SELECT COUNT(*) FROM dbo.Tra_OpcionesPregunta AS O WHERE O.CvePregunta = P.CvePregunta) AS NumeroOpciones
|
|
FROM dbo.Tra_Preguntas AS P
|
|
INNER JOIN dbo.Tra_TiposTramite AS T ON T.CveTipoTramite = P.CveTipoTramite
|
|
INNER JOIN dbo.Tra_TiposPregunta AS TP ON TP.CveTipoPregunta = P.CveTipoPregunta
|
|
WHERE P.CvePregunta = @CvePregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar la pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaSave
|
|
@CvePregunta int = NULL,
|
|
@CveTipoTramite int,
|
|
@CveTipoPregunta int,
|
|
@Codigo varchar(50) = NULL,
|
|
@Pregunta varchar(500),
|
|
@Descripcion varchar(1000) = NULL,
|
|
@EsRequerida bit,
|
|
@EsActivo bit,
|
|
@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
|
|
SELECT @Codigo = NULLIF(LTRIM(RTRIM(@Codigo)), ''),
|
|
@Pregunta = LTRIM(RTRIM(@Pregunta)),
|
|
@Descripcion = NULLIF(LTRIM(RTRIM(@Descripcion)), '');
|
|
IF NULLIF(@Pregunta, '') IS NULL
|
|
OR NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposTramite WHERE CveTipoTramite = @CveTipoTramite)
|
|
OR NOT EXISTS (SELECT 1 FROM dbo.Tra_TiposPregunta WHERE CveTipoPregunta = @CveTipoPregunta AND EsActivo = 1)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'Capture una pregunta y seleccione valores de catálogo válidos.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @Codigo IS NOT NULL
|
|
AND EXISTS (SELECT 1 FROM dbo.Tra_Preguntas WHERE Codigo = @Codigo AND CvePregunta <> ISNULL(@CvePregunta, 0))
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'El código de la pregunta ya está registrado.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @CvePregunta IS NOT NULL
|
|
AND @CveTipoPregunta <> 4
|
|
AND EXISTS (SELECT 1 FROM dbo.Tra_OpcionesPregunta WHERE CvePregunta = @CvePregunta)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'Elimine primero las opciones de respuesta antes de cambiar el tipo de pregunta.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @CvePregunta IS NULL
|
|
BEGIN
|
|
DECLARE @Orden int = ISNULL((
|
|
SELECT MAX(Orden)
|
|
FROM dbo.Tra_Preguntas
|
|
WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
|
|
|
|
INSERT dbo.Tra_Preguntas
|
|
(CveTipoTramite, CveTipoPregunta, Codigo, Pregunta, Descripcion,
|
|
EsRequerida, Orden, EsActivo, CveUsuario)
|
|
VALUES
|
|
(@CveTipoTramite, @CveTipoPregunta, @Codigo, @Pregunta, @Descripcion,
|
|
@EsRequerida, @Orden, @EsActivo, @CveUsuarioEjecuta);
|
|
SET @CvePregunta = CONVERT(int, SCOPE_IDENTITY());
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
DECLARE @CveTipoTramiteAnterior int;
|
|
SELECT
|
|
@CveTipoTramiteAnterior = CveTipoTramite,
|
|
@Orden = Orden
|
|
FROM dbo.Tra_Preguntas
|
|
WHERE CvePregunta = @CvePregunta;
|
|
|
|
IF @CveTipoTramiteAnterior <> @CveTipoTramite
|
|
BEGIN
|
|
SET @Orden = ISNULL((
|
|
SELECT MAX(Orden)
|
|
FROM dbo.Tra_Preguntas
|
|
WHERE CveTipoTramite = @CveTipoTramite), 0) + 1;
|
|
END;
|
|
|
|
UPDATE dbo.Tra_Preguntas
|
|
SET CveTipoTramite = @CveTipoTramite, CveTipoPregunta = @CveTipoPregunta,
|
|
Codigo = @Codigo, Pregunta = @Pregunta, Descripcion = @Descripcion,
|
|
EsRequerida = @EsRequerida, Orden = @Orden, EsActivo = @EsActivo,
|
|
FechaModificacion = GETDATE(), CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CvePregunta = @CvePregunta;
|
|
END;
|
|
SELECT @CvePregunta AS CvePregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al guardar la pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_PreguntaDelete
|
|
@CvePregunta 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
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_RespuestasSolicitud WHERE CvePregunta = @CvePregunta)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'La pregunta ya tiene respuestas registradas y no puede eliminarse. Puede desactivarla.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
DELETE dbo.Tra_OpcionesPregunta WHERE CvePregunta = @CvePregunta;
|
|
DELETE dbo.Tra_Preguntas WHERE CvePregunta = @CvePregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al eliminar la pregunta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_PreguntaDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaList
|
|
@CvePregunta 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
|
|
SELECT O.CveOpcionPregunta, O.CvePregunta, P.Pregunta, O.TextoOpcion,
|
|
O.ValorOpcion, O.Orden, O.EsActivo
|
|
FROM dbo.Tra_OpcionesPregunta AS O
|
|
INNER JOIN dbo.Tra_Preguntas AS P ON P.CvePregunta = O.CvePregunta
|
|
WHERE O.CvePregunta = @CvePregunta
|
|
ORDER BY O.Orden, O.TextoOpcion;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar las opciones de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaList'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaGet
|
|
@CveOpcionPregunta 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
|
|
SELECT O.CveOpcionPregunta, O.CvePregunta, P.Pregunta, O.TextoOpcion,
|
|
O.ValorOpcion, O.Orden, O.EsActivo
|
|
FROM dbo.Tra_OpcionesPregunta AS O
|
|
INNER JOIN dbo.Tra_Preguntas AS P ON P.CvePregunta = O.CvePregunta
|
|
WHERE O.CveOpcionPregunta = @CveOpcionPregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al consultar la opción de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaGet'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaSave
|
|
@CveOpcionPregunta int = NULL,
|
|
@CvePregunta int,
|
|
@TextoOpcion varchar(300),
|
|
@ValorOpcion varchar(300) = NULL,
|
|
@EsActivo bit,
|
|
@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
|
|
SELECT @TextoOpcion = LTRIM(RTRIM(@TextoOpcion)),
|
|
@ValorOpcion = NULLIF(LTRIM(RTRIM(@ValorOpcion)), '');
|
|
IF NULLIF(@TextoOpcion, '') IS NULL
|
|
OR NOT EXISTS (SELECT 1 FROM dbo.Tra_Preguntas WHERE CvePregunta = @CvePregunta AND CveTipoPregunta IN (3, 4))
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'Seleccione una pregunta de selección múltiple y capture la respuesta.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.Tra_OpcionesPregunta
|
|
WHERE CvePregunta = @CvePregunta
|
|
AND TextoOpcion = @TextoOpcion
|
|
AND CveOpcionPregunta <> ISNULL(@CveOpcionPregunta, 0)
|
|
)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'La respuesta ya está registrada para esta pregunta.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
IF @CveOpcionPregunta IS NULL
|
|
BEGIN
|
|
DECLARE @Orden int = ISNULL((
|
|
SELECT MAX(Orden)
|
|
FROM dbo.Tra_OpcionesPregunta
|
|
WHERE CvePregunta = @CvePregunta), 0) + 1;
|
|
|
|
INSERT dbo.Tra_OpcionesPregunta (CvePregunta, TextoOpcion, ValorOpcion, Orden, EsActivo)
|
|
VALUES (@CvePregunta, @TextoOpcion, @ValorOpcion, @Orden, @EsActivo);
|
|
SET @CveOpcionPregunta = CONVERT(int, SCOPE_IDENTITY());
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
DECLARE @CvePreguntaAnterior int;
|
|
SELECT
|
|
@CvePreguntaAnterior = CvePregunta,
|
|
@Orden = Orden
|
|
FROM dbo.Tra_OpcionesPregunta
|
|
WHERE CveOpcionPregunta = @CveOpcionPregunta;
|
|
|
|
IF @CvePreguntaAnterior <> @CvePregunta
|
|
BEGIN
|
|
SET @Orden = ISNULL((
|
|
SELECT MAX(Orden)
|
|
FROM dbo.Tra_OpcionesPregunta
|
|
WHERE CvePregunta = @CvePregunta), 0) + 1;
|
|
END;
|
|
|
|
UPDATE dbo.Tra_OpcionesPregunta
|
|
SET CvePregunta = @CvePregunta, TextoOpcion = @TextoOpcion,
|
|
ValorOpcion = @ValorOpcion, Orden = @Orden, EsActivo = @EsActivo
|
|
WHERE CveOpcionPregunta = @CveOpcionPregunta;
|
|
END;
|
|
SELECT @CveOpcionPregunta AS CveOpcionPregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al guardar la opción de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaSave'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_OpcionPreguntaDelete
|
|
@CveOpcionPregunta 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
|
|
IF EXISTS (SELECT 1 FROM dbo.Tra_RespuestasSolicitud WHERE CveOpcionPregunta = @CveOpcionPregunta)
|
|
BEGIN
|
|
SELECT @ErrorMostrar = 'La opción ya tiene respuestas registradas y no puede eliminarse. Puede desactivarla.', @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
DELETE dbo.Tra_OpcionesPregunta WHERE CveOpcionPregunta = @CveOpcionPregunta;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT @ErrorMostrar = 'Ocurrió un error al eliminar la opción de respuesta; favor de contactar a Sistemas.', @ErrorTipo = 1, @Return = 0;
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT('Número: ', ERROR_NUMBER(), '; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_OpcionPreguntaDelete'), '; Línea: ', ERROR_LINE(), '; Detalle: ', ERROR_MESSAGE());
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tra_CatalogoOrdenMove
|
|
@Entidad varchar(40),
|
|
@CveRegistro int,
|
|
@CveReferencia int,
|
|
@ColocarDespues bit,
|
|
@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
|
|
IF @CveRegistro <= 0
|
|
OR @CveReferencia <= 0
|
|
OR @CveRegistro = @CveReferencia
|
|
BEGIN
|
|
SELECT
|
|
@ErrorMostrar = 'Seleccione una posición válida para mover el registro.',
|
|
@ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
DECLARE @Registros TABLE
|
|
(
|
|
CveRegistro int NOT NULL PRIMARY KEY,
|
|
CvePadre int NULL,
|
|
Orden int NOT NULL
|
|
);
|
|
|
|
IF @Entidad = 'EstatusSolicitud'
|
|
BEGIN
|
|
INSERT @Registros (CveRegistro, CvePadre, Orden)
|
|
SELECT CveEstatusSolicitud, NULL, Orden
|
|
FROM dbo.Tra_EstatusSolicitud;
|
|
END
|
|
ELSE IF @Entidad = 'TipoTramite'
|
|
BEGIN
|
|
INSERT @Registros (CveRegistro, CvePadre, Orden)
|
|
SELECT CveTipoTramite, NULL, Orden
|
|
FROM dbo.Tra_TiposTramite;
|
|
END
|
|
ELSE IF @Entidad = 'DocumentoRequerido'
|
|
BEGIN
|
|
INSERT @Registros (CveRegistro, CvePadre, Orden)
|
|
SELECT CveDocumentoRequerido, CveTipoTramite, Orden
|
|
FROM dbo.Tra_DocumentosRequeridos;
|
|
END
|
|
ELSE IF @Entidad = 'Pregunta'
|
|
BEGIN
|
|
INSERT @Registros (CveRegistro, CvePadre, Orden)
|
|
SELECT CvePregunta, CveTipoTramite, Orden
|
|
FROM dbo.Tra_Preguntas;
|
|
END
|
|
ELSE IF @Entidad = 'OpcionPregunta'
|
|
BEGIN
|
|
INSERT @Registros (CveRegistro, CvePadre, Orden)
|
|
SELECT CveOpcionPregunta, CvePregunta, Orden
|
|
FROM dbo.Tra_OpcionesPregunta;
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
SELECT
|
|
@ErrorMostrar = 'El catálogo solicitado no admite reordenamiento.',
|
|
@ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
DECLARE @OrdenAnterior int;
|
|
DECLARE @OrdenReferencia int;
|
|
DECLARE @CvePadre int;
|
|
DECLARE @CvePadreReferencia int;
|
|
DECLARE @OrdenNuevo int;
|
|
|
|
SELECT
|
|
@OrdenAnterior = Orden,
|
|
@CvePadre = CvePadre
|
|
FROM @Registros
|
|
WHERE CveRegistro = @CveRegistro;
|
|
|
|
SELECT
|
|
@OrdenReferencia = Orden,
|
|
@CvePadreReferencia = CvePadre
|
|
FROM @Registros
|
|
WHERE CveRegistro = @CveReferencia;
|
|
|
|
IF @OrdenAnterior IS NULL
|
|
OR @OrdenReferencia IS NULL
|
|
OR ISNULL(@CvePadre, -1) <> ISNULL(@CvePadreReferencia, -1)
|
|
BEGIN
|
|
SELECT
|
|
@ErrorMostrar = 'Los registros seleccionados no pertenecen al mismo catálogo.',
|
|
@ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
SET @OrdenNuevo =
|
|
CASE
|
|
WHEN @ColocarDespues = 1 AND @OrdenAnterior < @OrdenReferencia
|
|
THEN @OrdenReferencia
|
|
WHEN @ColocarDespues = 1
|
|
THEN @OrdenReferencia + 1
|
|
WHEN @OrdenAnterior < @OrdenReferencia
|
|
THEN @OrdenReferencia - 1
|
|
ELSE @OrdenReferencia
|
|
END;
|
|
|
|
IF @OrdenNuevo = @OrdenAnterior
|
|
BEGIN
|
|
SET @Return = 1;
|
|
RETURN;
|
|
END;
|
|
|
|
IF @OrdenAnterior < @OrdenNuevo
|
|
BEGIN
|
|
UPDATE @Registros
|
|
SET Orden = Orden - 1
|
|
WHERE ISNULL(CvePadre, -1) = ISNULL(@CvePadre, -1)
|
|
AND CveRegistro <> @CveRegistro
|
|
AND Orden > @OrdenAnterior
|
|
AND Orden <= @OrdenNuevo;
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE @Registros
|
|
SET Orden = Orden + 1
|
|
WHERE ISNULL(CvePadre, -1) = ISNULL(@CvePadre, -1)
|
|
AND CveRegistro <> @CveRegistro
|
|
AND Orden >= @OrdenNuevo
|
|
AND Orden < @OrdenAnterior;
|
|
END;
|
|
|
|
UPDATE @Registros
|
|
SET Orden = @OrdenNuevo
|
|
WHERE CveRegistro = @CveRegistro;
|
|
|
|
IF @Entidad = 'EstatusSolicitud'
|
|
BEGIN
|
|
UPDATE E
|
|
SET Orden = R.Orden
|
|
FROM dbo.Tra_EstatusSolicitud AS E
|
|
INNER JOIN @Registros AS R
|
|
ON R.CveRegistro = E.CveEstatusSolicitud
|
|
WHERE E.Orden <> R.Orden;
|
|
END
|
|
ELSE IF @Entidad = 'TipoTramite'
|
|
BEGIN
|
|
UPDATE T
|
|
SET Orden = R.Orden
|
|
FROM dbo.Tra_TiposTramite AS T
|
|
INNER JOIN @Registros AS R
|
|
ON R.CveRegistro = T.CveTipoTramite
|
|
WHERE T.Orden <> R.Orden;
|
|
END
|
|
ELSE IF @Entidad = 'DocumentoRequerido'
|
|
BEGIN
|
|
UPDATE D
|
|
SET Orden = R.Orden
|
|
FROM dbo.Tra_DocumentosRequeridos AS D
|
|
INNER JOIN @Registros AS R
|
|
ON R.CveRegistro = D.CveDocumentoRequerido
|
|
WHERE D.Orden <> R.Orden;
|
|
END
|
|
ELSE IF @Entidad = 'Pregunta'
|
|
BEGIN
|
|
UPDATE P
|
|
SET Orden = R.Orden
|
|
FROM dbo.Tra_Preguntas AS P
|
|
INNER JOIN @Registros AS R
|
|
ON R.CveRegistro = P.CvePregunta
|
|
WHERE P.Orden <> R.Orden;
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE O
|
|
SET Orden = R.Orden
|
|
FROM dbo.Tra_OpcionesPregunta AS O
|
|
INNER JOIN @Registros AS R
|
|
ON R.CveRegistro = O.CveOpcionPregunta
|
|
WHERE O.Orden <> R.Orden;
|
|
END;
|
|
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SELECT
|
|
@ErrorMostrar = 'Ocurrió un error al actualizar el orden del catálogo; favor de contactar a Sistemas.',
|
|
@ErrorTipo = 1,
|
|
@Return = 0;
|
|
|
|
DECLARE @ErrorTecnico nvarchar(2048) = CONCAT(
|
|
'Número: ', ERROR_NUMBER(),
|
|
'; Procedimiento: ', COALESCE(ERROR_PROCEDURE(), 'PA_Tra_CatalogoOrdenMove'),
|
|
'; Línea: ', ERROR_LINE(),
|
|
'; Detalle: ', ERROR_MESSAGE()
|
|
);
|
|
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|