--Hash:49582A6BE6AB80BAA9CF9C1BEBC456B9
SET XACT_ABORT ON
BEGIN TRANSACTION;

GO

SET DATEFORMAT mdy;

--Validar que no existan scripts que no se hayan ejecutado
--//
IF EXISTS
(
	SELECT a.NumVersion + 1 AS HuecoInicio
	FROM ZiurVersiones a
	LEFT JOIN ZiurVersiones b ON a.NumVersion + 1 = b.NumVersion
	WHERE a.NumVersion>830 AND b.NumVersion IS NULL
	AND a.NumVersion + 1 < 905
)
RAISERROR('Error : hay un script que no se ejecuto , debe ejecutarlo manualmente.', 20, -1) with log
--//

--Colocar contenido de script diferencial aqui (Ziur.Database.publish.sql)
/*
 Plantilla de script anterior a la implementación							
--------------------------------------------------------------------------------------
 Este archivo contiene instrucciones de SQL que se ejecutarán antes del script de compilación	
 Use la sintaxis de SQLCMD para incluir un archivo en el script anterior a la implementación			
 Ejemplo:      :r .\miArchivo.sql								
 Use la sintaxis de SQLCMD para hacer referencia a una variable en el script anterior a la implementación		
 Ejemplo:      :setvar TableName miTabla							
               SELECT * FROM [$(TableName)]					
--------------------------------------------------------------------------------------
*/
GO

GO
PRINT N'Altering View [dbo].[VNomina_NE_Detalles]...';


GO
ALTER VIEW [dbo].[VNomina_NE_Detalles] 
AS

SELECT NomDet.IdDetalle,
       NomDet.IdNomina,
       NomDet.IdPrefijo,
       NomDet.NumDocumento,
       NomDet.NeIdEstadoDian,
       FEEstados.NomEstado,
       NomDet.NeFechaAutorizacion,
       NomDet.NeUUID,
       NomDet.NeMensRespuesta,
       NomDet.NeIdEstadoDianElim,
       FEEstadosElim.NomEstado AS NomEstadoElim,
       NomDet.NeFechaAutorizacionElim,
       NomDet.NeUUIDElim,
       NomDet.NeMensRespuestaElim,
       CASE 
 	   WHEN NomDet.NeUUIDElim IS NOT NULL THEN FEEstadosElim.NomEstado
	   ELSE FEEstados.NomEstado
	   END AS NeEstadoTemp, 
	   CASE 
	   WHEN NomDet.NeUUIDElim IS NOT NULL THEN NomDet.NeUUIDElim
	   ELSE NomDet.NeUUID
	   END AS NeUUIDTemp,
	   CASE
	   WHEN NomDet.NeUUIDElim IS NOT NULL THEN NomDet.NeFechaAutorizacionElim
	   ELSE NomDet.NeFechaAutorizacion
	   END AS NeFechaAutorizacionTemp,
	   CASE
	   WHEN NomDet.NeUUIDElim IS NOT NULL THEN 1
 	   ELSE 0
       END AS EsEliminado,
       CliEmp.Identificacion AS EmplNumIdentificacion,
       CliEmp.DVCliente AS EmplDV,
       CliEmp.IdTipoIdent AS EmplTipoIdentificacion,
       CliEmp.Nombre1 AS EmplNombre1,
       CliEmp.Nombre2 AS EmplNombre2,
       CliEmp.Apellido1 AS EmplApellido1,
       CliEmp.Apellido2 AS EmplApellido2,
       vCliDirEmp.Direccion AS EmplDireccion,
       vCliDirEmp.CodPais AS EmplCodPais,
       vCliDirEmp.IdCiudad AS EmplCodMunicipio,
       vCliDirEmp.IdDpto AS EmplCodDepartamento,
       NomDet.IdCliente,
       NomDet.IdContrato,
       NomContr.IdTipo,
       NomContr.IdTipoCot,
       NomContr.IdSubTipoCot,
       NomContr.SueldoIni,
       NomContr.FechaIni,
       NomContr.FechaFin,
       NomContr.EsAltoRiesgo,
       Cta.Cuenta AS CtaCuenta,
       Cta.NomTipo AS CtaNomTipo,
       Cta.NomBanco AS CtaNomBanco,
       NomEnc.IdMedPago,
       MedPago.CodMedPago,
       NomDet.Dev_DiasTrabajados,
       NomDet.Dev_SueldoTrabajado,
       NomDet.DevTRANS_AuxilioTransporte,
       NomDet.DevTRANS_ViaticoManuAlojS,
       NomDet.DevTRANS_ViaticoManuAlojNS,
       NomDet.DevHED_Cantidad,
       NomDet.DevHED_Porcentaje,
       NomDet.DevHED_Valor,
       NomDet.DevHEN_Cantidad,
       NomDet.DevHEN_Porcentaje,
       NomDet.DevHEN_Valor,
       NomDet.DevHRN_Cantidad,
       NomDet.DevHRN_Porcentaje,
       NomDet.DevHRN_Valor,
       NomDet.DevHEDDF_Cantidad,
       NomDet.DevHEDDF_Porcentaje,
       NomDet.DevHEDDF_Valor,
       NomDet.DevHRDDF_Cantidad,
       NomDet.DevHRDDF_Porcentaje,
       NomDet.DevHRDDF_Valor,
       NomDet.DevHENDF_Cantidad,
       NomDet.DevHENDF_Porcentaje,
       NomDet.DevHENDF_Valor,
       NomDet.DevHRNDF_Cantidad,
       NomDet.DevHRNDF_Porcentaje,
       NomDet.DevHRNDF_Valor,
       NomDet.DevVACN_FechaInicio,
       NomDet.DevVACN_FechaFin,
       NomDet.DevVACN_Cantidad,
       NomDet.DevVACN_Pago,
       NomDet.DevVACD_Cantidad,
       NomDet.DevVACD_Pago,
       NomDet.DevPRIM_Cantidad,
       NomDet.DevPRIM_Pago,
       NomDet.DevPRIM_PagoNS,
       NomDet.DevCES_Pago,
       NomDet.DevCES_Porcentaje,
       NomDet.DevCES_PagoIntereses,
       NomDet.DevINC_FechaInicio,
       NomDet.DevINC_FechaFin,
       NomDet.DevINC_Cantidad,
       NomDet.DevINC_Tipo,
       NomDet.DevINC_Pago,
       NomDet.DevLICMP_FechaInicio,
       NomDet.DevLICMP_FechaFin,
       NomDet.DevLICMP_Cantidad,
       NomDet.DevLICMP_Pago,
       NomDet.DevLICR_FechaInicio,
       NomDet.DevLICR_FechaFin,
       NomDet.DevLICR_Cantidad,
       NomDet.DevLICR_Pago,
       NomDet.DevLICNR_FechaInicio,
       NomDet.DevLICNR_FechaFin,
       NomDet.DevLICNR_Cantidad,
       NomDet.DevLICNR_Pago,
       NomDet.DevBONIF_BonificacionS,
       NomDet.DevBONIF_BonificacionNS,
       NomDet.DevAUX_AuxilioS,
       NomDet.DevAUX_AuxilioNS,
       NomDet.DevHLG_FechaInicio,
       NomDet.DevHLG_FechaFIn,
       NomDet.DevHLG_Cantidad,
       NomDet.DevOCON_DescripcionConcepto,
       NomDet.DevOCON_ConceptoS,
       NomDet.DevOCON_ConceptoNS,
       NomDet.DevCOMP_CompensacionO,
       NomDet.DevCOMP_CompensacionE,
       NomDet.DevBONO_PagoS,
       NomDet.DevBONO_PagoNS,
       NomDet.DevBONO_PagoAlimentacionS,
       NomDet.DevBONO_PagoAlimentacionNS,
       NomDet.DevCOMIS_Comision,
       NomDet.DevPTER_PagoTercero,
       NomDet.DevANTIC_Anticipo,
       NomDet.Dev_Dotacion,
       NomDet.Dev_ApoyoSost,
       NomDet.Dev_Teletrabajo,
       NomDet.Dev_BonifRetiro,
       NomDet.Dev_Indemnizacion,
       NomDet.Dev_Reintegro,
       NomDet.DedSALUD_Porcentaje,
       NomDet.DedSALUD_Deduccion,
       NomDet.DedFPEN_Porcentaje,
       NomDet.DedFPEN_Deduccion,
       NomDet.DedFSP_Porcentaje,
       NomDet.DedFSP_DeduccionSP,
       NomDet.DedFSP_PorcentajeSub,
       NomDet.DedFSP_DeduccionSub,
       NomDet.DedSIND_Porcentaje,
       NomDet.DedSIND_Deduccion,
       NomDet.DedSANC_SancionPublic,
       NomDet.DedSANC_SancionPriv,
       NomDet.DedLIBR_Descripcion,
       NomDet.DedLIBR_Deduccion,
       NomDet.DedPTER_PagoTercero,
       NomDet.DedANTIC_Anticipo,
       NomDet.DedODED_OtraDeduccion,
       NomDet.Ded_PensionVoluntaria,
       NomDet.Ded_RetencionFuente,
       NomDet.Ded_AFC,
       NomDet.Ded_Cooperativa,
       NomDet.Ded_EmbargoFiscal,
       NomDet.Ded_PlanComplementarios,
       NomDet.Ded_Educacion,
       NomDet.Ded_Reintegro,
       NomDet.Ded_Deuda,
       NomDet.DevTOT_Total,
       NomDet.DedTOT_Total
FROM dbo.Nomina_NE_Detalles AS NomDet
INNER JOIN dbo.Clientes AS CliEmp ON NomDet.IdCliente = CliEmp.IdCliente
INNER JOIN dbo.VClientesDir AS vCliDirEmp ON CliEmp.IdCliente = vCliDirEmp.IdCliente
INNER JOIN dbo.Nomina_Contratos AS NomContr ON NomDet.IdContrato = NomContr.IdContrato
INNER JOIN dbo.Nomina_NE_Encabezados AS NomEnc ON NomDet.IdNomina = NomEnc.IdNomina
LEFT OUTER JOIN dbo.FacturacionElectronica_Proveedores_Estados AS FEEstados ON NomDet.NeIdEstadoDian = FEEstados.IdEstado
LEFT OUTER JOIN dbo.FacturacionElectronica_Proveedores_Estados AS FEEstadosElim ON NomDet.NeIdEstadoDianElim = FEEstadosElim.IdEstado
LEFT OUTER JOIN dbo.VEmpleadosBancos_PorCliente AS Cta ON NomDet.IdCliente = Cta.IdCliente
LEFT OUTER JOIN dbo.FacturacionElectronica_MediosPagoContado AS MedPago ON NomEnc.IdMedPago = MedPago.IdMedPago
GO
	/*
	Plantilla de script posterior a la implementación							
	--------------------------------------------------------------------------------------
	 Este archivo contiene instrucciones de SQL que se anexarán al script de compilación.		
	 Use la sintaxis de SQLCMD para incluir un archivo en el script posterior a la implementación.			
	 Ejemplo:      :r .\miArchivo.sql								
	 Use la sintaxis de SQLCMD para hacer referencia a una variable en el script posterior a la implementación.		
	 Ejemplo:      :setvar TableName miTabla							
				   SELECT * FROM [$(TableName)]					
	--------------------------------------------------------------------------------------
	*/

IF(NOT EXISTS(SELECT CodParametro FROM Parametros WHERE CodParametro = 249))
BEGIN
INSERT INTO [dbo].[Parametros]
			([CodParametro],
			[NomParametro],
			[ValParametro],
			[Descripcion],
			[Grupo],
			[EsActivo],
			[IdTipoControl],
			[EsEspecial])
	VALUES
(249,'Interfaces tienen implementación a nivel de usuario', '193,315,666','Define las interfaces que en permisos por usuario tiene habilitado el EsPorUsuario','Documentos',1,0,1)
END
GO



UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/2lcIhwCFP3c' WHERE IdInterface = 398
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/t7I6LAfO0mE' WHERE IdInterface = 399
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/oUfSbdp8lSc' WHERE IdInterface = 415
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/pX0OX0-ztNI' WHERE IdInterface = 416
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/ULNIcW6B07k' WHERE IdInterface = 510
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/PyOMV06A9vM' WHERE IdInterface = 511
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/y7TuH6hvvK4' WHERE IdInterface = 513
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/6jmMKKHVeRU' WHERE IdInterface = 514
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/gc2pbz0tbmg' WHERE IdInterface = 515
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/ZjuHWPPVAZc' WHERE IdInterface = 516
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/rmdxI3wayqM' WHERE IdInterface = 517
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/rA0W1sLs_gk' WHERE IdInterface = 519
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/E2aoJ1MyU5Y' WHERE IdInterface = 526
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/ZdDhbBan6_Q' WHERE IdInterface = 527
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/dxbInkHuPV0' WHERE IdInterface = 586
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/5C_VLRdYHfs' WHERE IdInterface = 587
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/cAcQhR3jaW8' WHERE IdInterface = 588
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/4KBxQBE8HHU' WHERE IdInterface = 589
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/gqdZr86pb2g' WHERE IdInterface = 592
UPDATE Permisos_Interfaces SET VideoURL = 'https://youtu.be/SW9b51ZqK0s' WHERE IdInterface = 593

--Agregar permisos en el IdUsuario=22 y IdUsuario=2 para acceder a la interface FindPaises
insert into dbo.Permisos_InterfacesPorUsuario (IdUsuario, IdInterface, EsConsultar, EsInsertar, EsActualizar, EsEliminar, EsConsultarDenegar, EsInsertarDenegar, EsActualizarDenegar, EsEliminarDenegar)
values (22,421,1,1,1,1,0,0,0,0)

insert into dbo.Permisos_InterfacesPorUsuario (IdUsuario, IdInterface, EsConsultar, EsInsertar, EsActualizar, EsEliminar, EsConsultarDenegar, EsInsertarDenegar, EsActualizarDenegar, EsEliminarDenegar)
values (2,421,1,1,1,1,0,0,0,0)
GO

--Actualizar datos de la version
INSERT INTO ZiurVersiones (IdVersion, NumVersion, Descripcion)
VALUES (315,905,'Inclusión videos y certificados retención')
GO

COMMIT
GO
