dbo.Imperium_Status_Doc_Dev

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

Used By

No items found