-
Notifications
You must be signed in to change notification settings - Fork 2
/
procedures.sql
153 lines (129 loc) · 3.97 KB
/
procedures.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
-- Esbozo del punto 14 del TP (pagina 12)
create procedure mostrar_cupones_proveedores (@fecha_inicio DATETIME, @fecha_fin DATETIME,
@proveedor NVARCHAR(100))
as
begin
-- select que devuelve cupones que no fueron facturados
select * from MR_ANDERSON.Cupones
where Cupones.codigo not in (select Factura_Renglon.codigo from MR_ANDERSON.Factura_Renglon)
and Cupones.provee_rs = @proveedor
-- Falta banda, ver tema de las fechas, y usar cursor para retornar el select
end
GO
-- rol
create procedure MR_ANDERSON.get_datos_rol (@nombre_rol NVARCHAR(255))
as
begin
select Habilitado,Funcionalidad,tipo
from MR_ANDERSON.Roles r
join MR_ANDERSON.Funcionalidades_Roles f on r.Rol = f.Rol
left join MR_ANDERSON.Rol_tipo rt on rt.Rol = r.Rol
where r.rol = @nombre_rol
end
GO
--get nombre all roles
create procedure MR_ANDERSON.get_all_roles
as
begin
select rol from MR_ANDERSON.Roles
end
GO
--cargar rol con nombre de usuario
create procedure MR_ANDERSON.get_nombre_rol_de_usuario(@nombre_usuario NVARCHAR(255))
as
begin
select rol from MR_ANDERSON.Login l
where l.username = @nombre_usuario
end
GO
--get ciudades
create procedure MR_ANDERSON.sp_get_ciudades
as
begin
select ciudad from MR_ANDERSON.ciudades
group by ciudad
end
GO
--add ciudad preferencia para user
create procedure MR_ANDERSON.sp_add_ciudad_user (@dni numeric, @ciudad varchar(255))
as
begin
insert into MR_ANDERSON.ciudades(dni,ciudad)
values(@dni,@ciudad)
end
GO
--get roles para tipo
create procedure MR_ANDERSON.sp_get_roles_para_tipo (@tipo varchar(100))
as
begin
select rt.rol, r.Habilitado from MR_ANDERSON.Rol_Tipo rt
join MR_ANDERSON.Roles r on r.Rol = rt.Rol
where tipo = @tipo
end
GO
--modify rol de usuario
create procedure MR_ANDERSON.sp_modificar_rol_usr (@nombre_rol nvarchar(255),@nombre_antiguo NVARCHAR(255))
as
begin
update MR_ANDERSON.Login
set rol = @nombre_rol
where rol = @nombre_antiguo
end
GO
--get all usrs tipo
create procedure MR_ANDERSON.sp_get_all_usrs (@tipo NVARCHAR(100))
as
begin
select username from MR_ANDERSON.Login
where tipo = @tipo
end
GO
--get usrs tipo con filtros
alter procedure MR_ANDERSON.sp_get_usrs_filtrados (@tipo NVARCHAR(100), @filtro1 varchar(20), @filtro2 varchar(20),@filtro3 varchar(20),@filtro4 varchar(20))
as
begin
if @tipo = 'Cliente'
begin
select l.username from MR_ANDERSON.Login l
join MR_ANDERSON.Datos_Clientes cli on cli.username = l.username
where
(@filtro1 is null or PATINDEX( @filtro1,cli.nombre) = 1)
and (@filtro2 is null or PATINDEX(@filtro2, cli.apellido) = 1)
and (@filtro3 is null or PATINDEX(@filtro3,convert(varchar,cli.dni)) = 1)
and(@filtro4 is null or PATINDEX(@filtro4,cli.mail) = 1)
end
else
begin
select l.username from MR_ANDERSON.Login l
join MR_ANDERSON.Datos_Proveedores prov on prov.username = l.username
where
(@filtro1 is null or PATINDEX( @filtro1,prov.provee_rs) = 1)
and (@filtro2 is null or PATINDEX(@filtro2, prov.provee_cuit) = 1)
and(@filtro3 is null or PATINDEX(@filtro4,prov.provee_email) = 1)
end
end
--get ciudades para usuario
create procedure MR_ANDERSON.sp_get_ciudades_para_usr (@dni numeric)
as
begin
select ciudad from MR_ANDERSON.ciudades
where dni = @dni
end
GO
--get datos cliente dni
create procedure MR_ANDERSON.sp_get_datos_cliente(@username varchar(100))
as
begin
select nombre,apellido,telefono,mail,YEAR(fecha_nac)*10000+MONTH(fecha_nac)*100+DAY(fecha_nac) as fecha_nac,saldo,dni
from MR_ANDERSON.Datos_clientes
where username = @username
end
GO
--usuario Habilitado
create procedure MR_ANDERSON.sp_usuario_habilitado (@nombre_usuario varchar(100))
as
begin
select Habilitado from MR_ANDERSON.Login
where username = @nombre_usuario
end
GO