


update doc_estadotipodocumento_subtipodocumento set estadotipodocumento_subtipodocumento='val_cierreAlquiler'
from    doc_estadotipodocumento_subtipodocumento
inner join doc_subtipodocumento  on doc_subtipodocumento.id=doc_estadotipodocumento_subtipodocumento.id_subtipodocumento 
and doc_subtipodocumento.id_tipodocumento=9
inner join doc_estadotipodocumento on doc_estadotipodocumento .id=doc_estadotipodocumento_subtipodocumento.id_estadotipodocumento_destino
and doc_estadotipodocumento.estadotipodocumento_codigo='CER'


IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[val_cierreAlquiler]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[val_cierreAlquiler]
GO
CREATE PROCEDURE [val_cierreAlquiler]
 @p_id_documento as int=-1,
 @p_id_usuario as int=-1,
 @p_eid as varchar(50) 
AS
BEGIN
declare @mensaje as varchar(100)	
--validar equipos devueltos
if exists(
select * from equ_detallealquiler  detalle
inner join equ_equipo on equ_equipo.id=   detalle.id_equipo and equ_equipo.id>0 and detalle.active=1 and equ_equipo.active=1
inner join doc_documento on equ_equipo.id_sucursal=doc_documento.id_tercero_cliente and detalle.[id_documento.alquiler]=doc_documento.id
where doc_documento.id=@p_id_documento
)
begin
set @mensaje='Tiene equipos sin devolver'
end
else 
begin
	--validar respuestos devueltos
	 if exists(select * from equ_detallealquiler where id_equipo=0 and id_catalogo not in(0) and cantidadalquilada>0 and equ_detallealquiler.[id_documento.alquiler]=@p_id_documento) 
	 begin
		  set @mensaje='Tiene repuestos sin devolver'
	 end 
	 else
	 begin 
			--validar facturas creadas
			if exists(select * from equ_detallealquiler where fechaultimafactura_fh<fechadevolucion_ff and equ_detallealquiler.[id_documento.alquiler]=@p_id_documento)
			begin
			 set @mensaje='Tiene repuestos sin devolver'
	        end 	
	 end
end


select @mensaje

END









