ALTER TABLE Trn_NomNovedad ADD IncAlargado BIT DEFAULT(0) NOT NULL
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paInsNomNovedad]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paInsNomNovedad]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paUpNomNovedad]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paUpNomNovedad]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryNomNovedad]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryNomNovedad]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryNomNovedadLta]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryNomNovedadLta]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[paQryNomNovedadPen]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
 DROP PROCEDURE [dbo].[paQryNomNovedadPen]
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[paQryNomNovedadPen] @pmIdEmpleado VARCHAR(16),@pmFecIni SMALLDATETIME,@pmFecFin SMALLDATETIME
,@pmIdConcepto VARCHAR(4)=Null,@pmModalidad VARCHAR(10)=Null,@pmRemnrado BIT=Null,@pmCantDias INT=0
 AS 
 SELECT N.IdEmpleado,N.Numero,N.IdConcepto,N.FecInicio,N.FecFinal,N.CantDias,N.DiaInicio,N.Modalidad,N.IdNov,N.CodInstla
,CodClsRie,N.NumAutza,CodOldFon,CodNewFon,N.VrCotVolAfi,N.VrCotVolApo,N.VrNoRetenido,N.TipoIncap
,Remnrado,FechaDcto,VrDescuento,N.TipoBaseLiq,N.IncAlargado,N.Observacion,N.IdUsuario,N.Inactivo
,C.Concepto,C.ClaseCon,C.Tarifa AS ConcTarif,C.BaseTrfa AS ConcBase,C.DiasEmp,C.TarifaEmp
 FROM Trn_NomNovedad AS N INNER JOIN NomConceptos AS C ON N.IdConcepto=C.IdConcepto
 WHERE N.IdEmpleado=@pmIdEmpleado AND N.Inactivo=0 AND N.CantDias>@pmCantDias AND N.FecFinal>=@pmFecIni AND N.FecInicio<=@pmFecFin
 AND N.IdConcepto LIKE ISNULL(@pmIdConcepto,'%') AND N.Modalidad LIKE ISNULL(@pmModalidad,'%') 
 AND (Remnrado=ISNULL(@pmRemnrado,0) or Remnrado=ISNULL(@pmRemnrado,1))
 ORDER BY N.Numero
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[paQryNomNovedadLta] @pmFecInicio SMALLDATETIME,@pmFecFinal SMALLDATETIME,@pmIdEmpleado VARCHAR(16)=Null,@pmIdConcepto VARCHAR(4)=Null
,@pmModalidad VARCHAR(10)=Null,@pmNumero INT=Null,@pmIdNov VARCHAR(4)=Null,@pmInactivo BIT=Null,@pmRemnrado BIT=Null
 AS 
 SELECT N.IdEmpleado AS IdEmpledo,Apellidos,Nombres,Numero,N.IdConcepto AS CodConcepto,Concepto,FecInicio,FecFinal,CantDias,DiaInicio,Modalidad,N.IdNov AS CodNov,Novedad,Remnrado
,N.Observacion AS Observ,CodInstla,CodClsRie,CR.Tarifa AS NewTarfARP,NumAutza,CodOldFon,CodNewFon,Fondo,VrCotVolAfi,VrCotVolApo,VrNoRetenido,TipoIncap,TipoBaseLiq,N.IncAlargado
,N.Inactivo AS Inactvo,TimeSys,FecUpdate,N.IdUsuario AS IdUsuari,Usuario,FechaDcto,VrDescuento
 FROM Trn_NomNovedad AS N INNER JOIN Empleados AS E ON N.IdEmpleado=E.IdEmpleado INNER JOIN NomConceptos AS C ON N.IdConcepto=C.IdConcepto
 INNER JOIN TiposNov AS TN ON N.IdNov=TN.IdNov INNER JOIN adm_Usuarios AS U ON N.IdUsuario=U.IdUsuario
 LEFT JOIN ClaseRie AS CR ON N.CodClsRie=CR.IdClase LEFT JOIN Fondos AS F ON N.CodNewFon=F.IdFondo
 WHERE FecInicio BETWEEN @pmFecInicio AND @pmFecFinal AND  N.IdEmpleado LIKE ISNULL(@pmIdEmpleado,'%') AND N.IdConcepto LIKE ISNULL(@pmIdConcepto,'%')
 AND Modalidad LIKE ISNULL(@pmModalidad,'%')  AND N.IdNov LIKE ISNULL(@pmIdNov,'%')
 AND (Numero>=ISNULL(@pmNumero,0)  AND Numero<=ISNULL(@pmNumero,2147483647))
 AND (N.Inactivo=ISNULL(@pmInactivo,0) or N.Inactivo=ISNULL(@pmInactivo,1))
 AND (Remnrado=ISNULL(@pmRemnrado,0) or Remnrado=ISNULL(@pmRemnrado,1))
 ORDER BY Apellidos,Nombres,Numero
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paInsNomNovedad] @pmIdEmpleado VARCHAR(16),@pmNumero INT,@pmIdConcepto VARCHAR(4),@pmFecInicio SMALLDATETIME,@pmFecFinal SMALLDATETIME,@pmCantDias INT,@pmDiaInicio INT
,@pmModalidad VARCHAR(10),@pmIdNov VARCHAR(4),@pmRemnrado BIT,@pmObservacion VARCHAR(250),@pmCodInstla VARCHAR(4),@pmInactivo BIT,@pmCodClsRie VARCHAR(4),@pmNumAutza VARCHAR(30),@pmCodNewFon VARCHAR(8)
,@pmCodOldFon VARCHAR(8),@pmVrCotVolAfi MONEY,@pmVrCotVolApo MONEY,@pmVrNoRetenido MONEY,@pmTipoIncap CHAR(1),@pmFechaDcto SMALLDATETIME,@pmVrDescuento MONEY
,@pmTipoBaseLiq VARCHAR(3),@pmIncAlargado BIT,@pmTimeSys SMALLDATETIME,@pmIdUsuario VARCHAR(11)
 AS 
 INSERT INTO Trn_NomNovedad (IdEmpleado,Numero,IdConcepto,FecInicio,FecFinal,CantDias,DiaInicio,Modalidad,IdNov,Remnrado,Observacion,CodInstla,Inactivo,CodClsRie,NumAutza,CodOldFon,CodNewFon,VrCotVolAfi,VrCotVolApo
,VrNoRetenido,TipoIncap,FechaDcto,VrDescuento,TimeSys,IdUsuario,TipoBaseLiq,IncAlargado)
 VALUES (@pmIdEmpleado,@pmNumero,@pmIdConcepto,@pmFecInicio,@pmFecFinal,@pmCantDias,@pmDiaInicio,@pmModalidad,@pmIdNov,@pmRemnrado,@pmObservacion,@pmCodInstla,@pmInactivo,@pmCodClsRie,@pmNumAutza,@pmCodOldFon,@pmCodNewFon
 ,@pmVrCotVolAfi,@pmVrCotVolApo,@pmVrNoRetenido,@pmTipoIncap,@pmFechaDcto,@pmVrDescuento,@pmTimeSys,@pmIdUsuario,@pmTipoBaseLiq,@pmIncAlargado)
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paUpNomNovedad] @pmIdEmpleado VARCHAR(16),@pmNumero INT,@pmIdConcepto VARCHAR(4),@pmFecInicio SMALLDATETIME,@pmFecFinal SMALLDATETIME,@pmCantDias INT,@pmDiaInicio INT
,@pmModalidad VARCHAR(10),@pmIdNov VARCHAR(4),@pmRemnrado BIT,@pmObservacion VARCHAR(250),@pmCodInstla VARCHAR(4),@pmInactivo BIT,@pmCodClsRie VARCHAR(4),@pmNumAutza VARCHAR(30),@pmCodNewFon VARCHAR(8)
,@pmCodOldFon VARCHAR(8),@pmVrCotVolAfi MONEY,@pmVrCotVolApo MONEY,@pmVrNoRetenido MONEY,@pmTipoIncap CHAR(1),@pmFechaDcto SMALLDATETIME,@pmVrDescuento MONEY,@pmTipoBaseLiq VARCHAR(3),@pmIncAlargado BIT,@pmFecUpdate SMALLDATETIME
 AS 
 UPDATE Trn_NomNovedad SET IdConcepto=@pmIdConcepto,FecInicio=@pmFecInicio,FecFinal=@pmFecFinal,CantDias=@pmCantDias,DiaInicio=@pmDiaInicio,Modalidad=@pmModalidad,IdNov=@pmIdNov,Remnrado=@pmRemnrado
,Observacion=@pmObservacion,Inactivo=@pmInactivo,CodInstla=@pmCodInstla,CodClsRie=@pmCodClsRie,NumAutza=@pmNumAutza,CodNewFon=@pmCodNewFon,FecUpdate=@pmFecUpdate
,VrCotVolAfi=@pmVrCotVolAfi,VrCotVolApo=@pmVrCotVolApo,VrNoRetenido=@pmVrNoRetenido,TipoIncap=@pmTipoIncap,CodOldFon=@pmCodOldFon,FechaDcto=@pmFechaDcto,VrDescuento=@pmVrDescuento,TipoBaseLiq=@pmTipoBaseLiq,IncAlargado=@pmIncAlargado
 WHERE IdEmpleado=@pmIdEmpleado AND Numero=@pmNumero
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[paQryNomNovedad] @pmIdEmpleado VARCHAR(16),@pmNumero INT
 AS 
 SELECT IdEmpleado,Numero,IdConcepto,FecInicio,FecFinal,CantDias,DiaInicio,Modalidad,IdNov,Remnrado
,Observacion,CodInstla,CodClsRie,NumAutza,CodNewFon,CodOldFon,Inactivo,VrCotVolAfi,VrCotVolApo,VrNoRetenido
,TipoIncap,FechaDcto,VrDescuento,TipoBaseLiq,IncAlargado,TimeSys,FecUpdate,IdUsuario
 FROM Trn_NomNovedad
 WHERE IdEmpleado=@pmIdEmpleado AND Numero=@pmNumero
GO
