
ALTER PROCEDURE  [dbo].[a_sel_ort_infoProgramaciones]
	@p_filtro varchar(8000)
as
begin
exec ('select view_ort_programacion.id,id_usuario as id_tecnico,desde_fh,id_tipoProgramacion,[id_documento.ot] as id_ot,
            id_reporteTecnico, [doc_documento.ot_motivoservicio] as motivoservicio,hasta_fh,
            programacion,doc_documento_ot_prefijo as prefijo,doc_documento_ot_documento_numero as documento_numero,
            doc_prioridadDocumento.prioridadDocumento_codigo
            ,isnull(vencimientoGarantiaFabrica_ff,''1/1/1900'') as vencimientoGarantiaFabrica_ff
            ,isnull(vencimientoGarantiaDistribuidor_ff,''1/1/1900'') as vencimientoGarantiaDistribuidor_ff
            ,garantiaCancelada,tercero_nombreCorto
            ,tipoServicio,sucursal,equipo,equipo_serial,zona,estadoTipoDocumento
            ,isnull(tiempodesplazamiento,0) as tiempodesplazamiento
            ,view_ort_programacion.comentario,id_programacion,[id_catalogo.actividad]
            ,isnull(equ_equipo.ubicacion,'''') as direccionubicacion
            ,(select sum(duracion) from view_ort_programacion prog where( prog.id=view_ort_programacion.id  or  prog.id_programacion=view_ort_programacion.id)and  prog.id>0) as duracion
,[doc_documento.ot_enTaller] as enTaller, [doc_documento.ot_contacto] as contacto
	from view_ort_programacion
		inner join equ_equipo on view_ort_programacion.[doc_documento.ot_id_equipo]=equ_equipo.id
		inner join doc_prioridadDocumento on view_ort_programacion.doc_documento_ot_id_prioridadDocumento=doc_prioridadDocumento.id
		inner join ter_tercero on ter_tercero.id=view_ort_programacion.doc_documento_ot_id_tercero_cliente
		inner join gen_tiposervicio on gen_tiposervicio.id=view_ort_programacion.[doc_documento.ot_id_tiposervicio]
		inner join ter_sucursal on ter_sucursal.id=view_ort_programacion.[doc_documento.ot_id_sucursal]
		inner join gen_zona on gen_zona.id=view_ort_programacion.[doc_documento.ot_id_zona]
		inner join doc_estadotipodocumento on doc_estadotipodocumento.id=view_ort_programacion.[doc_documento_ot_id_estadotipodocumento]
	where 1=1 and ' + @p_filtro + '
')
    
            
end
GO

ALTER PROCEDURE  [dbo].[a_sel_ort_infoProgramaciones_m]
	@p_eid varchar(50),
	@p_filtro varchar(8000)
as
begin
exec ('select * from (select 
	ort_programacion.id
	,ort_programacion.id_usuario
	,ort_programacion.id_usuario as id_tecnico
	,desde_fh
	,id_tipoProgramacion
	,[id_documento.ot] as id_ot
	,[id_documento.ot]
	,id_reporteTecnico
	,ot.motivoservicio as motivoservicio
	,DATEADD(minute, ([ort_programacion].duracion*60), [ort_programacion].desde_fh) AS hasta_fh
	,programacion
	,DOC.prefijo as prefijo
	,DOC.documento_numero as documento_numero
	,doc_prioridadDocumento.prioridadDocumento_codigo
    ,isnull(vencimientoGarantiaFabrica_ff,''1/1/1900'') as vencimientoGarantiaFabrica_ff
    ,isnull(vencimientoGarantiaDistribuidor_ff,''1/1/1900'') as vencimientoGarantiaDistribuidor_ff
    ,garantiaCancelada
    ,tercero_nombreCorto
    ,tipoServicio
    ,sucursal
    ,equipo
    ,equipo_serial
    ,zona
    ,estadoTipoDocumento
    ,isnull(tiempodesplazamiento,0) as tiempodesplazamiento
    ,ort_programacion.comentario
    ,isnull(equ_equipo.ubicacion,'''') as direccionubicacion
    ,(	select sum(duracion) 
		from ort_programacion prog 
		where(prog.id=ort_programacion.id  or  prog.id_programacion=ort_programacion.id)
			and  prog.id>0 
			and prog.id_usuario=ort_programacion.id_usuario 
			and prog.desde_fh=ort_programacion.desde_fh) as duracion
	,OT.enTaller as enTaller
	,OT.contacto as contacto
	,id_programacion
	,[id_catalogo.actividad]
	,(select habilitado from seg_usuario where seg_usuario.id=ort_programacion.id_usuario) as seg_usuario_habilitado --LK: al poner en join decae rendimiento de la consulta
from ort_programacion
	inner join [doc_documento.ot] OT on OT.id=ort_programacion.[id_documento.ot]
	inner join [doc_documento] DOC on OT.id=DOC.id
	inner join equ_equipo on OT.[id_equipo]=equ_equipo.id
	inner join doc_prioridadDocumento on DOC.id_prioridadDocumento=doc_prioridadDocumento.id
	inner join ter_tercero on ter_tercero.id=DOC.id_tercero_cliente
	inner join gen_tiposervicio on gen_tiposervicio.id=OT.id_tiposervicio
	inner join ter_sucursal on ter_sucursal.id=OT.id_sucursal
	inner join gen_zona on gen_zona.id=OT.id_zona
	inner join doc_estadotipodocumento on doc_estadotipodocumento.id=DOC.id_estadotipodocumento 
where ort_programacion.active=1)T0 where 1=1 and ' + @p_filtro + '
')
    
            
end

GO



