Untitled

 avatar
unknown
plain_text
a year ago
63 kB
15
Indexable
/*SQL CAMPOS NUEVOS.  */

                      /*  A fecha 28/05/2024 */

CREATE TABLE IF NOT EXISTS `inslininciden` (
	`clave` CHAR(10) NOT NULL COLLATE 'latin1_spanish_ci',
	`codigo` INT(10) NOT NULL,
	`descrip` TINYTEXT NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	PRIMARY KEY (`clave`)
)
COLLATE='latin1_spanish_ci'
ENGINE=InnoDB;

ALTER TABLE `inslin`
	ADD COLUMN IF NOT EXISTS `incidencia` INT(10) NULL DEFAULT NULL,
	ADD COLUMN IF NOT EXISTS `cantidadinci` DOUBLE NULL DEFAULT NULL;

ALTER TABLE `instala`
  ADD COLUMN IF NOT EXISTS `nombreref` varchar(30),
  ADD COLUMN IF NOT EXISTS `firmaEnCalidadDe` varchar(20);

ALTER TABLE `inslin` ADD COLUMN IF NOT EXISTS `alto` double DEFAULT NULL;
ALTER TABLE `inslin` ADD COLUMN IF NOT EXISTS `ancho` double DEFAULT NULL;
ALTER TABLE `inslin` ADD COLUMN IF NOT EXISTS `metros` double DEFAULT NULL;
ALTER TABLE `inslin` ADD COLUMN IF NOT EXISTS `unidadmedida` varchar(20) COLLATE latin1_spanish_ci DEFAULT NULL;

ALTER TABLE `instalamedia`
  ADD COLUMN IF NOT EXISTS `firmainicial` mediumtext;
CREATE TABLE IF NOT EXISTS `tarea` (
	`clave` CHAR(10) NOT NULL COLLATE 'latin1_spanish_ci',
	`codigo` INT(9) UNSIGNED NOT NULL,
	`asunto` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`descripcion` TEXT NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`estado` VARCHAR(15) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`fechainicio` DATETIME NULL DEFAULT NULL,
	`fechafin` DATETIME NULL DEFAULT NULL,
	`clienteclave` CHAR(10) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`nombrecliente` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`direcliente` VARCHAR(70) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`tlfnocliente` VARCHAR(15) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`emailcliente` VARCHAR(50) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`instalaclave` CHAR(10) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	PRIMARY KEY (`clave`)
)
COLLATE='latin1_spanish_ci'
ENGINE=InnoDB
;

CREATE TABLE IF NOT EXISTS `tareausuario` (
  `clave` char(10) NOT NULL,
  `codigo` int(9) UNSIGNED NOT NULL,
  `tareaclave` char(10) DEFAULT NULL,
  `usuarioclave` char(10) DEFAULT NULL,
  `nombreusuario` varchar(50) DEFAULT '',
  PRIMARY KEY (`clave`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

CREATE TABLE IF NOT EXISTS `inslinpregun` (
  `clave` char(10) NOT NULL,
  `codigo` int(10) NOT NULL,
  `línea` varchar(10) DEFAULT '',
  `pregunta` int(11) DEFAULT NULL,
  `respuesta` tinyint(1) DEFAULT 2,
  `texto` text DEFAULT NULL,
  `visible` tinyint(1) DEFAULT 1,
  PRIMARY KEY (`clave`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;


CREATE TABLE IF NOT EXISTS `inslintiempo` (
  `clave` char(10) NOT NULL,
  `codigo` int(10) NOT NULL,
  `fechainicio` datetime DEFAULT NULL,
  `fechafin` datetime DEFAULT NULL,
  `duracion` double DEFAULT NULL,
  `linea` int(10) DEFAULT NULL,
  `orden` int(10) DEFAULT NULL,
  `tecnico` int(4) DEFAULT NULL,
  PRIMARY KEY (`clave`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

CREATE TABLE IF NOT EXISTS `instalausuario` (
  `clave` char(10) NOT NULL,
  `codigo` int(9) unsigned NOT NULL,
  `instalaclave` char(10) NOT NULL,
  `usuarioclave` char(10) NOT NULL,
  PRIMARY KEY (`clave`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

ALTER TABLE `entorno2`
  ADD COLUMN IF NOT EXISTS `pedirfirmainicial` tinyint(1) unsigned DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `medidasenlineas` tinyint(1) DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `firmaobligatoria` tinyint(1) DEFAULT 0;

ALTER TABLE `maquina`
  ADD COLUMN IF NOT EXISTS `baja` tinyint(1) DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `fecbaja` date,
  ADD COLUMN IF NOT EXISTS `motivo` varchar(50);

ALTER TABLE `usuario`
  ADD COLUMN IF NOT EXISTS `vermarcajes` tinyint(1) DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `crearlineas` tinyint(1) DEFAULT 0;

/*  A fecha 12/06/2024 */


 ALTER TABLE `instala`
	ADD COLUMN IF NOT EXISTS `ruta` varchar(50) COLLATE latin1_spanish_ci DEFAULT NULL;
ALTER TABLE `usuario`
  ADD COLUMN IF NOT EXISTS `verfiltroruta` tinyint(1) DEFAULT 0;

/* A fecha 18/06/2024 */
ALTER TABLE `usuario`
	ADD COLUMN IF NOT EXISTS `recuperarfinalizadas` TINYINT(1) NULL DEFAULT 0;

DELIMITER //
DROP TRIGGER IF EXISTS after_update_instala_to_tarea//
CREATE TRIGGER after_update_instala_to_tarea
AFTER UPDATE ON instala
FOR EACH ROW
BEGIN
    DECLARE v_tareaClave CHAR(10);
    DECLARE v_nombrecliente VARCHAR(50);
    DECLARE v_direcliente VARCHAR(70);
    DECLARE v_tlfnocliente VARCHAR(15);
    DECLARE v_emailcliente VARCHAR(50);
    DECLARE v_nombreusuario VARCHAR(50);
    DECLARE lastCodeTarea INT;
    DECLARE nextCodeTarea INT;
    DECLARE lastCodeTareausuario INT;
    DECLARE nextCodeTareausuario INT;

    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
    BEGIN
        -- IGNORAR TRIGGER EN CASO DE ERROR
    END;

    /*Traer nuevos códigos para tarea y tareausuario*/
    SELECT COALESCE(MAX(codigo), 0) INTO lastCodeTarea FROM tarea;
    SET nextCodeTarea = lastCodeTarea + 1;
    SELECT COALESCE(MAX(codigo), 0) INTO lastCodeTareausuario FROM tareausuario;
    SET nextCodeTareausuario = lastCodeTareausuario + 1;

    SELECT clave INTO v_tareaClave FROM tarea WHERE instalaclave = OLD.clave;

    SELECT nombre, direccion, tlfno1, email INTO v_nombrecliente, v_direcliente, v_tlfnocliente, v_emailcliente FROM cliente WHERE clave = NEW.idcliente;
    SELECT nombre INTO v_nombreusuario FROM usuario WHERE clave = NEW.idtecnico;

    UPDATE tarea 
    SET 
        descripcion = NEW.descrip,
        estado        = CASE 
                      WHEN NEW.estado IN ('Iniciada','Pendiente','Finalizada') 
                      THEN NEW.estado 
                      ELSE estado 
                    END,
        fechainicio = NEW.fecservicio,
        fechafin = NEW.fecrecogida,
   fechasync = NOW(),
        clienteclave = NEW.idcliente,
        nombrecliente = v_nombrecliente,
        direcliente = v_direcliente,
        tlfnocliente = v_tlfnocliente,
        emailcliente = v_emailcliente
    WHERE clave = v_tareaClave;

   IF NEW.idtecnico IS NOT NULL THEN
    SELECT COUNT(*) INTO @existing_records FROM tareausuario WHERE tareaclave = v_tareaClave;

    IF @existing_records > 0 THEN
        UPDATE tareausuario 
        SET 
            usuarioclave = NEW.idtecnico,
            nombreusuario = v_nombreusuario
        WHERE tareaclave = v_tareaClave;
    ELSE
        INSERT INTO tareausuario (clave, codigo, tareaclave, usuarioclave, nombreusuario)
        VALUES (
            generadorClaves(),
            nextCodeTareausuario,
            v_tareaClave,
            NEW.idtecnico,
            v_nombreusuario
        );
    END IF;
END IF;

END //

DELIMITER //
DROP TRIGGER IF EXISTS after_delete_instala_tarea //
CREATE TRIGGER after_delete_instala_tarea
AFTER DELETE ON instala
FOR EACH ROW
BEGIN
    DELETE FROM tarea WHERE instalaclave = OLD.clave;
END //

DROP TRIGGER IF EXISTS after_delete_tarea //
CREATE TRIGGER after_delete_tarea
AFTER DELETE ON tarea
FOR EACH ROW
BEGIN
    DELETE FROM tareausuario WHERE tareaclave = OLD.clave;
END //

DELIMITER //
DROP FUNCTION IF EXISTS generadorClaves //
CREATE FUNCTION generadorClaves()
RETURNS VARCHAR(10)
BEGIN
    DECLARE randomKey VARCHAR(10);
    SET randomKey = SUBSTRING(MD5(RAND()), 1, 10);
    RETURN randomKey;
END//

DELIMITER ;

                                                                                                                            /* A fecha 19/06/2024 */

ALTER TABLE `usuario`
	ADD COLUMN IF NOT EXISTS `vercalendario` TINYINT(1) NULL DEFAULT 0;

/* A fecha 20/06/2024 */
ALTER TABLE `usuario`
	ADD COLUMN IF NOT EXISTS `finalizartodas` TINYINT(1) NULL DEFAULT 0;
ALTER TABLE `instala`
	ADD COLUMN IF NOT EXISTS `pagado` TINYINT(1) NULL DEFAULT 0;

/* A fecha 25/06/2024 */
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `norecalcular` TINYINT(1) NULL DEFAULT 0;
ALTER TABLE `inslin`
	ADD COLUMN IF NOT EXISTS `iddireccion` VARCHAR(10);

/* A fecha 01/07/2024 */
ALTER TABLE `usuario`
	ADD COLUMN IF NOT EXISTS `eschofer` TINYINT(1) NULL DEFAULT 0;
/* A fecha 02/07/2024 */
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `gestiontransporte` TINYINT(1) NULL DEFAULT 0;
/* A fecha 03/07/2024 */
ALTER TABLE `usuario`
ADD COLUMN IF NOT EXISTS `coordactual` VARCHAR(30),
 ADD COLUMN IF NOT EXISTS `vermapa` TINYINT(1) NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS `geolocalizar` TINYINT(1) NULL DEFAULT 0;

ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `mapaloc` TINYINT(1) NULL DEFAULT 0;

/* A fecha 08/07/2024 */
ALTER TABLE `usuario`
ADD COLUMN IF NOT EXISTS `devolveraceptadas` TINYINT(1) NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS `recibirpush` TINYINT(1) NULL DEFAULT 1;
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `tiemposlinea` TINYINT(1) NULL DEFAULT 1;

/* A fecha 06/08/2024 */
ALTER TABLE `usuario`
ADD COLUMN IF NOT EXISTS `verdirecciones` TINYINT(1) NULL DEFAULT 1,
ADD COLUMN IF NOT EXISTS `vermaquinas` TINYINT(1) NULL DEFAULT 1,
ADD COLUMN IF NOT EXISTS `verajustesentorno` TINYINT(1) NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS `verusuarios` TINYINT(1) NULL DEFAULT 1,
ADD COLUMN IF NOT EXISTS `editarlineas` TINYINT(1) NULL DEFAULT 1;
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `logobase64` MEDIUMTEXT NULL DEFAULT NULL;

/* A fecha 12/08/2024 */
ALTER TABLE `instala`
	ADD COLUMN IF NOT EXISTS `deposito` TINYINT NULL DEFAULT 0;

/* A fecha 22/08/2024  1.5.9 */

ALTER TABLE `usuario`
ADD COLUMN IF NOT EXISTS `modificarfechaservicio` TINYINT(1) NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS `modificarfechafinal` TINYINT(1) NULL DEFAULT 0;

/* A fecha 27/08/2024 */
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `anexoordenes` TEXT NULL DEFAULT NULL;

ALTER TABLE `cliente`
CHANGE COLUMN `direccion` `direccion` VARCHAR(100) NULL DEFAULT '',
CHANGE COLUMN `cp` `cp` VARCHAR(10) NULL DEFAULT '',
CHANGE COLUMN `tlfno1` `tlfno1` VARCHAR(35) NULL DEFAULT '',
CHANGE COLUMN `tlfno2` `tlfno2` VARCHAR(35) NULL DEFAULT '',
CHANGE COLUMN `fax` `fax` VARCHAR(35) NULL DEFAULT '';

ALTER TABLE `provee`
CHANGE COLUMN `direccion` `direccion` VARCHAR(100) NULL DEFAULT '',
CHANGE COLUMN `cp` `cp` VARCHAR(10) NULL DEFAULT '',
CHANGE COLUMN `tlfno1` `tlfno1` VARCHAR(35) NULL DEFAULT '',
CHANGE COLUMN `tlfno2` `tlfno2` VARCHAR(35) NULL DEFAULT '',
CHANGE COLUMN `fax` `fax` VARCHAR(35) NULL DEFAULT '';

ALTER TABLE `clidirec`
CHANGE COLUMN `direccion` `direccion` VARCHAR(100) NULL DEFAULT '',
CHANGE COLUMN `udireccion` `udireccion` VARCHAR(100)  NULL DEFAULT '',
CHANGE COLUMN `cp` `cp` VARCHAR(10) NULL DEFAULT '',
CHANGE COLUMN `tlfno1` `tlfno1` VARCHAR(35) NULL DEFAULT '',
CHANGE COLUMN `tlfno2` `tlfno2` VARCHAR(35) NULL DEFAULT '',
CHANGE COLUMN `fax` `fax` VARCHAR(35) NULL DEFAULT '';

/* A fecha 05/09/2024 */
ALTER TABLE `instala`
	ADD COLUMN IF NOT EXISTS `costetransportista` DOUBLE NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `serie` INT(2) NULL DEFAULT NULL;

                                                                                                                           /* A fecha 06/09/2024 */
DROP TRIGGER IF EXISTS trg_insert_inslin_idarticulo;
DELIMITER $$
CREATE TRIGGER trg_insert_inslin_idarticulo
BEFORE INSERT ON inslin
FOR EACH ROW
BEGIN
   /* Verifica si el campo articulo no es nulo */
    IF NEW.articulo IS NOT NULL THEN
       /* Actualiza el idarticulo basándose en el valor de articulo */
        SET NEW.idarticulo = (
            SELECT clave
            FROM articulo
            WHERE articulo.codigo = NEW.articulo
            LIMIT 1
        );
    END IF;
END$$
DELIMITER ;
DROP TRIGGER IF EXISTS trg_update_inslin_idarticulo;
DELIMITER $$
CREATE TRIGGER trg_update_inslin_idarticulo
BEFORE update ON inslin
FOR EACH ROW
BEGIN
   /* Verifica si el campo articulo no es nulo */
    IF NEW.articulo IS NOT NULL THEN
       /* Actualiza el idarticulo basándose en el valor de articulo */
        SET NEW.idarticulo = (
            SELECT clave
            FROM articulo
            WHERE articulo.codigo = NEW.articulo
            LIMIT 1
        );
    END IF;
END$$
DELIMITER ;
/* Elimina el trigger para INSERT si ya existe */
DROP TRIGGER IF EXISTS trg_insert_inslin_idtipotari;
DELIMITER $$
CREATE TRIGGER trg_insert_inslin_idtipotari
BEFORE INSERT ON inslin
FOR EACH ROW
BEGIN
    /* Verifica si el campo tipotari no es nulo */
    IF NEW.tipotari IS NOT NULL THEN
        /* Actualiza el idtipotari basándose en el valor de tipotari */
        SET NEW.idtipotari = (
            SELECT clave
            FROM tipotari
            WHERE tipotari.codigo = NEW.tipotari
            LIMIT 1
        );
    END IF;
END$$
DELIMITER ;
/* Elimina el trigger para UPDATE si ya existe */
DROP TRIGGER IF EXISTS trg_update_inslin_idtipotari;
DELIMITER $$
CREATE TRIGGER trg_update_inslin_idtipotari
BEFORE UPDATE ON inslin
FOR EACH ROW
BEGIN
    /* Verifica si el campo tipotari no es nulo */
    IF NEW.tipotari IS NOT NULL THEN
        /* Actualiza el idtipotari basándose en el valor de tipotari */
        SET NEW.idtipotari = (
            SELECT clave
            FROM tipotari
            WHERE tipotari.codigo = NEW.tipotari
            LIMIT 1
        );
    END IF;
END$$
DELIMITER ;

/* A fecha 26/09/2024 */
ALTER TABLE `fraventa`
	ADD COLUMN IF NOT EXISTS `fase` TINYINT(1) NULL DEFAULT 1,
ADD COLUMN IF NOT EXISTS `estado` VARCHAR(15) NULL DEFAULT 'Espera',
ADD COLUMN IF NOT EXISTS `iniciofacturacion` DATETIME NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `finfacturacion` DATETIME NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `fecoperacion` DATETIME NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `oficontable` VARCHAR(25) NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `orggestor` VARCHAR(25) NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `utramitadora` VARCHAR(25) NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `totalpagar` DOUBLE NULL DEFAULT 0;

/* A fecha 27/09/2024 */
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `recargarvista` INT NULL DEFAULT 600;



/* A fecha 07/10/2024 */
CREATE VIEW IF NOT EXISTS Tiemposerver AS
SELECT NOW() AS Tiempoactual;
/* A fecha 10/10/2024  1.7.2 */
ALTER TABLE `ubicacion`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;
ALTER TABLE `provee`
	ADD COLUMN IF NOT EXISTS `modificado` DATETIME DEFAULT NOW();
ALTER TABLE `usuario`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;
ALTER TABLE `clidirec`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;

/* A fecha 14/10/2024  */
ALTER TABLE `tipoelem`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;
ALTER TABLE `tipotari`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;
ALTER TABLE `eficacia`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;
ALTER TABLE `marca`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;
ALTER TABLE `modelo`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;


/* A fecha 14/10/2024  J*/ 
ALTER TABLE empleado 
ADD COLUMN IF NOT EXISTS fechasync  DATETIME DEFAULT NOW();

ALTER TABLE horario 
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

CREATE TABLE  IF NOT EXISTS  `ubicaocupa` (
  `clave` char(11) NOT NULL,  `idUbicacion` char(11) DEFAULT NULL,  `horaInicio` time DEFAULT NULL,  `horaFin` time DEFAULT NULL,  `idEmpleado` int(11) DEFAULT NULL,  `L` char(1) DEFAULT '0',  `M` char(1) DEFAULT '0',  `X` char(1) DEFAULT '0',  `J` char(1) DEFAULT '0',  `V` char(1) DEFAULT '0',  `S` char(1) DEFAULT '0',  `D` char(1) DEFAULT '0',  `notas` text DEFAULT NULL,
  PRIMARY KEY (`clave`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 

ALTER TABLE usuario
ADD COLUMN IF NOT EXISTS unique_id VARCHAR(50) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS  vermarcaje TINYINT(4) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS  empleado INT(11) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS  expire_url_time DATETIME DEFAULT NULL,
ADD COLUMN IF NOT EXISTS  pass_token_reset VARCHAR(255) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS  token_expiry DATETIME DEFAULT NULL,
ADD COLUMN IF NOT EXISTS  securepassword VARCHAR(128) DEFAULT NULL,
ADD COLUMN  IF NOT EXISTS  sessiontoken VARCHAR(128) DEFAULT NULL;

/* A fecha 21/10/2024 1.7.3 */
ALTER TABLE usuario
ADD COLUMN IF NOT EXISTS tiemposlinea TINYINT(1) DEFAULT 1;
/* A fecha 23/10/2024 */
ALTER TABLE maquina
ADD COLUMN IF NOT EXISTS kilometros INT DEFAULT 0,
ADD COLUMN IF NOT EXISTS horas INT DEFAULT 0,
ADD COLUMN IF NOT EXISTS fechavencseg DATE DEFAULT NULL,
ADD COLUMN IF NOT EXISTS fechavencitv DATE DEFAULT NULL;
/* A fecha 24/10/2024 */

ALTER TABLE horario
 MODIFY IF EXISTS coordenada VARCHAR(50);

/* A fecha 25/10/2024 Luis */

ALTER TABLE `agente`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;

ALTER TABLE  comercial 
ADD COLUMN IF NOT EXISTS idagente CHAR(10) DEFAULT NULL;


/* A fecha 29/10/2024 */
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `esconstructora` TINYINT(1) NULL DEFAULT 0;


/* A fecha 30/10/2024  */
ALTER TABLE `fraventa`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `albventa`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `pedido`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `presupuesto`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();

/* A fecha 07/11/2024  1.7.5*/
ALTER TABLE `inslin`
	ADD COLUMN IF NOT EXISTS `idpalet` CHAR(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `intercambiopalets` TINYINT(1) DEFAULT 0,
ADD COLUMN IF NOT EXISTS `cantpalets` DOUBLE DEFAULT NULL;
ALTER TABLE `usuario`
ADD COLUMN IF NOT EXISTS `comercial` INT(4) UNSIGNED NULL DEFAULT NULL;
ALTER TABLE `comercial`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0;
ALTER TABLE embalaje 
ADD COLUMN IF NOT EXISTS largo double DEFAULT NULL,
ADD COLUMN IF NOT EXISTS alto double DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS ancho double DEFAULT NULL;
ALTER TABLE palet
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS `baja` TINYINT(1) DEFAULT 0,
ADD COLUMN IF NOT EXISTS largo double DEFAULT NULL,
ADD COLUMN IF NOT EXISTS alto double DEFAULT NULL,
ADD COLUMN IF NOT EXISTS ancho double DEFAULT NULL,
ADD COLUMN IF NOT EXISTS peso double DEFAULT NULL,
ADD COLUMN IF NOT EXISTS idproveedor  int(9)DEFAULT NULL;
ALTER TABLE envase
ADD COLUMN IF NOT EXISTS largo DOUBLE DEFAULT NULL,
ADD COLUMN IF NOT EXISTS alto DOUBLE DEFAULT NULL,
ADD COLUMN IF NOT EXISTS ancho DOUBLE DEFAULT NULL,
ADD COLUMN IF NOT EXISTS peso DOUBLE DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS idproveedor  INT(9)DEFAULT NULL;


/* A fecha 13/11/2024*/
ALTER TABLE pedido
ADD COLUMN IF NOT EXISTS idprestashop INT DEFAULT NULL;

/* A fecha 14/11/2024 Joaquín*/
ALTER TABLE pago
ADD COLUMN IF NOT EXISTS cliente INT(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

ALTER TABLE recibo
ADD COLUMN IF NOT EXISTS cliente INT(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

/* A fecha 15/11/2024*/
CREATE TABLE IF NOT EXISTS `prestashopsync` (
  `clave` char(10) NOT NULL,
  `clientes` DATETIME DEFAULT NOW(),
  `articulos` DATETIME DEFAULT NOW(),
  `stock` DATETIME DEFAULT NOW(),
  `almacen` DATETIME DEFAULT NOW(),
  PRIMARY KEY (`clave`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;


/* A fecha 18/11/2024 Joaquín*/
ALTER TABLE recibo
ADD COLUMN IF NOT EXISTS fechafactura DATE DEFAULT NULL;

UPDATE recibo r
JOIN fraventa f ON r.factura = f.clave
SET r.fechafactura = f.fecha
WHERE r.factura = f.clave AND  r.fechafactura IS NULL;

UPDATE recibo r
JOIN fraventa f ON r.factura = f.clave
SET r.cliente = f.cliente
WHERE r.factura = f.clave AND  r.cliente IS NULL;

/* A fecha 21/11/2024 Joaquín*/

UPDATE pago p
JOIN fraventa f ON p.factura = f.clave
SET p.cliente = f.cliente
WHERE p.factura = f.clave AND  p.cliente IS NULL;


/* A fecha 25/11/2024 Joaquín*/

ALTER TABLE empcta
ADD COLUMN IF NOT EXISTS baja TINYINT(1) UNSIGNED DEFAULT 0,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

/* A fecha 26/11/2024 Joaquín*/

ALTER TABLE formapago
ADD COLUMN IF NOT EXISTS baja TINYINT(1) UNSIGNED DEFAULT 0,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

/* A fecha 03/12/2024 Paco*/
 
ALTER IGNORE TABLE fraventa
ADD COLUMN IF NOT EXISTS frafecha Date Null Default null ,
ADD COLUMN IF NOT EXISTS fraserie Int Null Default 0 ,
ADD COLUMN IF NOT EXISTS fraserdivacon Char(2) Null Default "",
ADD COLUMN IF NOT EXISTS fraprovee Char(30) Null Default "",
ADD COLUMN IF NOT EXISTS franumero Int Null Default 0;
 
ALTER TABLE fracompra
ADD COLUMN IF NOT EXISTS frafecha Date Null Default null ,
ADD COLUMN IF NOT EXISTS fraserie Int Null Default 0 ,
ADD COLUMN IF NOT EXISTS fraserdivacon Char(2) Null Default "",
ADD COLUMN IF NOT EXISTS fraprovee Char(30) Null Default "",
ADD COLUMN IF NOT EXISTS franumero Int Null Default 0;
/* A fecha 04/12/2024*/

ALTER TABLE clicta
ADD COLUMN IF NOT EXISTS nombrebanco VARCHAR(50) DEFAULT NULL;
ALTER TABLE empcta
ADD COLUMN IF NOT EXISTS nombrebanco VARCHAR(50) DEFAULT NULL;
UPDATE clicta r
JOIN banco f ON r.banco = f.codigo
SET r.nombrebanco = f.nombre
WHERE r.nombrebanco IS NULL;
UPDATE empcta r
JOIN banco f ON r.banco = f.codigo
SET r.nombrebanco = f.nombre
WHERE r.nombrebanco IS NULL;
/* A fecha 09/12/2024*/
ALTER TABLE artitalcol
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

/* A fecha 10/12/2024 Joaquín*/
CREATE TABLE IF NOT EXISTS articulostock (
    clave CHAR(10),
    idproducto VARCHAR(10) DEFAULT NULL,
    idarticulo VARCHAR(10) DEFAULT NULL,
    idalmacen VARCHAR(10) DEFAULT NULL,
    idembalaje VARCHAR(10) DEFAULT NULL,
    idenvase VARCHAR(10) DEFAULT NULL,
    idpalet VARCHAR(10) DEFAULT NULL,
    idestanteria VARCHAR(10) DEFAULT NULL,
    idpasillo VARCHAR(10) DEFAULT NULL,
    idestantnivel VARCHAR(10) DEFAULT NULL,
    stock TINYINT DEFAULT 0,
    stockmin TINYINT DEFAULT 0,
    stockmax TINYINT DEFAULT 0,
    PRIMARY KEY (clave)
)ENGINE=INNODB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

ALTER TABLE  articulostock
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW(),
	ADD COLUMN IF NOT EXISTS color tinyint(9) UNSIGNED NOT NULL,
ADD COLUMN IF NOT EXISTS talla tinyint(9) UNSIGNED NOT NULL;

/* A fecha 12/12/2024 Joaquín*/
ALTER TABLE articulostock
	ADD COLUMN IF NOT EXISTS idcombipresta INT UNSIGNED NOT NULL;


          /* A fecha 13/12/2024 Paco, revisado por Alberto 07/1/2024  */

               ALTER TABLE articulostock
  ADD COLUMN IF NOT EXISTS articulo INT UNSIGNED NULL DEFAULT 0;
               ALTER TABLE articulostock
                                 MODIFY COLUMN color INT UNSIGNED NULL DEFAULT 0;
               ALTER TABLE articulostock
                                 MODIFY COLUMN talla INT UNSIGNED NULL DEFAULT 0;

          /* A fecha 13/12/2024 Paco, revisado por Alberto 07/1/2024  */


              CREATE TABLE IF NOT EXISTS movimientostock (
    clave CHAR(10) NOT NULL PRIMARY KEY,
    idarticulostock VARCHAR(10) NULL DEFAULT NULL,
    variacion INT NULL DEFAULT 0,
    fechasync DATETIME NULL DEFAULT NOW()
);

               ALTER TABLE articulo
                                ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL,
                                MODIFY COLUMN posicion INT UNSIGNED NULL DEFAULT 1;

               ALTER TABLE talla
                                ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

               ALTER TABLE color
                               ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;
               ALTER TABLE tallagrupo
                              ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;
                ALTER TABLE colorgrupo
                               ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

                 ALTER TABLE clitipo
 ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

                     ALTER TABLE tipoiva
   ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

                      ALTER TABLE promocion
                               ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

                      ALTER TABLE provee
                               ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

                      ALTER TABLE cliente
                                ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

                      ALTER TABLE venta
                                  ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

                       ALTER TABLE ventasleep
                                  ADD COLUMN IF NOT EXISTS fechasync DATETIME NULL DEFAULT NULL;

/* A fecha 24/12/2024 Miguel Angel */
                        ALTER TABLE talla
      ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW(),
                                   ADD COLUMN IF NOT EXISTS idtallaprestashop TINYINT(3) DEFAULT 0;

                        ALTER TABLE color
                                   ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW(),
                                   ADD COLUMN IF NOT EXISTS idcolorprestashop TINYINT(3) DEFAULT 0;

           /* A fecha 13/12/2024 Paco, revisado por Alberto 07/1/2024  */

                           CREATE TABLE IF NOT EXISTS contabilizar (
    clave CHAR(10) NOT NULL PRIMARY KEY,
    iddocumento VARCHAR(10) NULL DEFAULT NULL,
    tabla VARCHAR(35) NULL DEFAULT NULL,
    opcion CHAR(1) NULL DEFAULT NULL,
    clase CHAR(1) NULL DEFAULT NULL,
    tipo TINYINT(1) UNSIGNED NULL DEFAULT 0,
    claveoper CHAR(1) NULL DEFAULT NULL,
    rectifica TINYINT(1) UNSIGNED NULL DEFAULT 0,
    autofac TINYINT(1) UNSIGNED NULL DEFAULT 0,
    invesujpas TINYINT(1) UNSIGNED NULL DEFAULT 0,
    critericaj TINYINT(1) UNSIGNED NULL DEFAULT 0,
    diario CHAR(2) NULL DEFAULT NULL,
    serie CHAR(2) NULL DEFAULT NULL,
    numero VARCHAR(20) NULL DEFAULT NULL,
    fechadoc DATE NULL DEFAULT NULL,
    fechaasie DATE NULL DEFAULT NULL,
    fechaoper DATE NULL DEFAULT NULL,
    serfraoper CHAR(2) NULL DEFAULT NULL,
    numfraoper VARCHAR(20) NULL DEFAULT NULL,
    subctapar VARCHAR(10) NULL DEFAULT NULL,
    nummov INT NULL DEFAULT NULL,
    proyecto VARCHAR(9) NULL DEFAULT NULL,
    error TINYINT(1) UNSIGNED NULL DEFAULT 0,
    errortexto TEXT NULL,
    fechasync DATETIME NULL DEFAULT NOW()
);

 /* A fecha 07/1/2025 Tomás  */

ALTER TABLE `pedido`
    ADD COLUMN IF NOT EXISTS `pagado` TINYINT(1) NULL DEFAULT 0;

/* A fecha 08/01/2025 Miguel*/
ALTER TABLE clidirec
ADD COLUMN IF NOT EXISTS codpais char(2) DEFAULT "ES";
ALTER TABLE pais
ADD COLUMN IF NOT EXISTS codpais char(2) DEFAULT "";


/* A fecha 09/01/2025 Miguel*/
ALTER TABLE cliente
ADD COLUMN IF NOT EXISTS idprestashop CHAR(10) DEFAULT NULL;

/* A fecha 13/01/2025 Tomas 1.8.7*/
ALTER TABLE entorno2
ADD COLUMN IF NOT EXISTS apimailurl VARCHAR(250) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS apimailtoken VARCHAR(250) DEFAULT NULL;

/* A fecha 16/01/2025 Tomas*/
ALTER TABLE maquina
ADD COLUMN IF NOT EXISTS diasprevaviso INT UNSIGNED DEFAULT 0;

/* A fecha 21/01/2025 Tomas  */
ALTER TABLE `fracompra`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `fravtalin`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `fracprlin`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `albcompra`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `albvtalin`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `albcprlin`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `pedlin`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE `prelin`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();

/* A fecha 27/01/2025 Joaquín*/
/* 
El nombre sería tanto el nombre más la clave del objeto,
En la tabla usar la primera en mayúscula
*/
CREATE TABLE IF NOT EXISTS mediapath(
clave char(10), 
idobjeto varchar(10), 
idusuariocrea varchar(10) NOT NULL, 
idusuariodestino varchar(20),
tabla varchar(35),
ruta char(255) NOT NULL,
nombre varchar(50) NOT NULL,
tipo varchar(10),
fechasync datetime DEFAULT NULL ,
fechacreacion datetime DEFAULT NULL ,
portal tinyint(1) DEFAULT 0,
primary key (clave)
) ENGINE = InnoDB DEFAULT CHARSET = latin1 COLLATE = latin1_spanish_ci;


/* A fecha 27/01/2025 Tomas*/

ALTER TABLE pagcompra
ADD COLUMN IF NOT EXISTS cliente INT(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

UPDATE pagcompra p
JOIN fracompra f ON p.factura = f.clave
SET p.cliente = f.cliente
WHERE p.factura = f.clave AND  p.cliente IS NULL;

ALTER TABLE reccompra
ADD COLUMN IF NOT EXISTS cliente INT(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS fechafactura DATE DEFAULT NULL,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW();

UPDATE reccompra r
JOIN fracompra f ON r.factura = f.clave
SET r.fechafactura = f.fecha
WHERE r.factura = f.clave AND  r.fechafactura IS NULL;

UPDATE reccompra r
JOIN fracompra f ON r.factura = f.clave
SET r.cliente = f.cliente
WHERE r.factura = f.clave AND  r.cliente IS NULL;

ALTER TABLE mediapath
ADD COLUMN IF NOT EXISTS descripcion VARCHAR(100) DEFAULT '';

			/* A fecha 28/01/2025 Miguel ángel*/

ALTER TABLE prestashopsync
	ADD COLUMN IF NOT EXISTS tipoiva DATETIME DEFAULT NOW();

ALTER TABLE tipoiva 
	ADD COLUMN IF NOT EXISTS idgrupoprestashop INT(50) DEFAULT NULL;

	/* A fecha 28/01/2025 Joaquin*/
ALTER TABLE mediapath
ADD COLUMN IF NOT EXISTS rutamini CHAR(255) DEFAULT NULL;

/* A fecha 29/01/2025 Tomas*/
ALTER TABLE `fracompra`
	ADD COLUMN IF NOT EXISTS `fase` TINYINT(1) NULL DEFAULT 1,
ADD COLUMN IF NOT EXISTS `estado` VARCHAR(15) NULL DEFAULT 'Espera';
ALTER TABLE `compra`
	ADD COLUMN IF NOT EXISTS `fase` TINYINT(1) NULL DEFAULT 1,
ADD COLUMN IF NOT EXISTS `estado` VARCHAR(15) NULL DEFAULT 'Espera';

/* A fecha 06/02/2025 Joaquín*/
ALTER TABLE mediapath
		ADD COLUMN IF NOT EXISTS categoria INT DEFAULT 0;

/* A fecha 07/02/2025 Tomas*/
ALTER TABLE maquina
	ADD COLUMN IF NOT EXISTS ingresogrua TINYINT(1) NULL DEFAULT 0;

	/* A fecha 10/02/2025 Miguel Ángel*/

ALTER TABLE color
MODIFY COLUMN   idcolorprestashop int;
ALTER TABLE talla
MODIFY COLUMN   idtallaprestashop int;

ALTER TABLE articulostock
ADD COLUMN IF NOT EXISTS precio double not null;



/* A fecha 12/02/2025 Tomas*/
ALTER TABLE instala
	ADD COLUMN IF NOT EXISTS ingresogrua TINYINT(1) NULL DEFAULT 0;
ALTER TABLE maquina
	DROP COLUMN IF EXISTS ingresogrua;
/*ALTER TABLE tarea
CHANGE COLUMN codigo codigo INT(9) UNSIGNED NOT NULL,
CHANGE COLUMN descripcion descripcion TEXT NULL DEFAULT NULL COLLATE 'latin1_spanish_ci';*/

/* A fecha 13/02/2025 Miguel Ángel*/
	
ALTER TABLE articulostock
		ADD COLUMN IF NOT EXISTS ean varchar(15) NOT NULL;

ALTER TABLE familia
ADD COLUMN IF NOT EXISTS idcategoriaprestashop INT(50) DEFAULT NULL;

/* A fecha 13/02/2025 Tomas*/
ALTER TABLE maquina
ADD COLUMN IF NOT EXISTS fechaproxrev DATETIME DEFAULT NULL,
ADD COLUMN IF NOT EXISTS proxrevkm INT DEFAULT 0;

/* A fecha 14/02/2025 Paco*/
ALTER TABLE articulostock MODIFY COLUMN precio double not null Default 0;


/* A fecha 19/02/2025 Tomas*/
ALTER TABLE fraventa
	ADD COLUMN IF NOT EXISTS contabilizado TINYINT(1) NULL DEFAULT 0;
ALTER TABLE fracompra
	ADD COLUMN IF NOT EXISTS contabilizado TINYINT(1) NULL DEFAULT 0;
ALTER TABLE pago
	ADD COLUMN IF NOT EXISTS contabilizado TINYINT(1) NULL DEFAULT 0;
ALTER TABLE pagcompra
	ADD COLUMN IF NOT EXISTS contabilizado TINYINT(1) NULL DEFAULT 0;

/* A fecha 20/02/2025 Joaquin*/

ALTER TABLE articulostock
MODIFY COLUMN  ean VARCHAR(15) DEFAULT '';
 
/* A fecha 21/02/2025 Paco - Revisado por Tomas*/
UPDATE articulo SET descrip = LEFT(descrip, 100), udescrip = LEFT(udescrip, 100) WHERE CHAR_LENGTH(descrip) > 100 OR CHAR_LENGTH(udescrip) > 100;
Alter table entorno2 Add COLUMN IF NOT EXISTS numeracioncontinua TinyInt(1) Unsigned Null Default 0;
Alter table articulo Add COLUMN IF NOT EXISTS descri_web Text Null;
ALTER TABLE articulo
MODIFY COLUMN  descrip VARCHAR(100) DEFAULT '',
MODIFY COLUMN  udescrip VARCHAR(100) DEFAULT '';
Alter table gasto Add COLUMN IF NOT EXISTS fechasync DateTime Null Default Now(),
Add COLUMN IF NOT EXISTS contabilizado TinyInt Null Default 0;
Alter table venta Add COLUMN IF NOT EXISTS contabilizado TinyInt Null Default 0;
          
/* A fecha 24/02/2025 Tomas*/
ALTER TABLE fraventa ADD COLUMN IF NOT EXISTS utcfechahash VARCHAR(25);
ALTER TABLE fracompra ADD COLUMN IF NOT EXISTS utcfechahash VARCHAR(25);

/* A fecha 05/03/2025 Tomas*/
ALTER TABLE `gastotipo`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
 
/* A fecha 05/03/2025 Paco*/
Alter table serie Add Column If Not Exists fechasync DateTime Null Default Null;
Alter table entorno2 Add Column If Not Exists serierectificativa Int(2) Unsigned Null Default 0;
	/* A fecha 10/03/2025 Tomas*/

ALTER TABLE clidirec
ADD COLUMN IF NOT EXISTS retenerobra TINYINT(1) UNSIGNED DEFAULT 0,
ADD COLUMN IF NOT EXISTS retencionobra DOUBLE DEFAULT 0,
ADD COLUMN IF NOT EXISTS vtoretobra INT(11) DEFAULT 0,
ADD COLUMN IF NOT EXISTS sujetopasivo TINYINT(1) UNSIGNED DEFAULT 0;
 
/* A fecha 10/03/2025 Paco*/
Alter table venta Add Column If Not Exists rectificafecha Date Null Default null,
Add Column If Not Exists rectificaserie Int Null Default 0,
Add Column If Not Exists rectificaticket Int Null Default 0;
 
Alter table ventasleep Add Column If Not Exists rectificafecha Date Null Default null,
Add Column If Not Exists rectificaserie Int Null Default 0,
Add Column If Not Exists rectificaticket Int Null Default 0;

ALTER TABLE `entorno2`
  ADD COLUMN IF NOT EXISTS `esglasstalleres` tinyint(1) DEFAULT 0;
/* A fecha 24/03/2025 Tomas*/
ALTER TABLE `agente`
ADD COLUMN IF NOT EXISTS `contacto` VARCHAR(50) DEFAULT '',
ADD COLUMN IF NOT EXISTS `fechaultvisita` DATETIME;

/* A fecha 24/03/2025 Joaquin revisado*/


ALTER TABLE tarea
ADD COLUMN IF NOT EXISTS tecnicoprincipal CHAR(10)  default NULL,
ADD COLUMN IF NOT EXISTS fechacreacion DATETIME DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10)  default NULL,
ADD COLUMN IF NOT EXISTS idmaquina CHAR(10)  default NULL,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW(),
	ADD COLUMN IF NOT EXISTS nummedias SMALLINT UNSIGNED DEFAULT 0;
/* A fecha 07/04/2025 Tomas */
ALTER TABLE fracompra
 MODIFY IF EXISTS albprove VARCHAR(50),
MODIFY IF EXISTS franum VARCHAR(50);
ALTER TABLE albcompra
 MODIFY IF EXISTS albprove VARCHAR(50),
MODIFY IF EXISTS albnum VARCHAR(50);
ALTER TABLE gasto
 MODIFY IF EXISTS albprove VARCHAR(50),
MODIFY IF EXISTS franum VARCHAR(50);
ALTER TABLE contabilizar
 MODIFY IF EXISTS numero VARCHAR(50);

/* A fecha 08/04/2025 Tomas*/
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `headerbase64` MEDIUMTEXT NULL DEFAULT NULL;
/* A fecha 09/04/2025 Tomas*/
ALTER TABLE `agente`
	ADD COLUMN IF NOT EXISTS `razon` VARCHAR(50) DEFAULT "";
ALTER TABLE `comercial`
	ADD COLUMN IF NOT EXISTS `razon` VARCHAR(50) DEFAULT "";

/* A fecha 11/04/2025  CAMPO OBSOLETO PERO INCLUIDO PARA EVITAR ERRORES EN INSTALACION*/
ALTER TABLE `entorno2`
	ADD COLUMN IF NOT EXISTS `articulosaweb` TINYINT(1) DEFAULT 0;
/* A fecha 14/04/2025 Tomas*/


ALTER TABLE fraventa
ADD COLUMN IF NOT EXISTS `seriedestino` INT(2) UNSIGNED NULL;

/* A fecha 16/04/2025 Tomas*/


ALTER TABLE usuario
ADD COLUMN IF NOT EXISTS esautoventa TINYINT(1) DEFAULT 0;

/* A fecha 12/05/2025 Tomas*/


ALTER TABLE articulo
ADD COLUMN IF NOT EXISTS dtopvp DOUBLE DEFAULT 0;

/* A fecha 15/11/2024 LUIS Revisado por Joaquin 14/05/2025*/

CREATE TABLE IF NOT EXISTS tareahilo (
  clave CHAR(10) NOT NULL,
  idtarea CHAR(10) NOT NULL,
  idusuario CHAR(10) NOT NULL,
  fechora DATETIME DEFAULT NULL,
  comentario  TEXT DEFAULT NULL,
  PRIMARY KEY (clave)
) ENGINE=INNODB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

/* A fecha 15/05/2025 Tomas*/
ALTER TABLE entorno2
ADD COLUMN IF NOT EXISTS phpmediaurl VARCHAR(250) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS recursoshumanos tinyint(1) DEFAULT 0;

/* A fecha 16/05/2025 Tomas*/
ALTER TABLE entorno2
ADD COLUMN IF NOT EXISTS partesauber tinyint(1) DEFAULT 0;


/* A fecha 23/05/2025  Tomas */
ALTER TABLE clicredit
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE pais
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE provincia
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE localidad
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE clifrmpag
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE profrmpag
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE albfrmpag
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE frafrmpag
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE pedfrmpag
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE prefrmpag
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();
ALTER TABLE inslininciden
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();





/* A fecha 27/05/2025 Tomas*/
ALTER TABLE pedlin
ADD COLUMN IF NOT EXISTS idmovimiento VARCHAR(10);
ALTER TABLE compralin
ADD COLUMN IF NOT EXISTS idmovimiento VARCHAR(10);
ALTER TABLE fravtalin
ADD COLUMN IF NOT EXISTS idmovimiento VARCHAR(10);
ALTER TABLE fracprlin
ADD COLUMN IF NOT EXISTS idmovimiento VARCHAR(10);
ALTER TABLE albvtalin
ADD COLUMN IF NOT EXISTS idmovimiento VARCHAR(10);
ALTER TABLE albcprlin
ADD COLUMN IF NOT EXISTS idmovimiento VARCHAR(10);


ALTER TABLE articulo
ADD COLUMN IF NOT EXISTS idalmacen CHAR(10),
ADD COLUMN IF NOT EXISTS pasillo VARCHAR(3),
ADD COLUMN IF NOT EXISTS estanteria VARCHAR(3),
ADD COLUMN IF NOT EXISTS estannivel VARCHAR(3);

/* A fecha 28/05/2025 Tomás*/
	ALTER TABLE articulostock
MODIFY stock DOUBLE DEFAULT 0,
 MODIFY  stockmin DOUBLE DEFAULT 0,
 MODIFY  stockmax DOUBLE DEFAULT 0;

/* A fecha 30/05/2025 Tomás*/
ALTER TABLE `entorno2`
  ADD COLUMN IF NOT EXISTS `multialmacen` tinyint(1) unsigned DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `eslogistica` tinyint(1) unsigned DEFAULT 0;

/* A fecha 09/06/2025 Tomás*/
ALTER TABLE fraventa
 	ADD COLUMN IF NOT EXISTS fradefinitiva CHAR(10);
/* A fecha 10/06/2025 Tomás*/
ALTER TABLE entorno2
ADD COLUMN IF NOT EXISTS ocultarordenes TINYINT(1) DEFAULT 0;
/* A fecha 11/06/2025 Tomás*/
ALTER TABLE tarea
ADD COLUMN IF NOT EXISTS prioridad TINYINT(1) DEFAULT 0;
/* A fecha 12/06/2025 Tomás*/
ALTER TABLE albventa
ADD COLUMN IF NOT EXISTS pagado TINYINT(1) DEFAULT 0;
ALTER TABLE usuario
ADD COLUMN IF NOT EXISTS verpedidos TINYINT(1) DEFAULT 1,
ADD COLUMN IF NOT EXISTS verfacturas TINYINT(1) DEFAULT 1,
ADD COLUMN IF NOT EXISTS veralbaranes TINYINT(1) DEFAULT 1;
/* A fecha 13/06/2025 Tomás*/
ALTER TABLE albventa
ADD COLUMN IF NOT EXISTS cif_firma VARCHAR(15) DEFAULT '';
ALTER TABLE fraventa
ADD COLUMN IF NOT EXISTS cif_firma VARCHAR(15) DEFAULT '';
ALTER TABLE pedido
ADD COLUMN IF NOT EXISTS cif_firma VARCHAR(15) DEFAULT '';
/* A fecha 25/06/2025 Tomás*/
ALTER TABLE cliente
ADD COLUMN IF NOT EXISTS servicio INT DEFAULT NULL;
/*A fecha 27/06/2025 Joaquín*/
						
ALTER TABLE tarea 
ADD COLUMN IF NOT EXISTS duracion DOUBLE DEFAULT 0,
ADD COLUMN IF NOT EXISTS solucion TEXT;

/* A fecha 27/06/2025 Tomás*/

DELIMITER //
DROP TRIGGER IF EXISTS after_insert_instala_to_tarea//
CREATE TRIGGER after_insert_instala_to_tarea
AFTER INSERT ON instala
FOR EACH ROW
BEGIN
    DECLARE v_clave CHAR(10);
    DECLARE v_nombrecliente VARCHAR(50);
    DECLARE v_direcliente VARCHAR(70);
    DECLARE v_tlfnocliente VARCHAR(15);
    DECLARE v_emailcliente VARCHAR(50);
    DECLARE v_nombreusuario VARCHAR(50);
    DECLARE lastCodeTarea INT;
    DECLARE nextCodeTarea INT;
    DECLARE lastCodeTareausuario INT;
    DECLARE nextCodeTareausuario INT;
    DECLARE v_existe_tarea INT DEFAULT 0;

    DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
    BEGIN
        -- IGNORAR TRIGGER EN CASO DE ERROR
    END;
       -- Comprobar si ya hay una tarea con esa instalaclave
    SELECT COUNT(*) INTO v_existe_tarea
    FROM tarea
    WHERE instalaclave = NEW.clave;

    IF v_existe_tarea = 0 THEN

    /*Traer nuevos códigos para tarea y tareausuario*/
    SELECT COALESCE(MAX(codigo), 0) INTO lastCodeTarea FROM tarea;
    SET nextCodeTarea = lastCodeTarea + 1;
    SELECT COALESCE(MAX(codigo), 0) INTO lastCodeTareausuario FROM tareausuario;
    SET nextCodeTareausuario = lastCodeTareausuario + 1;

    /*Generar y guardar clave de tarea*/
    SET v_clave = generadorClaves();

    /*Traer datos de cliente y usuario*/
    SELECT nombre, direccion, tlfno1, email INTO v_nombrecliente, v_direcliente, v_tlfnocliente, v_emailcliente FROM cliente WHERE clave = NEW.idcliente;
    SELECT nombre INTO v_nombreusuario FROM usuario WHERE clave = NEW.idtecnico;

    /*Crear tarea*/
    INSERT INTO tarea (clave, codigo, asunto, descripcion, estado, fechainicio, fechafin, clienteclave, nombrecliente, direcliente, tlfnocliente, emailcliente, instalaclave)
    VALUES (
        v_clave,
        nextCodeTarea,
        CONCAT("TAREA ", NEW.codigo),
        NEW.descrip,
        NEW.estado,
        NEW.fecservicio,
        NEW.fecrecogida,
        NEW.idcliente,
        v_nombrecliente,
        v_direcliente,
        v_tlfnocliente,
        v_emailcliente,
        NEW.clave
    );

    /*Si hay tecnico asignado, crear registro en tareausuario*/
    IF NEW.idtecnico IS NOT NULL THEN
        INSERT INTO tareausuario (clave, codigo, tareaclave, usuarioclave, nombreusuario)
        VALUES (
            generadorClaves(),
            nextCodeTareausuario,
            v_clave,
            NEW.idtecnico,
            v_nombreusuario
        );
    END IF;
END IF;
END //

DELIMITER ;

/******************************************************************/



/*REVISADO 30/06/25 -  A fecha 25/10/2024 Luis */

ALTER TABLE historico
ADD COLUMN IF NOT EXISTS texto TEXT DEFAULT NULL,
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW() ,
ADD COLUMN IF NOT EXISTS baja TINYINT(1) UNSIGNED DEFAULT 0;



CREATE TABLE IF NOT EXISTS obras (
  clave CHAR(10) NOT NULL, 
  codigo INT(9) UNSIGNED NOT NULL,
  idarquitecto VARCHAR(10) NOT NULL, 
  nombre VARCHAR(50) DEFAULT '', 
  fechainicio DATETIME DEFAULT NULL, 
  fechafin DATETIME DEFAULT NULL, 
  cantidadviviendas VARCHAR(4) DEFAULT NULL, 
  provincia VARCHAR(50) DEFAULT '', 
  localidad VARCHAR(70) DEFAULT '', 
  superficie DOUBLE DEFAULT NULL, 
  baja TINYINT(1) UNSIGNED DEFAULT 0,
  fechasync DATETIME DEFAULT NULL,
  PRIMARY KEY (clave)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;


CREATE TABLE IF NOT EXISTS arquitecto (
  clave CHAR(10) NOT NULL, 
  codigo INT(4) UNSIGNED NOT NULL, 
  idproveedor CHAR(10) NOT NULL, 
  idobra CHAR(10) NOT NULL,
  numcolegiado VARCHAR(10) DEFAULT '', 
  nombre VARCHAR(50) DEFAULT '', 
  unombre VARCHAR(50) DEFAULT '', 
  cif VARCHAR(9) DEFAULT '', 
  encargado TINYINT(1) UNSIGNED DEFAULT 0, 
  numseg VARCHAR(15) DEFAULT '', 
  fecnac DATETIME DEFAULT NULL, 
  direccion VARCHAR(70) DEFAULT '', 
  localidad VARCHAR(70) DEFAULT '', 
  provincia VARCHAR(50) DEFAULT '', 
  pais VARCHAR(35) DEFAULT '', 
  cp VARCHAR(5) DEFAULT '', 
  tlfno1 VARCHAR(15) DEFAULT '', 
  tlfno2 VARCHAR(15) DEFAULT '', 
  fax VARCHAR(15) DEFAULT '', 
  email VARCHAR(50) DEFAULT '', 
  web VARCHAR(50) DEFAULT '', 
  notas TEXT DEFAULT NULL, 
  baja TINYINT(1) UNSIGNED DEFAULT 0,
  fechasync DATETIME DEFAULT NULL,
  fecbaja DATETIME DEFAULT NULL,
  PRIMARY KEY (clave)
) ENGINE = INNODB DEFAULT CHARSET = latin1 COLLATE = latin1_spanish_ci;


ALTER TABLE  provee 
ADD COLUMN IF NOT EXISTS limitaval double DEFAULT NULL, 
ADD COLUMN IF NOT EXISTS avalconsum double DEFAULT NULL;

CREATE TABLE IF NOT EXISTS pasillo(
	clave char(10) ,  
    numero int(10) not null,
    idpasillo char(10) NOT NULL,
	idalmacen char(10)  NOT NULL,
    primary key (clave)
)ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

CREATE TABLE IF NOT EXISTS estanteria(
	clave char(10) ,
numero varchar(10),
    idpasillo char(10) NOT NULL,
    primary key (clave)
)ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

CREATE TABLE IF NOT EXISTS estantnivel(
clave char(10) ,
numero varchar(10),
idestanteria char(10) NOT NULL,
    primary key (clave)
)ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

/*REVISADO 30/06/25 -  A fecha 25/10/2024 Luis */

ALTER TABLE  almacen 
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW(),
 ADD COLUMN IF NOT EXISTS baja TINYINT(1) UNSIGNED DEFAULT 0;

ALTER TABLE  familia 
ADD COLUMN IF NOT EXISTS fechasync DATETIME DEFAULT NOW(),
 ADD COLUMN IF NOT EXISTS baja TINYINT(1) UNSIGNED DEFAULT 0;





/*REVISADO 30/06/25 -  A fecha 11/11/2024 LUIS*/

ALTER TABLE arquitecto
MODIFY COLUMN   tlfno1 VARCHAR(20) DEFAULT '',
MODIFY COLUMN   tlfno2 VARCHAR(20) DEFAULT '',
MODIFY COLUMN fax VARCHAR(20) DEFAULT '';

ALTER TABLE almacen
MODIFY COLUMN   tlfno1 VARCHAR(20) DEFAULT '',
MODIFY COLUMN   tlfno2 VARCHAR(20) DEFAULT '';


/*REVISADO 30/06/25 -  A fecha 13/11/2024 Joaquín*/
ALTER TABLE articulostock
	ADD COLUMN IF NOT EXISTS loteserie VARCHAR(40) DEFAULT NULL,
	ADD COLUMN IF NOT EXISTS notas TEXT DEFAULT NULL;


/*REVISADO 30/06/25 -  A fecha 25/11/2024 Miguel*/

ALTER TABLE articulostock
ADD COLUMN IF NOT EXISTS idstockprestashop INT(50) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS idproductoprestashop INT(50) DEFAULT NULL;



				/*REVISADO 30/06/25 -  A fecha 11/12/2024 Joaquín*/
DROP TABLE IF EXISTS vivienda;

	CREATE TABLE IF NOT EXISTS inmueble (
    clave CHAR(10) NOT NULL,
    codigo INT(9) UNSIGNED NOT NULL,
    idcliente VARCHAR(10) DEFAULT NULL,
    idobra VARCHAR(10) DEFAULT NULL,
    idarquitecto VARCHAR(10) DEFAULT NULL,
    idagencia VARCHAR(10) DEFAULT NULL,
    idcomercial VARCHAR(10) DEFAULT NULL,
    promocion VARCHAR(10) DEFAULT '',
    numeroinmueble VARCHAR(10) DEFAULT '',
    fechaescritura DATETIME,
    fechaentrega DATETIME,
    precio DOUBLE DEFAULT 0.0,
    nombre VARCHAR(50) DEFAULT  '',
    regpropiedad VARCHAR(150) DEFAULT '',
    cp VARCHAR(15) DEFAULT  '',
    direccion VARCHAR(100) DEFAULT '',
    poblacion VARCHAR(40) DEFAULT '',
    provincia VARCHAR(40) DEFAULT '',
    pais VARCHAR(40) DEFAULT '',
    numhabitaciones TINYINT(2) DEFAULT 0,	
    numbanos TINYINT(2) DEFAULT 0,
    adicionales TEXT DEFAULT '',
    fechasync DATETIME,
    baja TINYINT(1) DEFAULT 0,
PRIMARY KEY (clave)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

ALTER TABLE inmueble 
	ADD COLUMN IF NOT EXISTS suputil DOUBLE,
	ADD COLUMN IF NOT EXISTS supconstruida DOUBLE,
ADD COLUMN IF NOT EXISTS tipoinmueble tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS tipovivienda tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS estado tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS jardin tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS terraza tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS solarium tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS trastero tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS garaje tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS piscina tinyint(1) default 0,
ADD COLUMN IF NOT EXISTS cp varchar(15) default  '',
ADD COLUMN IF NOT EXISTS adicionales text default '';

ALTER TABLE obras
DROP COLUMN IF EXISTS cantidadviviendas,
ADD COLUMN IF NOT EXISTS cantidadinmuebles VARCHAR(4) DEFAULT NULL;

DROP TABLE IF EXISTS viviendacli;

CREATE TABLE IF NOT EXISTS inmueblecli(
clave char(10), 
codigo int(9) unsigned NOT NULL,
idinmueble char(10) NOT NULL, 
idcliente char(10) NOT NULL, 
primary key (clave)
) ENGINE = InnoDB DEFAULT CHARSET = latin1 COLLATE = latin1_spanish_ci;

/*REVISADO 30/06/25 -  A fecha 14/01/2025 Joaquín*/


ALTER TABLE  inmueble
ADD COLUMN IF NOT EXISTS hiporcentaje DOUBLE DEFAULT 0.0,
ADD COLUMN IF NOT EXISTS importehipoteca DOUBLE DEFAULT 0.0,
ADD COLUMN IF NOT EXISTS extras TEXT DEFAULT '',
ADD COLUMN IF NOT EXISTS hipoteca TINYINT(1) DEFAULT 0;

ALTER TABLE  inmueblecli
ADD COLUMN IF NOT EXISTS porcentajecompra DOUBLE DEFAULT 0.0,
ADD COLUMN IF NOT EXISTS importe  DOUBLE DEFAULT 0.0;

/*REVISADO 30/06/25 -  A fecha 18/02/2025 Joaquín*/


ALTER TABLE arquitecto 
DROP COLUMN IF EXISTS idobra;
					
/*REVISADO 30/06/25 -  A fecha 21/02/2025 Joaquín*/


ALTER TABLE inmueble
ADD COLUMN IF NOT EXISTS parcela varchar(20) default '';

				/*REVISADO 30/06/25 -  A fecha 25/02/2025 Joaquín*/

ALTER TABLE empresa
ADD COLUMN IF NOT EXISTS baja TINYINT(1) UNSIGNED DEFAULT 0,
ADD COLUMN IF NOT EXISTS  fechasync DATETIME DEFAULT NOW();


				/*REVISADO 30/06/25 -  A fecha 24/03/2025 Tomas*/

CREATE TABLE IF NOT EXISTS provision(
	`clave` CHAR(10) NOT NULL COLLATE 'latin1_spanish_ci',
	`fecha` DATE NULL DEFAULT '0000-00-00',
	`inmueble` CHAR(10) NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`orden` INT(11) NULL DEFAULT '0',
	`importe` DOUBLE NULL DEFAULT '0',
	`pagado` DOUBLE NULL DEFAULT '0',
	`saldado` TINYINT(1) UNSIGNED NULL DEFAULT '0',
	`formapago` INT(3) UNSIGNED NULL DEFAULT '0',
	`notas` TEXT NULL DEFAULT NULL COLLATE 'latin1_spanish_ci',
	`fechasync` DATETIME NULL DEFAULT current_timestamp(),
	`cliente` INT(10) NULL DEFAULT NULL,
	PRIMARY KEY (`clave`)
)
COLLATE='latin1_spanish_ci'
ENGINE=InnoDB
;
						
ALTER TABLE fraventa
ADD COLUMN IF NOT EXISTS idprovision CHAR(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;

ALTER TABLE pago
ADD COLUMN IF NOT EXISTS idprovision CHAR(10) DEFAULT NULL;
ALTER TABLE inmueble
ADD COLUMN IF NOT EXISTS total DOUBLE DEFAULT 0,
ADD COLUMN IF NOT EXISTS iva DOUBLE DEFAULT 0,
ADD COLUMN IF NOT EXISTS tipoiva INT(2) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS pagado DOUBLE DEFAULT 0;


/*REVISADO 30/06/25 -  A fecha 09/04/2025 Joaquín*/


ALTER TABLE inmueble
ADD COLUMN IF NOT EXISTS numplazagaraj DOUBLE  DEFAULT 0.0,
	ADD COLUMN IF NOT EXISTS acondicionado tinyint(1) DEFAULT 0,
	ADD COLUMN IF NOT EXISTS trasterogaraje tinyint(1) DEFAULT 0,
	ADD COLUMN IF NOT EXISTS suppiscina DOUBLE DEFAULT 0.0,
	ADD COLUMN IF NOT EXISTS metrostrastero DOUBLE DEFAULT 0.0;


/*REVISADO 30/06/25 -  A fecha 10/04/2025 Tomas*/


ALTER TABLE instala
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;
ALTER TABLE albventa
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;
ALTER TABLE presupuesto
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;
ALTER TABLE pedido
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;
ALTER TABLE fracompra
ADD COLUMN IF NOT EXISTS idobra CHAR(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;
ALTER TABLE albcompra
ADD COLUMN IF NOT EXISTS idobra CHAR(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;
ALTER TABLE compra
ADD COLUMN IF NOT EXISTS idobra CHAR(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;
ALTER TABLE gasto
ADD COLUMN IF NOT EXISTS idobra CHAR(10) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS idinmueble CHAR(10) DEFAULT NULL;


ALTER TABLE contabilizar
 MODIFY IF EXISTS nummov BIGINT;


/*REVISADO 30/06/25 -  A fecha 29/04/2025 Joaquin*/



CREATE TABLE IF NOT EXISTS `movimientoalmacen` (
  `clave` char(10) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL,
  `idarticulo` char(10) CHARACTER SET latin1 COLLATE latin1_spanish_ci DEFAULT NULL,
  `idalmacenorigen` char(10) CHARACTER SET latin1 COLLATE latin1_spanish_ci DEFAULT NULL,
  `tipomovimiento` int(11) DEFAULT NULL,
  `fechasync` datetime DEFAULT current_timestamp(),
  `loteserie` char(20) CHARACTER SET latin1 COLLATE latin1_spanish_ci DEFAULT NULL,
  `idalmacendestino` char(10) CHARACTER SET latin1 COLLATE latin1_spanish_ci DEFAULT NULL,
  `cantidad` double DEFAULT 0,
  `notas` text CHARACTER SET latin1 COLLATE latin1_spanish_ci DEFAULT '',
  `pasillo` varchar(10) DEFAULT NULL,
  `estanteria` varchar(10) DEFAULT NULL,
  `estannivel` varchar(10) DEFAULT NULL,
  PRIMARY KEY (`clave`) USING BTREE
)  ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;




CREATE TABLE IF NOT EXISTS `movimientoenvase` (
  `clave` char(10) NOT NULL,
  `idenvase` char(10) DEFAULT NULL,
  `idalmacenorigen` char(10) DEFAULT NULL,
  `tipomovimiento` int(11) DEFAULT NULL,
  `fechasync` datetime DEFAULT current_timestamp(),
  `idalmacendestino` char(10) DEFAULT NULL,
  `cantidad` double DEFAULT 0,
  `notas` TEXT NULL DEFAULT "" COLLATE 'latin1_spanish_ci',
  PRIMARY KEY (`clave`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;


CREATE TABLE IF NOT EXISTS `movimientopalet` (
  `clave` char(10) NOT NULL,
  `idpalet` char(10) DEFAULT NULL,
  `idalmacenorigen` char(10) DEFAULT NULL,
  `tipomovimiento` int(11) DEFAULT NULL,
  `fechasync` datetime DEFAULT current_timestamp(),
  `idalmacendestino` char(10) DEFAULT NULL,
  `cantidad` double DEFAULT 0,
  `notas` TEXT NULL DEFAULT "" COLLATE 'latin1_spanish_ci',
  PRIMARY KEY (`clave`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

ALTER TABLE movimientoalmacen 
	add column if not exists pasilloorigen varchar(3),
	add column if not exists estanteriaorigen varchar(3),
	add column if not exists estannivelorigen varchar(3);


				/*REVISADO 30/06/25 -  A fecha 6/05/2025 Joaquin*/
CREATE TABLE IF NOT EXISTS envasestock ( 
    clave CHAR(10) NOT NULL,
    idenvase CHAR(10) NOT NULL,
    idalmacen CHAR(10) NOT NULL,
    stock double DEFAULT 0,
    stockmin double DEFAULT 0,
    stockmax double DEFAULT 0,
    fechasync DATETIME DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (clave),
    UNIQUE KEY unique_envase_almacen (idenvase, idalmacen)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=LATIN1_SPANISH_CI;


				/*REVISADO 30/06/25 -  A fecha 12/05/2025 Joaquín*/
CREATE TABLE IF NOT EXISTS `palestock` (
	`clave` CHAR(10) NOT NULL COLLATE 'latin1_spanish_ci',
	`idpale` CHAR(10) NOT NULL COLLATE 'latin1_spanish_ci',
	`idalmacen` CHAR(10) NOT NULL COLLATE 'latin1_spanish_ci',
	`stock` double  NULL DEFAULT '0',
	`stockmin` double NULL DEFAULT '0',
	`stockmax` double NULL DEFAULT '0',
	`fechasync` DATETIME NULL DEFAULT current_timestamp(),
	PRIMARY KEY (`clave`) USING BTREE,
	UNIQUE INDEX `unique_pale_almacen` (`idpale`, `idalmacen`) USING BTREE
)
COLLATE='latin1_spanish_ci'
ENGINE=InnoDB;



ALTER TABLE  movimientoenvase
ADD COLUMN IF NOT EXISTS manual int DEFAULT 0;
ALTER TABLE  movimientopalet
ADD COLUMN IF NOT EXISTS manual int DEFAULT 0;
ALTER TABLE  movimientoalmacen
ADD COLUMN IF NOT EXISTS manual int DEFAULT 0;		


				/*REVISADO 30/06/25 -  A fecha 24/05/2025 Joaquín */




ALTER TABLE movimientoalmacen
    MODIFY COLUMN pasillo VARCHAR(50) DEFAULT '',
    MODIFY COLUMN estanteria VARCHAR(50) DEFAULT '',
    MODIFY COLUMN estannivel VARCHAR(50) DEFAULT '';



    
ALTER TABLE articulostock
		MODIFY COLUMN idpasillo VARCHAR(50) DEFAULT '',
		MODIFY COLUMN idestanteria VARCHAR(50) DEFAULT '',
		MODIFY COLUMN idestantnivel VARCHAR (50) DEFAULT '';

	/*REVISADO 30/06/25 - A fecha 02/06/2025 Tomas*/
    
ALTER TABLE pedlin
		ADD COLUMN IF NOT EXISTS idalmacen CHAR(10),
ADD COLUMN IF NOT EXISTS pasillo VARCHAR(3),
ADD COLUMN IF NOT EXISTS estanteria VARCHAR(3),
ADD COLUMN IF NOT EXISTS estannivel VARCHAR(3);
ALTER TABLE albvtalin
		ADD COLUMN IF NOT EXISTS idalmacen CHAR(10),
ADD COLUMN IF NOT EXISTS pasillo VARCHAR(3),
ADD COLUMN IF NOT EXISTS estanteria VARCHAR(3),
ADD COLUMN IF NOT EXISTS estannivel VARCHAR(3);
ALTER TABLE fravtalin
		ADD COLUMN IF NOT EXISTS idalmacen CHAR(10),
ADD COLUMN IF NOT EXISTS pasillo VARCHAR(3),
ADD COLUMN IF NOT EXISTS estanteria VARCHAR(3),
ADD COLUMN IF NOT EXISTS estannivel VARCHAR(3);
ALTER TABLE compralin
		ADD COLUMN IF NOT EXISTS idalmacen CHAR(10),
ADD COLUMN IF NOT EXISTS pasillo VARCHAR(3),
ADD COLUMN IF NOT EXISTS estanteria VARCHAR(3),
ADD COLUMN IF NOT EXISTS estannivel VARCHAR(3);

	ALTER TABLE albcprlin
		ADD COLUMN IF NOT EXISTS idalmacen CHAR(10),
ADD COLUMN IF NOT EXISTS pasillo VARCHAR(3),
ADD COLUMN IF NOT EXISTS estanteria VARCHAR(3),
ADD COLUMN IF NOT EXISTS estannivel VARCHAR(3);

ALTER TABLE fracprlin
		ADD COLUMN IF NOT EXISTS idalmacen CHAR(10),
ADD COLUMN IF NOT EXISTS pasillo VARCHAR(3),
ADD COLUMN IF NOT EXISTS estanteria VARCHAR(3),
ADD COLUMN IF NOT EXISTS estannivel VARCHAR(3);


		/*REVISADO 30/06/25 - A fecha 11/06/2025 Joaquín*/


ALTER TABLE ubicacion 
MODIFY COLUMN nombre VARCHAR(150),
MODIFY COLUMN unombre VARCHAR(150);

/******************************************************************/


/*A fecha 01/07/2025 Tomás*/
					
ALTER TABLE entorno2
ADD COLUMN IF NOT EXISTS vendersinstock TINYINT(1) DEFAULT 0;

/*A fecha 10/07/2025 Tomás*/
ALTER TABLE fraventa
ADD COLUMN IF NOT EXISTS logs VARCHAR(250) DEFAULT '';
/*A fecha 21/07/2025 Tomás*/

/*
0: Extranjero
1: Residente
2: Residente en la UE
*/				
ALTER TABLE cliente
ADD COLUMN IF NOT EXISTS tiporesi TINYINT(1) DEFAULT 1;

/* A fecha 09/07/2025 Joaquín*/

				
ALTER TABLE movimientoalmacen
ADD COLUMN IF NOT EXISTS cantidadanterior DOUBLE DEFAULT 0.0;

/*A fecha 23/07/2025 Paco*/
/* Lo paso a Text porque ese campo lo uso yo también y foxpro no admite campos de más de 254 caracteres */
ALTER TABLE formapago
MODIFY COLUMN listavtos Text Default Null;

/*A fecha 24/07/2025 Tomás*/
  ALTER TABLE venta ADD COLUMN IF NOT EXISTS utcfechahash VARCHAR(25) DEFAULT "";
 ALTER TABLE ventasleep ADD COLUMN IF NOT EXISTS utcfechahash VARCHAR(25) DEFAULT "";
	
ALTER TABLE cliente ADD COLUMN IF NOT EXISTS tipoidfiscal CHAR(2) DEFAULT "01";

/*A fecha 24/07/2025 Paco*/
ALTER TABLE provee ADD COLUMN IF NOT EXISTS tipoidfiscal CHAR(2) DEFAULT "01";

/*A fecha 29/07/2025 Tomás*/
ALTER TABLE entorno2 
ADD COLUMN IF NOT EXISTS emailverifactu VARCHAR(50) DEFAULT NULL,
ADD COLUMN IF NOT EXISTS validezcertif DATE DEFAULT NULL;

/*A fecha 01/08/2025 Tomás*/
ALTER TABLE `usuario`
  ADD COLUMN IF NOT EXISTS `aeatrevisor` tinyint(1) DEFAULT 0,
  ADD COLUMN IF NOT EXISTS `codigosclientes` tinyint(1) DEFAULT 0;

/*A fecha 05/08/2025 Tomás*/
ALTER TABLE `remesa`
	ADD COLUMN IF NOT EXISTS `fechasync` DATETIME DEFAULT NOW();

/*A fecha 11/08/2025 Tomás*/
ALTER TABLE cliente
ADD COLUMN IF NOT EXISTS `oficontable` VARCHAR(25) NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `orggestor` VARCHAR(25) NULL DEFAULT NULL,
ADD COLUMN IF NOT EXISTS `utramitadora` VARCHAR(25) NULL DEFAULT NULL;

/*A fecha 12/08/2025 Tomás*/
ALTER TABLE cliente
ADD COLUMN IF NOT EXISTS `esorgpublico` TINYINT(1) DEFAULT 0;
/*A fecha 19/08/2025 Tomás*/
ALTER TABLE tipoiva
ADD COLUMN IF NOT EXISTS `tipoimpuesto` CHAR(2) DEFAULT "01"; 
 
/*A fecha 19/08/2025 Paco*/
Alter Table venta
Add Column If Not Exists `franum` VarChar(13) Null Default "", Add Index If Not Exists franum (franum);
Alter Table ventasleep
Add Column If Not Exists `franum` VarChar(13) Null Default "", Add Index If Not Exists franum (franum);

/*A fecha 20/08/2025 Tomás*/
ALTER TABLE `usuario`
  ADD COLUMN IF NOT EXISTS `verventas` tinyint(1) DEFAULT 1,
  ADD COLUMN IF NOT EXISTS `vercompras` tinyint(1) DEFAULT 1,
  ADD COLUMN IF NOT EXISTS `vertareas` tinyint(1) DEFAULT 1;

CREATE TABLE IF NOT EXISTS grupousuario (
    clave char(10) NOT NULL,
    nombre VARCHAR(50) DEFAULT '',
    verclientes TINYINT(1) DEFAULT 0,
    verprecios TINYINT(1) DEFAULT 0,
    crearpartes TINYINT(1) DEFAULT 0,
    verinventmaquina TINYINT(1) DEFAULT 0,
    adjuntafotos TINYINT(1) DEFAULT 0,
    verarticulos TINYINT(1) DEFAULT 0,
    crearlineas TINYINT(1) DEFAULT 0,
    vercalendario TINYINT(1) DEFAULT 0,
    recuperarfinalizadas TINYINT(1) DEFAULT 0,
    finalizartodas TINYINT(1) DEFAULT 0,
    devolveraceptadas TINYINT(1) DEFAULT 0,
    vermapa TINYINT(1) DEFAULT 0,
    recibirpush TINYINT(1) DEFAULT 1,
    verdirecciones TINYINT(1) DEFAULT 0,
    vermaquinas TINYINT(1) DEFAULT 0,
    verajustesentorno TINYINT(1) DEFAULT 0,
    verusuarios TINYINT(1) DEFAULT 0,
    editarlineas TINYINT(1) DEFAULT 0,
    modificarfechaservicio TINYINT(1) DEFAULT 0,
    modificarfechafinal TINYINT(1) DEFAULT 0,
    verpedidos TINYINT(1) DEFAULT 1,
    veralbaranes TINYINT(1) DEFAULT 1,
    verfacturas TINYINT(1) DEFAULT 1,
    verventas TINYINT(1) DEFAULT 1,
    vercompras TINYINT(1) DEFAULT 1,
    vertareas TINYINT(1) DEFAULT 1,
    fechasync DATETIME DEFAULT NOW(),
    PRIMARY KEY (`clave`)
) COLLATE='latin1_spanish_ci' ENGINE=InnoDB;
/*A fecha 09/09/2025 Tomás*/
ALTER TABLE `usuario`
  ADD COLUMN IF NOT EXISTS `verrecursoshumanos` tinyint(1) DEFAULT 1,
  ADD COLUMN IF NOT EXISTS `modificardatosempresa` tinyint(1) DEFAULT 1,
  ADD COLUMN IF NOT EXISTS `vereconomia` tinyint(1) DEFAULT 1;

ALTER TABLE `grupousuario`
  ADD COLUMN IF NOT EXISTS `verrecursoshumanos` tinyint(1) DEFAULT 1,
  ADD COLUMN IF NOT EXISTS `modificardatosempresa` tinyint(1) DEFAULT 1,
  ADD COLUMN IF NOT EXISTS `vereconomia` tinyint(1) DEFAULT 1;


Editor is loading...
Leave a Comment