736 lines
22 KiB
Transact-SQL
736 lines
22 KiB
Transact-SQL
SET NOCOUNT ON;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.FraccionamientosEtapas', N'U') IS NULL
|
|
BEGIN
|
|
THROW 50001, 'No existe la tabla dbo.FraccionamientosEtapas.', 1;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.FraccionamientosEtapas', N'Aprobado_Prefactibilidad') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.FraccionamientosEtapas
|
|
ADD Aprobado_Prefactibilidad bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.FraccionamientosEtapas', N'RequiereObrasExternas') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.FraccionamientosEtapas
|
|
ADD RequiereObrasExternas bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.FraccionamientosEtapas', N'TipoDeObra') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.FraccionamientosEtapas
|
|
ADD TipoDeObra bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.FraccionamientosEtapas', N'LiberacionMacromedidor') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.FraccionamientosEtapas
|
|
ADD LiberacionMacromedidor bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.FraccionamientosEtapas', N'Relotificacion') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.FraccionamientosEtapas
|
|
ADD Relotificacion bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.FraccionamientosEtapas', N'LiberacionDeLotes') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.FraccionamientosEtapas
|
|
ADD LiberacionDeLotes bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.FraccionamientosEtapas', N'LiberacionDePagosDeDerechos') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.FraccionamientosEtapas
|
|
ADD LiberacionDePagosDeDerechos bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.Tra_TiposTramite', N'U') IS NULL
|
|
BEGIN
|
|
THROW 50002, 'No existe la tabla dbo.Tra_TiposTramite.', 1;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_TiposTramite', N'HabilitaAprobado_Prefactibilidad') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_TiposTramite
|
|
ADD HabilitaAprobado_Prefactibilidad bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_TiposTramite', N'HabilitaRequiereObrasExternas') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_TiposTramite
|
|
ADD HabilitaRequiereObrasExternas bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_TiposTramite', N'HabilitaTipoDeObra') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_TiposTramite
|
|
ADD HabilitaTipoDeObra bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_TiposTramite', N'HabilitaLiberacionMacromedidor') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_TiposTramite
|
|
ADD HabilitaLiberacionMacromedidor bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_TiposTramite', N'HabilitaRelotificacion') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_TiposTramite
|
|
ADD HabilitaRelotificacion bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_TiposTramite', N'HabilitaLiberacionDeLotes') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_TiposTramite
|
|
ADD HabilitaLiberacionDeLotes bit NULL;
|
|
END;
|
|
GO
|
|
|
|
IF COL_LENGTH(N'dbo.Tra_TiposTramite', N'HabilitaLiberacionDePagosDeDerechos') IS NULL
|
|
BEGIN
|
|
ALTER TABLE dbo.Tra_TiposTramite
|
|
ADD HabilitaLiberacionDePagosDeDerechos bit NULL;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Fraccionamientos_EtapaCondicionesGet
|
|
@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
|
|
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;
|
|
|
|
IF @@ROWCOUNT = 0
|
|
BEGIN
|
|
SET @ErrorMostrar = 'La etapa no existe.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @ErrorMostrar = 'Ocurrió un error al consultar las condiciones 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_EtapaCondicionesGet'),
|
|
'; Línea: ', ERROR_LINE(),
|
|
'; Detalle: ', ERROR_MESSAGE()
|
|
);
|
|
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Fraccionamientos_EtapaCondicionesUpdate
|
|
@CveFraccionamientoEtapa int,
|
|
@Aprobado_Prefactibilidad int = -1,
|
|
@RequiereObrasExternas int = -1,
|
|
@TipoDeObra int = -1,
|
|
@LiberacionMacromedidor int = -1,
|
|
@Relotificacion int = -1,
|
|
@LiberacionDeLotes int = -1,
|
|
@LiberacionDePagosDeDerechos int = -1,
|
|
@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 @Aprobado_Prefactibilidad = -1
|
|
SET @Aprobado_Prefactibilidad = NULL;
|
|
|
|
IF @RequiereObrasExternas = -1
|
|
SET @RequiereObrasExternas = NULL;
|
|
|
|
IF @TipoDeObra = -1
|
|
SET @TipoDeObra = NULL;
|
|
|
|
IF @LiberacionMacromedidor = -1
|
|
SET @LiberacionMacromedidor = NULL;
|
|
|
|
IF @Relotificacion = -1
|
|
SET @Relotificacion = NULL;
|
|
|
|
IF @LiberacionDeLotes = -1
|
|
SET @LiberacionDeLotes = NULL;
|
|
|
|
IF @LiberacionDePagosDeDerechos = -1
|
|
SET @LiberacionDePagosDeDerechos = NULL;
|
|
|
|
UPDATE E
|
|
SET
|
|
E.Aprobado_Prefactibilidad = @Aprobado_Prefactibilidad,
|
|
E.RequiereObrasExternas = @RequiereObrasExternas,
|
|
E.TipoDeObra = @TipoDeObra,
|
|
E.LiberacionMacromedidor = @LiberacionMacromedidor,
|
|
E.Relotificacion = @Relotificacion,
|
|
E.LiberacionDeLotes = @LiberacionDeLotes,
|
|
E.LiberacionDePagosDeDerechos = @LiberacionDePagosDeDerechos,
|
|
E.FechaModificacion = GETDATE(),
|
|
E.CveUsuario = @CveUsuarioEjecuta
|
|
FROM dbo.FraccionamientosEtapas AS E
|
|
INNER JOIN dbo.Fraccionamientos AS F
|
|
ON F.CveFraccionamiento = E.CveFraccionamiento
|
|
WHERE E.CveFraccionamientoEtapa = @CveFraccionamientoEtapa;
|
|
|
|
IF @@ROWCOUNT = 0
|
|
BEGIN
|
|
SET @ErrorMostrar = 'La etapa no existe.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
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 guardar las condiciones 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_EtapaCondicionesUpdate'),
|
|
'; 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,
|
|
T.HabilitaAprobado_Prefactibilidad,
|
|
T.HabilitaRequiereObrasExternas,
|
|
T.HabilitaTipoDeObra,
|
|
T.HabilitaLiberacionMacromedidor,
|
|
T.HabilitaRelotificacion,
|
|
T.HabilitaLiberacionDeLotes,
|
|
T.HabilitaLiberacionDePagosDeDerechos,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM dbo.Tra_Preguntas AS P
|
|
WHERE P.CveTipoTramite = T.CveTipoTramite
|
|
) AS NumeroPreguntas
|
|
FROM dbo.Tra_TiposTramite AS T
|
|
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 + '%'
|
|
)
|
|
ORDER BY T.Orden, T.TipoTramite;
|
|
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @ErrorMostrar = 'Ocurrió un error al consultar los tipos de 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_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,
|
|
T.HabilitaAprobado_Prefactibilidad,
|
|
T.HabilitaRequiereObrasExternas,
|
|
T.HabilitaTipoDeObra,
|
|
T.HabilitaLiberacionMacromedidor,
|
|
T.HabilitaRelotificacion,
|
|
T.HabilitaLiberacionDeLotes,
|
|
T.HabilitaLiberacionDePagosDeDerechos,
|
|
(
|
|
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
|
|
SET @ErrorMostrar = 'Ocurrió un error al consultar el tipo de 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_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,
|
|
@HabilitaAprobado_Prefactibilidad int = -1,
|
|
@HabilitaRequiereObrasExternas int = -1,
|
|
@HabilitaTipoDeObra int = -1,
|
|
@HabilitaLiberacionMacromedidor int = -1,
|
|
@HabilitaRelotificacion int = -1,
|
|
@HabilitaLiberacionDeLotes int = -1,
|
|
@HabilitaLiberacionDePagosDeDerechos int = -1,
|
|
@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 @HabilitaAprobado_Prefactibilidad = -1
|
|
SET @HabilitaAprobado_Prefactibilidad = NULL;
|
|
|
|
IF @HabilitaRequiereObrasExternas = -1
|
|
SET @HabilitaRequiereObrasExternas = NULL;
|
|
|
|
IF @HabilitaTipoDeObra = -1
|
|
SET @HabilitaTipoDeObra = NULL;
|
|
|
|
IF @HabilitaLiberacionMacromedidor = -1
|
|
SET @HabilitaLiberacionMacromedidor = NULL;
|
|
|
|
IF @HabilitaRelotificacion = -1
|
|
SET @HabilitaRelotificacion = NULL;
|
|
|
|
IF @HabilitaLiberacionDeLotes = -1
|
|
SET @HabilitaLiberacionDeLotes = NULL;
|
|
|
|
IF @HabilitaLiberacionDePagosDeDerechos = -1
|
|
SET @HabilitaLiberacionDePagosDeDerechos = NULL;
|
|
|
|
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
|
|
SET @ErrorMostrar = 'Capture el código y el nombre del tipo de trámite.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
IF EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.Tra_TiposTramite
|
|
WHERE Codigo = @Codigo
|
|
AND CveTipoTramite <> ISNULL(@CveTipoTramite, 0)
|
|
)
|
|
BEGIN
|
|
SET @ErrorMostrar = 'El código del tipo de trámite ya está registrado.';
|
|
SET @ErrorTipo = 2;
|
|
RETURN;
|
|
END;
|
|
|
|
IF @CveTipoTramite IS NULL
|
|
BEGIN
|
|
DECLARE @Orden int;
|
|
|
|
SELECT @Orden = ISNULL(MAX(Orden), 0) + 1
|
|
FROM dbo.Tra_TiposTramite;
|
|
|
|
INSERT INTO dbo.Tra_TiposTramite
|
|
(
|
|
Codigo,
|
|
TipoTramite,
|
|
Descripcion,
|
|
Orden,
|
|
EsActivo,
|
|
HabilitaAprobado_Prefactibilidad,
|
|
HabilitaRequiereObrasExternas,
|
|
HabilitaTipoDeObra,
|
|
HabilitaLiberacionMacromedidor,
|
|
HabilitaRelotificacion,
|
|
HabilitaLiberacionDeLotes,
|
|
HabilitaLiberacionDePagosDeDerechos,
|
|
CveUsuario
|
|
)
|
|
VALUES
|
|
(
|
|
@Codigo,
|
|
@TipoTramite,
|
|
@Descripcion,
|
|
@Orden,
|
|
@EsActivo,
|
|
@HabilitaAprobado_Prefactibilidad,
|
|
@HabilitaRequiereObrasExternas,
|
|
@HabilitaTipoDeObra,
|
|
@HabilitaLiberacionMacromedidor,
|
|
@HabilitaRelotificacion,
|
|
@HabilitaLiberacionDeLotes,
|
|
@HabilitaLiberacionDePagosDeDerechos,
|
|
@CveUsuarioEjecuta
|
|
);
|
|
|
|
SET @CveTipoTramite = CONVERT(int, SCOPE_IDENTITY());
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.Tra_TiposTramite
|
|
SET
|
|
Codigo = @Codigo,
|
|
TipoTramite = @TipoTramite,
|
|
Descripcion = @Descripcion,
|
|
EsActivo = @EsActivo,
|
|
HabilitaAprobado_Prefactibilidad = @HabilitaAprobado_Prefactibilidad,
|
|
HabilitaRequiereObrasExternas = @HabilitaRequiereObrasExternas,
|
|
HabilitaTipoDeObra = @HabilitaTipoDeObra,
|
|
HabilitaLiberacionMacromedidor = @HabilitaLiberacionMacromedidor,
|
|
HabilitaRelotificacion = @HabilitaRelotificacion,
|
|
HabilitaLiberacionDeLotes = @HabilitaLiberacionDeLotes,
|
|
HabilitaLiberacionDePagosDeDerechos = @HabilitaLiberacionDePagosDeDerechos,
|
|
FechaModificacion = GETDATE(),
|
|
CveUsuario = @CveUsuarioEjecuta
|
|
WHERE CveTipoTramite = @CveTipoTramite;
|
|
END;
|
|
|
|
SELECT @CveTipoTramite AS CveTipoTramite;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @ErrorMostrar = 'Ocurrió un error al guardar el tipo de 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_TipoTramiteSave'),
|
|
'; Línea: ', ERROR_LINE(),
|
|
'; Detalle: ', ERROR_MESSAGE()
|
|
);
|
|
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE dbo.PA_Tramites_ActualizarTramites
|
|
@CveSolicitud 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
|
|
-- Plantilla para activar automáticamente otro trámite en la misma etapa.
|
|
-- Se deja comentada hasta definir las condiciones y el tipo de trámite.
|
|
--
|
|
-- INSERT INTO dbo.Tra_Solicitudes
|
|
-- (
|
|
-- Folio,
|
|
-- CveCliente,
|
|
-- CveFraccionamiento,
|
|
-- CveFraccionamientoEtapa,
|
|
-- CveTipoTramite,
|
|
-- CveEstatusSolicitud,
|
|
-- CveUsuarioSolicita,
|
|
-- FechaInicio
|
|
-- )
|
|
-- SELECT
|
|
-- CONCAT('ET', S.CveFraccionamientoEtapa, '-TR', T.CveTipoTramite),
|
|
-- S.CveCliente,
|
|
-- S.CveFraccionamiento,
|
|
-- S.CveFraccionamientoEtapa,
|
|
-- T.CveTipoTramite,
|
|
-- E.CveEstatusSolicitud,
|
|
-- @CveUsuarioEjecuta,
|
|
-- GETDATE()
|
|
-- FROM dbo.Tra_Solicitudes AS S
|
|
-- CROSS JOIN dbo.Tra_TiposTramite AS T
|
|
-- CROSS APPLY
|
|
-- (
|
|
-- SELECT TOP (1) ES.CveEstatusSolicitud
|
|
-- FROM dbo.Tra_EstatusSolicitud AS ES
|
|
-- WHERE ES.Orden = 1
|
|
-- AND ES.EsActivo = 1
|
|
-- ORDER BY ES.CveEstatusSolicitud
|
|
-- ) AS E
|
|
-- WHERE S.CveSolicitud = @CveSolicitud
|
|
-- AND T.CveTipoTramite = 0
|
|
-- AND NOT EXISTS
|
|
-- (
|
|
-- SELECT 1
|
|
-- FROM dbo.Tra_Solicitudes AS SA
|
|
-- WHERE SA.CveFraccionamientoEtapa = S.CveFraccionamientoEtapa
|
|
-- AND SA.CveTipoTramite = T.CveTipoTramite
|
|
-- );
|
|
|
|
SELECT 1 AS Resultado;
|
|
SET @Return = 1;
|
|
END TRY
|
|
BEGIN CATCH
|
|
SET @ErrorMostrar = 'Ocurrió un error al actualizar los trámites; 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_Tramites_ActualizarTramites'),
|
|
'; Línea: ', ERROR_LINE(),
|
|
'; Detalle: ', ERROR_MESSAGE()
|
|
);
|
|
|
|
RAISERROR(N'%s', 10, 1, @ErrorTecnico);
|
|
END CATCH;
|
|
END;
|
|
GO
|
|
|
|
IF OBJECT_ID(N'dbo.Bit_Tablas', N'U') IS NOT NULL
|
|
AND OBJECT_ID(N'dbo.Bit_Campos', N'U') IS NOT NULL
|
|
BEGIN
|
|
DECLARE @Campos TABLE
|
|
(
|
|
NombreTablaSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
|
|
NombreCampoSQL varchar(128) COLLATE Modern_Spanish_CS_AS NOT NULL,
|
|
NombreMostrar varchar(150) COLLATE Modern_Spanish_CS_AS NOT NULL
|
|
);
|
|
|
|
INSERT INTO @Campos
|
|
(
|
|
NombreTablaSQL,
|
|
NombreCampoSQL,
|
|
NombreMostrar
|
|
)
|
|
VALUES
|
|
('FraccionamientosEtapas', 'Aprobado_Prefactibilidad', 'Aprobado en prefactibilidad'),
|
|
('FraccionamientosEtapas', 'RequiereObrasExternas', 'Requiere obras externas'),
|
|
('FraccionamientosEtapas', 'TipoDeObra', 'Tipo de obra'),
|
|
('FraccionamientosEtapas', 'LiberacionMacromedidor', 'Liberación de macromedidor'),
|
|
('FraccionamientosEtapas', 'Relotificacion', 'Relotificación'),
|
|
('FraccionamientosEtapas', 'LiberacionDeLotes', 'Liberación de lotes'),
|
|
('FraccionamientosEtapas', 'LiberacionDePagosDeDerechos', 'Liberación de pagos de derechos'),
|
|
('Tra_TiposTramite', 'HabilitaAprobado_Prefactibilidad', 'Habilita aprobado en prefactibilidad'),
|
|
('Tra_TiposTramite', 'HabilitaRequiereObrasExternas', 'Habilita requiere obras externas'),
|
|
('Tra_TiposTramite', 'HabilitaTipoDeObra', 'Habilita tipo de obra'),
|
|
('Tra_TiposTramite', 'HabilitaLiberacionMacromedidor', 'Habilita liberación de macromedidor'),
|
|
('Tra_TiposTramite', 'HabilitaRelotificacion', 'Habilita relotificación'),
|
|
('Tra_TiposTramite', 'HabilitaLiberacionDeLotes', 'Habilita liberación de lotes'),
|
|
('Tra_TiposTramite', 'HabilitaLiberacionDePagosDeDerechos', 'Habilita liberación de pagos de derechos');
|
|
|
|
UPDATE C
|
|
SET
|
|
C.NombreMostrar = S.NombreMostrar,
|
|
C.MostrarEnBitacora = 1,
|
|
C.TipoDatoSQL = TY.name COLLATE Modern_Spanish_CS_AS,
|
|
C.Activo = 1,
|
|
C.FechaMod = GETDATE()
|
|
FROM dbo.Bit_Campos AS C
|
|
INNER JOIN dbo.Bit_Tablas AS T
|
|
ON T.CveTabla = C.CveTabla
|
|
INNER JOIN @Campos AS S
|
|
ON S.NombreTablaSQL = T.NombreTablaSQL
|
|
AND S.NombreCampoSQL = C.NombreCampoSQL
|
|
INNER JOIN sys.tables AS ST
|
|
ON ST.name COLLATE Modern_Spanish_CS_AS = S.NombreTablaSQL
|
|
AND SCHEMA_NAME(ST.schema_id) = 'dbo'
|
|
INNER JOIN sys.columns AS CO
|
|
ON CO.object_id = ST.object_id
|
|
AND CO.name COLLATE Modern_Spanish_CS_AS = S.NombreCampoSQL
|
|
INNER JOIN sys.types AS TY
|
|
ON TY.user_type_id = CO.user_type_id;
|
|
|
|
INSERT INTO dbo.Bit_Campos
|
|
(
|
|
CveTabla,
|
|
NombreCampoSQL,
|
|
NombreMostrar,
|
|
MostrarEnBitacora,
|
|
TipoDatoSQL,
|
|
Activo
|
|
)
|
|
SELECT
|
|
T.CveTabla,
|
|
S.NombreCampoSQL,
|
|
S.NombreMostrar,
|
|
1,
|
|
TY.name COLLATE Modern_Spanish_CS_AS,
|
|
1
|
|
FROM @Campos AS S
|
|
INNER JOIN dbo.Bit_Tablas AS T
|
|
ON T.NombreTablaSQL = S.NombreTablaSQL
|
|
INNER JOIN sys.tables AS ST
|
|
ON ST.name COLLATE Modern_Spanish_CS_AS = S.NombreTablaSQL
|
|
AND SCHEMA_NAME(ST.schema_id) = 'dbo'
|
|
INNER JOIN sys.columns AS CO
|
|
ON CO.object_id = ST.object_id
|
|
AND CO.name COLLATE Modern_Spanish_CS_AS = S.NombreCampoSQL
|
|
INNER JOIN sys.types AS TY
|
|
ON TY.user_type_id = CO.user_type_id
|
|
WHERE NOT EXISTS
|
|
(
|
|
SELECT 1
|
|
FROM dbo.Bit_Campos AS C
|
|
WHERE C.CveTabla = T.CveTabla
|
|
AND C.NombreCampoSQL = S.NombreCampoSQL
|
|
);
|
|
END;
|
|
GO
|