273 lines
8.6 KiB
Transact-SQL
273 lines
8.6 KiB
Transact-SQL
CREATE OR ALTER PROCEDURE dbo.PA_Tra_MostrarCondicionesporTramite
|
|
@CveTipoTramite int,
|
|
@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 @CvePrefactibilidad int = 1;
|
|
DECLARE @CvePuntosConexion int = 5;
|
|
DECLARE @CveSupervisionObraRedesInternas int = 13;
|
|
DECLARE @CveConvenioActualizacionPagos int = 22;
|
|
DECLARE @AprobadoPrefactibilidad bit;
|
|
DECLARE @RequiereObrasExternas bit;
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.FraccionamientosEtapas
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
)
|
|
BEGIN
|
|
SET @ErrorMostrar = 'La etapa seleccionada no existe.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
SELECT
|
|
@AprobadoPrefactibilidad = E.Aprobado_Prefactibilidad,
|
|
@RequiereObrasExternas = E.RequiereObrasExternas
|
|
FROM dbo.FraccionamientosEtapas AS E
|
|
WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
|
|
|
|
DECLARE @Condiciones TABLE
|
|
(
|
|
CveCondicionMostrar int NOT NULL,
|
|
CondicionMostrar varchar(100) NOT NULL
|
|
);
|
|
|
|
IF @CveTipoTramite = @CvePrefactibilidad
|
|
BEGIN
|
|
INSERT INTO @Condiciones
|
|
(CveCondicionMostrar, CondicionMostrar)
|
|
VALUES
|
|
(1, 'Aprobado en prefactibilidad'),
|
|
(2, 'Requiere obras externas');
|
|
END;
|
|
|
|
IF @CveTipoTramite = @CvePuntosConexion
|
|
AND @AprobadoPrefactibilidad = 1
|
|
AND @RequiereObrasExternas = 1
|
|
BEGIN
|
|
INSERT INTO @Condiciones
|
|
(CveCondicionMostrar, CondicionMostrar)
|
|
VALUES
|
|
(3, 'Tipo de obra');
|
|
END;
|
|
|
|
IF @CveTipoTramite = @CveSupervisionObraRedesInternas
|
|
BEGIN
|
|
INSERT INTO @Condiciones
|
|
(CveCondicionMostrar, CondicionMostrar)
|
|
VALUES
|
|
(4, 'Liberación de macromedidor'),
|
|
(5, 'Relotificación'),
|
|
(6, 'Liberación de lotes');
|
|
END;
|
|
|
|
IF @CveTipoTramite = @CveConvenioActualizacionPagos
|
|
BEGIN
|
|
INSERT INTO @Condiciones
|
|
(CveCondicionMostrar, CondicionMostrar)
|
|
VALUES
|
|
(7, 'Liberación de pagos de derechos');
|
|
END;
|
|
|
|
SELECT
|
|
CveCondicionMostrar,
|
|
CondicionMostrar
|
|
FROM @Condiciones
|
|
ORDER BY CveCondicionMostrar;
|
|
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @ErrorMostrar = 'Ocurrió un error al consultar las condiciones del trámite; 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_Tra_MostrarCondicionesporTramite'),
|
|
'; Línea: ', ERROR_LINE(),
|
|
'; Detalle: ', ERROR_MESSAGE()
|
|
);
|
|
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Fraccionamientos_EtapaCondicionUpdate
|
|
@CveFraccionamientoEtapa int,
|
|
@CveCondicionMostrar int,
|
|
@Valor bit = NULL,
|
|
@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 @CveCondicionMostrar NOT BETWEEN 1 AND 7
|
|
BEGIN
|
|
SET @ErrorMostrar = 'La condición seleccionada no es válida.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
IF NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.FraccionamientosEtapas
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
)
|
|
BEGIN
|
|
SET @ErrorMostrar = 'La etapa seleccionada no existe.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
IF @CveCondicionMostrar = 1
|
|
BEGIN
|
|
UPDATE dbo.FraccionamientosEtapas
|
|
SET
|
|
Aprobado_Prefactibilidad = @Valor,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND ISNULL(CONVERT(tinyint, Aprobado_Prefactibilidad), 2) <>
|
|
ISNULL(CONVERT(tinyint, @Valor), 2);
|
|
END;
|
|
|
|
IF @CveCondicionMostrar = 2
|
|
BEGIN
|
|
UPDATE dbo.FraccionamientosEtapas
|
|
SET
|
|
RequiereObrasExternas = @Valor,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND ISNULL(CONVERT(tinyint, RequiereObrasExternas), 2) <>
|
|
ISNULL(CONVERT(tinyint, @Valor), 2);
|
|
END;
|
|
|
|
IF @CveCondicionMostrar = 3
|
|
BEGIN
|
|
UPDATE dbo.FraccionamientosEtapas
|
|
SET
|
|
TipoDeObra = @Valor,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND ISNULL(CONVERT(tinyint, TipoDeObra), 2) <>
|
|
ISNULL(CONVERT(tinyint, @Valor), 2);
|
|
END;
|
|
|
|
IF @CveCondicionMostrar = 4
|
|
BEGIN
|
|
UPDATE dbo.FraccionamientosEtapas
|
|
SET
|
|
LiberacionMacromedidor = @Valor,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND ISNULL(CONVERT(tinyint, LiberacionMacromedidor), 2) <>
|
|
ISNULL(CONVERT(tinyint, @Valor), 2);
|
|
END;
|
|
|
|
IF @CveCondicionMostrar = 5
|
|
BEGIN
|
|
UPDATE dbo.FraccionamientosEtapas
|
|
SET
|
|
Relotificacion = @Valor,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND ISNULL(CONVERT(tinyint, Relotificacion), 2) <>
|
|
ISNULL(CONVERT(tinyint, @Valor), 2);
|
|
END;
|
|
|
|
IF @CveCondicionMostrar = 6
|
|
BEGIN
|
|
UPDATE dbo.FraccionamientosEtapas
|
|
SET
|
|
LiberacionDeLotes = @Valor,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND ISNULL(CONVERT(tinyint, LiberacionDeLotes), 2) <>
|
|
ISNULL(CONVERT(tinyint, @Valor), 2);
|
|
END;
|
|
|
|
IF @CveCondicionMostrar = 7
|
|
BEGIN
|
|
UPDATE dbo.FraccionamientosEtapas
|
|
SET
|
|
LiberacionDePagosDeDerechos = @Valor,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveFraccionamientoEtapa = @CveFraccionamientoEtapa
|
|
AND ISNULL(
|
|
CONVERT(tinyint, LiberacionDePagosDeDerechos),
|
|
2) <>
|
|
ISNULL(CONVERT(tinyint, @Valor), 2);
|
|
END;
|
|
|
|
SELECT
|
|
E.CveFraccionamientoEtapa,
|
|
E.CveFraccionamiento,
|
|
F.CveCliente,
|
|
E.Etapa,
|
|
E.Aprobado_Prefactibilidad,
|
|
E.RequiereObrasExternas,
|
|
E.TipoDeObra,
|
|
E.LiberacionMacromedidor,
|
|
E.Relotificacion,
|
|
E.LiberacionDeLotes,
|
|
E.LiberacionDePagosDeDerechos
|
|
FROM dbo.FraccionamientosEtapas AS E
|
|
INNER JOIN dbo.Fraccionamientos AS F
|
|
ON F.CveFraccionamiento = E.CveFraccionamiento
|
|
WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
|
|
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @ErrorMostrar = 'Ocurrió un error al actualizar la condición 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_EtapaCondicionUpdate'),
|
|
'; Línea: ', ERROR_LINE(),
|
|
'; Detalle: ', ERROR_MESSAGE()
|
|
);
|
|
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|