Así deben quedar las variables para que apareza el carrito de compras
declare @d_rfc varchar(13) = '%IES010605%'
select d_rfc, c_prospecto, c_distribuidor, c_emisor, c_receptor, c_proveedor_buz, c_estatus, f_firma_fecha, b_acepta_terminos from v_cs_prospecto where d_rfc like @d_rfc
select * from v_cs_prospecto_estatus where c_prospecto in (select c_prospecto from v_cs_prospecto where d_rfc like @d_rfc )
select * from v_cs_opcion_servicio where c_prospecto in (select c_prospecto from v_cs_prospecto where d_rfc like @d_rfc )
select * from v_cs_distribuidor where c_distribuidor in (select c_distribuidor from v_cs_prospecto where d_rfc like @d_rfc )
select d_rfc, c_prospecto, c_distribuidor, c_emisor, c_receptor, c_proveedor_buz, c_estatus, f_firma_fecha, b_acepta_terminos from v_cs_prospecto where d_rfc like @d_rfc
select * from v_cs_prospecto_estatus where c_prospecto in (select c_prospecto from v_cs_prospecto where d_rfc like @d_rfc )
select * from v_cs_opcion_servicio where c_prospecto in (select c_prospecto from v_cs_prospecto where d_rfc like @d_rfc )
select * from v_cs_distribuidor where c_distribuidor in (select c_distribuidor from v_cs_prospecto where d_rfc like @d_rfc )
--begin tran
-- update v_cs_prospecto_estatus set c_estatus= 4 where c_prospecto =70379
--update v_cs_prospecto set d_firma_tipo= 'N', b_acepta_terminos= 1 where c_prospecto =70379
--commit
--rollback
-- update v_cs_prospecto_estatus set c_estatus= 4 where c_prospecto =70379
--update v_cs_prospecto set d_firma_tipo= 'N', b_acepta_terminos= 1 where c_prospecto =70379
--commit
--rollback
-------------------------------------------------------
CONSULTA
declare @rfcORazonSocial varchar(200) = 'IES010605SY2'
DECLARE @idDistribuidor INT
select @idDistribuidor = c_distribuidor from v_cs_distribuidor where c_distribuidor_padre is null and c_socio = 2 and d_rfc = 'RSS101119TG6'
;WITH childcte AS (
select c_distribuidor, d_rfc, c_distribuidor_padre, c_nivel
from v_cs_distribuidor
where c_distribuidor = @idDistribuidor
union all
select d.c_distribuidor, d.d_rfc, d.c_distribuidor_padre, d.c_nivel
from v_cs_distribuidor d
join childcte on d.c_distribuidor_padre = childcte.c_distribuidor
),
temp AS
(
select
distinct
p.c_prospecto IdProspecto
,p.c_emisor IdEmisor
,p.d_rfc RFC
,RTRIM(RTRIM(p.d_nombre + ' ' + p.d_apellido_paterno) + ' ' + p.d_apellido_materno) RazonSocial
,case
when p.g_contrato is not null and p.d_firma is not null and p.f_firma_fecha is not null and (p.d_firma_tipo is null or p.d_firma_tipo != 'N') then 1
when p.b_acepta_terminos = 1 and p.d_firma_tipo in ('N','S') and p.f_firma_fecha is not null then 1
else 0 end as TieneContrato
,es.c_servicio IdServicio
,s.d_descripcion NombreServicio
,esProximaAccion.c_estatus IdAccionPendiente
,esProximaAccion.d_descripcion DescripcionAccionPendiente
,null as FechaExpiracionCertificado
,d.c_distribuidor
from
dbo.v_cs_distribuidor d (nolock)
left outer join
dbo.v_cs_distribuidor dp (nolock)
on
d.c_distribuidor = dp.c_distribuidor_padre
left outer join
dbo.v_cs_prospecto p (nolock)
on
d.c_distribuidor = p.c_distribuidor
left outer join
dbo.v_cs_prospecto_estatus ps (nolock)
on
p.c_prospecto = ps.c_prospecto
left outer join
dbo.v_cs_emisor_estatus es (nolock)
on
ps.c_estatus = es.c_estatus
left outer join
dbo.v_cs_servicio s (nolock)
on
es.c_servicio = s.c_servicio
left outer join
dbo.v_cs_emisor_estatus esProximaAccion (nolock)
on
(ps.c_estatus + 1) = esProximaAccion.c_estatus
--left outer join
-- dbo.cs_certificado c (nolock)
--on
-- p.c_emisor = c.c_emisor
-- and c.b_activo = 1
where
d.c_distribuidor in (select c_distribuidor from childcte)
and (
(@rfcORazonSocial is null or lower(p.d_rfc) like '%' + @rfcORazonSocial + '%')
or (@rfcORazonSocial is null or lower(p.d_nombre) like '%' + @rfcORazonSocial + '%')
or (@rfcORazonSocial is null or lower(p.d_apellido_paterno) like '%' + @rfcORazonSocial + '%')
or (@rfcORazonSocial is null or lower(p.d_apellido_materno) like '%' + @rfcORazonSocial + '%')
)
and p.c_prospecto is not null
)
select *, count(*) over() as TotalRegistros
from
(
select * from temp
) as aux
ORDER BY RFC
DECLARE @idDistribuidor INT
select @idDistribuidor = c_distribuidor from v_cs_distribuidor where c_distribuidor_padre is null and c_socio = 2 and d_rfc = 'RSS101119TG6'
;WITH childcte AS (
select c_distribuidor, d_rfc, c_distribuidor_padre, c_nivel
from v_cs_distribuidor
where c_distribuidor = @idDistribuidor
union all
select d.c_distribuidor, d.d_rfc, d.c_distribuidor_padre, d.c_nivel
from v_cs_distribuidor d
join childcte on d.c_distribuidor_padre = childcte.c_distribuidor
),
temp AS
(
select
distinct
p.c_prospecto IdProspecto
,p.c_emisor IdEmisor
,p.d_rfc RFC
,RTRIM(RTRIM(p.d_nombre + ' ' + p.d_apellido_paterno) + ' ' + p.d_apellido_materno) RazonSocial
,case
when p.g_contrato is not null and p.d_firma is not null and p.f_firma_fecha is not null and (p.d_firma_tipo is null or p.d_firma_tipo != 'N') then 1
when p.b_acepta_terminos = 1 and p.d_firma_tipo in ('N','S') and p.f_firma_fecha is not null then 1
else 0 end as TieneContrato
,es.c_servicio IdServicio
,s.d_descripcion NombreServicio
,esProximaAccion.c_estatus IdAccionPendiente
,esProximaAccion.d_descripcion DescripcionAccionPendiente
,null as FechaExpiracionCertificado
,d.c_distribuidor
from
dbo.v_cs_distribuidor d (nolock)
left outer join
dbo.v_cs_distribuidor dp (nolock)
on
d.c_distribuidor = dp.c_distribuidor_padre
left outer join
dbo.v_cs_prospecto p (nolock)
on
d.c_distribuidor = p.c_distribuidor
left outer join
dbo.v_cs_prospecto_estatus ps (nolock)
on
p.c_prospecto = ps.c_prospecto
left outer join
dbo.v_cs_emisor_estatus es (nolock)
on
ps.c_estatus = es.c_estatus
left outer join
dbo.v_cs_servicio s (nolock)
on
es.c_servicio = s.c_servicio
left outer join
dbo.v_cs_emisor_estatus esProximaAccion (nolock)
on
(ps.c_estatus + 1) = esProximaAccion.c_estatus
--left outer join
-- dbo.cs_certificado c (nolock)
--on
-- p.c_emisor = c.c_emisor
-- and c.b_activo = 1
where
d.c_distribuidor in (select c_distribuidor from childcte)
and (
(@rfcORazonSocial is null or lower(p.d_rfc) like '%' + @rfcORazonSocial + '%')
or (@rfcORazonSocial is null or lower(p.d_nombre) like '%' + @rfcORazonSocial + '%')
or (@rfcORazonSocial is null or lower(p.d_apellido_paterno) like '%' + @rfcORazonSocial + '%')
or (@rfcORazonSocial is null or lower(p.d_apellido_materno) like '%' + @rfcORazonSocial + '%')
)
and p.c_prospecto is not null
)
select *, count(*) over() as TotalRegistros
from
(
select * from temp
) as aux
ORDER BY RFC
¿Le fue útil este artículo?
¡Qué bueno!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Comentarios enviados
Agradecemos su iniciativa, e intentaremos corregir el artículo