

declare @uid as varchar(500)
declare @eid as varchar(500)
declare @tipodoc as int 
 select @uid =uid ,@eid =eid  from seg_usuario where id=1

declare @subdoc as int
declare @estadodoc as int

--tipotarifa 
if	not exists(select *from alq_tipotarifa where active=1 and id>0)
begin
INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'ElementoAlquilado','ElementoAlquilado',1)
INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'Operador','Operador',2)

INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'ServicioAdicional','ServicioAdicional',3)

INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'HoraAdicional','HoraAdicional',4)

INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'ServiciosPeriodo','ServiciosPeriodo',5)
INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'ElementoFaltante','ElementoFaltante',6)

INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'HoraStanbBy','HoraStanbBy',7)
INSERT INTO [alq_tipoTarifa]
([uid],[eid] ,[id_usuario_modifico],[id_usuario_creo],[fechaModificacion],[fechaCreacion],[active],[tipoTarifa],[tipoTarifa_codigo],[valor])
     VALUES
     (@uid ,@eid   ,1,1,getdate(),getdate()    ,1,'HorasUso','HorasUso',8)


end


--tipo de documento
if not exists (select * from doc_tipoDocumento where tipodocumento='Alquiler' )
begin
insert into doc_tipoDocumento(uid,eid,active,tipoDocumento)values(@uid,'01',1,'alquiler')
end
set @tipodoc= (select id from doc_tipoDocumento where tipoDocumento='Alquiler')
if not exists (select * from doc_subtipoDocumento where subtipodocumento='Alquiler' and  subtipoDocumento_codigo='ALQ' and id_tipodocumento=@tipodoc)
begin
insert into doc_subtipoDocumento(uid,eid,active,subtipoDocumento,subtipoDocumento_codigo,prefijo,consecutivo,id_tipoDocumento)
values(@uid,'01',1,'Alquiler','ALQ','ALQ',1,@tipodoc)
end
--estados
if not exists (select * from doc_estadoTipoDocumento where estadoTipoDocumento='Nueva' and estadoTipoDocumento_codigo='NUE' and id_tipoDocumento=@tipodoc)
begin
insert into doc_estadoTipoDocumento (uid,eid,active,estadoTipoDocumento,estadoTipoDocumento_codigo,id_tipoDocumento) VALUES (@uid,'01',1,'Nueva','NUE',@tipodoc)
end
if not exists (select * from doc_estadoTipoDocumento where estadoTipoDocumento='En Curso' and estadoTipoDocumento_codigo='CUR' and id_tipoDocumento=@tipodoc)
begin
insert into doc_estadoTipoDocumento (uid,eid,active,estadoTipoDocumento,estadoTipoDocumento_codigo,id_tipoDocumento) VALUES (@uid,'01',1,'En Curso','CUR',@tipodoc)
end
if not exists (select * from doc_estadoTipoDocumento where estadoTipoDocumento='Cancelada' and estadoTipoDocumento_codigo='CAN' and id_tipoDocumento=@tipodoc)
begin
insert into doc_estadoTipoDocumento (uid,eid,active,estadoTipoDocumento,estadoTipoDocumento_codigo,id_tipoDocumento,editadocumento) VALUES (@uid,'01',1,'Cancelada','CAN',@tipodoc,0)
end
if not exists (select * from doc_estadoTipoDocumento where estadoTipoDocumento='Cerrada' and estadoTipoDocumento_codigo='CER' and id_tipoDocumento=@tipodoc)
begin
insert into doc_estadoTipoDocumento (uid,eid,active,estadoTipoDocumento,estadoTipoDocumento_codigo,id_tipoDocumento,editaDocumento) VALUES (@uid,'01',1,'Cerrada','CER',@tipodoc,0)
end
if not exists (select * from doc_estadoTipoDocumento where estadoTipoDocumento='Alistamiento' and estadoTipoDocumento_codigo='APR' and id_tipoDocumento=@tipodoc)
begin
insert into doc_estadoTipoDocumento (uid,eid,active,estadoTipoDocumento,estadoTipoDocumento_codigo,id_tipoDocumento,editaDocumento) VALUES (@uid,'01',1,'Alistamiento','APR',@tipodoc,0)
end
if not exists (select * from doc_estadoTipoDocumento where estadoTipoDocumento='Devolucion' and estadoTipoDocumento_codigo='DEV' and id_tipoDocumento=@tipodoc)
begin
insert into doc_estadoTipoDocumento (uid,eid,active,estadoTipoDocumento,estadoTipoDocumento_codigo,id_tipoDocumento,editaDocumento) VALUES (@uid,'01',1,'Devolucion','DEV',@tipodoc,0)
end
if not exists (select * from doc_estadoTipoDocumento where estadoTipoDocumento='Configuracion de obra' and estadoTipoDocumento_codigo='CON' and id_tipoDocumento=@tipodoc)
begin
insert into doc_estadoTipoDocumento (uid,eid,active,estadoTipoDocumento,estadoTipoDocumento_codigo,id_tipoDocumento,editaDocumento) VALUES (@uid,'01',1,'Configuracion de obra','CON',@tipodoc,0)
end



 set @subdoc = (SELECT top 1 id
  FROM [doc_subtipoDocumento] where subtipodocumento='Alquiler')

set @estadodoc =(SELECT top 1 id FROM [doc_estadotipodocumento] where 
estadoTipoDocumento_codigo='NUE' and id_tipodocumento=
(select id from doc_tipoDocumento where tipoDocumento='Alquiler'))
--CREAR ALQUILER SIN DOC PADRE
if not exists (select * from doc_flujoDocumento where flujoDocumento='Alquiler' and  flujoDocumento_codigo='genAlq' and id_subtipoDocumento_destino=@subdoc and
id_estadoTipoDocumento_resultado=@estadodoc)
begin
insert into doc_flujoDocumento (uid,eid,flujoDocumento,flujoDocumento_codigo,id_subtipoDocumento_origen,id_subtipoDocumento_destino,
id_estadoTipoDocumento_origen,id_estadoTipoDocumento_resultado,replicarItems,replicarAtributos,replicarItemsActividades,replicarComentario)
VALUES(@uid,'01','Alquiler','genAlq',0,@subdoc,0,0,0,0,0,0)
end
--CREAR AQUILER CON DOC PADRE COTIZAICON
if not exists ( select * from doc_flujodocumento 
inner join doc_subtipodocumento on doc_subtipodocumento.id = doc_flujodocumento.id_subtipodocumento_origen and doc_subtipodocumento.id >0 and  doc_subtipodocumento.prefijo not like'%PRE%'
where flujodocumento_codigo='genAlq' and doc_flujodocumento.active=1)
begin
insert into doc_flujoDocumento (
uid
,eid
,fechaCreacion
,fechamodificacion
,active
,flujoDocumento
,flujoDocumento_codigo
,id_subtipoDocumento_origen
,id_subtipoDocumento_destino
,id_estadoTipoDocumento_origen
,id_estadoTipoDocumento_resultado
,replicarItems
,replicarAtributos
,replicarItemsActividades
,replicarComentario)
select seg_usuario.uid,seg_usuario.eid,getdate(),getdate(),1
,'Alquiler desde '+doc_subtipodocumento.subtipodocumento,'genAlq'
,doc_subtipodocumento.id,@subdoc,destino.id,doc_estadotipodocumento.id,0,0,0,0
from doc_subtipodocumento ,doc_estadotipodocumento,seg_usuario,doc_estadotipodocumento destino
where doc_estadotipodocumento.id_tipodocumento=4 and destino.id_tipodocumento=4 and prefijo not like'%PRE%' and seg_usuario.id=1
and doc_estadotipodocumento.estadotipodocumento_codigo='APR' and doc_subtipodocumento.id_tipodocumento=4 and destino.estadotipodocumento_codigo='ENV'

end

--GENERAR FLUJO DE DOCUMENTO PARA CREAR OT Y REMISIONES DE ENTRADA Y SALIDA

if not exists(select * from doc_flujodocumento 
inner join doc_subtipodocumento on doc_subtipodocumento.id = doc_flujodocumento.id_subtipodocumento_origen and doc_subtipodocumento.id >0 and  doc_subtipodocumento.prefijo  like'ALQ'
where flujodocumento_codigo='genOt' and doc_flujodocumento.active=1 )
begin

insert into doc_flujoDocumento (
uid
,eid
,fechaCreacion
,fechamodificacion
,active
,flujoDocumento
,flujoDocumento_codigo
,id_subtipoDocumento_origen
,id_subtipoDocumento_destino
,id_estadoTipoDocumento_origen
,id_estadoTipoDocumento_resultado
,replicarItems
,replicarAtributos
,replicarItemsActividades
,replicarComentario)
select top 1 seg_usuario.uid,seg_usuario.eid,getdate(),getdate(),1,'OT desde '+alq.subtipodocumento
,'genOT',alq.id,ot.id,doc_estadotipodocumento.id,doc_estadotipodocumento.id,0,0,0,0
from doc_subtipodocumento  ot inner join doc_tipodocumento tipo on tipo.id=ot.id_tipodocumento ,doc_estadotipodocumento,seg_usuario,doc_subtipodocumento  alq
where doc_estadotipodocumento.id_tipodocumento=9   and seg_usuario.id=1
and doc_estadotipodocumento.estadotipodocumento_codigo='NUE' and ot.id_tipodocumento in (2)
and alq.id_tipodocumento=9 and alq.id>0
end

if not exists(select * from doc_flujodocumento 
inner join doc_subtipodocumento on doc_subtipodocumento.id = doc_flujodocumento.id_subtipodocumento_origen and doc_subtipodocumento.id >0 and  doc_subtipodocumento.prefijo  like'ALQ'
where flujodocumento_codigo='genSal' and doc_flujodocumento.active=1 )
begin

insert into doc_flujoDocumento (
uid
,eid
,fechaCreacion
,fechamodificacion
,active
,flujoDocumento
,flujoDocumento_codigo
,id_subtipoDocumento_origen
,id_subtipoDocumento_destino
,id_estadoTipoDocumento_origen
,id_estadoTipoDocumento_resultado
,replicarItems
,replicarAtributos
,replicarItemsActividades
,replicarComentario)
select top 1 seg_usuario.uid,seg_usuario.eid,getdate(),getdate(),1,'Salida desde '+alq.subtipodocumento
,'genSal',alq.id,ot.id,doc_estadotipodocumento.id,doc_estadotipodocumento.id,0,0,0,0
from doc_subtipodocumento  ot inner join doc_tipodocumento tipo on tipo.id=ot.id_tipodocumento ,doc_estadotipodocumento,seg_usuario,doc_subtipodocumento  alq
where doc_estadotipodocumento.id_tipodocumento=9   and seg_usuario.id=1
and doc_estadotipodocumento.estadotipodocumento_codigo='NUE' and ot.id_tipodocumento in (6)
and alq.id_tipodocumento=9 and alq.id>0
end 

if not exists(select * from doc_flujodocumento 
inner join doc_subtipodocumento on doc_subtipodocumento.id = doc_flujodocumento.id_subtipodocumento_origen and doc_subtipodocumento.id >0 and  doc_subtipodocumento.prefijo  like'ALQ'
where flujodocumento_codigo='genEnt' and doc_flujodocumento.active=1 )
begin
insert into doc_flujoDocumento (
uid
,eid
,fechaCreacion
,fechamodificacion
,active
,flujoDocumento
,flujoDocumento_codigo
,id_subtipoDocumento_origen
,id_subtipoDocumento_destino
,id_estadoTipoDocumento_origen
,id_estadoTipoDocumento_resultado
,replicarItems
,replicarAtributos
,replicarItemsActividades
,replicarComentario)
select top 1 seg_usuario.uid,seg_usuario.eid,getdate(),getdate(),1,'Entrada desde '+alq.subtipodocumento
,'genEnt',alq.id,ot.id,doc_estadotipodocumento.id,doc_estadotipodocumento.id,0,0,0,0
from doc_subtipodocumento  ot inner join doc_tipodocumento tipo on tipo.id=ot.id_tipodocumento ,doc_estadotipodocumento,seg_usuario,doc_subtipodocumento  alq
where doc_estadotipodocumento.id_tipodocumento=9   and seg_usuario.id=1
and doc_estadotipodocumento.estadotipodocumento_codigo='NUE' and ot.id_tipodocumento in (5)
and alq.id_tipodocumento=9 and alq.id>0
end

---- SUBTIPO CATALOGO 'TARIFAS DE ALQUILER'

declare @tipocatalogo as int
set @tipocatalogo= (select id from cat_tipoCatalogo where tipoCatalogo='otros')
if not exists (select * from cat_subtipoCatalogo where subtipoCatalogo='Tarifa de Alquiler' and id_tipoCatalogo=@tipocatalogo )
begin
insert into cat_subtipoCatalogo (uid,eid,active,subtipoCatalogo,id_tipoCatalogo)
values(@uid,'01',1,'Tarifa de Alquiler',@tipocatalogo)
end



-- prioridades

if not exists(select* from doc_prioridaddocumento where active=1 and id_tipodocumento=9 ) 
begin
INSERT INTO [doc_prioridadDocumento]
           ([uid]
           ,[eid]
           ,[id_usuario_modifico]
           ,[id_usuario_creo]
           ,[fechaModificacion]
           ,[fechaCreacion]
           ,[active]
           ,[prioridadDocumento]
           ,[prioridadDocumento_codigo]
           ,[tiempoRespuesta]
           ,[id_tipoDocumento]
           ,[id_estrategiaPrioridad])
 select uid,
           eid
           ,1
           ,1
           ,getdate()
           ,getdate()
           ,1
           ,prioridadDocumento
           ,prioridadDocumento_codigo
           ,tiempoRespuesta
           ,9
           ,id_estrategiaPrioridad
 from doc_prioridaddocumento where uid='0000-0000-0000-0000-0000' and id_tipodocumento=2
end




INSERT INTO[doc_estadoTipoDocumento_subtipoDocumento]
           ([uid]
           ,[eid]
           ,[id_usuario_modifico]
           ,[id_usuario_creo]
           ,[fechaModificacion]
           ,[fechaCreacion]
           ,[active]
           ,[estadoTipoDocumento_subtipoDocumento]
           ,[id_estadoTipoDocumento]
           ,[id_subtipoDocumento]
           ,[id_estadoTipoDocumento_destino])         
select seg_usuario.uid 
,seg_usuario.eid
,1
,1
,getdate()
,getdate()
,1
,doc.prefijo +'->'+origen.estadotipodocumento_codigo+'-' +destino.estadotipodocumento_codigo
 ,origen.id
, doc.id
,destino.id
from doc_subtipodocumento doc,doc_estadotipodocumento origen
,doc_estadotipodocumento destino,seg_usuario
where  doc.id not in (
select estados.id_subtipodocumento from doc_estadotipodocumento_subtipodocumento estados
inner join doc_estadotipodocumento origen on  origen .id=estados.id_estadotipodocumento and  origen.estadotipodocumento_codigo='APR'
inner join doc_estadotipodocumento destino on  destino .id=estados.id_estadotipodocumento_destino and destino.estadotipodocumento_codigo='CER'
inner join doc_subtipodocumento doc on doc.id=estados.id_subtipodocumento and doc.id_tipodocumento in(5,6)
)
and doc.id_tipodocumento in(5,6) and origen .id_tipodocumento in(5,6) and destino .id_tipodocumento in(5,6)
and doc.id_tipodocumento=origen.id_tipodocumento and doc.id_tipodocumento=destino.id_tipodocumento and  origen.id<>destino.id
and origen.estadotipodocumento_codigo='APR'and destino.estadotipodocumento_codigo='CER' and seg_usuario.id=1



--Ajustes de estados de subtipos para SALIDAS y ENTRADAS


INSERT INTO [doc_estadoTipoDocumento_subtipoDocumento]
           ([uid]
           ,[eid]
           ,[id_usuario_modifico]
           ,[id_usuario_creo]
           ,[fechaModificacion]
           ,[fechaCreacion]
           ,[active]
           ,[estadoTipoDocumento_subtipoDocumento]
           ,[id_estadoTipoDocumento]
           ,[id_subtipoDocumento]
           ,[id_estadoTipoDocumento_destino])
select seg_usuario.uid,seg_usuario.eid,1,1,getdate(),getdate(),1
,doc_subtipodocumento.subtipodocumento
,origen.id,doc_subtipodocumento.id ,destino.id 
from doc_subtipodocumento,doc_estadotipodocumento origen,doc_estadotipodocumento destino
,seg_usuario
where  doc_subtipodocumento.id_tipodocumento in (5,6)
and origen.id_tipodocumento in(5,6) 
and origen .estadotipodocumento_codigo in('NUE')
and destino.id_tipodocumento in(5,6) 
and destino.estadotipodocumento_codigo in('CER')
and origen.id_tipodocumento=destino.id_tipodocumento and origen.id_tipodocumento=doc_subtipodocumento.id_tipodocumento
and seg_usuario.id=1
and doc_subtipodocumento.id not in(
select subtipo.id
from doc_estadotipodocumento_subtipodocumento config
inner join doc_subtipodocumento subtipo on subtipo.id=config.id_subtipodocumento and subtipo.id_tipodocumento in(5,6)
inner join doc_estadotipodocumento estadoorigen on estadoorigen.id=config.id_estadotipodocumento
inner join doc_estadotipodocumento estadodestino on estadodestino.id=config.id_estadotipodocumento_destino
where
 estadoorigen.estadotipodocumento_codigo in('NUE') and estadodestino.estadotipodocumento_codigo  in('CER'))
