--Hash:945A96C92C305FF56821AC955B2067C6
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 < 931
)
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 Table [dbo].[Nomina_SubTipos_Cotizantes]...';


GO
ALTER TABLE [dbo].[Nomina_SubTipos_Cotizantes]
    ADD [CodZiurOne] INT NULL;


GO
PRINT N'Altering Table [dbo].[Nomina_Tipos_Cotizantes]...';


GO
ALTER TABLE [dbo].[Nomina_Tipos_Cotizantes]
    ADD [CodZiurOne] INT NULL;


GO
PRINT N'Creating Procedure [dbo].[GetNominaElectronica_ZiurOne]...';


GO
CREATE PROCEDURE [dbo].[GetNominaElectronica_ZiurOne]
@IdDetalle int
AS
BEGIN

DECLARE

@IdNomina INT,
@IdDet INT, 
@IdTipoCot INT,
@IdSubTipoCot INT,
@IdTipoIdent  INT,
@EmplCodMunicipio INT,
@EmprCodMunicipio INT

SET NOCOUNT ON;	
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

SET @IdDet = @IdDetalle

SELECT 
@IdNomina = IdNomina,
@IdTipoCot = IdTipoCot,
@IdSubTipoCot = IdSubTipoCot,
@IdTipoIdent = EmplTipoIdentificacion,
@EmplCodMunicipio = EmplCodMunicipio
FROM VNomina_NE_Detalles
WHERE IdDetalle = @IdDet


SELECT 
@EmprCodMunicipio = EmprCodMunicipio
FROM VNomina_NE_Encabezados
WHERE IdNomina = @IdNomina


SELECT 'VDetalle.IdTipoCot' AS NomCampo, a.CodZiurOne
FROM Nomina_Tipos_Cotizantes AS a
WHERE a.IdTipoCot = @IdTipoCot

UNION ALL

SELECT 'VDetalle.IdSubTipoCot' AS NomCampo, a.CodZiurOne
FROM Nomina_SubTipos_Cotizantes AS a
WHERE a.IdSubTipoCot = @IdSubTipoCot

UNION ALL

SELECT 'VDetalle.EmplTipoIdentificacion' AS NomCampo, a.CodZiurOne
FROM Clientes_TiposIdent AS a
WHERE a.IdTipoIdent = @IdTipoIdent

UNION ALL

SELECT 'VDetalle.EmplCodMunicipio' AS NomCampo, a.CodZiurOne
FROM Ciudades AS a
WHERE a.IdCiudad = @EmplCodMunicipio

UNION ALL

SELECT 'VEncabezado.EmprCodMunicipio' AS NomCampo, a.CodZiurOne
FROM Ciudades AS a
WHERE a.IdCiudad = @EmprCodMunicipio


	
END
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)]					
	--------------------------------------------------------------------------------------
	*/
	--ACTUALIZACION TARIFA CREE DECRETO 0261 DE 2023/02/24

	--NUEVAS ACTIVIDADES ECONOMICAS
	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 401031)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (401031, 'EXTRACIÓN DE ACEITES DE ORIGEN VEGETAL CRUDOS', 11.04, 103, 40, 1031, 0.55, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 401032)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (401032, 'ELABORACIÓN DE ACEITES Y GRASAS DE ORIGEN VEGETAL REFINADOS', 11.04, 103, 40, 1032, 0.55, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 401033)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (401033, 'ELABORACIÓN DE ACEITES Y GRASAS DE ORIGEN ANIMAL', 11.04, 103, 40, 1033, 0.55, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 401394)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (401394, 'FABRICACIÓN DE CUERDAS, CORDELES, CABLES, BRAMATES Y REDES', 11.04, 103, 40, 1394, 0.55, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 401922)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (401922, 'ACTIVIDAD DE MEZCLA DE COMBUSTIBLES', 11.04, 103, 40, 1922, 0.55, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 404653)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (404653, 'COMERCIO AL POR MAYOR DE MAQUINARIA Y EQUIPO AGROPECUARIO', 11.04, 401, 40, 4653, 0.55, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 406515)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (406515, 'SEGUROS DE SALUD', 11.04, 103, 40, 6515, 1.1, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 406523)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (406523, 'SERVICIOS DE SEGUROS SOCIALES EN RIESGOS FAMILIA', 11.04, 103, 40, 6523, 1.1, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 407111)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (407111, 'ACTIVIDADES DE ARQUITECTURA', 8.66, 103, 40, 7111, 1.1, NULL, NULL, NULL)

	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 407112)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (407112, 'ACTIVIDADES DE INGENIERIA Y OTRAS ACTIVIDADES CONEXAS DE CONSULTORÍA TÉCNICA', 7.66, 103, 40, 7112, 1.1, NULL, NULL, NULL)
	
	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 408511)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (408511, 'EDUCACIÓN DE LA PRIMERA INFANCIA', 7.0, 103, 40, 8511, 1.1, NULL, NULL, NULL)
	
	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 408891)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (408891, 'ACTIVIDADES DE GUARDERÍAS PARA NIÑOS Y NIÑAS', 9.66, 103, 40, 8891, 1.1, NULL, NULL, NULL)
	
	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 408899)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (408899, 'OTRAS ACTIVIDADES DE ASISTENCIA SOCIAL N.C.P.', 9.66, 103, 40, 8899, 1.1, NULL, NULL, NULL)
	
	IF NOT EXISTS (SELECT * FROM Empresas_ActividadesEcon WHERE IdActividad = 406496)
	INSERT INTO Empresas_ActividadesEcon
	(IdActividad, NomActividad, ValorTarifaIca, Agrupacion, VersionAct, IdActividadInt, ValorTarifaCree, ValorTarifaCree_Pers, IdCiudad, ValorTarifaIca_Pers)
	VALUES (406496, 'CAPITALIZACIÓN', 11.04, 401, 40, 6496, 1.1, NULL, NULL, NULL)
	
	--TARIFA CREE 1.1
	UPDATE Empresas_ActividadesEcon 
	SET ValorTarifaCree = 1.1 
	WHERE IdActividad IN 
	(
	404111,404112,404210,404220,404290,404311,404312,404321,404322,404329,404330,404390,404911,404912,404921,404922,
	404923,404930,405011,405012,405021,405022,405111,405112,405121,405122,405210,405221,405222,405223,405224,405229,
	405310,405320,405511,405512,405513,405514,405519,405520,405530,405590,405611,405612,405613,405619,405621,405629,
	405630,405811,405812,405813,405819,405820,405911,405912,405913,405914,405920,406010,406020,406201,406202,406209,
	406311,406312,406391,406399,406412,406421,406422,406423,406424,406431,406432,406491,406492,406493,406494,406495,
	406499,406511,406512,406513,406521,406522,406531,406532,406611,406612,406613,406614,406615,406619,406621,406629,
	406630,406810,406820,406910,406920,407010,407020,407120,407210,407220,407310,407320,407410,407420,407490,407500,
	407710,407721,407722,407729,407730,407740,407810,407820,407830,407911,407912,407990,408010,408020,408030,408110,
	408121,408129,408130,408211,408219,408220,408230,408291,408292,408299,408411,408412,408413,408414,408415,408421,
	408422,408423,408424,408430,408512,408513,408521,408522,408523,408530,408541,408542,408543,408544,408551,408552,
	408553,408559,408560,408610,408621,408622,408691,408692,408699,408710,408720,408730,408790,408810,409001,409002,
	409003,409004,409005,409006,409007,409008,409101,409102,409103,409200,409311,409312,409319,409321,409329,409411,
	409412,409420,409491,409492,409499,409511,409512,409521,409522,409523,409524,409529,409601,409602,409603,409609,
	409700,409810,409820,409900
	)		

	--TARIFA CREE 0.55
	UPDATE Empresas_ActividadesEcon 
	SET ValorTarifaCree = 0.55 
	WHERE IdActividad IN 
	(
	400111,400112,400113,400114,400115,400119,400121,400122,400123,400124,400125,400126,400127,400128,400129,400130,
	400141,400142,400143,400144,400145,400149,400150,400161,400162,400163,400164,400170,400210,400220,400230,400240,
	400311,400312,400321,400322,401011,401012,401020,401040,401051,401052,401061,401062,401063,401071,401072,401081,
	401082,401083,401084,401089,401090,401101,401102,401103,401104,401200,401311,401312,401313,401391,401392,401393,
	401399,401410,401420,401430,401511,401512,401513,401521,401522,401523,401610,401620,401630,401640,401690,401701,
	401702,401709,401811,401812,401820,401910,401921,402011,402012,402013,402014,402021,402022,402023,402029,402030,
	402100,402211,402212,402219,402221,402229,402310,402391,402392,402393,402394,402395,402396,402399,402410,402421,
	402429,402431,402432,402511,402512,402513,402520,402591,402592,402593,402599,402610,402620,402630,402640,402651,
	402652,402660,402670,402680,402711,402712,402720,402731,402732,402740,402750,402790,402811,402812,402813,402814,
	402815,402816,402817,402818,402819,402821,402822,402823,402824,402825,402826,402829,402910,402920,402930,403011,
	403012,403020,403030,403040,403091,403092,403099,403110,403120,403210,403220,403230,403240,403250,403290,403311,
	403312,403313,403314,403315,403319,403320,404511,404512,404520,404530,404541,404542,404610,404620,404631,404632,
	404641,404642,404643,404644,404645,404649,404651,404652,404659,404661,404662,404663,404664,404665,404669,404690,
	404711,404719,404721,404722,404723,404724,404729,404731,404732,404741,404742,404751,404752,404753,404754,404755,
	404759,404761,404762,404769,404771,404772,404773,404774,404775,404781,404782,404789,404791,404792,404799
	)		

	--TARIFA CREE 2.2
	UPDATE Empresas_ActividadesEcon 
	SET ValorTarifaCree = 2.2 
	WHERE IdActividad IN 
	( 
	406110,406120,406130,406190,400620,400910,400990,403511,403512,403513,403514,403520,403530,403600,403700,403811,
	403812,403821,403822,403830,403900
	)		

	--TARIFA CREE 1.9
	UPDATE Empresas_ActividadesEcon 
	SET ValorTarifaCree = 1.9 
	WHERE IdActividad IN 
	(
	400710,400721,400729,400811,400812,400820,400891,400892,400899
	)

	--TARIFA CREE 3.6
	UPDATE Empresas_ActividadesEcon 
	SET ValorTarifaCree = 3.6 
	WHERE IdActividad IN 
	(
	400722,400723
	)

	--

GO
	update Nomina_Tipos_Cotizantes set CodZiurOne = 1 where IdTipoCot = 1
	update Nomina_Tipos_Cotizantes set CodZiurOne = 2 where IdTipoCot = 2
	update Nomina_Tipos_Cotizantes set CodZiurOne = 3 where IdTipoCot = 4
	update Nomina_Tipos_Cotizantes set CodZiurOne = 4 where IdTipoCot = 12
	update Nomina_Tipos_Cotizantes set CodZiurOne = 5 where IdTipoCot = 18
	update Nomina_Tipos_Cotizantes set CodZiurOne = 6 where IdTipoCot = 19
	update Nomina_Tipos_Cotizantes set CodZiurOne = 7 where IdTipoCot = 21
	update Nomina_Tipos_Cotizantes set CodZiurOne = 8 where IdTipoCot = 22
	update Nomina_Tipos_Cotizantes set CodZiurOne = 9 where IdTipoCot = 23
	update Nomina_Tipos_Cotizantes set CodZiurOne = 10 where IdTipoCot = 30
	update Nomina_Tipos_Cotizantes set CodZiurOne = 11 where IdTipoCot = 31
	update Nomina_Tipos_Cotizantes set CodZiurOne = 12 where IdTipoCot = 47
	update Nomina_Tipos_Cotizantes set CodZiurOne = 13 where IdTipoCot = 51
	update Nomina_Tipos_Cotizantes set CodZiurOne = 14 where IdTipoCot = 54
	update Nomina_Tipos_Cotizantes set CodZiurOne = 15 where IdTipoCot = 56
	update Nomina_Tipos_Cotizantes set CodZiurOne = 16 where IdTipoCot = 58
GO

	update Nomina_SubTipos_Cotizantes set CodZiurOne = 1 where IdSubTipoCot = 0
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 2 where IdSubTipoCot = 1
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 3 where IdSubTipoCot = 2
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 4 where IdSubTipoCot = 3
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 5 where IdSubTipoCot = 4
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 6 where IdSubTipoCot = 5
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 7 where IdSubTipoCot = 6
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 8 where IdSubTipoCot = 9
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 9 where IdSubTipoCot = 10
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 10 where IdSubTipoCot = 11
	update Nomina_SubTipos_Cotizantes set CodZiurOne = 11 where IdSubTipoCot = 12
GO

GO
PRINT N'Update complete.';


GO

--Actualizar datos de la version
INSERT INTO ZiurVersiones (IdVersion, NumVersion, Descripcion)
VALUES (341,931,'ACTUALIZACION TARIFA CREE DECRETO 0261')
GO

COMMIT
GO
