

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[_ajustarCantidadAdicionales]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[_ajustarCantidadAdicionales]
GO
CREATE procedure [dbo].[_ajustarCantidadAdicionales]	
@p_alquiler as INT = 0
as begin

declare @adicional as table(id_catalogo int,id_item int,cantidad float);

insert into @adicional
(cantidad,id_catalogo,id_item  )
select sum (itemhijos.cantidadPlaneado ),item.id_catalogo,item.id
from 
doc_itemdocumento item
inner join doc_itemdocumento itemhijos on itemhijos .id_catalogo =item .id_catalogo and itemhijos .id_itemDocumento  =item .id  and item .active =1   and itemhijos .active =1  and itemhijos .id_catalogo>0
inner join doc_documento dochijo on dochijo .id_documento =item.id_documento and dochijo.id=itemhijos .id_documento 
inner join doc_estadotipodocumento estado on estado.id =dochijo .id_estadoTipoDocumento and estado .estadoTipoDocumento_codigo not in ('CAN') 
--and estado .id_tipoDocumento in (5,6)
where item.id_catalogo not in(
select itemalq.id_catalogo
from 
 doc_itemdocumento itemalq  
inner join alq_tarifa tar on tar.id_itemdocumento =itemalq.id and tar.active=1 and itemalq.active=1
where  itemalq .id_documento  in (@p_alquiler)
union all
select det.id_catalogo from 
 equ_detallealquiler det where
  det.[id_documento.alquiler] in (@p_alquiler)
)
--and item .id in (select id from [cat_catalogo.otro] where active=1 and ( periodoalquiler is null or periodoalquiler <1 )
--union all
--select id from [cat_catalogo.repuesto] where active=1 and id>0
--)
and item.id_documento in (@p_alquiler)
group by item.id_catalogo,item.id ;


update doc_itemDocumento 
set cantidadPlaneado = adi.cantidad 
from doc_itemDocumento 
inner join   @adicional adi on adi.id_item=doc_itemdocumento.id;

--select * from @adicional;
select '';
end