Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
1| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_doc_id | bigint | 8 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Status_Doc_Dev
-- Add the parameters for the stored procedure here
@p_doc_id bigint
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
IF (@p_doc_id > 0) BEGIN
IF EXISTS (SELECT led_docs.doc_id, led_docs.cliente, clientes.estado_cliente
FROM led_docs INNER JOIN clientes ON led_docs.cliente = clientes.cliente
WHERE led_docs.doc_id = @p_doc_id
AND clientes.estado_cliente = 'A')
BEGIN
UPDATE led_docs SET task_procesado = 1, status_doc =
(SELECT DISTINCT
CASE
WHEN led_docs.estado_doc = 'N' THEN
CASE
WHEN (led_tipos_doc.modalidad = 'A' AND led_cliente_contratista.ci_killer > 0) THEN iif(led_docs.periodo > dbo.PeriodoVencido(), 'N', 'E')
ELSE iif(led_docs.periodo >= dbo.PeriodoVencido(), 'N', 'E')
END
WHEN led_docs.estado_doc = 'I' THEN
CASE
WHEN led_docs.aprobacion_parcial = 1 THEN iif(led_docs.parcial_actualizado = 1, 'I', 'P')
ELSE 'I'
END
WHEN led_docs.estado_doc = 'R' THEN 'R'
WHEN led_docs.estado_doc = 'V' THEN 'V'
ELSE 'Z'
END
FROM led_docs
LEFT JOIN led_tipos_doc ON
(led_docs.tipo_doc = led_tipos_doc.tipo_doc AND led_docs.led_seccion = led_tipos_doc.led_seccion)
INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista
LEFT JOIN led_cliente_contratista ON
(led_docs.cliente = led_cliente_contratista.cliente
AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.activo > 0)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL
UNION
SELECT DISTINCT
CASE
WHEN led_docs.estado_doc = 'N' THEN
CASE
WHEN (led_tipos_doc.modalidad = 'A' AND led_cliente_empleado.ci_killer > 0) THEN iif(led_docs.periodo > dbo.PeriodoVencido(), 'N', 'E')
ELSE iif(led_docs.periodo >= dbo.PeriodoVencido(), 'N', 'E')
END
WHEN led_docs.estado_doc = 'R' THEN 'R'
WHEN led_docs.estado_doc = 'V' THEN 'V'
WHEN led_docs.estado_doc = 'I' THEN 'I'
ELSE 'J'
END
FROM led_docs
LEFT JOIN led_tipos_doc ON
(led_docs.tipo_doc = led_tipos_doc.tipo_doc AND led_docs.led_seccion = led_tipos_doc.led_seccion)
INNER JOIN led_empleado_multi ON led_docs.empleado = led_empleado_multi.empleado
LEFT JOIN led_cliente_empleado ON
(led_docs.cliente = led_cliente_empleado.cliente
AND led_empleado_multi.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.activo > 0)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL
UNION
SELECT DISTINCT
CASE
WHEN led_docs.estado_doc = 'N' THEN
CASE
WHEN (led_tipos_doc.modalidad = 'A' AND led_cliente_vehiculo.ci_killer > 0) THEN iif(led_docs.periodo > dbo.PeriodoVencido(), 'N', 'E')
ELSE iif(led_docs.periodo >= dbo.PeriodoVencido(), 'N', 'E')
END
WHEN led_docs.estado_doc = 'R' THEN 'R'
WHEN led_docs.estado_doc = 'V' THEN 'V'
WHEN led_docs.estado_doc = 'I' THEN 'I'
ELSE 'H'
END
FROM led_docs
LEFT JOIN led_tipos_doc ON
(led_docs.tipo_doc = led_tipos_doc.tipo_doc AND led_docs.led_seccion = led_tipos_doc.led_seccion)
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT JOIN led_cliente_vehiculo ON
(led_docs.cliente = led_cliente_vehiculo.cliente
AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.activo > 0)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL
END
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.Imperium_Status_Doc_Dev
-- Add the parameters for the stored procedure here
@p_doc_id bigint
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
IF (@p_doc_id > 0) BEGIN
IF EXISTS (SELECT led_docs.doc_id, led_docs.cliente, clientes.estado_cliente
FROM led_docs INNER JOIN clientes ON led_docs.cliente = clientes.cliente
WHERE led_docs.doc_id = @p_doc_id
AND clientes.estado_cliente = 'A')
BEGIN
UPDATE led_docs SET task_procesado = 1, status_doc =
(SELECT DISTINCT
CASE
WHEN led_docs.estado_doc = 'N' THEN
CASE
WHEN (led_tipos_doc.modalidad = 'A' AND led_cliente_contratista.ci_killer > 0) THEN iif(led_docs.periodo > dbo.PeriodoVencido(), 'N', 'E')
ELSE iif(led_docs.periodo >= dbo.PeriodoVencido(), 'N', 'E')
END
WHEN led_docs.estado_doc = 'I' THEN
CASE
WHEN led_docs.aprobacion_parcial = 1 THEN iif(led_docs.parcial_actualizado = 1, 'I', 'P')
ELSE 'I'
END
WHEN led_docs.estado_doc = 'R' THEN 'R'
WHEN led_docs.estado_doc = 'V' THEN 'V'
ELSE 'Z'
END
FROM led_docs
LEFT JOIN led_tipos_doc ON
(led_docs.tipo_doc = led_tipos_doc.tipo_doc AND led_docs.led_seccion = led_tipos_doc.led_seccion)
INNER JOIN led_contratista_multi ON led_docs.contratista = led_contratista_multi.contratista
LEFT JOIN led_cliente_contratista ON
(led_docs.cliente = led_cliente_contratista.cliente
AND led_contratista_multi.tipo_contratista = led_cliente_contratista.tipo_contratista
AND led_docs.tipo_doc = led_cliente_contratista.tipo_doc
AND led_cliente_contratista.activo > 0)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL
UNION
SELECT DISTINCT
CASE
WHEN led_docs.estado_doc = 'N' THEN
CASE
WHEN (led_tipos_doc.modalidad = 'A' AND led_cliente_empleado.ci_killer > 0) THEN iif(led_docs.periodo > dbo.PeriodoVencido(), 'N', 'E')
ELSE iif(led_docs.periodo >= dbo.PeriodoVencido(), 'N', 'E')
END
WHEN led_docs.estado_doc = 'R' THEN 'R'
WHEN led_docs.estado_doc = 'V' THEN 'V'
WHEN led_docs.estado_doc = 'I' THEN 'I'
ELSE 'J'
END
FROM led_docs
LEFT JOIN led_tipos_doc ON
(led_docs.tipo_doc = led_tipos_doc.tipo_doc AND led_docs.led_seccion = led_tipos_doc.led_seccion)
INNER JOIN led_empleado_multi ON led_docs.empleado = led_empleado_multi.empleado
LEFT JOIN led_cliente_empleado ON
(led_docs.cliente = led_cliente_empleado.cliente
AND led_empleado_multi.tipo_empleado = led_cliente_empleado.tipo_empleado
AND led_docs.tipo_doc = led_cliente_empleado.tipo_doc
AND led_cliente_empleado.activo > 0)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL
UNION
SELECT DISTINCT
CASE
WHEN led_docs.estado_doc = 'N' THEN
CASE
WHEN (led_tipos_doc.modalidad = 'A' AND led_cliente_vehiculo.ci_killer > 0) THEN iif(led_docs.periodo > dbo.PeriodoVencido(), 'N', 'E')
ELSE iif(led_docs.periodo >= dbo.PeriodoVencido(), 'N', 'E')
END
WHEN led_docs.estado_doc = 'R' THEN 'R'
WHEN led_docs.estado_doc = 'V' THEN 'V'
WHEN led_docs.estado_doc = 'I' THEN 'I'
ELSE 'H'
END
FROM led_docs
LEFT JOIN led_tipos_doc ON
(led_docs.tipo_doc = led_tipos_doc.tipo_doc AND led_docs.led_seccion = led_tipos_doc.led_seccion)
INNER JOIN led_vehiculos ON led_docs.vehiculo = led_vehiculos.vehiculo
LEFT JOIN led_cliente_vehiculo ON
(led_docs.cliente = led_cliente_vehiculo.cliente
AND led_vehiculos.tipo_vehiculo = led_cliente_vehiculo.tipo_vehiculo
AND led_docs.tipo_doc = led_cliente_vehiculo.tipo_doc
AND led_cliente_vehiculo.activo > 0)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL)
WHERE led_docs.doc_id = @p_doc_id
AND led_docs.doc_id_lista IS NULL
END
END
END
GO
Depends On
10Used By
No items found