-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTiempos.txt
221 lines (179 loc) · 10.8 KB
/
Tiempos.txt
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
#Carga completa clientes, giftcards y cargas, tipos_pago, ciudades, clientes_ciudades: 3:01
select distinct cli_nombre, cli_apellido, Cli_Dni,Cli_Direccion, Cli_Telefono, Cli_Mail, Cli_Fecha_Nac, Cli_Ciudad,
Carga_Credito, Carga_Fecha, Cli_Dest_Dni, GiftCard_Fecha, GiftCard_Monto
into orion.clientes_temp
from gd_esquema.Maestra
#Agrego indices
CREATE INDEX idx_clientes_temp_cli_dest_dni ON ORION.clientes_temp(cli_dest_dni)
CREATE INDEX idx_clientes_temp_cli_dni ON ORION.clientes_temp(cli_dni)
#Clientes: ??:??
insert into ORION.clientes(nombre, apellido, dni, email, telefono, direccion, localidad, codigo_postal,
fecha_nacimiento, idusuario, credito_actual, activo)
select distinct cli_nombre, Cli_Apellido, Cli_Dni, Cli_Mail, Cli_Telefono, Cli_Direccion, Cli_Ciudad,
'' codpostal, Cli_Fecha_Nac, 0 idusuario, 0 credito, 1 habilitado
from ORION.clientes_temp
CREATE INDEX idx_clientes_dni ON ORION.clientes(dni)
#GiftCards: 00:03
insert into orion.gift_cards(fecha, monto, idcliente_origen, idcliente_destino)
select ct.giftcard_fecha, ct.giftcard_monto, c.idcliente, c2.idcliente
from orion.clientes_temp ct
left join orion.clientes c on c.dni = ct.cli_dni
left join orion.clientes c2 on c2.dni = ct.cli_dest_dni
where ct.giftcard_fecha is not null
#Cargas crédito 00:06
insert into orion.cargas(fecha_carga, idcliente, idtipo_pago, monto)
select carga_fecha, c.idcliente, case tipo_pago_desc when 'Efectivo' then 1 when 'Crédito' then 2 else 0 end,
ct.carga_credito
from orion.clientes_temp ct
left join orion.clientes c on c.dni = ct.cli_dni
where ct.carga_credito is not null
#Tipos_pago 00:00
insert into ORION.tipos_pago(descripcion, visible) values('Sistema', 0)
insert into ORION.tipos_pago(descripcion) values('Efectivo')
insert into ORION.tipos_pago(descripcion) values('Crédito')
#Ciudades 00:00
insert into ORION.ciudades(descripcion)
select distinct localidad from ORION.clientes
#Clientes_ciudades 00:00
insert into ORION.clientes_ciudades(idcliente, idciudad)
select c.idcliente, ci.idciudad from ORION.clientes c
left join orion.ciudades ci on ci.descripcion = c.localidad
#Carga general proveedores, cupones, devoluciones, compras, compras_estados,
#facturas, rubros, cupones_ciudades, funcionalidades, roles, facturas, facturas_items 02:17
select cli_dni, Provee_RS,Provee_Dom,Provee_Ciudad,Provee_Telefono,Provee_CUIT,Provee_Rubro,
Groupon_Cantidad, Groupon_Codigo, Groupon_Descripcion,
Groupon_Devolucion_Fecha, Groupon_Entregado_Fecha, Groupon_Fecha, Groupon_Fecha_Compra,
Groupon_Fecha_Venc, Groupon_Precio, Groupon_Precio_Ficticio, Factura_Nro, Factura_Fecha
into orion.proveedores_temp
from gd_esquema.Maestra
#Agrego indices 00:46
CREATE INDEX idx_proveedores_temp_cli_dni ON ORION.proveedores_temp(cli_dni)
CREATE INDEX idx_proveedores_temp_prove_cuit ON ORION.proveedores_temp(provee_cuit)
CREATE INDEX idx_proveedores_temp_groupon_codigo ON ORION.proveedores_temp(groupon_codigo)
CREATE INDEX idx_proveedores_temp_rs ON ORION.proveedores_temp(provee_rs)
#Proveedores: 00:46
insert into ORION.proveedores(razon_social, direccion, localidad, telefono, cuit, rubro)
select distinct Provee_RS,Provee_Dom,Provee_Ciudad,Provee_Telefono,Provee_CUIT,Provee_Rubro from orion.proveedores_temp
WHERE orion.proveedores_temp.provee_RS is not null
#Agrego indices 00:00
CREATE INDEX idx_proveedores_prove_cuit ON ORION.proveedores(cuit)
#Actualizo la ciudad en la que trabaja 00:00
update ORION.proveedores set idciudad = (select idciudad from ORION.ciudades where descripcion = localidad)
#Rubros 00:03
insert into orion.rubros(descripcion)
select distinct rubro from ORION.proveedores
#Actualizo a los proveedores su rubro y borro la columna de rubro 00:00
update ORION.proveedores set idrubro = (select idrubro from ORION.rubros where descripcion = rubro)
alter table orion.proveedores drop column rubro
#Cupones 00:43
insert into ORION.cupones(idproveedor, descripcion, codigo, fecha_publicacion, fecha_vencimiento, precio_real, precio_ficticio,
cantidad_disponible)
select p.idproveedor, groupon_descripcion, groupon_codigo, groupon_fecha, groupon_fecha_venc, groupon_precio, groupon_precio_ficticio,
sum(isnull(groupon_cantidad,0))
from ORION.proveedores_temp ct
inner join ORION.proveedores p on p.cuit = ct.provee_cuit
group by p.idproveedor, groupon_descripcion,groupon_codigo, groupon_fecha, groupon_fecha_venc, groupon_precio, groupon_precio_ficticio
#Compras_estados 00:00
insert into ORION.compras_estados(descripcion) values('Comprado')
insert into ORION.compras_estados(descripcion) values('Entregado')
insert into ORION.compras_estados(descripcion) values('Devuelto')
insert into ORION.compras_estados(descripcion) values('Vencido')
#Compras 00:08
insert into orion.compras(idcliente, fecha_compra, cantidad, idcupon, nro_cupon)
select c.idcliente, pt.Groupon_Fecha_Compra, COUNT(distinct Groupon_Codigo), cu.idcupon, cu.idcupon
from orion.proveedores_temp pt
left join ORION.clientes c on c.dni = pt.cli_dni
left join ORION.cupones cu on cu.codigo = pt.Groupon_Codigo
where Groupon_Descripcion is not null and groupon_fecha_compra is not null and groupon_devolucion_Fecha is null and
groupon_entregado_fecha is null
group by c.idcliente, pt.Groupon_Fecha_Compra, cu.idcupon, Groupon_Devolucion_Fecha, Groupon_Entregado_Fecha
#Devoluciones 00:05
insert into ORION.devoluciones(fecha_devolucion, idcompra, motivo)
select Groupon_Devolucion_Fecha, co.idcompra, '- no especifica (carga inicial) -'
from orion.proveedores_temp pt
left join ORION.clientes c on c.dni = pt.cli_dni
left join ORION.cupones cu on cu.codigo = pt.Groupon_Codigo
left join ORION.compras co on co.idcliente = c.idcliente and co.idcupon = cu.idcupon
where Groupon_Descripcion is not null and groupon_fecha_compra is not null and groupon_devolucion_Fecha is not null and
groupon_entregado_fecha is null
group by Groupon_Devolucion_Fecha, co.idcompra
order by Groupon_Devolucion_Fecha
#Consumos 00:05
insert into ORION.consumos(fecha_consumo, idcompra)
select Groupon_Entregado_Fecha, co.idcompra
from orion.proveedores_temp pt
left join ORION.clientes c on c.dni = pt.cli_dni
left join ORION.cupones cu on cu.codigo = pt.Groupon_Codigo
left join ORION.compras co on co.idcliente = c.idcliente and co.idcupon = cu.idcupon
where Groupon_Descripcion is not null and groupon_fecha_compra is not null and groupon_devolucion_Fecha is null and
groupon_entregado_fecha is not null
group by Groupon_Entregado_Fecha, co.idcompra
order by Groupon_Entregado_Fecha
#Facturas 00:01
insert into ORION.facturas(fecha_generacion, idproveedor, nro_factura)
select distinct Factura_Fecha, p.idproveedor, Factura_Nro
from ORION.proveedores_temp pt
left join orion.proveedores p on pt.Provee_CUIT = p.cuit
where Factura_Fecha is not null
order by Factura_Fecha, factura_nro
#FActuras_items
insert into ORION.facturas_items(idfactura, idconsumo)
select f.idfactura, con.idconsumo
from orion.proveedores_temp pt
left join ORION.clientes c on c.dni = pt.cli_dni
left join ORION.cupones cu on cu.codigo = pt.Groupon_Codigo
left join ORION.compras co on co.idcliente = c.idcliente and co.idcupon = cu.idcupon
left join ORION.consumos con on con.idcompra = co.idcompra
left join ORION.facturas f on f.nro_factura = pt.Factura_Nro
where Groupon_Descripcion is not null and groupon_fecha_compra is not null and groupon_devolucion_Fecha is null and
groupon_entregado_fecha is null and pt.Factura_Nro is not null
order by f.idfactura, con.idconsumo
#cupones_ciudades 00:00
insert into ORION.cupones_ciudades(idcupon, idciudad) select c.idcupon, p.idciudad from ORION.cupones c
left join orion.proveedores p on p.idproveedor = c.idproveedor
#Usuarios_tipo 00:00
insert into ORION.usuarios_tipos(descripcion) values('Administrativo')
insert into ORION.usuarios_tipos(descripcion) values('Cliente')
insert into ORION.usuarios_tipos(descripcion) values('Proveedor')
#Funcionalidades 00:00
insert into ORION.funcionalidades(descripcion) values('ABM de Cliente');
insert into ORION.funcionalidades(descripcion) values('ABM de Proveedor');
insert into ORION.funcionalidades(descripcion) values('ABM de Rol');
insert into ORION.funcionalidades(descripcion) values('Armar Cupón');
insert into ORION.funcionalidades(descripcion) values('Cargar Crédito');
insert into ORION.funcionalidades(descripcion) values('Comprar Cupón');
insert into ORION.funcionalidades(descripcion) values('Comprar GiftCard');
insert into ORION.funcionalidades(descripcion) values('Facturación a Proveedor');
insert into ORION.funcionalidades(descripcion) values('Historial de Compra de Cupones');
insert into ORION.funcionalidades(descripcion) values('Listado Estadístico');
insert into ORION.funcionalidades(descripcion) values('Pedir Devolución');
insert into ORION.funcionalidades(descripcion) values('Publicar Cupón');
insert into ORION.funcionalidades(descripcion) values('Registro de consumo de Cupón');
insert into ORION.funcionalidades(descripcion) values('Registro de Usuario');
#Roles 00:00
Insert into orion.roles(descripcion) values('Administrador');
Insert into orion.roles(descripcion) values('Cliente');
Insert into orion.roles(descripcion) values('Proveedor');
Insert into orion.roles(descripcion) values('Administrador general');
#Asigno las funcionalidades default de cada uno
#Clientes
insert into ORION.roles_funcionalidades(idrol, idfuncionalidad)
select 2,idfuncionalidad from orion.funcionalidades where idfuncionalidad in (5, 6,7,9, 11,14)
#Proveedores
insert into ORION.roles_funcionalidades(idrol, idfuncionalidad)
select 3,idfuncionalidad from orion.funcionalidades where idfuncionalidad in (4, 13 )
#Rol Administrador General
insert into ORION.roles_funcionalidades(idrol, idfuncionalidad) select 4,idfuncionalidad from orion.funcionalidades order by idfuncionalidad
#Usuario administrativo
insert into ORION.usuarios(fecha_alta, username, clave, idrol, idusuario_tipo) values(
'20121001', 'admin', 'E6B87050BFCB8143FCB8DB0170A4DC9ED00D904DDD3E2A4AD1B1E8DC0FDC9BE7', 4,4)
#Usuario clientes
insert into ORION.usuarios(fecha_alta, username, clave, idrol, idusuario_tipo)
select '20121001', dni, '8D969EEF6ECAD3C29A3A629280E686CF0C3F5D5A86AFF3CA12020C923ADC6C92', 2, 2 from ORION.clientes
update ORION.clientes set idusuario = us.idusuario from ORION.usuarios us where us.username = cast(ORION.clientes.dni as varchar)
and us.idusuario_tipo = 2
#Usuario proveedores
insert into ORION.usuarios(fecha_alta, username, clave, idrol, idusuario_tipo)
select '20121001', cuit, '8D969EEF6ECAD3C29A3A629280E686CF0C3F5D5A86AFF3CA12020C923ADC6C920',3,3 from ORION.proveedores
update ORION.proveedores set idusuario = us.idusuario from ORION.usuarios us where us.username = cast(ORION.proveedores.cuit as varchar)
and us.idusuario_tipo = 3