291 lines
10 KiB
MySQL
291 lines
10 KiB
MySQL
|
|
crear tablas para migrar
|
|||
|
|
|
|||
|
|
CREATE TABLE PRESUPUESTOSVIEJOS (
|
|||
|
|
CODIGOEMPRESA CODIGOSEMPRESAS NOT NULL /* CODIGOSEMPRESAS = SMALLINT */,
|
|||
|
|
CODIGO CODIGOS NOT NULL /* CODIGOS = INTEGER */,
|
|||
|
|
FECHAALTA FECHAS NOT NULL /* FECHAS = DATE */,
|
|||
|
|
USUARIO NOMBRES NOT NULL /* NOMBRES = VARCHAR(100) */,
|
|||
|
|
CODIGOCONTACTO CODIGOS NOT NULL /* CODIGOS = INTEGER */,
|
|||
|
|
TIPO VARCHAR(10) NOT NULL,
|
|||
|
|
FECHAPRESUPUESTO FECHAS NOT NULL /* FECHAS = DATE */,
|
|||
|
|
VIGENCIAPRESUPUESTO FECHAS /* FECHAS = DATE */,
|
|||
|
|
SITUACION SITUACIONES NOT NULL /* SITUACIONES = VARCHAR(30) */,
|
|||
|
|
FECHADECISION FECHAS /* FECHAS = DATE */,
|
|||
|
|
BASEIMPONIBLE IMPORTES2 /* IMPORTES2 = NUMERIC(11,2) DEFAULT 0 */,
|
|||
|
|
DESCUENTO PORCENTAJES /* PORCENTAJES = FLOAT */,
|
|||
|
|
IMPORTEDESCUENTO IMPORTES2 /* IMPORTES2 = NUMERIC(11,2) DEFAULT 0 */,
|
|||
|
|
IVA PORCENTAJES /* PORCENTAJES = FLOAT */,
|
|||
|
|
IMPORTEIVA IMPORTES2 /* IMPORTES2 = NUMERIC(11,2) DEFAULT 0 */,
|
|||
|
|
IMPORTETOTAL IMPORTES2 /* IMPORTES2 = NUMERIC(11,2) DEFAULT 0 */,
|
|||
|
|
OBSERVACIONES OBSERVACIONES /* OBSERVACIONES = BLOB SUB_TYPE 1 SEGMENT SIZE 100 */,
|
|||
|
|
PLAZOENTREGA OBSERVACIONES /* OBSERVACIONES = BLOB SUB_TYPE 1 SEGMENT SIZE 100 */,
|
|||
|
|
FORMAPAGO OBSERVACIONES /* OBSERVACIONES = BLOB SUB_TYPE 1 SEGMENT SIZE 100 */,
|
|||
|
|
OPCION NOMBRES /* NOMBRES = VARCHAR(100) */,
|
|||
|
|
BAJA CHAR(1) DEFAULT 'N',
|
|||
|
|
SITUACION_MONTAJE SITUACIONES /* SITUACIONES = VARCHAR(30) */,
|
|||
|
|
CODIGO_CONTACTO CODIGOS NOT NULL /* CODIGOS = INTEGER */,
|
|||
|
|
NIFCIF NIFCIFS /* NIFCIFS = VARCHAR(10) */,
|
|||
|
|
NOMBRE NOMBRES NOT NULL /* NOMBRES = VARCHAR(100) */,
|
|||
|
|
NOTAS DESCRIPCIONES /* DESCRIPCIONES = VARCHAR(2000) */,
|
|||
|
|
CALLE CALLES /* CALLES = VARCHAR(150) */,
|
|||
|
|
PROVINCIA PROVINCIAS /* PROVINCIAS = VARCHAR(30) */,
|
|||
|
|
CODIGOPOSTAL CODIGOSPOSTALES /* CODIGOSPOSTALES = VARCHAR(5) */,
|
|||
|
|
POBLACION POBLACIONES /* POBLACIONES = VARCHAR(40) */,
|
|||
|
|
TELEFONO1 TELEFONOS /* TELEFONOS = VARCHAR(30) */,
|
|||
|
|
TELEFONO2 TELEFONOS /* TELEFONOS = VARCHAR(30) */,
|
|||
|
|
MOVIL TELEFONOS /* TELEFONOS = VARCHAR(30) */,
|
|||
|
|
FAX TELEFONOS /* TELEFONOS = VARCHAR(30) */,
|
|||
|
|
CORREO1 CORREOS /* CORREOS = VARCHAR(60) */,
|
|||
|
|
CORREO2 CORREOS /* CORREOS = VARCHAR(60) */,
|
|||
|
|
PAGINAWEB NOMBRES /* NOMBRES = VARCHAR(100) */,
|
|||
|
|
PERSONACONTACTO NOMBRES /* NOMBRES = VARCHAR(100) */,
|
|||
|
|
BAJA_LOGICA SMALLINT DEFAULT 0 NOT NULL
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
CREATE TABLE PRESUPUESTOSVIEJOS_DETALLES (
|
|||
|
|
CODIGOPRESUPUESTO CODIGOS NOT NULL /* CODIGOS = INTEGER */,
|
|||
|
|
NUMCONCEPTO NUMCONCEPTOS NOT NULL /* NUMCONCEPTOS = SMALLINT */,
|
|||
|
|
POSICION SMALLINT NOT NULL,
|
|||
|
|
TIPO CHAR(1),
|
|||
|
|
DESCRIPCION DESCRIPCIONES /* DESCRIPCIONES = VARCHAR(2000) */,
|
|||
|
|
CANTIDAD CANTIDADES /* CANTIDADES = NUMERIC(9,0) */,
|
|||
|
|
PUNTOS PUNTOS /* PUNTOS = INTEGER */,
|
|||
|
|
IMPORTEPUNTOS IMPORTES2 /* IMPORTES2 = NUMERIC(11,2) DEFAULT 0 */,
|
|||
|
|
IMPORTEUNIDAD IMPORTES2 /* IMPORTES2 = NUMERIC(11,2) DEFAULT 0 */,
|
|||
|
|
IMPORTETOTAL IMPORTES2 /* IMPORTES2 = NUMERIC(11,2) DEFAULT 0 */,
|
|||
|
|
VISIBLE VISIBLE NOT NULL /* VISIBLE = CHAR(1) DEFAULT 'S' NOT NULL */,
|
|||
|
|
VALORADO CHAR(1) NOT NULL
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//CARGAMOS LAS TABLAS
|
|||
|
|
|
|||
|
|
insert into presupuestosviejos
|
|||
|
|
select
|
|||
|
|
presupuestos.CODIGOEMPRESA,
|
|||
|
|
presupuestos.CODIGO,
|
|||
|
|
presupuestos.FECHAALTA,
|
|||
|
|
presupuestos.USUARIO,
|
|||
|
|
CODIGOCONTACTO,
|
|||
|
|
TIPO,
|
|||
|
|
FECHAPRESUPUESTO,
|
|||
|
|
VIGENCIAPRESUPUESTO,
|
|||
|
|
SITUACION,
|
|||
|
|
FECHADECISION,
|
|||
|
|
BASEIMPONIBLE,
|
|||
|
|
DESCUENTO,
|
|||
|
|
IMPORTEDESCUENTO,
|
|||
|
|
IVA,
|
|||
|
|
IMPORTEIVA,
|
|||
|
|
IMPORTETOTAL,
|
|||
|
|
OBSERVACIONES,
|
|||
|
|
PLAZOENTREGA,
|
|||
|
|
FORMAPAGO,
|
|||
|
|
OPCION,
|
|||
|
|
BAJA,
|
|||
|
|
SITUACION_MONTAJE,
|
|||
|
|
contactos.CODIGO as CODIGO_CONTACTO,
|
|||
|
|
NIFCIF,
|
|||
|
|
NOMBRE,
|
|||
|
|
NOTAS,
|
|||
|
|
CALLE,
|
|||
|
|
PROVINCIA,
|
|||
|
|
CODIGOPOSTAL,
|
|||
|
|
POBLACION,
|
|||
|
|
TELEFONO1,
|
|||
|
|
TELEFONO2,
|
|||
|
|
MOVIL,
|
|||
|
|
FAX,
|
|||
|
|
CORREO1,
|
|||
|
|
CORREO2,
|
|||
|
|
PAGINAWEB,
|
|||
|
|
PERSONACONTACTO,
|
|||
|
|
BAJA_LOGICA
|
|||
|
|
from presupuestos
|
|||
|
|
left join contactos on (contactos.codigo = presupuestos.codigocontacto)
|
|||
|
|
where fechapresupuesto > '2020.01.01'
|
|||
|
|
|
|||
|
|
|
|||
|
|
insert into PRESUPUESTOSVIEJOS_DETALLES
|
|||
|
|
select *
|
|||
|
|
from detallespresupuestos
|
|||
|
|
where codigopresupuesto in (select codigo from presupuestosviejos);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
migramos las dos tablas a la nueva base de datos
|
|||
|
|
|
|||
|
|
creamos las tablas
|
|||
|
|
|
|||
|
|
|
|||
|
|
CREATE TABLE PRESUPUESTOSVIEJOS (
|
|||
|
|
CODIGOEMPRESA SMALLINT,
|
|||
|
|
CODIGO INTEGER,
|
|||
|
|
FECHAALTA DATE,
|
|||
|
|
USUARIO VARCHAR(100),
|
|||
|
|
CODIGOCONTACTO INTEGER,
|
|||
|
|
TIPO VARCHAR(10) NOT NULL,
|
|||
|
|
FECHAPRESUPUESTO DATE ,
|
|||
|
|
VIGENCIAPRESUPUESTO DATE ,
|
|||
|
|
SITUACION VARCHAR(30) ,
|
|||
|
|
FECHADECISION DATE ,
|
|||
|
|
BASEIMPONIBLE NUMERIC(11,2) DEFAULT 0 ,
|
|||
|
|
DESCUENTO FLOAT ,
|
|||
|
|
IMPORTEDESCUENTO NUMERIC(11,2) DEFAULT 0 ,
|
|||
|
|
IVA FLOAT ,
|
|||
|
|
IMPORTEIVA NUMERIC(11,2) DEFAULT 0 ,
|
|||
|
|
IMPORTETOTAL NUMERIC(11,2) DEFAULT 0 ,
|
|||
|
|
OBSERVACIONES BLOB SUB_TYPE 1 SEGMENT SIZE 100 ,
|
|||
|
|
PLAZOENTREGA BLOB SUB_TYPE 1 SEGMENT SIZE 100 ,
|
|||
|
|
FORMAPAGO BLOB SUB_TYPE 1 SEGMENT SIZE 100 ,
|
|||
|
|
OPCION VARCHAR(100) ,
|
|||
|
|
BAJA CHAR(1) DEFAULT 'N',
|
|||
|
|
SITUACION_MONTAJE VARCHAR(30) ,
|
|||
|
|
CODIGO_CONTACTO INTEGER ,
|
|||
|
|
NIFCIF VARCHAR(10) ,
|
|||
|
|
NOMBRE VARCHAR(100) ,
|
|||
|
|
NOTAS VARCHAR(2000) ,
|
|||
|
|
CALLE VARCHAR(150) ,
|
|||
|
|
PROVINCIA VARCHAR(30) ,
|
|||
|
|
CODIGOPOSTAL VARCHAR(5) ,
|
|||
|
|
POBLACION VARCHAR(40) ,
|
|||
|
|
TELEFONO1 VARCHAR(30) ,
|
|||
|
|
TELEFONO2 VARCHAR(30) ,
|
|||
|
|
MOVIL VARCHAR(30) ,
|
|||
|
|
FAX VARCHAR(30) ,
|
|||
|
|
CORREO1 VARCHAR(60) ,
|
|||
|
|
CORREO2 VARCHAR(60) ,
|
|||
|
|
PAGINAWEB VARCHAR(100) ,
|
|||
|
|
PERSONACONTACTO VARCHAR(100) ,
|
|||
|
|
BAJA_LOGICA SMALLINT DEFAULT 0 NOT NULL
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
CREATE TABLE PRESUPUESTOSVIEJOS_DETALLES (
|
|||
|
|
CODIGOPRESUPUESTO INTEGER,
|
|||
|
|
NUMCONCEPTO SMALLINT ,
|
|||
|
|
POSICION SMALLINT NOT NULL,
|
|||
|
|
TIPO CHAR(1),
|
|||
|
|
DESCRIPCION VARCHAR(2000),
|
|||
|
|
CANTIDAD NUMERIC(9,0),
|
|||
|
|
PUNTOS INTEGER,
|
|||
|
|
IMPORTEPUNTOS NUMERIC(11,2) DEFAULT 0,
|
|||
|
|
IMPORTEUNIDAD NUMERIC(11,2) DEFAULT 0,
|
|||
|
|
IMPORTETOTAL NUMERIC(11,2) DEFAULT 0,
|
|||
|
|
VISIBLE CHAR(1) DEFAULT 'S' NOT NULL,
|
|||
|
|
VALORADO CHAR(1) NOT NULL
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
|
|||
|
|
exportamos metadata e importamos en la nueva
|
|||
|
|
|
|||
|
|
//INSERTAMOS LOS PRESUPUESTO EN LOS CONTRATOS
|
|||
|
|
insert into contratos_cliente
|
|||
|
|
select GEN_ID(GEN_PRESUPUESTOS_CLI_ID, 1), 1, null, nifcif, nombre, calle, poblacion, provincia, codigopostal, 'PRE20/000' || GEN_ID(GEN_EMPRESAS_ID, 1), FECHAPRESUPUESTO, SITUACION,
|
|||
|
|
FORMAPAGO, PLAZOENTREGA, OBSERVACIONES, null, 0, fechaalta, fechaalta, 'carga_inicial',
|
|||
|
|
baseimponible, null, descuento, importedescuento, baseimponible - importedescuento, iva, importeiva, importetotal, 6, 1, null,
|
|||
|
|
case
|
|||
|
|
when iva is null then 4
|
|||
|
|
when iva = 21 then 7
|
|||
|
|
else 4
|
|||
|
|
end,
|
|||
|
|
|
|||
|
|
codigo_contacto,
|
|||
|
|
0,
|
|||
|
|
0,
|
|||
|
|
0,
|
|||
|
|
null, null, null, tipo, null, null, opcion, fechadecision, null, codigo
|
|||
|
|
|
|||
|
|
from presupuestosviejos
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
create view V_clientesViejos(
|
|||
|
|
nifcif, nombre, calle, poblacion, provincia, codigopostal,
|
|||
|
|
telefono1, telefono2, movil, movil2, fax,
|
|||
|
|
correo1, correo2, paginaweb, notas,
|
|||
|
|
fechaalta, fechamodificacion, codigo_contacto
|
|||
|
|
)
|
|||
|
|
as
|
|||
|
|
|
|||
|
|
select distinct nifcif, nombre, calle, poblacion, provincia, codigopostal,
|
|||
|
|
substr(telefono1,1,24), substr(telefono2,1,24), substr(movil,1,24), substr(fax,1,24), substr(fax,1,24),
|
|||
|
|
correo1, correo2, paginaweb, notas,
|
|||
|
|
current_date , current_date , codigo_contacto
|
|||
|
|
from presupuestosviejos;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//CREAMOS LOS CONTACTOS NUEVOS
|
|||
|
|
insert into contactos
|
|||
|
|
select GEN_ID(GEN_CONTACTOS_ID, 1), nifcif, nombre, calle, poblacion, provincia, codigopostal,
|
|||
|
|
telefono1, telefono2, movil, movil2, fax,
|
|||
|
|
correo1, correo2, paginaweb, notas,
|
|||
|
|
fechaalta, fechaalta, 'carga_inicial', 'CL20/000' || GEN_ID(GEN_PRESUPUESTOS_CLI_ID, 1), codigo_contacto, 1
|
|||
|
|
|
|||
|
|
from V_clientesViejos
|
|||
|
|
|
|||
|
|
|
|||
|
|
//A<EFBFBD>adimos como clientes
|
|||
|
|
insert into contactos_categorias
|
|||
|
|
select id, 1
|
|||
|
|
from contactos
|
|||
|
|
where id < 10000
|
|||
|
|
|
|||
|
|
//A<EFBFBD>adimos el premiso para la empreas
|
|||
|
|
insert into empresas_contactos
|
|||
|
|
select GEN_ID(GEN_EMPRESAS_CONTACTOS_ID, 1), 1, id
|
|||
|
|
from contactos
|
|||
|
|
where id < 10000
|
|||
|
|
|
|||
|
|
//Insertamos tupla vacia de clientes_datos a todos los clientes
|
|||
|
|
insert into clientes_datos (id_cliente)
|
|||
|
|
select id
|
|||
|
|
from contactos
|
|||
|
|
where usuario = 'carga_inicial';
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//Enlazamos los clientes
|
|||
|
|
update contratos_cliente
|
|||
|
|
set contratos_cliente.id_cliente = (select contactos.ID from contactos where ((contactos.PERSONA_CONTACTO is not null) and (contactos.PERSONA_CONTACTO = contratos_cliente.persona_contacto)))
|
|||
|
|
where contratos_cliente.id_cliente is null;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
insert into contratos_cliente_detalles
|
|||
|
|
select GEN_ID(GEN_CONTRATOS_CLI_DETALLE_ID, 1),
|
|||
|
|
(select contratos_cliente.ID from contratos_cliente where ((contratos_cliente.campo_libre is not null) and (contratos_cliente.campo_libre = presupuestosviejos_detalles.codigopresupuesto))),
|
|||
|
|
presupuestosviejos_detalles.posicion,
|
|||
|
|
case
|
|||
|
|
when tipo = 'C' then 'Concepto'
|
|||
|
|
when tipo = 'T' then 'Titulo'
|
|||
|
|
when tipo = 'S' then 'Subtotal'
|
|||
|
|
end,
|
|||
|
|
null,
|
|||
|
|
null,
|
|||
|
|
null,
|
|||
|
|
descripcion,
|
|||
|
|
cantidad,
|
|||
|
|
importeunidad,
|
|||
|
|
null,
|
|||
|
|
null,
|
|||
|
|
importetotal,
|
|||
|
|
case
|
|||
|
|
when visible = 'S' then 1
|
|||
|
|
when visible = 'N' then 0
|
|||
|
|
end,
|
|||
|
|
current_date,
|
|||
|
|
current_date,
|
|||
|
|
case
|
|||
|
|
when valorado = 'S' then 1
|
|||
|
|
when valorado = 'N' then 0
|
|||
|
|
end
|
|||
|
|
|
|||
|
|
from presupuestosviejos_detalles
|