diff --git a/db/changes/10110-postCampaign/00-clonTravelComplete.sql b/db/changes/10110-postCampaign/00-clonTravelComplete.sql new file mode 100644 index 000000000..9817613f4 --- /dev/null +++ b/db/changes/10110-postCampaign/00-clonTravelComplete.sql @@ -0,0 +1,132 @@ +DROP procedure IF EXISTS `vn`.`clonTravelComplete`; + +DELIMITER $$ +CREATE DEFINER=`root`@`%` PROCEDURE `vn`.`clonTravelComplete`(IN `vTravelFk` INT, IN `vDateStart` DATE, IN `vDateEnd` DATE, IN `vRef` VARCHAR(255)) +BEGIN + + DECLARE vTravelNew INT; + DECLARE vEntryNew INT; + DECLARE vDone BIT DEFAULT 0; + DECLARE vAuxEntryFk INT; + DECLARE vRsEntry CURSOR FOR + SELECT e.id + FROM entry e + JOIN travel t + ON t.id = e.travelFk + WHERE e.travelFk = vTravelFk; + + DECLARE vRsBuy CURSOR FOR + SELECT b.* + FROM buy b + JOIN entry e + ON b.entryFk = e.id + WHERE e.travelFk = vTravelNew and b.entryFk=entryNew + ORDER BY e.id; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = 1; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; + + START TRANSACTION; + + INSERT INTO travel (shipped,landed, warehouseInFk, warehouseOutFk, agencyFk, ref, isDelivered, isReceived, m3, kg) + SELECT vDateStart, vDateEnd,warehouseInFk, warehouseOutFk, agencyFk, vRef, isDelivered, isReceived, m3, kg + FROM travel + WHERE id = vTravelFk; + + SET vTravelNew = LAST_INSERT_ID(); + SET vDone = 0; + OPEN vRsEntry ; + FETCH vRsEntry INTO vAuxEntryFk; + + WHILE NOT vDone DO + INSERT INTO entry (supplierFk, + ref, + isInventory, + isConfirmed, + isOrdered, + isRaid, + commission, + created, + evaNotes, + travelFk, + currencyFk, + companyFk, + gestDocFk, + invoiceInFk) + SELECT supplierFk, + ref, + isInventory, + isConfirmed, + isOrdered, + isRaid, + commission, + created, + evaNotes, + vTravelNew, + currencyFk, + companyFk, + gestDocFk, + invoiceInFk + FROM entry + WHERE id = vAuxEntryFk; + + SET vEntryNew = LAST_INSERT_ID(); + + + INSERT INTO buy (entryFk, + itemFk, + quantity, + buyingValue, + packageFk, + stickers, + freightValue, + packageValue, + comissionValue, + packing, + `grouping`, + groupingMode, + location, + price1, + price2, + price3, + minPrice, + producer, + printedStickers, + isChecked) + SELECT vEntryNew, + itemFk, + quantity, + buyingValue, + packageFk, + stickers, + freightValue, + packageValue, + comissionValue, + packing, + `grouping`, + groupingMode, + location, + price1, + price2, + price3, + minPrice, + producer, + printedStickers, + isChecked + FROM buy + WHERE entryFk = vAuxEntryFk; + + + FETCH vRsEntry INTO vAuxEntryFk; + END WHILE; + CLOSE vRsEntry; + COMMIT; + END$$ + +DELIMITER ; + diff --git a/db/changes/10110-postCampaign/00-creditClassificationBeforeUpdate.sql b/db/changes/10110-postCampaign/00-creditClassificationBeforeUpdate.sql new file mode 100644 index 000000000..5ca0fd131 --- /dev/null +++ b/db/changes/10110-postCampaign/00-creditClassificationBeforeUpdate.sql @@ -0,0 +1,16 @@ + +DELIMITER $$ +DROP TRIGGER IF EXISTS `vn`.`creditClassification_BEFORE_UPDATE` $$ + + +CREATE DEFINER=`root`@`%` TRIGGER `vn`.`creditClassification_beforeUpdate` BEFORE UPDATE ON `creditClassification` FOR EACH ROW +BEGIN + IF NEW.client <> OLD.client THEN + CALL util.throw('NOT_ALLOWED_CHANGE_CLIENT'); + END IF; + IF NEW.dateEnd IS NOT NULL AND OLD.dateEnd IS NULL THEN + UPDATE `client` c + SET creditInsurance = 0 WHERE c.id = NEW.client; + END IF; +END$$ +DELIMITER ; diff --git a/db/changes/10110-postCampaign/00-creditInsuranceAfterInsert.sql b/db/changes/10110-postCampaign/00-creditInsuranceAfterInsert.sql new file mode 100644 index 000000000..4429b1e97 --- /dev/null +++ b/db/changes/10110-postCampaign/00-creditInsuranceAfterInsert.sql @@ -0,0 +1,13 @@ + +DELIMITER $$ + +DROP TRIGGER IF EXISTS `vn`.`creditInsurance_AFTER_INSERT` $$ + +CREATE DEFINER=`root`@`%` TRIGGER `vn`.`creditInsurance_afterInsert` AFTER INSERT ON `creditInsurance` FOR EACH ROW +BEGIN + UPDATE `client` c + JOIN vn.creditClassification cc ON cc.client = c.id + SET creditInsurance = NEW.credit WHERE cc.id = NEW.creditClassification; + +END$$ +DELIMITER ; diff --git a/db/changes/10110-postCampaign/00-duaInvoicingBooking.sql b/db/changes/10110-postCampaign/00-duaInvoicingBooking.sql new file mode 100644 index 000000000..091acef43 --- /dev/null +++ b/db/changes/10110-postCampaign/00-duaInvoicingBooking.sql @@ -0,0 +1,74 @@ + +DROP procedure IF EXISTS `vn`.`duaInvoiceInBooking`; + +DELIMITER $$ +CREATE DEFINER=`root`@`%` PROCEDURE `vn`.`duaInvoiceInBooking`(vDuaFk INT) +BEGIN + DECLARE done BOOL DEFAULT FALSE; + DECLARE vInvoiceFk INT; + DECLARE vASIEN BIGINT DEFAULT 0; + DECLARE vCounter INT DEFAULT 0; + + DECLARE rs CURSOR FOR + SELECT e.invoiceInFk + FROM entry e + JOIN duaEntry de ON de.entryFk = e.id + JOIN invoiceIn ii ON ii.id = e.invoiceInFk + WHERE de.duaFk = vDuaFk + AND de.customsValue + AND ii.isBooked = FALSE; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN rs; + + UPDATE invoiceIn ii + JOIN entry e ON e.invoiceInFk = ii.id + JOIN duaEntry de ON de.entryFk = e.id + JOIN dua d ON d.id = de.duaFk + SET ii.isBooked = TRUE, + ii.booked = IFNULL(ii.booked,d.booked), + ii.operated = IFNULL(ii.operated,d.operated), + ii.issued = IFNULL(ii.issued,d.issued), + ii.bookEntried = IFNULL(ii.bookEntried,d.bookEntried), + e.isConfirmed = TRUE + WHERE d.id = vDuaFk; + + SELECT IFNULL(ASIEN,0) INTO vASIEN + FROM dua + WHERE id = vDuaFk; + + FETCH rs INTO vInvoiceFk; + + WHILE NOT done DO + + CALL invoiceInBookingMain(vInvoiceFk); + + IF vCounter > 0 OR vASIEN > 0 THEN + + UPDATE XDiario x + JOIN config c ON c.ASIEN = x.ASIEN + SET x.ASIEN = vASIEN; + + ELSE + + SELECT ASIEN INTO vASIEN FROM config; + + END IF; + + SET vCounter = vCounter + 1; + + FETCH rs INTO vInvoiceFk; + + END WHILE; + + CLOSE rs; + + UPDATE dua + SET ASIEN = vASIEN + WHERE id = vDuaFk; + +END$$ + +DELIMITER ; + diff --git a/db/changes/10110-postCampaign/00-duaTaxBooking.sql b/db/changes/10110-postCampaign/00-duaTaxBooking.sql new file mode 100644 index 000000000..98cf3bca8 --- /dev/null +++ b/db/changes/10110-postCampaign/00-duaTaxBooking.sql @@ -0,0 +1,149 @@ +DROP procedure IF EXISTS `vn`.`duaTaxBooking`; + +DELIMITER $$ +CREATE DEFINER=`root`@`%` PROCEDURE `vn`.`duaTaxBooking`(vDuaFk INT) +BEGIN + DECLARE vBookNumber INT; + DECLARE vBookDated DATE; + DECLARE vDiff DECIMAL(10,2); + DECLARE vApunte BIGINT; + + SELECT IFNULL(d.ASIEN,MAX(x.ASIEN) + 1 ) + INTO vBookNumber + FROM XDiario x + LEFT JOIN dua d ON d.id = vDuaFk ; + + SELECT IFNULL(bookEntried, CURDATE()) INTO vBookDated + FROM dua + WHERE id = vDuaFk; + + -- Apunte de la aduana + + INSERT INTO XDiario( + ASIEN, + FECHA, + SUBCTA, + CONCEPTO, + EUROHABER, + SERIE, + empresa_id, + CLAVE, + FACTURA) + + SELECT + vBookNumber, + d.bookEntried, + '4700000999', + CONCAT('DUA ',d.code), + sum(di.amount * tr.rate / 100) EUROHABER, + 'R', + d.companyFk, + vDuaFk, + vDuaFk + FROM duaIntrastat di + JOIN intrastat ist ON ist.id = di.intrastatFk + JOIN (SELECT rate, taxClassFk + FROM + (SELECT rate, taxClassFk + FROM invoiceInTaxBookingAccount ta + WHERE ta.effectived <= vBookDated + ORDER BY ta.effectived DESC + ) tba + GROUP BY taxClassFk + ) tr ON tr.taxClassFk = ist.taxClassFk + JOIN dua d ON d.id = di.duaFk + WHERE di.duaFk = vDuaFk; + + -- Apuntes por tipo de IVA y proveedor + + INSERT INTO XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + FECHA_EX, + FECHA_OP, + FACTURAEX, + NFACTICK, + L340, + LDIFADUAN, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + empresa_id, + FECREGCON + ) + + SELECT + vBookNumber ASIEN, + vBookDated FECHA, + tr.account SUBCTA, + '4330002067' CONTRA, + sum(dt.tax) EURODEBE, + sum(dt.base) BASEEURO, + CONCAT('DUA nº',d.code) CONCEPTO, + d.id FACTURA, + dt.rate IVA, + '*' AUXILIAR, + 'D' SERIE, + d.issued FECHA_EX, + d.operated FECHA_OP, + d.code FACTURAEX, + 1 NFACTICK, + 1 L340, + TRUE LDIFADUAN, + 1 TIPOCLAVE, + 1 TIPOEXENCI, + 1 TIPONOSUJE, + 5 TIPOFACT, + 1 TIPORECTIF, + IF(s.countryFk IN (30, 1), 1, 4) TERIDNIF, + s.nif TERNIF, + s.name TERNOM, + d.companyFk, + d.booked FECREGCON + FROM duaTax dt + JOIN dua d ON dt.duaFk = d.id + JOIN (SELECT account, rate + FROM + (SELECT rate, account + FROM invoiceInTaxBookingAccount ta + WHERE ta.effectived <= vBookDated + AND taxAreaFk = 'WORLD' + ORDER BY ta.effectived DESC + ) tba + GROUP BY rate + ) tr ON tr.rate = dt.rate + JOIN supplier s ON s.id = d.companyFk + WHERE d.id = vDuaFk + GROUP BY dt.rate; + + SELECT SUM(EURODEBE) -SUM(EUROHABER), MAX(id) INTO vDiff, vApunte + FROM XDiario + WHERE ASIEN = vBookNumber; + + UPDATE XDiario + SET BASEEURO = 100 * (EURODEBE - vDiff) / IVA, + EURODEBE = EURODEBE - vDiff + WHERE id = vApunte; + + UPDATE dua + SET ASIEN = vBookNumber + WHERE id = vDuaFk; + +END$$ + +DELIMITER ; + diff --git a/db/changes/10110-postCampaign/00-rangeDateInfo.sql b/db/changes/10110-postCampaign/00-rangeDateInfo.sql index 9760d3696..816269ef9 100644 --- a/db/changes/10110-postCampaign/00-rangeDateInfo.sql +++ b/db/changes/10110-postCampaign/00-rangeDateInfo.sql @@ -3,21 +3,36 @@ DROP procedure IF EXISTS `vn`.`rangeDateInfo`; DELIMITER $$ CREATE PROCEDURE `vn`.`rangeDateInfo` (vStarted DATE, vEnded DATE) BEGIN - /* - * Crea una tabla temporal con las fechas - * desde una fecha inicial a una final - * @vStarted: fecha inicial - * @vEnded: fecha final - */ +/** + * Crea una tabla temporal con las fechas + * desde una fecha inicial a una final + * @param vStarted fecha inicial + * @param vEnded fecha final + */ DECLARE vDated DATE DEFAULT vStarted; + DROP TEMPORARY TABLE IF EXISTS tmp.rangeDate; CREATE TEMPORARY TABLE tmp.rangeDate( - dated DATE + `dated` DATE, + `period` INT, + `month` INT, + `year` INT, + `day` INT, + `week` INT, + `yearMonth` INT ) ENGINE = MEMORY; WHILE vDated <= vEnded DO - INSERT INTO tmp.rangeDate(dated) VALUES(vDated); + INSERT INTO tmp.rangeDate + SET `dated` = vDated, + `period` = YEAR(vDated) * 100 + WEEK(vDated, 1), + `month` = MONTH(vDated), + `year` = YEAR(vDated), + `day` = DAY(vDated), + `week` = WEEK(vDated, 1), + `yearMonth` = YEAR(vDated) * 100 + MONTH(vDated); + SET vDated = DATE_ADD(vDated, INTERVAL 1 DAY); END WHILE; END$$ diff --git a/db/changes/10110-postCampaign/01-ticketBusinessCalculate.sql b/db/changes/10110-postCampaign/01-ticketBusinessCalculate.sql index ef537d780..97249bd8a 100644 --- a/db/changes/10110-postCampaign/01-ticketBusinessCalculate.sql +++ b/db/changes/10110-postCampaign/01-ticketBusinessCalculate.sql @@ -89,6 +89,7 @@ BEGIN t.type = 'Festivo' WHERE t.type IS NULL; +DROP TEMPORARY TABLE IF EXISTS tmp.rangeDate; END$$ DELIMITER ; diff --git a/db/dump/dumpedFixtures.sql b/db/dump/dumpedFixtures.sql index 6ea1cb5a2..e1ff5b543 100644 --- a/db/dump/dumpedFixtures.sql +++ b/db/dump/dumpedFixtures.sql @@ -36,7 +36,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:41 +-- Dump completed on 2019-11-22 14:03:55 USE `account`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -94,7 +94,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:41 +-- Dump completed on 2019-11-22 14:03:55 USE `salix`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -142,7 +142,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:41 +-- Dump completed on 2019-11-22 14:03:55 USE `vn`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -310,7 +310,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:41 +-- Dump completed on 2019-11-22 14:03:55 USE `vn2008`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -378,7 +378,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:41 +-- Dump completed on 2019-11-22 14:03:55 USE `bi`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -426,7 +426,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:42 +-- Dump completed on 2019-11-22 14:03:55 USE `cache`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -464,7 +464,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:42 +-- Dump completed on 2019-11-22 14:03:55 USE `hedera`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -522,7 +522,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:42 +-- Dump completed on 2019-11-22 14:03:55 USE `postgresql`; -- MySQL dump 10.13 Distrib 5.7.28, for Linux (x86_64) -- @@ -610,4 +610,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-22 8:14:42 +-- Dump completed on 2019-11-22 14:03:55 diff --git a/db/dump/fixtures.sql b/db/dump/fixtures.sql index 86ee0a612..eaa623e38 100644 --- a/db/dump/fixtures.sql +++ b/db/dump/fixtures.sql @@ -361,7 +361,7 @@ INSERT INTO `vn`.`creditInsurance`(`id`, `creditClassification`, `credit`, `crea (2, 2, 6000, DATE_ADD(CURDATE(), INTERVAL -2 MONTH), NULL), (3, 3, 10000, DATE_ADD(CURDATE(), INTERVAL -3 MONTH), NULL); -INSERT INTO `vn2008`.`empresa_grupo`(`empresa_grupo_id`, `grupo`) +INSERT INTO `vn`.`companyGroup`(`id`, `code`) VALUES (1, 'Wayne Industries'); @@ -1464,7 +1464,7 @@ INSERT INTO `vn`.`receipt`(`id`, `invoiceFk`, `amountPaid`, `amountUnpaid`, `pay (3, 'Cobro en efectivo', 300.00, 100.00, DATE_ADD(CURDATE(), INTERVAL -10 DAY), 9, 1, 102, DATE_ADD(CURDATE(), INTERVAL -10 DAY), 442, 0), (4, 'Cobro en efectivo', 400.00, -50.00, DATE_ADD(CURDATE(), INTERVAL -15 DAY), 9, 1, 103, DATE_ADD(CURDATE(), INTERVAL -15 DAY), 442, 0); -INSERT INTO `vn2008`.`workerTeam`(`id`, `team`, `user`) +INSERT INTO `vn`.`workerTeam`(`id`, `team`, `workerFk`) VALUES (1, 1, 9), (2, 1, 18), @@ -1955,5 +1955,4 @@ INSERT INTO `vn`.`userPhone`(`id`, `userFk`, `typeFk`, `phone`) INSERT INTO `vn`.`workerTimeControlParams` (`id`, `dayBreak`, `weekBreak`, `weekScope`, `dayWorkMax`, `dayStayMax`) VALUES - (1, 43200, 129600, 734400, 43200, 50400); - + (1, 43200, 129600, 734400, 43200, 50400); \ No newline at end of file diff --git a/db/dump/structure.sql b/db/dump/structure.sql index 1e9341b92..6cec559c8 100644 --- a/db/dump/structure.sql +++ b/db/dump/structure.sql @@ -365,7 +365,7 @@ CREATE TABLE `user` ( KEY `nickname` (`nickname`), KEY `lang` (`lang`), CONSTRAINT `user_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=16896 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global users'; +) ENGINE=InnoDB AUTO_INCREMENT=16911 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global users'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -1977,7 +1977,7 @@ CREATE TABLE `analisis_ventas` ( `Importe` double NOT NULL, PRIMARY KEY (`id`), KEY `Año` (`Año`,`Semana`) -) ENGINE=InnoDB AUTO_INCREMENT=113827238 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=114351518 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3699,111 +3699,6 @@ BEGIN FROM bi.defaulters WHERE date = vDate and amount > 0; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `defaultingKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `defaultingKk`(IN `vDate` DATE) -BEGIN -/*JGF para usar el campo vencimiento de facturas*/ - DECLARE vDone BOOLEAN; - DECLARE vClient INT; - DECLARE vAmount INT; - DECLARE vDued DATE; - DECLARE vAmountInvoice DECIMAL(10,2); - DECLARE vGraceDays INT; - DECLARE defaulters CURSOR FOR - SELECT client, amount, graceDays FROM bi.defaulters d - JOIN vn2008.Clientes c ON c.Id_Cliente = d.client - JOIN vn2008.pay_met pm ON pm.id = c.pay_met_id - WHERE hasChanged AND date = vDate; - - DECLARE invoices CURSOR FOR - SELECT Vencimiento, importe FROM vn2008.Facturas f - WHERE f.Fecha >= '2016-01-01' AND f.Id_Cliente = vClient ORDER BY f.Fecha DESC; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DELETE FROM bi.defaulters WHERE date = vDate; - - INSERT INTO bi.defaulters(client, date, amount) - SELECT customer_id, vDate, FLOOR(SUM(amount)) AS amount - FROM bi.customerRiskOverdue - GROUP BY customer_id; - - -- marcamos si ha cambiado y heredamos la fecha defaulterSince - UPDATE bi.defaulters d - JOIN ( - SELECT * FROM( - SELECT client, amount , defaulterSince, frozened FROM bi.defaulters - WHERE date <= TIMESTAMPADD(DAY,-1, vDate) - ORDER BY date DESC) t GROUP BY client - ) yesterday using(client) - SET d.hasChanged = IF(d.amount <> yesterday.amount, 1, 0), - d.defaulterSince = yesterday.defaulterSince, - d.frozened = yesterday.frozened - WHERE d.date = vDate ; - - OPEN defaulters; - defaulters: LOOP - SET vDone = FALSE; - SET vAmount = 0; - FETCH defaulters INTO vClient,vAmount, vGraceDays; - IF vDone THEN - LEAVE defaulters; - END IF; - OPEN invoices; - invoices:LOOP - - FETCH invoices INTO vDued, vAmountInvoice; - IF vDone THEN - LEAVE invoices; - END IF; - - IF TIMESTAMPADD(DAY, vGraceDays, vDued) <= vDate THEN - SET vAmount = vAmount - vAmountInvoice; - IF vAmount <= 0 THEN - - UPDATE defaulters SET defaulterSince = vDued - WHERE client = vClient and date = vDate; - - SET vAmount = 0; - LEAVE invoices; - END IF; - END IF; - END LOOP; - CLOSE invoices; - END LOOP; - CLOSE defaulters; - - UPDATE defaulters d - JOIN vn.config ON TRUE - SET d.frozened = NULL - WHERE d.`date` = vDate - AND d.amount <= config.defaultersMaxAmount; - - CALL vn.clientFreeze(); - - -- actualizamos defaulting - DELETE FROM bi.defaulting WHERE date = vDate; - - INSERT INTO bi.defaulting(date, amount) - SELECT vDate, SUM(amount) - FROM bi.defaulters - WHERE date = vDate and amount > 0; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -4008,122 +3903,6 @@ BEGIN SET greuge = Importe; - INSERT INTO vn2008.Greuges (Id_Cliente,Comentario,Importe,Fecha, Greuges_type_id, Id_Ticket) - SELECT t.Id_Cliente - , concat('dif_porte ', dp.Id_Ticket) - , round(IFNULL(teorico,0) - IFNULL(practico,0) - IFNULL(greuge,0),2) as Importe - , date(t.Fecha) - , 1 - ,t.Id_Ticket - FROM tmp.dp - JOIN vn2008.Tickets t on dp.Id_Ticket = t.Id_Ticket - WHERE ABS(IFNULL(teorico,0) - IFNULL(practico,0) - IFNULL(greuge,0)) > 1; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `greuge_dif_porte_addKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `greuge_dif_porte_addKk`() -BEGIN - DECLARE datSTART DATETIME DEFAULT '2019-01-01'; -- TIMESTAMPADD(DAY,-10,CURDATE()); - DECLARE datEND DATETIME DEFAULT TIMESTAMPADD(DAY,-1,CURDATE()); - - DROP TEMPORARY TABLE IF EXISTS tmp.dp; - - CREATE TEMPORARY TABLE tmp.dp - (PRIMARY KEY (Id_Ticket)) - ENGINE = MEMORY - SELECT - t.Id_Ticket, - SUM(az.price ) AS teorico, - 00000.00 as practico, - 00000.00 as greuge - FROM - vn2008.Tickets t - JOIN vn2008.Clientes cli ON cli.Id_cliente = t.Id_Cliente - LEFT JOIN vn2008.expeditions e ON e.ticket_id = t.Id_Ticket - JOIN vn2008.Consignatarios c ON c.Id_Consigna = t.Id_Consigna - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - JOIN vn2008.Agencias_province ap ON t.warehouse_id = ap.warehouse_id - AND ap.province_id = c.province_id - AND ap.agency_id = a.agency_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = t.Id_Agencia - AND az.zona = ap.zona - AND t.warehouse_id = az.warehouse_id - AND az.Id_Article = e.EsBulto - WHERE - t.Fecha between datSTART AND datEND - AND cli.`real` - AND t.empresa_id IN (442 , 567) - AND ap.isVolumetric = FALSE - GROUP BY t.Id_Ticket; - - -- Agencias que cobran por volumen - - INSERT INTO tmp.dp - SELECT - t.Id_Ticket, - SUM(freight) AS teorico, - 00000.00 as practico, - 00000.00 as greuge - FROM - vn2008.Tickets t - JOIN vn2008.Clientes cli ON cli.Id_cliente = t.Id_Cliente - JOIN vn2008.Consignatarios c ON c.Id_Consigna = t.Id_Consigna - JOIN vn2008.v_Movimientos_Volumen_shipping_charge mvsc ON mvsc.Id_Ticket = t.Id_Ticket - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - JOIN vn2008.Agencias_province ap ON t.warehouse_id = ap.warehouse_id - AND ap.province_id = c.province_id - AND ap.agency_id = a.agency_id - WHERE cli.`real` - AND t.empresa_id IN (442 , 567) - AND t.Fecha BETWEEN datSTART AND datEND - AND ap.isVolumetric != FALSE - GROUP BY t.Id_Ticket; - - DROP TEMPORARY TABLE IF EXISTS tmp.dp_aux; - - CREATE TEMPORARY TABLE tmp.dp_aux - (PRIMARY KEY (Id_Ticket)) - ENGINE = MEMORY - SELECT dp.Id_Ticket, sum(Cantidad * Valor) as valor - FROM tmp.dp - JOIN vn2008.Movimientos m using(Id_Ticket) - JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento) - WHERE mc.Id_Componente = 15 - GROUP BY m.Id_Ticket; - - UPDATE tmp.dp - JOIN tmp.dp_aux using(Id_Ticket) - SET practico = valor; - - DROP TEMPORARY TABLE tmp.dp_aux; - - CREATE TEMPORARY TABLE tmp.dp_aux - (PRIMARY KEY (Id_Ticket)) - ENGINE = MEMORY - SELECT dp.Id_Ticket, sum(Importe) Importe - FROM tmp.dp - JOIN vn2008.Greuges g using(Id_Ticket) - WHERE Greuges_type_id = 1 - GROUP BY Id_Ticket; - - UPDATE tmp.dp - JOIN tmp.dp_aux using(Id_Ticket) - SET greuge = Importe; - - INSERT INTO vn2008.Greuges (Id_Cliente,Comentario,Importe,Fecha, Greuges_type_id, Id_Ticket) SELECT t.Id_Cliente , concat('dif_porte ', dp.Id_Ticket) @@ -5416,7 +5195,7 @@ CREATE TABLE `m3` ( `dayName` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, `euros` decimal(10,2) DEFAULT '0.00', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=370910 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=371933 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5688,7 +5467,7 @@ CREATE TABLE `payMethodClient` ( KEY `FkDateClientPayMethod` (`dated`,`clientFk`), CONSTRAINT `FkClientPayMethod` FOREIGN KEY (`clientFk`) REFERENCES `vn`.`client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `FkPayMethodClient` FOREIGN KEY (`payMethodFk`) REFERENCES `vn`.`payMethod` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=5862523 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; +) ENGINE=InnoDB AUTO_INCREMENT=5878906 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5763,7 +5542,7 @@ CREATE TABLE `productivity` ( `m3PCA` double NOT NULL DEFAULT '0', `m3Artificial` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=61353576 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=61480490 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8042,97 +7821,6 @@ BEGIN call bs.vendedores_evolution_add; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `vendedores_add__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `vendedores_add__`(intYEAR INT, vQuarter INT) -BEGIN - - DECLARE comisionRate DOUBLE DEFAULT 0.029; - - REPLACE vendedores - SELECT c.Id_Trabajador - , intYEAR - , MONTH(v.fecha) intMONTH - , sum(importe) as importe - , sum(importe) * 0.029 as comision - , 0 as comisionCedida - , 0 as comisionArrendada - , 0 as comisionNuevos - - FROM ventas v - JOIN vn2008.Clientes c on v.Id_Cliente = c.Id_Cliente - JOIN vn2008.`time` t on t.`date` = v.fecha - WHERE c.Id_Trabajador is not null - AND t.`year` = intYEAR AND QUARTER(v.fecha) = vQuarter - GROUP BY c.Id_Trabajador, t.`month`; - - -- Ventas nuevas - UPDATE vendedores v - JOIN - ( - SELECT c.Id_Trabajador - , sum(importe) * 0.029 as comisionNueva - , t.`month` - , t.`year` - FROM ventas v - JOIN bs.clientNewBorn cnb on v.Id_Cliente = cnb.clientFk - JOIN vn2008.Clientes c ON c.Id_Cliente = v.Id_Cliente - JOIN vn2008.`time` t on t.`date` = v.fecha - WHERE c.Id_Trabajador is not null - AND t.`year` = intYEAR AND QUARTER(v.fecha) = vQuarter - GROUP BY c.Id_Trabajador, t.`month` - ) sub ON sub.Id_Trabajador = v.Id_Trabajador AND sub.`month` = v.mes AND sub.`year` = v.año - SET v.comisionNuevos = sub.comisionNueva, v.comision = v.comision - sub.comisionNueva; - - -- Ventas cedidas - UPDATE vendedores v - JOIN ( - SELECT cc.Id_Trabajador_old as Id_Trabajador - , sum(importe) * 0.029 * comision_old as cedido - , sum(importe) * 0.029 * comision_new as arrendada - , t.`month` - , t.`year` - FROM ventas v - JOIN vn2008.Clientes c on v.Id_Cliente = c.Id_Cliente - JOIN vn2008.Clientes_cedidos cc on cc.Id_Cliente = c.Id_Cliente - JOIN vn2008.`time` t on t.`date` = v.fecha - WHERE c.Id_Trabajador is not null - AND t.`year` = intYEAR AND QUARTER(v.fecha) = vQuarter - GROUP BY cc.Id_Trabajador_old, t.`month` - ) sub ON sub.Id_Trabajador = v.Id_Trabajador AND sub.`month` = v.mes AND sub.`year` = v.año - SET v.comisionCedida = sub.cedido, v.comision = v.comision - sub.cedido - sub.arrendada; - - -- Ventas arrendadas - UPDATE vendedores v - JOIN ( - SELECT cc.Id_Trabajador_new as Id_Trabajador - , sum(importe) * 0.029 * comision_new as arrendada - , t.`month` - , t.`year` - FROM ventas v - JOIN vn2008.Clientes c on v.Id_Cliente = c.Id_Cliente - JOIN vn2008.Clientes_cedidos cc on cc.Id_Cliente = c.Id_Cliente AND v.fecha between datSTART and datEND - JOIN vn2008.`time` t on t.`date` = v.fecha - WHERE c.Id_Trabajador is not null - AND t.`year` = intYEAR AND QUARTER(v.fecha) = vQuarter - GROUP BY cc.Id_Trabajador_new, t.`month` - ) sub ON sub.Id_Trabajador = v.Id_Trabajador AND sub.`month` = v.mes AND sub.`year` = v.año - SET v.comisionArrendada = sub.arrendada; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -8757,105 +8445,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `__mana_price_modifier_update` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `__mana_price_modifier_update`() -BEGIN - - UPDATE mana_spellers me - JOIN - (SELECT Id_Trabajador, - FLOOR(SUM(importe)/12) as pesoCarteraMensual - FROM bs.vendedores - WHERE año * 100 + mes >= (year(CURDATE()) -1) * 100 + month(CURDATE()) - GROUP BY Id_Trabajador - ) lastYearSales using(Id_Trabajador) - SET me.prices_modifier_rate = GREATEST(me.minRate,LEAST(me.maxRate,ROUND(- me.used/lastYearSales.pesoCarteraMensual,3))) ; - - /* - -- pak 20/11/18 Petición expresa de Miriam. Quiere un 1% mínimo - UPDATE mana_spellers - JOIN - (SELECT Id_Trabajador, floor(sum(importe)/12) as pesoCarteraMensual - FROM bs.vendedores v - WHERE año * 100 + mes >= (year(curdate()) -1) * 100 + month(curdate()) - AND Id_Trabajador = 24 -- Miriam - ) ultimo_año_de_ventas using(Id_Trabajador) - SET prices_modifier_rate = GREATEST(0.01,LEAST(0.05,round(- used/pesoCarteraMensual,3))) ; - */ - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `__nightTaskLauncher` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `__nightTaskLauncher`() -BEGIN -/** - * @deprecated Use nightTask_launchAll() - */ - DECLARE done BOOL DEFAULT FALSE; - DECLARE vSchema VARCHAR(255); - DECLARE vProcedure VARCHAR(255); - DECLARE vId INT; - - DECLARE rs CURSOR FOR - SELECT id,`schema`, `procedure` - FROM bs.nightTask - WHERE IFNULL(finished,0) <= CURDATE() - ORDER BY `order`; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - SET max_sp_recursion_depth=3; - OPEN rs; - - FETCH rs INTO vId, vSchema, vProcedure; - - WHILE NOT done DO - - SELECT vId, vSchema, vProcedure; - - UPDATE bs.nightTask - SET started = now() - WHERE id = vId; - - CALL util.exec (sql_printf('CALL %s.%s',vSchema, vProcedure)); - - UPDATE bs.nightTask - SET finished = now() - WHERE id = vId; - - FETCH rs INTO vId, vSchema, vProcedure; - - END WHILE; - - CLOSE rs; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Current Database: `cache` @@ -8918,7 +8507,7 @@ CREATE TABLE `cache_calc` ( KEY `cache_id` (`cache_id`), KEY `cacheName` (`cacheName`), KEY `expires` (`expires`) -) ENGINE=InnoDB AUTO_INCREMENT=437184 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=437616 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8986,7 +8575,7 @@ CREATE TABLE `prod_graphic_source` ( `alert_level` int(11) NOT NULL DEFAULT '0', `Agencia` varchar(45) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2240007 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2242053 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10033,7 +9622,7 @@ CREATE TABLE `deliveryInformation` ( KEY `fgbSupplyResponse_idx2` (`FirstOrderDateTime`), KEY `fgbSupplyResponse_idx3` (`LatestOrderDateTime`), CONSTRAINT `fgbSupplyResponse` FOREIGN KEY (`supplyResponseID`) REFERENCES `supplyResponse` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=24416561 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=24468713 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10091,7 +9680,7 @@ CREATE TABLE `ekt` ( KEY `barcode` (`barcode`), KEY `fec` (`fec`), KEY `putOrderFk` (`putOrderFk`) -) ENGINE=InnoDB AUTO_INCREMENT=1113083 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1114019 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10112,7 +9701,7 @@ CREATE TABLE `exchange` ( KEY `buy_edi_id` (`ektFk`), CONSTRAINT `exchange_ibfk_1` FOREIGN KEY (`mailFk`) REFERENCES `mail` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `exchange_ibfk_2` FOREIGN KEY (`ektFk`) REFERENCES `ekt` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=653745 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=654679 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10374,7 +9963,7 @@ CREATE TABLE `mail` ( UNIQUE KEY `mail_id` (`messageId`), KEY `sender_id` (`senderFk`), CONSTRAINT `mail_ibfk_2` FOREIGN KEY (`senderFk`) REFERENCES `mailSender` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=683584 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=684631 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10630,7 +10219,7 @@ CREATE TABLE `supplyResponse` ( PRIMARY KEY (`ID`), UNIQUE KEY `ID_UNIQUE` (`ID`), KEY `IX_TransNumber` (`TransactionNumber`) COMMENT 'Agregado por Ernesto 11.6.2019\nSe ejecutaba 1 consulta por segundo desde MAIL y consumia un 20% de CPU de todo el servidor !!!!!\nCPU usada es mas estable que Indice en SendererID, cpu vs espacio que ocupa?\n' -) ENGINE=InnoDB AUTO_INCREMENT=8955871 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=8978690 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11327,7 +10916,7 @@ CREATE TABLE `image` ( PRIMARY KEY (`id`), UNIQUE KEY `collection` (`collectionFk`,`name`), CONSTRAINT `image_ibfk_1` FOREIGN KEY (`collectionFk`) REFERENCES `imageCollection` (`name`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=171949 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=172140 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12008,7 +11597,7 @@ CREATE TABLE `order` ( CONSTRAINT `order_ibfk_5` FOREIGN KEY (`address_id`) REFERENCES `vn`.`address` (`id`) ON UPDATE CASCADE, CONSTRAINT `order_ibfk_8` FOREIGN KEY (`delivery_method_id`) REFERENCES `vn`.`deliveryMethod` (`id`) ON UPDATE CASCADE, CONSTRAINT `order_ibfk_9` FOREIGN KEY (`agency_id`) REFERENCES `vn`.`agencyMode` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2248674 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2250839 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -12127,7 +11716,7 @@ CREATE TABLE `orderRow` ( KEY `warehouse_shipment` (`warehouseFk`,`shipment`), CONSTRAINT `orderRow_ibfk_2` FOREIGN KEY (`itemFk`) REFERENCES `vn`.`item` (`id`) ON UPDATE CASCADE, CONSTRAINT `orderRow_ibfk_3` FOREIGN KEY (`orderFk`) REFERENCES `order` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=13475354 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=13486880 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -12551,7 +12140,7 @@ CREATE TABLE `tpvTransaction` ( CONSTRAINT `receipt_id` FOREIGN KEY (`receiptFk`) REFERENCES `vn`.`receipt` (`Id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `tpvTransaction_ibfk_1` FOREIGN KEY (`clientFk`) REFERENCES `vn`.`client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `tpvTransaction_ibfk_2` FOREIGN KEY (`merchantFk`) REFERENCES `tpvMerchant` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=373021 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Transactions realized through the virtual TPV'; +) ENGINE=InnoDB AUTO_INCREMENT=373357 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Transactions realized through the virtual TPV'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12586,7 +12175,7 @@ CREATE TABLE `visit` ( PRIMARY KEY (`id`), KEY `firstAgent` (`firstAgentFk`), CONSTRAINT `visit_ibfk_1` FOREIGN KEY (`firstAgentFk`) REFERENCES `visitAgent` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2008762 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2010274 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12606,7 +12195,7 @@ CREATE TABLE `visitAccess` ( KEY `visit_access_idx_agent` (`agentFk`), KEY `stamp` (`stamp`), CONSTRAINT `visitAccess_ibfk_1` FOREIGN KEY (`agentFk`) REFERENCES `visitAgent` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4486243 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4490394 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12631,7 +12220,7 @@ CREATE TABLE `visitAgent` ( KEY `firstAccess` (`firstAccessFk`), CONSTRAINT `visitAgent_ibfk_1` FOREIGN KEY (`visitFk`) REFERENCES `visit` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `visitAgent_ibfk_2` FOREIGN KEY (`firstAccessFk`) REFERENCES `visitAccess` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2656054 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2658124 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12651,7 +12240,7 @@ CREATE TABLE `visitUser` ( KEY `date_time` (`stamp`), KEY `user_id` (`userFk`), CONSTRAINT `visitUser_ibfk_1` FOREIGN KEY (`accessFk`) REFERENCES `visitAccess` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3928690 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3932246 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -16389,7 +15978,7 @@ CREATE TABLE `cdr` ( KEY `dstchannel` (`dst_channel`), KEY `disposition` (`disposition`), KEY `src` (`src`) -) ENGINE=InnoDB AUTO_INCREMENT=316114 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=316511 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -16876,6 +16465,7 @@ SET character_set_client = utf8; 1 AS `pickupgroup`, 1 AS `careinvite`, 1 AS `insecure`, + 1 AS `transport`, 1 AS `ipaddr`, 1 AS `regseconds`, 1 AS `port`, @@ -17275,7 +16865,7 @@ CREATE TABLE `business` ( KEY `bussiness_provider` (`provider_id`), CONSTRAINT `business_client` FOREIGN KEY (`client_id`) REFERENCES `profile` (`profile_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `bussiness_provider` FOREIGN KEY (`provider_id`) REFERENCES `profile` (`profile_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3017 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=3018 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17490,7 +17080,7 @@ CREATE TABLE `income_employee` ( KEY `fperson_id` (`person_id`), CONSTRAINT `fincometype_id` FOREIGN KEY (`id_incomeType`) REFERENCES `incometype_employee` (`id_incometype`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fperson_id` FOREIGN KEY (`person_id`) REFERENCES `person` (`person_id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=73608 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=73709 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -20180,7 +19770,7 @@ CREATE TABLE `XDiario` ( PRIMARY KEY (`id`), KEY `empresa_id` (`empresa_id`), CONSTRAINT `XDiario_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `company` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4055568 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4056438 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -20424,7 +20014,7 @@ CREATE TABLE `address` ( CONSTRAINT `address_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `address_ibfk_3` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON UPDATE CASCADE, CONSTRAINT `address_ibfk_4` FOREIGN KEY (`agencyModeFk`) REFERENCES `agencyMode` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=29617 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=29637 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -20544,7 +20134,7 @@ CREATE TABLE `addressObservation` ( KEY `addressObservationFgn_idx` (`observationTypeFk`), CONSTRAINT `addressFgn` FOREIGN KEY (`addressFk`) REFERENCES `address` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `addressObservationFgn` FOREIGN KEY (`observationTypeFk`) REFERENCES `observationType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4198 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; +) ENGINE=InnoDB AUTO_INCREMENT=4201 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -20978,7 +20568,7 @@ CREATE TABLE `buy` ( CONSTRAINT `buy_ibfk_3` FOREIGN KEY (`containerFk`) REFERENCES `vn2008`.`container` (`container_id`) ON UPDATE CASCADE, CONSTRAINT `buy_id` FOREIGN KEY (`entryFk`) REFERENCES `entry` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `buy_itemfk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=352687680 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=352935419 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -21288,7 +20878,7 @@ CREATE TABLE `claim` ( CONSTRAINT `claim_ibfk_3` FOREIGN KEY (`claimStateFk`) REFERENCES `claimState` (`id`) ON UPDATE CASCADE, CONSTRAINT `claim_ibfk_4` FOREIGN KEY (`claimDepartmentFk`) REFERENCES `vn2008`.`cl_dep` (`id`) ON UPDATE CASCADE, CONSTRAINT `claim_ibfk_5` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=71563 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; +) ENGINE=InnoDB AUTO_INCREMENT=71629 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21310,7 +20900,7 @@ CREATE TABLE `claimBeginning` ( KEY `cl_main_id` (`claimFk`), CONSTRAINT `claimBeginning_ibfk_7` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `claimBeginning_ibfk_8` FOREIGN KEY (`claimFk`) REFERENCES `claim` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=157025 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=157151 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -21389,7 +20979,7 @@ CREATE TABLE `claimDevelopment` ( CONSTRAINT `claimDevelopment_ibfk_7` FOREIGN KEY (`claimReasonFk`) REFERENCES `claimReason` (`id`) ON UPDATE CASCADE, CONSTRAINT `claimDevelopment_ibfk_8` FOREIGN KEY (`claimResultFk`) REFERENCES `claimResult` (`id`) ON UPDATE CASCADE, CONSTRAINT `claimDevelopment_ibfk_9` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=61455 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=61481 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21431,7 +21021,7 @@ CREATE TABLE `claimEnd` ( CONSTRAINT `claimEnd_ibfk_1` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `claimEnd_ibfk_3` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `claimEnd_ibfk_4` FOREIGN KEY (`claimFk`) REFERENCES `claim` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=119844 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=119913 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21458,7 +21048,7 @@ CREATE TABLE `claimLog` ( KEY `userFk` (`userFk`), CONSTRAINT `claimOriginFk` FOREIGN KEY (`originFk`) REFERENCES `claim` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `claimUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=6666 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=6759 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21647,7 +21237,7 @@ CREATE TABLE `client` ( CONSTRAINT `client_ibfk_5` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON UPDATE CASCADE, CONSTRAINT `tipos_de_cliente` FOREIGN KEY (`clientTypeFk`) REFERENCES `clientType` (`id`) ON UPDATE CASCADE, CONSTRAINT `typeFk` FOREIGN KEY (`typeFk`) REFERENCES `clientType` (`code`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=16896 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=16911 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -21687,6 +21277,7 @@ DELIMITER ;; BEFORE UPDATE ON `client` FOR EACH ROW BEGIN + -- BERNAT: WORKING IN THIS FILE DECLARE vText VARCHAR(255) DEFAULT NULL; -- Comprueba que el formato de los teléfonos es válido @@ -21795,7 +21386,7 @@ CREATE TABLE `clientContact` ( `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4156 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4160 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21816,7 +21407,7 @@ CREATE TABLE `clientCredit` ( KEY `credit_ClienteFk` (`clientFk`), CONSTRAINT `credit_ClienteFk` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `workers_fk` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=85178 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=85211 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21892,7 +21483,7 @@ CREATE TABLE `clientLog` ( KEY `userFk` (`userFk`), CONSTRAINT `clientLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `clientLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=240324 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=240552 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21927,7 +21518,7 @@ CREATE TABLE `clientObservation` ( KEY `Id_Cliente` (`clientFk`), CONSTRAINT `clientObservation_ibfk_1` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `clientObservation_ibfk_2` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=78794 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; +) ENGINE=InnoDB AUTO_INCREMENT=78820 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -22022,7 +21613,7 @@ CREATE TABLE `clientSample` ( PRIMARY KEY (`id`), KEY `empresa_id` (`companyFk`), CONSTRAINT `clientSample_ibfk_1` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=18548 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=18552 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -22581,18 +22172,18 @@ CREATE TABLE `creditClassification` ( CONSTRAINT `creditClassifClientFk` FOREIGN KEY (`client`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=3270 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_general_ci ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn`.`creditClassification_BEFORE_UPDATE` BEFORE UPDATE ON `creditClassification` FOR EACH ROW BEGIN + -- BERNAT: WORKING IN THIS FILE IF NEW.client <> OLD.client THEN CALL util.throw('NOT_ALLOWED_CHANGE_CLIENT'); END IF; @@ -22606,7 +22197,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -- -- Table structure for table `creditInsurance` @@ -22626,18 +22216,18 @@ CREATE TABLE `creditInsurance` ( CONSTRAINT `CreditInsurance_Fk1` FOREIGN KEY (`creditClassification`) REFERENCES `creditClassification` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=3153 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalla los clientes que tienen seguro de credito'; /*!40101 SET character_set_client = @saved_cs_client */; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_general_ci ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn`.`creditInsurance_AFTER_INSERT` AFTER INSERT ON `creditInsurance` FOR EACH ROW BEGIN + -- BERNAT: WORKING IN THIS FILE UPDATE vn2008.Clientes c JOIN vn.creditClassification cc ON cc.client = c.Id_Cliente SET creditInsurance = NEW.credit WHERE cc.id = NEW.creditClassification; @@ -22648,7 +22238,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -- -- Table structure for table `currency` @@ -22873,7 +22462,7 @@ CREATE TABLE `dms` ( UNIQUE KEY `emp_id` (`companyFk`,`hardCopyNumber`,`warehouseFk`), KEY `trabajador_id` (`workerFk`), KEY `warehouse_id` (`warehouseFk`) -) ENGINE=InnoDB AUTO_INCREMENT=1389143 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='document managment system'; +) ENGINE=InnoDB AUTO_INCREMENT=1390561 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='document managment system'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -23020,7 +22609,7 @@ CREATE TABLE `dua` ( CONSTRAINT `dua_fk1` FOREIGN KEY (`gestdocFk`) REFERENCES `dms` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `dua_fk2` FOREIGN KEY (`awbFk`) REFERENCES `vn2008`.`awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `dua_fk4` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4311 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4315 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -23242,7 +22831,7 @@ CREATE TABLE `entry` ( CONSTRAINT `entry_ibfk_1` FOREIGN KEY (`supplierFk`) REFERENCES `supplier` (`id`) ON UPDATE CASCADE, CONSTRAINT `entry_ibfk_6` FOREIGN KEY (`travelFk`) REFERENCES `travel` (`id`) ON UPDATE CASCADE, CONSTRAINT `entry_ibfk_7` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=182160 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='InnoDB free: 88064 kB; (`Id_Proveedor`) REFER `vn2008/Provee'; +) ENGINE=InnoDB AUTO_INCREMENT=182273 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='InnoDB free: 88064 kB; (`Id_Proveedor`) REFER `vn2008/Provee'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -23443,7 +23032,7 @@ CREATE TABLE `entryLog` ( KEY `entryLog_ibfk_2` (`userFk`), CONSTRAINT `entryLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `entry` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `entryLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=177326 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=177841 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -23690,7 +23279,7 @@ CREATE TABLE `expedition` ( KEY `index4` (`ticketFk`), CONSTRAINT `Id_Agencia` FOREIGN KEY (`agencyModeFk`) REFERENCES `agencyMode` (`id`) ON UPDATE CASCADE, CONSTRAINT `ticket_id` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3424681 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3427320 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -23932,7 +23521,7 @@ CREATE TABLE `greuge` ( KEY `Greuges_cliente_idx` (`clientFk`), CONSTRAINT `Id_Ticket_Greuge_Ticket` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `greuges_type_fk` FOREIGN KEY (`greugeTypeFk`) REFERENCES `greugeType` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3810884 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=COMPACT; +) ENGINE=InnoDB AUTO_INCREMENT=3813072 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=COMPACT; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -24121,7 +23710,7 @@ CREATE TABLE `inventoryFailure` ( CONSTRAINT `inventoryFailure_fk3` FOREIGN KEY (`guiltyFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `inventoryFailure_fk4` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `inventoryFailure_fk5` FOREIGN KEY (`causeFk`) REFERENCES `inventoryFailureCause` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=27230 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=27484 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -24399,7 +23988,7 @@ CREATE TABLE `invoiceOut` ( CONSTRAINT `invoiceOut_ibfk_4` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `cplusTaxBreak` (`id`) ON UPDATE CASCADE, CONSTRAINT `invoice_bank_id` FOREIGN KEY (`bankFk`) REFERENCES `bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `invoice_customer_id` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=521529 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=521544 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -24525,7 +24114,7 @@ CREATE TABLE `invoiceOutExpence` ( KEY `invoiceOutExpence_FK_2_idx` (`expenceFk`), CONSTRAINT `invoiceOutExpence_FK_1` FOREIGN KEY (`invoiceOutFk`) REFERENCES `invoiceOut` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `invoiceOutExpence_FK_2` FOREIGN KEY (`expenceFk`) REFERENCES `expence` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=135698 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Desglosa la base imponible de una factura en funcion del tipo de gasto/venta'; +) ENGINE=InnoDB AUTO_INCREMENT=135713 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Desglosa la base imponible de una factura en funcion del tipo de gasto/venta'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -24568,7 +24157,7 @@ CREATE TABLE `invoiceOutTax` ( KEY `pgcFk` (`pgcFk`), CONSTRAINT `invoiceOutFk` FOREIGN KEY (`invoiceOutFk`) REFERENCES `invoiceOut` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `invoiceOutTax_ibfk_1` FOREIGN KEY (`pgcFk`) REFERENCES `pgc` (`code`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1177116 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1177139 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -24647,7 +24236,7 @@ CREATE TABLE `item` ( CONSTRAINT `item_ibfk_5` FOREIGN KEY (`typeFk`) REFERENCES `itemType` (`id`) ON UPDATE CASCADE, CONSTRAINT `item_ibfk_6` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `producer_id` FOREIGN KEY (`producerFk`) REFERENCES `producer` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=376585 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=376655 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -24774,7 +24363,7 @@ CREATE TABLE `itemBarcode` ( UNIQUE KEY `Id_Article_2` (`itemFk`,`code`), KEY `Id_Article` (`itemFk`), CONSTRAINT `itemBarcode_ibfk_1` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=42933 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=42941 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -24953,7 +24542,7 @@ CREATE TABLE `itemLog` ( KEY `itemLogUserFk_idx` (`userFk`), CONSTRAINT `itemLogItemFk` FOREIGN KEY (`originFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemLogUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=99484 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=100471 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -24980,7 +24569,7 @@ CREATE TABLE `itemPlacement` ( CONSTRAINT `Articles_nicho_wh_fk` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `Articles_nichos_fk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemPlacement_fk3` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1161095 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1161732 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -25030,7 +24619,7 @@ CREATE TABLE `itemPlacementSupply` ( CONSTRAINT `itemPlacementSupply_fk2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemPlacementSupply_fk3` FOREIGN KEY (`repoUserFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemPlacementSupply_fk4` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=80847 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lista de nichos de picking que hay que reponer'; +) ENGINE=InnoDB AUTO_INCREMENT=81151 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lista de nichos de picking que hay que reponer'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25131,7 +24720,7 @@ CREATE TABLE `itemShelving` ( CONSTRAINT `itemShelving_fk1` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelving_fk2` FOREIGN KEY (`shelvingFk`) REFERENCES `shelving` (`code`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelving_fk3` FOREIGN KEY (`packagingFk`) REFERENCES `packaging` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=139415 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla utilizada para localizar los artículos dentro de los carros. Usado para la gestión del almacén en el altillo '; +) ENGINE=InnoDB AUTO_INCREMENT=140021 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla utilizada para localizar los artículos dentro de los carros. Usado para la gestión del almacén en el altillo '; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -25248,7 +24837,7 @@ CREATE TABLE `itemShelvingPlacementSupply` ( KEY `itemShelvingPlacementSupply_fk3_idx` (`userFk`), CONSTRAINT `itemShelvingPlacementSupply_fk1` FOREIGN KEY (`itemShelvingFk`) REFERENCES `itemShelving` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelvingPlacementSupply_fk2` FOREIGN KEY (`itemPlacementSupplyFk`) REFERENCES `itemPlacementSupply` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=75685 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de los itemShelving afectados por las ordenes de reposicion de nicho'; +) ENGINE=InnoDB AUTO_INCREMENT=75979 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de los itemShelving afectados por las ordenes de reposicion de nicho'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25320,7 +24909,7 @@ CREATE TABLE `itemShelvingSale` ( CONSTRAINT `itemShelvingSale_fk1` FOREIGN KEY (`itemShelvingFk`) REFERENCES `itemShelving` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelvingSale_fk2` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelvingSale_fk3` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=42378 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle del producto que se retira de los carros, relacionando la linea de movimiento correspondiente'; +) ENGINE=InnoDB AUTO_INCREMENT=42969 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle del producto que se retira de los carros, relacionando la linea de movimiento correspondiente'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -25447,7 +25036,7 @@ CREATE TABLE `itemTag` ( KEY `itemFk_2` (`itemFk`,`tagFk`,`intValue`), CONSTRAINT `itemTagItemFk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemTagTagFk` FOREIGN KEY (`tagFk`) REFERENCES `tag` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1400662 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1401486 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -25591,7 +25180,7 @@ CREATE TABLE `itemTaxCountry` ( CONSTRAINT `countryFK_paises` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) ON UPDATE CASCADE, CONSTRAINT `itemFK_Article` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `taxClassFK_Iva_Group` FOREIGN KEY (`taxClassFk`) REFERENCES `taxClass` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=889048 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define la clase de iva por artículo y pais'; +) ENGINE=InnoDB AUTO_INCREMENT=889642 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define la clase de iva por artículo y pais'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25632,7 +25221,7 @@ CREATE TABLE `itemType` ( `temperature` tinyint(1) unsigned NOT NULL DEFAULT '0', `categoryFk` int(10) unsigned NOT NULL, `workerFk` int(11) NOT NULL, - `isInventory` tinyint(4) NOT NULL DEFAULT '1', + `isInventory` tinyint(4) NOT NULL DEFAULT '1' COMMENT 'Se utiliza tanto en el cálculo del inventario, como en el del informe del inventario valorado', `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `f11` tinyint(4) NOT NULL DEFAULT '0', `father` smallint(5) DEFAULT NULL, @@ -25861,7 +25450,7 @@ CREATE TABLE `mandate` ( CONSTRAINT `mandato_fgkey1` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `mandato_fgkey2` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `mandato_fgkey3` FOREIGN KEY (`mandateTypeFk`) REFERENCES `mandateType` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=17280 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=17284 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -25976,7 +25565,7 @@ CREATE TABLE `message` ( KEY `sender` (`sender`), KEY `recipient` (`recipient`), KEY `uuid` (`uuid`(8)) -) ENGINE=InnoDB AUTO_INCREMENT=2057104 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2058232 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25998,7 +25587,7 @@ CREATE TABLE `messageInbox` ( PRIMARY KEY (`id`), KEY `uuid` (`uuid`(8)), KEY `finalRecipient` (`finalRecipient`) -) ENGINE=InnoDB AUTO_INCREMENT=2232966 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2234108 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -26187,7 +25776,7 @@ CREATE TABLE `packageChecked` ( PRIMARY KEY (`id`), UNIQUE KEY `entryFk_UNIQUE` (`itemFk`), KEY `fkItem_idx` (`itemFk`) -) ENGINE=InnoDB AUTO_INCREMENT=3235 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3245 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -26269,7 +25858,7 @@ CREATE TABLE `parking` ( UNIQUE KEY `code_UNIQUE` (`code`), KEY `parking_fk1_idx` (`sectorFk`), CONSTRAINT `parking_fk1` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=27698 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla con los parkings del altillo'; +) ENGINE=InnoDB AUTO_INCREMENT=27701 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla con los parkings del altillo'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -26843,7 +26432,7 @@ CREATE TABLE `producer` ( `isVisible` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `name_UNIQUE` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=14572 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=14598 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -27132,7 +26721,7 @@ CREATE TABLE `receipt` ( CONSTRAINT `receipt_ibfk_1` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE, CONSTRAINT `receipt_ibfk_2` FOREIGN KEY (`bankFk`) REFERENCES `bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `recibo_customer_id` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=609976 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=610161 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -27279,7 +26868,7 @@ CREATE TABLE `route` ( KEY `route_ibfk_2_idx` (`workerFk`), CONSTRAINT `route_ibfk_1` FOREIGN KEY (`gestdocFk`) REFERENCES `dms` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `route_ibfk_2` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=60163 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=60184 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -27370,7 +26959,7 @@ CREATE TABLE `routeComplement` ( KEY `fgn_routeActionFk_idx` (`routeActionFk`), CONSTRAINT `fgn_routeActionFk` FOREIGN KEY (`routeActionFk`) REFERENCES `routeAction` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fgn_workerFk` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1061 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1065 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -27473,7 +27062,7 @@ CREATE TABLE `routeLog` ( KEY `userFk` (`userFk`), CONSTRAINT `routeLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `route` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `routeLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=198118 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=199066 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -27558,7 +27147,7 @@ CREATE TABLE `sale` ( KEY `itemFk_ticketFk` (`itemFk`,`ticketFk`), CONSTRAINT `movement_ticket_id` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `sale_ibfk_1` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=26418042 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=26428481 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -27771,7 +27360,7 @@ CREATE TABLE `saleTracking` ( KEY `fgnStateFk_idx` (`stateFk`), KEY `saleTracking_idx5` (`created`), CONSTRAINT `fgnStateFk` FOREIGN KEY (`stateFk`) REFERENCES `state` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=21030496 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=21058887 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -28081,7 +27670,7 @@ CREATE TABLE `sms` ( `status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=155323 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=155507 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28251,7 +27840,7 @@ CREATE TABLE `stockBuyed` ( UNIQUE KEY `date_UNIQUE` (`date`,`user`), KEY `stockBuyed_user_idx` (`user`), CONSTRAINT `stockBuyedUserFk` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=848763 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=850233 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28314,7 +27903,7 @@ CREATE TABLE `supplier` ( CONSTRAINT `pay_dem_id` FOREIGN KEY (`payDemFk`) REFERENCES `payDem` (`id`) ON UPDATE CASCADE, CONSTRAINT `pay_met_id` FOREIGN KEY (`payMethodFk`) REFERENCES `payMethod` (`id`) ON UPDATE CASCADE, CONSTRAINT `province_id` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2958 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2961 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28339,7 +27928,7 @@ CREATE TABLE `supplierAccount` ( KEY `fk_proveedores_proveedores_account_idx` (`supplierFk`), KEY `fk_Proveedores_account_entity1_idx` (`bankEntityFk`), KEY `fk_banco_prov_account_idx` (`bankFk`) -) ENGINE=InnoDB AUTO_INCREMENT=878 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=880 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28613,7 +28202,7 @@ CREATE TABLE `ticket` ( CONSTRAINT `ticket_ibfk_9` FOREIGN KEY (`routeFk`) REFERENCES `route` (`id`) ON UPDATE CASCADE, CONSTRAINT `tickets_fk10` FOREIGN KEY (`refFk`) REFERENCES `invoiceOut` (`ref`) ON UPDATE CASCADE, CONSTRAINT `tickets_zone_fk` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2485155 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2486860 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -28875,7 +28464,7 @@ CREATE TABLE `ticketLog` ( KEY `logTicketuserFk` (`userFk`), CONSTRAINT `ticketLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ticketLog_user` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=8118275 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=8133058 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28912,7 +28501,7 @@ CREATE TABLE `ticketObservation` ( KEY `observation_type_id` (`observationTypeFk`), CONSTRAINT `ticketObservation_ibfk_1` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ticketObservation_ibfk_2` FOREIGN KEY (`observationTypeFk`) REFERENCES `observationType` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1510360 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; +) ENGINE=InnoDB AUTO_INCREMENT=1511555 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28967,7 +28556,7 @@ CREATE TABLE `ticketPackaging` ( CONSTRAINT `ticketPackaging_fk1` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ticketPackaging_fk2` FOREIGN KEY (`packagingFk`) REFERENCES `packaging` (`id`) ON UPDATE CASCADE, CONSTRAINT `ticketPackaging_fk3` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=77401 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=77465 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -29030,7 +28619,7 @@ CREATE TABLE `ticketParking` ( KEY `ticketParking_fk1_idx` (`parkingFk`), CONSTRAINT `ticketParking_fk1` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON UPDATE CASCADE, CONSTRAINT `ticketParking_fk2` FOREIGN KEY (`parkingFk`) REFERENCES `parking` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=11669 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los distintos lugares donde puede estar aparcado cada uno de los prepedidos'; +) ENGINE=InnoDB AUTO_INCREMENT=12101 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los distintos lugares donde puede estar aparcado cada uno de los prepedidos'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -29096,7 +28685,7 @@ CREATE TABLE `ticketRequest` ( CONSTRAINT `fgnAtender` FOREIGN KEY (`atenderFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `fgnRequester` FOREIGN KEY (`requesterFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `fgnTicket` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=52136 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=52166 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -29603,7 +29192,7 @@ CREATE TABLE `travel` ( CONSTRAINT `travel_ibfk_2` FOREIGN KEY (`warehouseOutFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `travel_ibfk_3` FOREIGN KEY (`agencyFk`) REFERENCES `agencyMode` (`id`) ON UPDATE CASCADE, CONSTRAINT `travel_ibfk_4` FOREIGN KEY (`cargoSupplierFk`) REFERENCES `vn2008`.`Proveedores_cargueras` (`Id_Proveedor`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=142135 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=142170 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -29883,7 +29472,7 @@ CREATE TABLE `warehouse` ( `hasComission` tinyint(4) NOT NULL DEFAULT '0', `isInventory` tinyint(2) NOT NULL DEFAULT '0', `isComparative` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Si esta a true,en la comparativa muestra el stock de este almacen, cuando no se especifica almacen.', - `valuatedInventory` tinyint(2) NOT NULL DEFAULT '0', + `valuatedInventory` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Determina si se incluye en el informe de inventario valorado', `isManaged` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Se añaden los cubos de expedition a la tabla ticketPackaging', `hasConfectionTeam` tinyint(1) unsigned NOT NULL DEFAULT '0', `hasStowaway` tinyint(1) NOT NULL DEFAULT '0', @@ -30189,7 +29778,7 @@ CREATE TABLE `workerDocument` ( KEY `workerDocument_ibfk_2` (`document`), CONSTRAINT `workerDocument_ibfk_1` FOREIGN KEY (`worker`) REFERENCES `worker` (`userFk`) ON UPDATE CASCADE, CONSTRAINT `workerDocument_ibfk_2` FOREIGN KEY (`document`) REFERENCES `dms` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=12896 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=12909 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30254,7 +29843,7 @@ CREATE TABLE `workerJourney` ( UNIQUE KEY `userFk_UNIQUE` (`userFk`,`dated`), KEY `fk_workerJourney_user_idx` (`userFk`), CONSTRAINT `fk_workerJourney_user` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=63163724 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=63451451 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30293,7 +29882,7 @@ CREATE TABLE `workerLog` ( KEY `userFk_idx` (`userFk`), CONSTRAINT `userFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `workerFk` FOREIGN KEY (`originFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=16022 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=16031 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30356,7 +29945,7 @@ CREATE TABLE `workerTimeControl` ( KEY `warehouseFkfk1_idx` (`warehouseFk`), CONSTRAINT `warehouseFk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `workerTimeControl_fk1` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=8297664 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Fichadas'; +) ENGINE=InnoDB AUTO_INCREMENT=8298717 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Fichadas'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -32031,7 +31620,7 @@ BEGIN FROM currency c WHERE c.code = 'USD' AND id = vCurrencyFk; - IF vIsCurrencyUsd THEN + IF NOT vIsCurrencyUsd THEN SELECT commission INTO vCurrentCommission FROM supplier s WHERE s.id = vSupplierFk; @@ -32045,8 +31634,7 @@ BEGIN ORDER BY r.`date` DESC LIMIT 1; - SET vCommission = IFNULL(vCommission, 0); - RETURN vCommission; + RETURN IFNULL(vCommission, 0); END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -34091,80 +33679,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `agencyHourGetAgency__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `agencyHourGetAgency__`(vAddress INT, vDate DATE) -BEGIN -/** - * DEPRECATED usar zoneGetAgency - * Devuelve el listado de agencias disponibles para la fecha - * y dirección pasadas. - * - * @param vAddress Id de dirección de envío, %NULL si es recogida - * @param vDate Fecha de recogida - * @table agencyModeList Listado de agencias disponibles - */ - DECLARE vAgency INT; - DECLARE vDone BOOL DEFAULT FALSE; - - DECLARE vCur CURSOR FOR - SELECT DISTINCT a.id - FROM agency a - JOIN agencyHour ah ON ah.agencyFk = a.id; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DROP TEMPORARY TABLE IF EXISTS agencyModeList; - CREATE TEMPORARY TABLE agencyModeList ( - id INT NOT NULL, - agency VARCHAR(20), - description VARCHAR(45), - deliveryMethodFk VARCHAR(45), - shipped DATE, - warehouse VARCHAR(45), - PRIMARY KEY(id) - ) - ENGINE = MEMORY; - - OPEN vCur; - FETCH vCur INTO vAgency; - - WHILE NOT vDone - DO - CALL vn.agencyHourGetShipped(vDate, vAddress, vAgency); - INSERT INTO agencyModeList - SELECT a.id, a.name, a.description, - a.deliveryMethodFk, ah.shipped, w.name - FROM agencyMode a - JOIN tmp.agencyHourGetShipped ah - JOIN warehouse w on w.id = ah.warehouseFk - WHERE a.agencyFk = vAgency - AND a.web - ON DUPLICATE KEY UPDATE - warehouse = CONCAT(warehouse, ', ', w.name); - - FETCH vCur INTO vAgency; - END WHILE; - - CLOSE vCur; - - DROP TEMPORARY TABLE tmp.agencyHourGetShipped; - SELECT * FROM agencyModeList; - DROP TEMPORARY TABLE IF EXISTS agencyModeList; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `agencyHourGetFirstShipped` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -34263,86 +33777,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `agencyHourGetShipped__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `agencyHourGetShipped__`(vLanded DATE, vAddressFk INT, vAgencyFk INT) -BEGIN -/** - * DEPRECATED usar zoneGetShipped - * Devuelve las posibles fechas de envío de un ticket - * - * @param vLanded La fecha de recepcion - * @param vAddressFk Id del consignatario - * @param vAgencyFk Id de la agencia - * @return tmp.agencyHourGetShipped - */ - DECLARE vDone BOOL; - DECLARE vWarehouseFk SMALLINT; - - DECLARE vCur CURSOR FOR - SELECT w.id warehouseFk - FROM vn.warehouse w - WHERE w.hasAvailable; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DROP TEMPORARY TABLE IF EXISTS tmp.agencyHourGetShipped; - CREATE TEMPORARY TABLE tmp.agencyHourGetShipped - ( - warehouseFk TINYINT NOT NULL PRIMARY KEY, - shipped DATE NOT NULL, - landed DATE NOT NULL - ) - ENGINE = MEMORY; - - OPEN vCur; - - l: LOOP - SET vDone = FALSE; - FETCH vCur INTO vWarehouseFk; - - IF vDone THEN - LEAVE l; - END IF; - INSERT INTO tmp.agencyHourGetShipped (warehouseFk, shipped, landed) - SELECT vWarehouseFk, shipping, vLanded FROM ( - SELECT TIMESTAMPADD(DAY, -ah.substractDay, vLanded) shipping, ah.maxHour - FROM agencyHour ah - LEFT JOIN address a ON a.id = vAddressFk - WHERE ah.warehouseFk = vWarehouseFk - AND (weekDay = WEEKDAY(vLanded) - OR weekDay IS NULL) - AND (ah.agencyFk = vAgencyFk - OR ah.agencyFk IS NULL) - AND (ah.provinceFk = a.provinceFk - OR ah.provinceFk IS NULL - OR vAddressFk IS NULL) - ORDER BY ( - (ah.weekDay IS NOT NULL) + - (ah.agencyFk IS NOT NULL) + - ((ah.provinceFk IS NOT NULL) * 3) - ) DESC - LIMIT 1 - ) t - WHERE t.shipping >= CURDATE() - AND IF(t.shipping = CURDATE(), t.maxHour > HOUR(NOW()), TRUE); - END LOOP; - - CLOSE vCur; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `agencyHourGetWarehouse` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -34454,62 +33888,6 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp.agencyHourGetShipped; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `artificialBufferKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `artificialBufferKk`(vWarehouseFk INT) -BEGIN - - DECLARE vCalcFk INT; - - CALL cache.ticketShippingRefresh(vCalcFk,FALSE,vWarehouseFk); - - SELECT - `s`.`id` AS `saleFk`, - `tst`.`updated` AS `Modificado`, - `s`.`ticketFk` AS `ticketFk`, - `s`.`isPicked` AS `isPicked`, - `s`.`itemFk` AS `itemFk`, - `s`.`quantity` AS `quantity`, - `s`.`concept` AS `concept`, - `i`.`size` AS `size`, - `w`.`code` AS `workerCode`, - `ip`.`code` AS `Nicho`, - `ip`.`reserve` AS `Reserva`, - `st`.`name` AS `Estado`, - `st`.`order` AS `orden`,tsh.shippingHour, tsh.shippingMinute - FROM - (((((((`vn`.`sale` `s` - JOIN `vn`.`ticket` `t` ON ((`t`.`id` = `s`.`ticketFk`))) - LEFT JOIN cache.ticketShipping tsh ON ((tsh.ticketFk = t.id))) - JOIN `vn`.`item` `i` ON ((`i`.`id` = `s`.`itemFk`))) - JOIN `vn`.`itemType` `it` ON ((`it`.`id` = `i`.`typeFk`))) - JOIN `vn`.`ticketStateToday` `tst` ON ((`tst`.`ticket` = `t`.`id`))) - JOIN `vn`.`state` `st` ON ((`st`.`id` = `tst`.`state`))) - JOIN `vn`.`itemPlacement` `ip` ON (((`ip`.`itemFk` = `s`.`itemFk`) - AND (`ip`.`warehouseFk` = `t`.`warehouseFk`)))) - JOIN `vn`.`worker` `w` ON ((`w`.`id` = `tst`.`worker`)) - WHERE - ((`t`.`shipped` >= `util`.`yesterday`()) - AND tsh.calc_id = vCalcFk - AND (ASCII(`ip`.`code`) = ASCII('5')) - AND (`t`.`warehouseFk` = vWarehouseFk) - AND (`st`.`order` BETWEEN 3 AND 6)) - ORDER BY tsh.shippingHour, tsh.shippingMinute; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -36368,13 +35746,13 @@ DELIMITER ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `clonTravelComplete`(IN `vTravelFk` INT, IN `vDateStart` DATE, IN `vDateEnd` DATE, IN `vRef` VARCHAR(255)) BEGIN - + -- BERNAT: WORKING IN THIS FILE DECLARE vTravelNew INT; DECLARE vEntryNew INT; DECLARE vDone BIT DEFAULT 0; @@ -37127,16 +36505,16 @@ DELIMITER ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `duaInvoiceInBooking`(vDuaFk INT) BEGIN - + -- BERNAT: WORKING IN THIS FILE DECLARE done BOOL DEFAULT FALSE; DECLARE vInvoiceFk INT; DECLARE vASIEN BIGINT DEFAULT 0; @@ -37245,15 +36623,15 @@ DELIMITER ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `duaTaxBooking`(vDuaFk INT) BEGIN - + -- BERNAT: WORKING IN THIS FILE DECLARE vBookNumber INT; DECLARE vBookDated DATE; DECLARE vDiff DECIMAL(10,2); @@ -39111,68 +38489,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `invoiceMakeByClient__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `invoiceMakeByClient__`(vClientFk INT, vSerial CHAR(1), vShipped DATE, vCompanyFk INT, OUT vInvoiceId INT) -BEGIN -/** - * Factura un ticket - * @param vTicketFk Id del ticket - * @param vSerial Serie de factura - * @return Id factura - */ - CALL invoiceFromClient(vShipped, vClientFk, vCompanyFk); - CALL invoiceOutMake(vSerial, CURDATE(), vInvoiceId); - - IF vSerial <> 'R' AND NOT ISNULL(vInvoiceId) AND vInvoiceId <> 0 THEN - CALL invoiceOutBooking(vInvoiceId); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(1, 3, vInvoiceId); - END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `invoiceMakeByTicket__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `invoiceMakeByTicket__`(vTicketFk INT, vSerial CHAR(1), OUT vInvoiceId INT) -BEGIN -/** OBSOLETO USAR invoiceOut_newFromTicket - * Factura un ticket - * @param vTicketFk Id del ticket - * @param vSerial Serie de factura - * @return Id factura - */ - CALL invoiceFromTicket(vTicketFk); - CALL invoiceOutMake(vSerial, CURDATE(), vInvoiceId); - - IF vSerial <> 'R' AND NOT ISNULL(vInvoiceId) AND vInvoiceId <> 0 THEN - CALL invoiceOutBooking(vInvoiceId); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(1, 3, vInvoiceId); - END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `invoiceOutAgain` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -39243,60 +38559,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `invoiceOutAgainDateRange__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `invoiceOutAgainDateRange__`(IN vFirstDate DATE, IN vLastDate DATE) -BEGIN - - DECLARE done BOOL DEFAULT FALSE; - DECLARE vInvoice INT; - DECLARE vInvoiceRef VARCHAR(15); - DECLARE vContador INT DEFAULT 0; - - DECLARE rs CURSOR FOR - SELECT id, ref - FROM vn.invoiceOut - WHERE issued BETWEEN vFirstDate AND vLastDate - AND booked IS NULL; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - OPEN rs; - - FETCH rs INTO vInvoice, vInvoiceRef; - - WHILE NOT done DO - - CALL vn.invoiceOutAgain(vInvoiceRef); - - FETCH rs INTO vInvoice, vInvoiceRef; - - SET vContador = vContador + 1; - - IF vContador MOD 50 = 0 THEN - - SELECT CONCAT(vContador, ' de momento') AS FACTURAS_ASENTADAS; - - END IF; - END WHILE; - - CLOSE rs; - - SELECT CONCAT(vContador, ' total') AS FACTURAS_ASENTADAS; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `invoiceOutBooking` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -39735,156 +38997,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `invoiceOutMakeKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `invoiceOutMakeKk`( - vSerial VARCHAR(255), - vInvoiceDate DATETIME, - OUT vNewInvoiceId INT) -BEGIN --- OBSOLETO, USAR invoiceOut_make JGF 2019/06/27 -/* Creación de facturas emitidas. -* REQUIERE previamente tabla ticketToInvoice. -* -* @param vSerial, vInvoiceDate, vCompany, vClient -* -* @return vNewInvoiceId -*/ - - DECLARE vSpainCountryCode INT DEFAULT 1; - DECLARE vIsAnySaleToInvoice BOOL; - DECLARE vCountry TINYINT DEFAULT 1; - DECLARE vNewRef VARCHAR(255); - DECLARE vWorker INT DEFAULT vn.getWorker(); - DECLARE vCompany INT; - DECLARE vClient INT; - DECLARE vCplusStandardInvoiceTypeFk INT DEFAULT 1; - DECLARE vCplusCorrectingInvoiceTypeFk INT DEFAULT 6; - DECLARE vCplusSimplifiedInvoiceTypeFk INT DEFAULT 2; - DECLARE vCorrectingSerial VARCHAR(1) DEFAULT 'R'; - DECLARE vSimplifiedSerial VARCHAR(1) DEFAULT 'S'; - - SET vInvoiceDate = IFNULL(vInvoiceDate,CURDATE()); - - SELECT t.clientFk, t.companyFk - INTO vClient, vCompany - FROM ticketToInvoice tt - JOIN ticket t ON t.id = tt.id - LIMIT 1; - - -- Elimina tickets sense moviments -/* UPDATE ticket t - JOIN ticketToInvoice ti ON ti.id = t.id - LEFT JOIN sale s ON s.ticketFk = ti.id - LEFT JOIN expedition e ON e.ticketFk = t.id - LEFT JOIN ticketPackaging tp ON tp.ticketFk = t.id - SET t.shipped = '2000-02-01 00:00:00' - WHERE s.ticketFk IS NULL AND e.ticketFk IS NULL AND e.ticketFk IS NULL; -*/ - -- Eliminem de ticketToInvoice els tickets que no han de ser facturats - DELETE ti.* - FROM ticketToInvoice ti - JOIN ticket t ON t.id = ti.id - JOIN client c ON c.id = t.clientFk - WHERE YEAR(t.shipped) < 2001 - OR c.isTaxDataChecked = FALSE; - - SELECT SUM(quantity * price * (100 - discount)/100) - INTO vIsAnySaleToInvoice - FROM sale s - JOIN ticketToInvoice t on t.id = s.ticketFk; - - IF vIsAnySaleToInvoice THEN - - -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial - -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial - INSERT INTO invoiceOut - ( - ref, - serial, - issued, - clientFk, - dued, - companyFk, - cplusInvoiceType477Fk - ) - SELECT - 1, - vSerial, - vInvoiceDate, - vClient, - getDueDate(vInvoiceDate, dueDay), - vCompany, - IF(vSerial = vCorrectingSerial, - vCplusCorrectingInvoiceTypeFk, - IF(vSerial = vSimplifiedSerial, - vCplusSimplifiedInvoiceTypeFk, - vCplusStandardInvoiceTypeFk)) - FROM client - WHERE id = vClient; - - - SET vNewInvoiceId = LAST_INSERT_ID(); - - SELECT ref - INTO vNewRef - FROM invoiceOut - WHERE id = vNewInvoiceId; - - UPDATE ticket t - JOIN ticketToInvoice ti ON ti.id = t.id - SET t.refFk = vNewRef; - - DROP TEMPORARY TABLE IF EXISTS tmp.updateInter; - CREATE TEMPORARY TABLE tmp.updateInter ENGINE = MEMORY - SELECT s.id,ti.id ticket_id,vWorker Id_Trabajador - FROM ticketToInvoice ti - LEFT JOIN vn.ticketState ts ON ti.id = ts.ticket - JOIN state s - WHERE IFNULL(ts.alertLevel,0) < 3 and s.`code` = vn.getAlert3State(ti.id); - - INSERT INTO vncontrol.inter(state_id,Id_Ticket,Id_Trabajador) - SELECT * FROM tmp.updateInter; - - - INSERT INTO ticketLog (action, userFk,originFk, description) - SELECT 'UPDATE',account.userGetId(),ti.id, CONCAT('Crea factura ',vNewRef) - FROM ticketToInvoice ti; - - CALL invoiceExpenceMake(vNewInvoiceId); - CALL invoiceTaxMake(vNewInvoiceId,vCountry); - - UPDATE invoiceOut io - JOIN ( - SELECT SUM(amount) AS total - FROM invoiceOutExpence - WHERE invoiceOutFk = vNewInvoiceId - ) base - JOIN ( - SELECT SUM(vat) AS total - FROM invoiceOutTax - WHERE invoiceOutFk = vNewInvoiceId - ) vat - SET io.amount = base.total + vat.total - WHERE io.id = vNewInvoiceId; - - END IF; - - DROP TEMPORARY TABLE `ticketToInvoice`; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `invoiceOutTaxAndExpence` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -40634,48 +39746,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `itemGetVisibleAvailable__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `itemGetVisibleAvailable__`( - vItem INT, - vDate DATE, - vWarehouse TINYINT, - vRefresh BOOL) -BEGIN - DECLARE vVisibleCalc INT; - DECLARE vAvailableCalc INT; - - -- FIXME: Android app is always passing %TRUE for #vRefresh, this leads to DB performance issues - CALL cache.visible_refresh(vVisibleCalc, FALSE /*vRefresh*/, vWarehouse); - CALL cache.available_refresh(vAvailableCalc, FALSE /*vRefresh*/, vWarehouse, vDate); - - SELECT i.id, i.longName, i.box, i.typeFk, - i.tag5,i.value5,i.tag6,i.value6,i.tag7,i.value7,i.tag8,i.value8, - ip.code, ip.reserve, - v.visible, - av.available - FROM vn.item i - LEFT JOIN vn.itemPlacement ip - ON i.id = ip.itemFk AND ip.warehouseFk = vWarehouse - LEFT JOIN cache.visible v - ON v.item_id = i.id AND v.calc_id = vVisibleCalc - LEFT JOIN cache.available av - ON av.item_id = i.id AND av.calc_id = vAvailableCalc - WHERE (vItem IS NULL OR i.id = vItem); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `itemLastEntries` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -41326,108 +40396,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `itemSetNicho__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `itemSetNicho__`(IN `vPlacement` VARCHAR(30), IN `vReserve` VARCHAR(30), IN `vBarcode` INT, IN `vWarehouse` INT) -BEGIN - - /* DEPRECATED - * - * Usar itemPlacementSave y cambiarle el nombre - * quique - */ - - DECLARE vItemFk INT DEFAULT barcodeToItem(vBarcode); - - INSERT INTO itemPlacement - SET itemFk = vItemFk, - warehouseFk = vWarehouse, - reserve = vReserve , - code = vPlacement - ON DUPLICATE KEY UPDATE - reserve = IFNULL(vReserve,reserve), - code = IFNULL(vPlacement,code); - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `itemSetOnlyNicho__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `itemSetOnlyNicho__`(IN `vPlacement` VARCHAR(30), IN `vBarcode` INT, IN `vWarehouse` INT) -BEGIN - /* DEPRECATED - * - * Usar itemPlacementSave y cambiarle el nombre - * quique - */ - DECLARE vItemFk INT DEFAULT barcodeToItem(vBarcode); - -INSERT INTO itemPlacement - SET itemFk = vItemFk, - warehouseFk = vWarehouse, - code = vPlacement - ON DUPLICATE KEY UPDATE - code = IFNULL(vPlacement,code); - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `itemSetReserva__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `itemSetReserva__`(IN `vReserve` VARCHAR(30),IN `vBarcode` INT, IN `vWarehouse` INT) -BEGIN - /* DEPRECATED - * - * Usar itemPlacementSave y cambiarle el nombre - * quique - */ - DECLARE vItemFk INT DEFAULT barcodeToItem(vBarcode); - -INSERT INTO itemPlacement - SET itemFk = vItemFk, - warehouseFk = vWarehouse, - reserve = vReserve - ON DUPLICATE KEY UPDATE - reserve = IFNULL(vReserve,reserve); - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `itemShelvingDelete` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -42236,114 +41204,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `itemTagArrangedUpdate__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `itemTagArrangedUpdate__`(IN vItem BIGINT) -BEGIN -/** - * Actualiza la tabla itemTagArranged - * - * @param vItem El Id_item de toda la vida. Si es cero, equivale a todos. - */ - DELETE - FROM itemTagArranged - WHERE vItem IS NULL - OR vItem = itemFk; - - INSERT INTO itemTagArranged(itemFk) - SELECT id - FROM item - WHERE vItem IS NULL - OR vItem = id; - - REPLACE itemTagArranged - SELECT i.id, - 'Medida' as tag1, - LEFT(i.size,15) as val1, - 'Color' as tag2, - LEFT(ink.`name`,15) as val2, - 'Categoria' as tag3, - LEFT(i.category,15) as val3, - 'Productor' as tag4, - LEFT(p.`name`,15) as val4, - 'Tallos' as tag5, - i.stems as val5, - 'Origen' as tag6, - o.code as val6, - i.description - FROM item i - LEFT JOIN itemTagged it ON it.itemFk = i.id - LEFT JOIN ink on ink.id = i.inkFk - JOIN origin o ON o.id = i.originFk - LEFT JOIN producer p ON p.id = i.producerFk - WHERE it.itemFk IS NULL - AND (vItem IS NULL OR vItem = i.id); -/* - UPDATE itemTagArranged - SET - tag1 = NULL, val1 = NULL, - tag2 = NULL, val2 = NULL, - tag3 = NULL, val3 = NULL, - tag4 = NULL, val4 = NULL, - tag5 = NULL, val5 = NULL, - tag6 = NULL, val6 = NULL - WHERE vItem = itemFk; - */ - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag1 = t.name, val1 = it.value - WHERE it.priority = 1 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag2 = t.name, val2 = it.value - WHERE it.priority = 2 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag3 = t.name, val3 = it.value - WHERE it.priority = 3 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag4 = t.name, val4 = it.value - WHERE it.priority = 4 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag5 = t.name, val5 = it.value - WHERE it.priority = 5 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag6 = t.name, val6 = it.value - WHERE it.priority = 6 - AND (vItem IS NULL OR vItem = it.itemFk); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `itemTagMake` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -43824,80 +42684,6 @@ BEGIN GROUP BY wj.userFk ORDER BY w.lastName, w.firstname; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `payRoll__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `payRoll__`(IN vFromDated DATE, IN vToDated DATE, IN vFromPaid DATE, IN vToPaid DATE) -BEGIN - - SET @userFk := 0; - - SELECT CONCAT(w.lastName,', ',w.firstname) AS Trabajador, - CAST(Sum((wj.total + wj.permission + wj.lunch)* wj.priceOrdinaryHour + wj.hollyday * wj.priceHollydayHour - + wj.nocturn * wj.priceNocturnHour - + wj.extra * wj.priceExtraHour) AS DECIMAL(10,2)) AS salario, - CAST(Sum(wj.permission) AS DECIMAL(10,2)) AS permission, - CAST(Sum(wj.total) AS DECIMAL(10,2)) AS total, - CAST(Sum(wj.nocturn) AS DECIMAL(10,2)) AS nocturn, - CAST(Sum(wj.hollyday) AS DECIMAL(10,2)) AS hollyday, - CAST(Sum(wj.lunch) AS DECIMAL(10,2)) AS lunch, - CAST(Sum(wj.extra) AS DECIMAL(10,2)) AS extra, - CAST(Sum(wj.contractJourney) AS DECIMAL(10,2)) AS contractJourney, - d.name AS departamento, - CAST(Sum((wj.contractJourney + wj.permission) * wj.priceOrdinaryHour) AS DECIMAL(10,2)) AS teorico, - CAST(Sum((wj.lunch + wj.permission + wj.total) * wj.priceordinaryhour) AS DECIMAL(10,2)) AS practico, - CAST(Sum(wj.nocturn * wj.pricenocturnhour) AS DECIMAL(10,2)) AS nocturno, - CAST(Sum(wj.hollyday * wj.priceHollydayHour) AS DECIMAL(10,2)) AS festivos, - CAST(Sum(wj.extra * wj.priceextrahour) AS DECIMAL(10,2)) AS extras, - MAX(wj.businessFk) as businessFk, - Min(b.date_start) AS fromDated, - Max(b.date_end) AS toDated, - blp.importepactado, - bl.porhoras, - IF(wj.userFk != @userFk, CAST(IFNULL(a.Anticipos,0) AS DECIMAL(10,2)), 0) AS Anticipos, - IF(wj.userFk != @userFk, CAST(IFNULL(se.SaldoEuros,0) AS DECIMAL(10,2)), 0) AS SaldoEuros, - @userFk := wj.userFk as userFk - - FROM vn.worker w - JOIN vn.workerJourney wj ON w.userFk = wj.userFk - JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk - JOIN vn2008.department d ON bl.department_id = d.department_id - JOIN postgresql.business_labour_payroll blp ON bl.business_id = blp.business_id - JOIN postgresql.business b ON b.business_id = wj.businessFk - LEFT JOIN - (SELECT userFk, sum(debe) as Anticipos - FROM postgresql.income_employee ie - JOIN postgresql.person pe ON ie.person_id = pe.person_id - JOIN vn.worker w ON w.id = pe.id_trabajador - WHERE odbc_date BETWEEN vFromPaid AND vToPaid - AND id_incomeType = 14 -- Salario - GROUP BY userFk - ) a ON a.userFk = wj.userFk - LEFT JOIN - (SELECT userFk, sum(debe) - sum(haber) as SaldoEuros - FROM postgresql.income_employee ie - JOIN postgresql.person pe ON ie.person_id = pe.person_id - JOIN vn.worker w ON w.id = pe.id_trabajador - GROUP BY userFk - ) se ON se.userFk = wj.userFk - WHERE wj.dated BETWEEN vFromDated AND vToDated - GROUP BY wj.userFk - ORDER BY w.lastName, w.firstname; - - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -44099,74 +42885,6 @@ BEGIN END WHILE; CLOSE vRsMainTicket; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `refundKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`localhost` PROCEDURE `refundKk`(IN vOriginTicket INT, OUT vNewTicket INT) -BEGIN - - DECLARE vDone BIT DEFAULT 0; - DECLARE vCustomer MEDIUMINT; - DECLARE vWarehouse TINYINT; - DECLARE vCompany MEDIUMINT; - DECLARE vAddress MEDIUMINT; - DECLARE vRefundAgencyMode INT DEFAULT 23; - DECLARE vItemFk INT; - DECLARE vQuantity DECIMAL (10,2); - DECLARE vConcept VARCHAR(50); - DECLARE vPrice DECIMAL (10,2); - DECLARE vDiscount TINYINT; - DECLARE vSaleNew INT; - DECLARE vSaleMain INT; - - DECLARE vRsMainTicket CURSOR FOR - SELECT id, itemFk, - quantity, concept, price, discount - FROM vn.sale - WHERE ticketFk = vOriginTicket; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = 1; - - SELECT clientFk, warehouseFk, companyFk, addressFk - INTO vCustomer, vWarehouse, vCompany, vAddress - FROM ticket - WHERE id = vOriginTicket; - - CALL ticketCreate(vCustomer, CURDATE(), vWarehouse, vCompany, vAddress, vRefundAgencyMode, NULL, CURDATE(), vNewTicket); - - SET vDone := 0; - OPEN vRsMainTicket ; - FETCH vRsMainTicket INTO vSaleMain, vItemFk, vQuantity, vConcept, vPrice, vDiscount; - - WHILE NOT vDone DO - - INSERT INTO vn.sale(ticketFk, itemFk, quantity, concept, price, discount) - VALUES( vNewTicket, vItemFk, vQuantity, vConcept, vPrice, vDiscount ); - - SET vSaleNew = LAST_INSERT_ID(); - - INSERT INTO vn.saleComponent(saleFk,componentFk,`value`) - SELECT vSaleNew,componentFk,`value` - FROM vn.saleComponent - WHERE saleFk = vSaleMain; - - FETCH vRsMainTicket INTO vSaleMain, vItemFk, vQuantity, vConcept, vPrice, vDiscount; - - END WHILE; - CLOSE vRsMainTicket; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -44580,133 +43298,6 @@ BEGIN GROUP BY t.routeFk) sub ON r.Id_Ruta = sub.routeFk SET r.greuge = sub.greuge / r.Bultos; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `rutasAnalyzeKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `rutasAnalyzeKk`(vYear INT, vMonth INT) -BEGIN - - -/* Analiza los costes de las rutas de reparto y lo almacena en la tabla Rutas_Master -* -* PAK 15/4/2019 -*/ - - DELETE FROM bi.rutasBoard - WHERE year = vYear AND month = vMonth; - - -- Rellenamos la tabla con los datos de las rutas, especialmente con los bultos "virtuales" - INSERT INTO bi.rutasBoard( year, - month, - warehouse_id, - Id_Ruta, - Id_Agencia, - km, - Dia, - Fecha, - Bultos, - Matricula, - Tipo, - Terceros) - SELECT year, - month, - GREATEST(1,warehouse_id), - Id_Ruta, - Id_Agencia, - km, - Dia, - Fecha, - sum(Bultos) as Bultos, - Matricula, - Tipo, - cost - FROM bi.rutas - WHERE year = vYear AND month = vMonth - - GROUP BY Id_Ruta; - - -- Coste REAL de cada bulto "virtual", de acuerdo con el valor apuntado a mano en la ruta - UPDATE bi.rutasBoard r - INNER JOIN vn2008.Rutas_Master rm ON rm.año = r.year AND rm.mes = r.month AND rm.warehouse_id = r.warehouse_id - SET r.coste_bulto = IF(r.Tipo ='A', r.Terceros, r.km * rm.coste_km ) / r.Bultos - WHERE r.Bultos > 0 - AND rm.año = vYear - AND rm.mes = vMonth; - - -- Coste PRACTICO de cada bulto, de acuerdo con los componentes de tipo AGENCIA en cada linea de venta - - UPDATE bi.rutasBoard r - JOIN ( - SELECT t.routeFk, sum(s.quantity * sc.value) practicoTotal - FROM vn.route r - JOIN vn.time tm ON tm.dated = r.created - JOIN vn.ticket t ON t.routeFk = r.id - JOIN vn.sale s ON s.ticketFk = t.id - JOIN vn.saleComponent sc ON sc.saleFk = s.id - JOIN vn.componentRate cr ON cr.id = sc.componentFk - JOIN vn.componentTypeRate ctr ON ctr.id = cr.componentTypeRate - WHERE ctr.type = 'agencia' - AND tm.year = vYear - AND tm.month = vMonth - GROUP BY r.id - ) sub ON sub.routeFk = r.Id_Ruta - SET r.practico = sub.practicoTotal / r.Bultos; - - -- Coste TEORICO de una caja "virtual" para cada ruta, teniendo en cuenta que hay carros, pallets, etc - UPDATE bi.rutasBoard r - JOIN ( - SELECT t.routeFk, - SUM(az.price/ ebv.ratio)/ count(*) AS BultoTeoricoMedio - FROM vn.ticket t - JOIN vn.route r ON r.id = t.routeFk - JOIN vn.time tm ON tm.dated = r.created - JOIN vn.expedition e ON e.ticketFk = t.id - JOIN vn.expeditionBoxVol ebv ON ebv.boxFk = e.isBox - JOIN vn.address ad ON ad.id = t.addressFk - JOIN vn.client c ON c.id = ad.clientFk - JOIN vn.agencyMode am ON am.id = t.agencyModeFk - JOIN vn.agencyProvince ap ON ap.warehouseFk = t.warehouseFk - AND ap.provinceFk = ad.provinceFk - AND ap.agencyFk = am.agencyFk - JOIN vn.agencyModeZone az ON az.agencyModeFk = t.agencyModeFk - AND az.zone = ap.zone - AND t.warehouseFk = az.warehouseFk - AND az.itemFk = e.isBox - WHERE tm.year = vYear - AND tm.month = vMonth - GROUP BY t.routeFk) sub ON r.Id_Ruta = sub.routeFk - SET r.teorico = sub.BultoTeoricoMedio; - - -- La diferencia entre el teorico y el practico se deberia de cobrar en greuges, cada noche - UPDATE bi.rutasBoard r - JOIN ( - SELECT t.routeFk, - Sum(g.amount) AS greuge - FROM vn.ticket t - JOIN vn.route r ON r.id = t.routeFk - JOIN vn.time tm ON tm.dated = r.created - JOIN vn.greuge g ON g.ticketFk = t.id - JOIN vn.greugeType gt ON gt.id = g.greugeTypeFk - WHERE tm.year = vYear - AND tm.month = vMonth - AND gt.name = 'Diferencia portes' - GROUP BY t.routeFk) sub ON r.Id_Ruta = sub.routeFk - SET r.greuge = sub.greuge / r.Bultos; - - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -45697,80 +44288,6 @@ BEGIN -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `shelvingPark__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `shelvingPark__`(IN `vShelvingFk` VARCHAR(8), IN `vParkingCode` VARCHAR(8)) -BEGIN - - DECLARE vParkingFk INT DEFAULT 0; - DECLARE idParking INT; - DECLARE vColumn VARCHAR(3); - DECLARE vRow VARCHAR(2); - DECLARE vReturn VARCHAR(50); - - /*ELIMINAR ESPACIOS*/ - SET vParkingCode = replace(vParkingCode,' ','') ; - - /*SINO EXISTE EL PARKING LO CREAMOS*/ - SELECT id INTO idParking - FROM vn.parking - WHERE code = vParkingCode COLLATE utf8_unicode_ci; - - IF idParking IS NULL THEN - IF LOCATE('-',vParkingCode) = 4 THEN - SELECT SUBSTRING_INDEX(vParkingCode,'-',1) INTO vColumn; - SELECT SUBSTRING_INDEX(vParkingCode,'-',-1) INTO vRow; - INSERT INTO vn.parking(`column`,`row`,code,sectorFk) - VALUES(vColumn,vRow,vParkingCode,2); - END IF; - END IF; - /*FIN INSERTAR PARKING*/ - - - SELECT id INTO vParkingFk - FROM vn.parking - WHERE `code` = vParkingCode COLLATE utf8_unicode_ci; - - IF length(vShelvingFk) > 6 THEN - /* - INSERT INTO vn.ticketParking(ticketFk,parkingFk) - VALUES(CAST(vShelvingFk as DECIMAL(10,0)), vParkingFk); - */ - REPLACE vn.shelving(code, parkingFk, isPrinted, parked) - VALUES(vShelvingFk, vParkingFk, TRUE, NOW()); - - CALL vn.ticketStatePrevious(vShelvingFk); - - ELSE - - - UPDATE vn.shelving - SET parkingFk = vParkingFk, parked = NOW() - WHERE `code` = vShelvingFk COLLATE utf8_unicode_ci; - - SELECT (COUNT(*) > 0) AS IsUpdated - FROM vn.shelving - WHERE parkingFk = vParkingFk - AND `code` = vShelvingFk COLLATE utf8_unicode_ci; - - END IF; - - - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -46296,70 +44813,6 @@ BEGIN -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `taxGetRateskk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `taxGetRateskk`(vTaxDate DATE) - READS SQL DATA -BEGIN -/** - * Calcula una tabla con el IVA aplicable para la fecha data. - * - * @param vTaxDate - * @treturn tmp.taxGroup - * @treturn tmp.taxTax - */ - SET vTaxDate = IFNULL(vTaxDate, CURDATE()); - - DROP TEMPORARY TABLE IF EXISTS - tmp.taxClass, - tmp.taxType; - - -- Calcula el tipo de IVA para cada clase en cada país. - - CREATE TEMPORARY TABLE tmp.taxClass - (INDEX (countryFk, taxClassFk)) - ENGINE = MEMORY - SELECT * - FROM ( - SELECT t.countryFk, g.taxClassFk, c.type - FROM vn.taxClassCode g - JOIN vn.taxCode c ON c.id = g.taxCodeFk - JOIN vn.taxType t ON t.id = c.taxTypeFk - WHERE g.effectived <= vTaxDate - ORDER BY g.effectived DESC - ) t - GROUP BY countryFk, taxClassFk; - - -- Calcula el impuesto para cada tipo de IVA en cada país. - - CREATE TEMPORARY TABLE tmp.taxType - (INDEX (countryFk, type)) - ENGINE = MEMORY - SELECT * - FROM ( - SELECT t.countryFk, c.type, - c.rate / 100 rate, - c.equalizationTax / 100 equalizationTax - FROM vn.taxCode c - JOIN vn.taxType t ON t.id = c.taxTypeFk - WHERE c.dated <= vTaxDate AND t.isAccrued - ORDER BY c.dated DESC, c.equalizationTax DESC - ) t - GROUP BY countryFk, type; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -46831,160 +45284,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticketCalculateSaleForcePriceKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketCalculateSaleForcePriceKk`(IN vSale BIGINT) -proc: BEGIN - - DECLARE vShipped DATE; - DECLARE vWarehouseFk SMALLINT; - DECLARE vAgencyModeFk INT; - DECLARE vAddressFk INT; - DECLARE vTicket BIGINT; - DECLARE vItem BIGINT; - DECLARE vLanded DATE; - DeclARE vHasZone BOOLEAN DEFAULT FALSE; - - SELECT ticketFk, itemFk - INTO vTicket, vItem - FROM sale - WHERE id = vSale; - - SELECT t.warehouseFk, DATE(t.shipped), t.addressFk, t.agencyModeFk, t.landed - INTO vWarehouseFk, vShipped, vAddressFk, vAgencyModeFk, vLanded - FROM agencyMode a - JOIN ticket t ON t.agencyModeFk = a.id - WHERE t.id = vTicket; - - CALL zoneGetShippedWarehouse(vLanded, vAddressFk, vAgencyModeFk); - - SELECT shipped = vShipped INTO vHasZone - FROM tmp.zoneGetShipped - WHERE warehouseFk = vWarehouseFk; - - IF vHasZone = FALSE THEN - CALL util.throw('not zone with this parameters'); - END IF; - - CALL buyUltimate (vWarehouseFk, vShipped); - - DELETE FROM tmp.buyUltimate WHERE itemFk != vItem; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketLot; - CREATE TEMPORARY TABLE tmp.ticketLot - SELECT vWarehouseFk warehouseFk, NULL available, vItem itemFk, buyFk - FROM tmp.buyUltimate - WHERE itemFk = vItem; - - CALL ticketComponentCalculate(vAddressFk, vAgencyModeFk); - - DROP TEMPORARY TABLE IF EXISTS tmp.sale; - CREATE TEMPORARY TABLE tmp.sale - (PRIMARY KEY (saleFk)) ENGINE = MEMORY - SELECT vSale saleFk,vWarehouseFk warehouseFk; - - CALL ticketComponentUpdateSale(1); - - INSERT INTO vn.ticketLog (originFk, userFk, `action`, description) - VALUES (vTicket, account.userGetId(), 'update', CONCAT('Bionizo linea id ', vSale)); - - DROP TEMPORARY TABLE tmp.buyUltimate; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticketCalculateSaleKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketCalculateSaleKk`(IN vSale BIGINT) -proc: BEGIN - - DECLARE vShipped DATE; - DECLARE vWarehouseFk SMALLINT; - DECLARE vAgencyModeFk INT; - DECLARE vAddressFk INT; - DECLARE vTicket BIGINT; - DECLARE vItem BIGINT; - DECLARE vLanded DATE; - DECLARE vTicketFree BOOLEAN DEFAULT TRUE; - DeclARE vHasZone BOOLEAN DEFAULT FALSE; - - SELECT FALSE - INTO vTicketFree - FROM vn.ticket t - JOIN vn.sale s ON s.ticketFk = t.id - LEFT JOIN vn.ticketState ts ON ts.ticketFk = t.id - WHERE s.id = vSale - AND (t.refFk != "" OR (ts.alertLevel > 0 AND s.price != 0)) - LIMIT 1; - - SELECT ticketFk, itemFk - INTO vTicket, vItem - FROM sale - WHERE id = vSale; - - SELECT t.warehouseFk, DATE(t.shipped), t.addressFk, t.agencyModeFk, t.landed - INTO vWarehouseFk, vShipped, vAddressFk, vAgencyModeFk, vLanded - FROM agencyMode a - JOIN ticket t ON t.agencyModeFk = a.id - WHERE t.id = vTicket; - - CALL zoneGetShippedWarehouse(vLanded, vAddressFk, vAgencyModeFk); - - SELECT shipped = vShipped INTO vHasZone - FROM tmp.zoneGetShipped - WHERE warehouseFk = vWarehouseFk; - - IF vHasZone = FALSE THEN - CALL util.throw('not zone with this parameters'); - END IF; - - CALL buyUltimate (vWarehouseFk, vShipped); - - DELETE FROM tmp.buyUltimate WHERE itemFk != vItem; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketLot; - CREATE TEMPORARY TABLE tmp.ticketLot - SELECT vWarehouseFk warehouseFk, NULL available, vItem itemFk, buyFk - FROM tmp.buyUltimate - WHERE itemFk = vItem; - - CALL ticketComponentCalculate(vAddressFk, vAgencyModeFk); - - DROP TEMPORARY TABLE IF EXISTS tmp.sale; - CREATE TEMPORARY TABLE tmp.sale - (PRIMARY KEY (saleFk)) ENGINE = MEMORY - SELECT vSale saleFk,vWarehouseFk warehouseFk; - - CALL ticketComponentUpdateSale(IF(vTicketFree,1,6)); - - INSERT INTO vn.ticketLog (originFk, userFk, `action`, description) - VALUES (vTicket, account.userGetId(), 'update', CONCAT('Bionizo linea id ', vSale)); - - DROP TEMPORARY TABLE tmp.buyUltimate; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `ticketCalculateSale__` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -47275,136 +45574,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticketClosureKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketClosureKk`() -BEGIN -/** - * Realiza el cierre de todos los - * tickets de la table ticketClosure. - */ - DECLARE vDone BOOL; - DECLARE vClientFk INT; - DECLARE vTicketFk INT; - DECLARE vIsTaxDataChecked BOOL; - DECLARE vCompanyFk INT; - DECLARE vShipped DATE; - DECLARE vPriority INT DEFAULT 1; - DECLARE vReportDeliveryNote INT DEFAULT 1; - DECLARE vNewInvoiceId INT; - DECLARE vHasDailyInvoice BOOL; - DECLARE vWithPackage BOOL; - - DECLARE cur CURSOR FOR - SELECT ticketFk FROM tmp.ticketClosure; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN - RESIGNAL; - END; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure2; - CREATE TEMPORARY TABLE tmp.ticketClosure2 - SELECT ticketFk FROM tmp.ticketClosure; - INSERT INTO tmp.ticketClosure - SELECT id FROM stowaway s - JOIN tmp.ticketClosure2 tc ON s.shipFk = tc.ticketFk; - OPEN cur; - - proc: LOOP - SET vDone = FALSE; - - FETCH cur INTO vTicketFk; - - IF vDone THEN - LEAVE proc; - END IF; - - -- ticketClosure start - SELECT - c.id, - c.isTaxDataChecked, - t.companyFk, - t.shipped, - co.hasDailyInvoice, - w.isManaged - INTO vClientFk, - vIsTaxDataChecked, - vCompanyFk, - vShipped, - vHasDailyInvoice, - vWithPackage - FROM ticket t - JOIN `client` c ON c.id = t.clientFk - JOIN province p ON p.id = c.provinceFk - JOIN country co ON co.id = p.countryFk - JOIN warehouse w ON w.id = t.warehouseFk - WHERE t.id = vTicketFk; - - INSERT INTO ticketPackaging (ticketFk, packagingFk, quantity) - (SELECT vTicketFk, p.id, COUNT(*) - FROM expedition e - JOIN packaging p ON p.itemFk = e.itemFk - WHERE e.ticketFk = vTicketFk AND p.isPackageReturnable - AND vWithPackage - GROUP BY p.itemFk); - - -- No retornables o no catalogados - INSERT INTO sale (itemFk, ticketFk, concept, quantity, price, isPriceFixed) - (SELECT e.itemFk, vTicketFk, i.name, COUNT(*) AS amount, getSpecialPrice(e.itemFk, vClientFk), 1 - FROM expedition e - JOIN item i ON i.id = e.itemFk - LEFT JOIN packaging p ON p.itemFk = i.id - WHERE e.ticketFk = vTicketFk AND IFNULL(p.isPackageReturnable, 0) = 0 - AND getSpecialPrice(e.itemFk, vClientFk) > 0 - GROUP BY e.itemFk); - - IF(vHasDailyInvoice) THEN - - -- Facturacion rapida - CALL ticketTrackingAdd(vTicketFk, 'DELIVERED', 20); - -- Facturar si está contabilizado - IF vIsTaxDataChecked THEN - - IF (SELECT clientTaxArea(vClientFk, vCompanyFk)) = 'NATIONAL' THEN - CALL invoiceOut_newFromClient( - vClientFk, - (SELECT invoiceSerial(vClientFk, vCompanyFk, 'M')), - vShipped, - vCompanyFk, - NULL, - vNewInvoiceId); - ELSE - CALL invoiceOut_newFromTicket(vTicketFk, (SELECT invoiceSerial(vClientFk, vCompanyFk, 'R')), NULL, vNewInvoiceId); - END IF; - - END IF; - ELSE - -- Albaran_print - CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); - END IF; - - -- ticketClosure end - END LOOP; - - CLOSE cur; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure2; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `ticketClosureMultiWarehouse` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -48003,147 +46172,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticketComponentPreviewKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'IGNORE_SPACE,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketComponentPreviewKk`( - vTicketFk INT, - vLanded DATE, - vAddressFk INT, - vAgencyModeFk INT, - vWarehouseFk SMALLINT) -BEGIN -/** - * Devuelve un listado previo de - * componentes para un ticket - * - * @param vTicketFk Id del ticket - * @param vLanded Fecha de recepcion - * @param vAddressFk Id del consignatario - * @param vAgencyModeFk Id del modo de agencia - * @param vWarehouseFk Id del almacén - */ - - DECLARE vAgencyFk INT; - DECLARE vShipped DATE; - DECLARE vBuyOrderItem INT DEFAULT 100; - - DECLARE vHasDataChanged BOOL DEFAULT FALSE; - DECLARE vHasAddressChanged BOOL; - DECLARE vHasAgencyModeChanged BOOL DEFAULT FALSE; - DECLARE vHasWarehouseChanged BOOL DEFAULT FALSE; - - DECLARE vAddressTypeRateFk INT DEFAULT NULL; - DECLARE vAgencyModeTypeRateFk INT DEFAULT NULL; - - DECLARE vHasChangeAll BOOL DEFAULT FALSE; - - SELECT DATE(landed) <> vLanded, - addressFk <> vAddressFk, - agencyModeFk <> vAgencyModeFk, - warehouseFk <> vWarehouseFk - INTO - vHasDataChanged, - vHasAddressChanged, - vHasAgencyModeChanged, - vHasWarehouseChanged - FROM vn.ticket t - WHERE t.id = vTicketFk; -/*SELECT vHasDataChanged, - vHasAddressChanged, - vHasAgencyModeChanged, - vHasWarehouseChanged; - */ - IF vHasDataChanged OR vHasWarehouseChanged THEN - SET vHasChangeAll = TRUE; - END IF; - - IF vHasAddressChanged THEN - SET vAddressTypeRateFk = 5; - END IF; - - IF vHasAgencyModeChanged THEN - SET vAgencyModeTypeRateFk = 6; - END IF; - - SELECT agencyFk INTO vAgencyFk - FROM agencyMode - WHERE id = vAgencyModeFk; - select 1; - CALL agencyHourGetShipped(vLanded, vAddressFk, vAgencyFk); - - SELECT shipped INTO vShipped - FROM tmp.agencyHourGetShipped - WHERE warehouseFk = vWarehouseFK; - select 2; - CALL buyUltimate(vWarehouseFK, vShipped); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketLot; - CREATE TEMPORARY TABLE tmp.ticketLot ENGINE = MEMORY ( - SELECT - vWarehouseFK AS warehouseFk, - NULL AS available, - s.itemFk, - bu.buyFk - FROM sale s - LEFT JOIN tmp.buyUltimate bu ON bu.itemFk = s.itemFk - WHERE s.ticketFk = vTicketFk - AND s.itemFk != vBuyOrderItem - GROUP BY bu.warehouseFk, bu.itemFk); - select 3; - CALL ticketComponentCalculateKK(vAddressFk, vAgencyModeFk); - select 4; -/*SELECT *,vHasChangeAll,cr.isRenewable = FALSE,vHasChangeAll, - NOT (cr.componentTypeRate <=> vAddressTypeRateFk),NOT (cr.componentTypeRate <=> vAgencyModeTypeRateFk), - NOT (cr.componentTypeRate <=> vAddressTypeRateFk) OR NOT (cr.componentTypeRate <=> vAgencyModeTypeRateFk) - FROM saleComponent sc - JOIN sale s ON s.id = sc.saleFk - JOIN ticket t ON t.id = s.ticketFk - JOIN componentRate cr ON cr.id = sc.componentFk - WHERE s.ticketFk = vTicketFk - AND (cr.isRenewable = FALSE - OR - (NOT vHasChangeAll - AND (NOT (cr.componentTypeRate <=> vAddressTypeRateFk - OR cr.componentTypeRate <=> vAgencyModeTypeRateFk))));*/ -/*SELECT * FROM tmp.ticketComponent;*/ - -- Inserta los componentes que NO seran modificados - REPLACE INTO tmp.ticketComponent (warehouseFk, itemFk, componentFk, cost) - SELECT t.warehouseFk, s.itemFk, sc.componentFk, sc.value - FROM saleComponent sc - JOIN sale s ON s.id = sc.saleFk - JOIN ticket t ON t.id = s.ticketFk - JOIN componentRate cr ON cr.id = sc.componentFk - WHERE s.ticketFk = vTicketFk - AND (cr.isRenewable = FALSE - OR - (NOT vHasChangeAll - AND (NOT (cr.componentTypeRate <=> vAddressTypeRateFk - OR cr.componentTypeRate <=> vAgencyModeTypeRateFk)))); -/*SELECT * FROM tmp.ticketComponent;*/ - SET @shipped = vShipped; - - DROP TEMPORARY TABLE - tmp.agencyHourGetShipped, - tmp.buyUltimate, - tmp.ticketLot; - - IF IFNULL(vShipped, CURDATE() - 1) < CURDATE() THEN - CALL util.throw('NO_AGENCY_AVAILABLE'); - END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `ticketComponentPriceDifference` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -48205,67 +46233,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticketComponentPriceDifferenceKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketComponentPriceDifferenceKk`( - vTicketFk INT, - vLanded DATE, - vAddressFk INT, - vAgencyModeFk INT, - vWarehouseFk INT) -BEGIN -/** - * Devuelve las diferencias de precio - * de los movimientos de un ticket. - * - * @param vTicketFk Id del ticket - * @param vLanded Fecha de recepcion - * @param vAddressFk Id del consignatario - * @param vAgencyModeFk Id del modo de agencia - * @param vWarehouseFk Id del almacén - */ - CALL vn.ticketComponentPreviewKk(vTicketFk, vLanded, vAddressFk, vAgencyModeFk, vWarehouseFk); -select 1; - SELECT s.itemFk, - i.name, - i.size, - i.category, - IFNULL(s.quantity, 0) AS quantity, - IFNULL(s.price, 0) AS price, - ROUND(SUM(tc.cost), 2) AS newPrice, - s.quantity * (s.price - ROUND(SUM(tc.cost), 2)) difference, - s.id AS saleFk - FROM sale s - JOIN item i ON i.id = s.itemFk - JOIN ticket t ON t.id = s.ticketFk - LEFT JOIN tmp.ticketComponent tc ON tc.itemFk = s.itemFk - AND tc.warehouseFk = t.warehouseFk - LEFT JOIN saleComponent sc ON sc.saleFk = s.id - AND sc.componentFk = tc.componentFk - LEFT JOIN componentRate cr ON cr.id = tc.componentFk - WHERE - t.id = vTicketFk - AND IF(sc.componentFk IS NULL - AND cr.classRate IS NOT NULL, FALSE, TRUE) - GROUP BY s.id ORDER BY s.id; - - DROP TEMPORARY TABLE - tmp.ticketComponent, - tmp.ticketComponentPrice; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `ticketComponentUpdate` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -49426,44 +47393,6 @@ BEGIN CLOSE rs; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticketShippingFillLabelKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketShippingFillLabelKk`(vTicketFk INT) -BEGIN - /* JGF 2019-06-12 A - * ahora el codigo esta en el tpv, ya no es un procedimiento, es un select - * - */ - DECLARE vCalcFk INT; - DECLARE vWarehouseFk INT; - - SELECT warehouseFk INTO vWarehouseFk - FROM vn.ticket - WHERE id = vTicketFk; - - CALL cache.ticketShippingRefresh(vCalcFk,FALSE,vWarehouseFk); - - SELECT - ts.ticketFk , - ts.shippingHour, - ts.shippingMinute - FROM cache.ticketShipping ts - WHERE ts.calc_id = vCalcFk AND ts.ticketFk = vTicketFk; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -49773,7 +47702,7 @@ BEGIN /* Tickets con estado 26 para preaprar en altillo */ IF viewAll IS true THEN - SELECT stpp.*,ispss.created + SELECT stpp.*,ispss.created,ispss.sectorFk FROM vn.salesToPrePrepare stpp LEFT JOIN vn.itemShelvingPlacementSupplyStock ispss ON ispss.itemShelvingFk = (SELECT itemShelvingFk FROM vn.itemShelvingPlacementSupplyStock WHERE itemFk = stpp.Id_Article AND sectorFk = vSectorFk ORDER BY parking ASC LIMIT 1) @@ -49988,52 +47917,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticket_Clone__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_Clone__`(vOriginalTicket INT, OUT vNewTicket INT) -BEGIN - /* jgf 2019-09-10*/ - INSERT INTO vn2008.Tickets ( - Id_Cliente, - Fecha, - Id_Consigna, - Id_Agencia, - Alias, - warehouse_id, - Id_Ruta, - empresa_id, - landing, - zoneFk - ) - SELECT - clientFk, - shipped, - addressFk, - agencyModeFk, - nickname, - warehouseFk, - routeFk, - companyFk, - landed, - zoneFk - FROM vn.ticket - WHERE id = vOriginalTicket; - - SET vNewTicket = LAST_INSERT_ID(); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `ticket_componentMakeUpdate` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -50394,115 +48277,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticket_getTax__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_getTax__`(vTaxArea VARCHAR(25)) - READS SQL DATA -BEGIN -/** - * Calcula la base imponible, el IVA y el recargo de equivalencia para - * un conjunto de tickets. - * - * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular - * @return tmp.ticketAmount - * @return tmp.ticketTax Impuesto desglosado para cada ticket. - */ - DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; - CREATE TEMPORARY TABLE tmp.addressCompany - (INDEX (addressFk, companyFk)) - ENGINE = MEMORY - SELECT DISTINCT t.addressFk, t.companyFk - FROM tmp.ticket tmpTicket - JOIN ticket t ON t.id = tmpTicket.ticketFk; - - CALL addressTaxArea (); - - IF vTaxArea > '' THEN - UPDATE tmp.addressTaxArea - SET areaFk = vTaxArea; - END IF; - /** Solo se calcula la base imponible (taxableBase) y el impuesto se calculará posteriormente - * No se debería cambiar el sistema por problemas con los decimales - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketTax; - CREATE TEMPORARY TABLE tmp.ticketTax - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT tmpTicket.ticketFk, - bp.pgcFk, - SUM(s.quantity * s.price * (100 - s.discount)/100 ) AS taxableBase, - pgc.rate, - tc.code - FROM tmp.ticket tmpTicket - JOIN sale s ON s.ticketFk = tmpTicket.ticketFk - JOIN item i ON i.id = s.itemFk - JOIN ticket t ON t.id = tmpTicket.ticketFk - JOIN supplier su ON su.id = t.companyFk - JOIN tmp.addressTaxArea ata - ON ata.addressFk = t.addressFk AND ata.companyFk = t.companyFk - JOIN itemTaxCountry itc - ON itc.itemFk = i.id AND itc.countryFk = su.countryFk - JOIN bookingPlanner bp - ON bp.countryFk = su.countryFk - AND bp.taxAreaFk = ata.areaFk - AND bp.taxClassFk = itc.taxClassFk - JOIN pgc ON pgc.code = bp.pgcFk - JOIN taxClass tc ON tc.id = bp.taxClassFk - GROUP BY tmpTicket.ticketFk, pgc.code,pgc.rate - HAVING taxableBase != 0; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketServiceTax; - CREATE TEMPORARY TABLE tmp.ticketServiceTax - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT tt.ticketFk, - SUM(ts.quantity * ts.price) AS taxableBase, - pgc.rate, - tc.code - FROM tmp.ticketTax tt - JOIN ticketService ts ON ts.ticketFk = tt.ticketFk - JOIN ticket t ON t.id = tt.ticketFk - JOIN supplier su ON su.id = t.companyFk - JOIN tmp.addressTaxArea ata - ON ata.addressFk = t.addressFk AND ata.companyFk = t.companyFk - JOIN bookingPlanner bp - ON bp.countryFk = su.countryFk - AND bp.taxAreaFk = ata.areaFk - AND bp.taxClassFk = ts.taxClassFk - JOIN pgc ON pgc.code = bp.pgcFk AND pgc.rate = tt.rate - JOIN taxClass tc ON tc.id = bp.taxClassFk - GROUP BY tt.ticketFk, tt.code,tt.rate - HAVING taxableBase != 0; - - UPDATE tmp.ticketTax tt - JOIN tmp.ticketServiceTax ts ON tt.ticketFk = ts.ticketFk AND tt.code = ts.code AND tt.rate = ts.rate - SET tt.taxableBase = tt.taxableBase + ts.taxableBase; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketAmount; - CREATE TEMPORARY TABLE tmp.ticketAmount - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT ticketFk, taxableBase, SUM(CAST(taxableBase * rate / 100 AS DECIMAL(10, 2))) tax,code - FROM tmp.ticketTax - GROUP BY ticketFk, code; - - DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; - DROP TEMPORARY TABLE IF EXISTS tmp.addressTaxArea; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `ticket_insertZone` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -50544,47 +48318,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticket_insertZoneKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_insertZoneKk`() -BEGIN - DECLARE vDone INT DEFAULT 0; - DECLARE vFechedTicket INT; - DECLARE vLanded DATE; - DECLARE vAddressFk INT; - DECLARE vAgencyModeFk INT; - DECLARE vWarehouseFk INT; - DECLARE vCursor CURSOR FOR - SELECT id, landed, addressFk, agencyModeFk, warehouseFk - FROM vn.ticket WHERE zoneFk IN (230,221,207,101,94); - DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET vDone = 1; - - OPEN vCursor; - - REPEAT - FETCH vCursor INTO vFechedTicket, vLanded, vAddressFk, vAgencyModeFk, vWarehouseFk; - CALL zoneGetShippedWarehouse(vLanded, vAddressFk, vAgencyModeFk); - UPDATE vn.ticket - SET zoneFk = (SELECT id FROM tmp.zoneGetShipped WHERE warehouseFk = vWarehouseFk) - WHERE id = vFechedTicket; - - UNTIL vDone END REPEAT; - DROP TEMPORARY TABLE tmp.zoneGetShipped; - CLOSE vCursor; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `ticket_priceDifference` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -50816,15 +48549,15 @@ DELIMITER ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `timeBusiness_calculate`(vDatedFrom DATETIME, vDatedTo DATETIME) BEGIN - + -- BERNAT: WORKING IN THIS FILE /** * Horas que debe trabajar un empleado según contrato y día. * @param vDatedFrom workerTimeControl @@ -51060,117 +48793,6 @@ BEGIN DROP TEMPORARY TABLE tmp.`user`; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `timeBusiness_calculate__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `timeBusiness_calculate__`(vDatedFrom DATETIME, vDatedTo DATETIME) -BEGIN - -/** - * Horas que debe trabajar un empleado según contrato y día. - * @param vDatedFrom workerTimeControl - * @param vDatedTo workerTimeControl - * @table tmp.user(userFk) - * @return tmp.timeBusinessCalculate - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.timeBusinessCalculate; - DROP TEMPORARY TABLE IF EXISTS tmp.workerHasNotCalendar; - - CREATE TEMPORARY TABLE tmp.timeBusinessCalculate - SELECT dated, - businessFk, - userFk, - departmentFk, - hourStart, - hourEnd, - timeWorkSeconds, - SEC_TO_TIME(timeWorkSeconds) timeWorkSexagesimal, - timeWorkSeconds / 3600 timeWorkDecimal, - timeWorkSeconds timeBusinessSeconds, - SEC_TO_TIME(timeWorkSeconds) timeBusinessSexagesimal, - timeWorkSeconds / 3600 timeBusinessDecimal, - type, - hoursWeek - FROM(SELECT t.dated, - b.business_id businessFk, - w.userFk, - bl.department_id departmentFk, - GROUP_CONCAT(DISTINCT LEFT(j.start,2) ORDER BY j.start ASC SEPARATOR '-') hourStart , - GROUP_CONCAT(DISTINCT LEFT(j.end,2) ORDER BY j.end ASC SEPARATOR '-') hourEnd, - IFNULL(SUM(TIME_TO_SEC(j.end)) - SUM(TIME_TO_SEC(j.start)),0) timeWorkSeconds, - cs.type, - cl.hours_week hoursWeek - FROM vn.time t - LEFT JOIN postgresql.business b ON t.dated BETWEEN b.date_start AND ifnull(b.date_end, vDatedTo ) - LEFT JOIN postgresql.profile AS pr ON b.client_id = pr.profile_id - LEFT JOIN postgresql.person AS p ON pr.person_id = p.person_id - LEFT JOIN vn.worker AS w ON p.id_trabajador = w.id - JOIN tmp.`user` u ON u.userFK = w.userFK - JOIN postgresql.business_labour AS bl ON b.business_id = bl.business_id - LEFT JOIN postgresql.business_labour_payroll AS bp ON bl.business_id = bp.business_id - LEFT JOIN postgresql.professional_category AS pc ON bl.professional_category_id = pc.professional_category_id - LEFT JOIN postgresql.workcenter AS wc ON bl.workcenter_id = wc.workcenter_id - LEFT JOIN postgresql.calendar_labour_type AS cl ON bl.calendar_labour_type_id = cl.calendar_labour_type_id - LEFT JOIN postgresql.journey AS j ON j.business_id = b.business_id and j.day_id=WEEKDAY(t.dated)+1 - LEFT JOIN postgresql.calendar_employee ce ON ce.business_id=b.business_id and ce.date = t.dated - LEFT JOIN postgresql.calendar_state cs ON cs.calendar_state_id = ce.calendar_state_id - WHERE t.dated BETWEEN vDatedFrom AND vDatedTo - GROUP BY w.userFk,dated - )sub; - - CREATE TEMPORARY TABLE tmp.workerHasNotCalendar - SELECT userFK,hoursWeek - FROM tmp.timeBusinessCalculate - GROUP BY userFK - HAVING SUM(timeWorkSeconds)=0; - - UPDATE tmp.timeBusinessCalculate t, tmp.workerHasNotCalendar w - SET t.timeWorkSeconds = w.hoursweek / 5 * 3600, - t.timeWorkSexagesimal = SEC_TO_TIME( w.hoursweek / 5 * 3600), - t.timeWorkDecimal = w.hoursweek / 5, - t.timeBusinessSeconds = w.hoursweek / 5 * 3600, - t.timeBusinessSexagesimal = SEC_TO_TIME( w.hoursweek / 5 * 3600), - t.timeBusinessDecimal = w.hoursweek / 5 - WHERE DAYOFWEEK(t.dated) IN(2,3,4,5,6) AND t.userFk= w.userFk; - - - - UPDATE tmp.timeBusinessCalculate t - SET t.timeWorkSeconds = 0, - t.timeWorkSexagesimal = 0, - t.timeWorkDecimal = 0 - WHERE type IN ('Vacaciones','Baja enfermedad común','Baja mutua','Permiso retribuido','Visita médico','Visita comercial','Excedencia', 'Parte'); - - UPDATE tmp.timeBusinessCalculate t - SET t.timeWorkSeconds = t.timeWorkSeconds/2, - t.timeWorkSexagesimal = SEC_TO_TIME(t.timeWorkSeconds/2), - t.timeWorkDecimal = t.timeWorkDecimal/2 - WHERE type IN ('Vacaciones 1/2 día','Permiso retribuido 1/2 día'); - - UPDATE tmp.timeBusinessCalculate t - JOIN postgresql.calendar_labour cl ON cl.day = t.dated - JOIN postgresql.business_labour bl ON bl.business_id = t.businessFk AND bl.workcenter_id = cl.workcenter_id - SET t.timeWorkSeconds = 0, - t.timeWorkSexagesimal = 0, - t.timeWorkDecimal = 0, - t.type = 'Festivo'; - - DROP TEMPORARY TABLE tmp.workerHasNotCalendar; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -52723,9 +50345,9 @@ DELIMITER ; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET character_set_client = utf8mb4 */ ; +/*!50003 SET character_set_results = utf8mb4 */ ; +/*!50003 SET collation_connection = utf8mb4_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; @@ -52815,26 +50437,26 @@ proc: BEGIN LEAVE proc; END IF; - -- VERIFICAR DESCANSO SEMANAL + -- VERIFICAR DESCANSO SEMANAL SET @vHasBreakWeek:= FALSE; - SET @gap:= unix_timestamp((NOW() - INTERVAL vWeekScope SECOND)); -- COLOCA EL TIEMPO DE OUT, EN EL CASO DE QUE LA PRIMERA FICHADA DEL PERIODO SEA IN, PARA TENER UN PUNTO DE PARTIDA - + SET @vLastTimed:= UNIX_TIMESTAMP((NOW() - INTERVAL vWeekScope SECOND)); + DROP TEMPORARY TABLE IF EXISTS tmp.trash; CREATE TEMPORARY TABLE tmp.trash - SELECT IF(direction='out', @gap:= -unix_timestamp(timed), @gap:= @gap + unix_timestamp(timed)) as alias1 , - IF(@gap - vWeekBreak >= 0 , @vHasBreakWeek := TRUE, @vHasBreakWeek := @vHasBreakWeek) as alias2 - FROM vn.workerTimeControl - WHERE timed>= (NOW() - INTERVAL vWeekScope SECOND) - AND userFk= vUserFk - AND direction IN ('in','out') - ORDER BY timed ASC; - - IF UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(vLastOut) < vWeekBreak AND @vHasBreakWeek = FALSE THEN -- REVISA SI EL DESCANSO SE HA REALIZADO DESPUÉS DE LA ÚLTIMA FICHADA + SELECT IF(vWeekBreak-(UNIX_TIMESTAMP(timed)-@vLastTimed) <= 0, @vHasBreakWeek:=TRUE, TRUE) alias, + @vLastTimed:= UNIX_TIMESTAMP(timed) + FROM workerTimeControl + WHERE timed>= (NOW() - INTERVAL vWeekScope SECOND) + AND userFk= vUserFk + AND direction IN ('in','out') + ORDER BY timed ASC; + + IF UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(vLastOut) < vWeekBreak AND @vHasBreakWeek = FALSE THEN -- REVISA SI EL DESCANSO SE HA REALIZADO DESPUÉS DE LA ÚLTIMA FICHADA SELECT "Descansos 36 h" AS problem; LEAVE proc; END IF; - DROP TEMPORARY TABLE tmp.trash; + DROP TEMPORARY TABLE tmp.trash; ELSE -- DIA ACTUAL @@ -53164,127 +50786,6 @@ END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `workerWeekControl__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `workerWeekControl__`(vUserFk INT, vDated DATE ) -BEGIN - -/* Devuelve la cantidad de descansos de 12h y de 36 horas que ha disfrutado el trabajador -* en la semana inmediatamente anterior a la fecha que pasa como parámetro. -* -* -*/ - -DECLARE vDescansos12h INT; -DECLARE vDescansos36h INT; -DECLARE vJornadas INT; -DECLARE vImpares INT; -DECLARE vHasSignedToday BOOLEAN; -DECLARE v12hoursInMinutes INT DEFAULT 719; -DECLARE v36hoursInMinutes INT DEFAULT 2159; - -SELECT COUNT(*) INTO vHasSignedToday - FROM vn.workerTimeControl WHERE timed >= vDated AND userFk = vUserFk; - -SET @day := 0; -SET @lastTimed := NOW(); - -SELECT SUM(IF(interval_in_minutes >= v12hoursInMinutes,1,0)), SUM(IF(interval_in_minutes >= v36hoursInMinutes,1,0)) , SUM(jornadas) - INTO vDescansos12h, vDescansos36h, vJornadas - FROM - ( - SELECT fichada_anterior, fichada_actual, interval_in_minutes, jornadas - FROM - ( - SELECT @lastTimed fichada_anterior, - timed, - CAST(time_to_sec(timediff(timed,@lastTimed )) / 60 AS UNSIGNED) as interval_in_minutes, - IF(day(timed) != @day, 1, 0) as jornadas, - @day := day(timed) dia_del_mes, - @lastTimed := timed fichada_actual - FROM - ( - SELECT day(timed) as dayNumber, dayname(timed) as dayName, timed - FROM - (SELECT TIMESTAMPADD(DAY, -10, NOW()) as timed, vUserFk as userFk -- Fichada virtual para los en los que no se ha trabajado la semana anterior - UNION ALL - SELECT timed, userFk - FROM vn.workerTimeControl wtc - WHERE userFk = vUserFk - AND timed >= TIMESTAMPADD(DAY, -9,vDated) - UNION ALL - SELECT IF(vHasSignedToday, '2000-01-01 00:00', NOW()) as timed, vUserFk - ) sub4 - ORDER BY timed - ) sub - - ) sub2 - WHERE fichada_actual >= TIMESTAMPADD(WEEK, -1, vDated) - ) sub3 ; - -SELECT IFNULL(SUM(impar),0) into vImpares -FROM ( - SELECT day(timed) as dayNumber, - count(*) mod 2 as impar - FROM vn.workerTimeControl wtc - WHERE userFk = vUserFk - AND timed >= TIMESTAMPADD(WEEK, -1,vDated) AND timed < vDated - GROUP BY dayNumber - ) sub; - -IF vJornadas IS NOT NULL THEN - - SELECT 'Jornadas' as Item, vJornadas as Cantidad, 'Correcto' AS Análisis - - UNION ALL - - SELECT 'Descansos 12 h' as Item, vDescansos12h as Cantidad, IF(vDescansos12h >= vJornadas, 'Correcto','Error: 1 por jornada') as Análisis - - UNION ALL - - SELECT 'Descansos 36 h' as Item, vDescansos36h as Cantidad, IF(vDescansos36h >= 1, 'Correcto','Error: mínimo 1 por semana') as Análisis - - UNION ALL - - - SELECT 'Dias con fichadas impares' as Item, vImpares as Cantidad, IF(vImpares = 0, 'Correcto','Error') as Análisis - ; - -ELSE - - - SELECT 'Jornadas' as Item, vJornadas as Cantidad, 'Correcto' AS Análisis - - UNION ALL - - SELECT 'Descansos 12 h' as Item, vDescansos12h as Cantidad, 'Correcto' as Análisis - - UNION ALL - - SELECT 'Descansos 36 h' as Item, vDescansos36h as Cantidad, 'Correcto' as Análisis - - UNION ALL - - - SELECT 'Dias con fichadas impares' as Item, vImpares as Cantidad, 'Correcto' as Análisis - ; - -END IF; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -53605,83 +51106,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneAddPostcode__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneAddPostcode__`() -BEGIN -/** - * Añade un código postal a una población y regenera el arbol de zonas. - * - * @table tmp.postcode(postcode, townFk) Codigo postal a añadir e id poblacion - */ - - DECLARE vDone BOOL; - DECLARE vParent INT DEFAULT 1; - DECLARE vTownFk INT; - DECLARE vPostCode VARCHAR(100); - - DECLARE townCur CURSOR FOR - SELECT t.geoFk, t.id, tt.`code` - FROM tmp.postcode tt - JOIN vn.town t ON t.id = tt.townFk - ORDER BY t.geoFk, t.`name`; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - DECLARE CONTINUE HANDLER FOR 1062 SET vDone = TRUE; - - -- Remove existing postCodes from zoneGeo - DELETE zg, pc FROM tmp.postcode tpc - JOIN vn.postCode pc ON pc.code = tpc.code - AND pc.townFk = tpc.townFk - JOIN vn.zoneGeo zg ON zg.id = pc.geoFk; - - -- > Town cursor start - OPEN townCur; - - townLoop: LOOP - SET vDone = FALSE; - - FETCH townCur INTO vParent, vTownFk, vPostCode; - - IF vDone THEN - LEAVE townLoop; - END IF; - - INSERT INTO `vn`.`postCode` (`code`, `townFk`) - VALUES (vPostCode, vTownFk); - - CALL nst.nodeAdd('vn', 'zoneGeo', vParent, vPostCode); - END LOOP; - CLOSE townCur; - -- < Town cursor end - - UPDATE tmp.postcode tt - JOIN vn.zoneGeo z ON z.name = tt.code - JOIN vn.postCode pc ON pc.code = tt.code - SET pc.geoFk = z.id - WHERE pc.geoFk IS NULL; - - DROP TEMPORARY TABLE IF EXISTS tmp.zoneGeo; - CREATE TEMPORARY TABLE tmp.zoneGeo - (id INT AUTO_INCREMENT PRIMARY KEY) - ENGINE = MEMORY - SELECT * FROM vn.zoneGeo; - - CALL vn.nestTree('tmp', 'zoneGeo', 'vn', 'zoneGeo'); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `zoneGeo_calcTree` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -54012,66 +51436,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneGetAgency__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneGetAgency__`(vAddress INT, vLanded DATE) -BEGIN -/** - * Devuelve el listado de agencias disponibles para la fecha - * y dirección pasadas. - * - * @param vAddress Id de dirección de envío, %NULL si es recogida - * @param vDate Fecha de recogida - * @select Listado de agencias disponibles - */ - - DECLARE vPostalCode varchar(10); - - SELECT postalCode INTO vPostalCode - FROM address WHERE id = vAddress; - - DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetAgency; - CREATE TEMPORARY TABLE tmp.zoneGetAgency - (INDEX (agencyModeFk)) ENGINE = MEMORY - SELECT * FROM ( - SELECT * FROM ( - SELECT am.id agencyModeFk, - am.name agencyMode, - am.description, - am.deliveryMethodFk, - TIMESTAMPADD(DAY,-z.travelingDays, vLanded) shipped, - zi.isIncluded, - z.warehouseFk, - z.id zoneFk - FROM zoneGeo zgSon - JOIN zoneGeo zgFather ON zgSon.lft BETWEEN zgFather.lft AND zgFather.rgt - JOIN zoneIncluded zi ON zi.geoFk = zgFather.id - JOIN zone z ON z.id = zi.zoneFk - JOIN zoneCalendar zc ON zc.zoneFk = z.id - JOIN agencyMode am ON am.id = z.agencyModeFk - WHERE zgSon.`name` LIKE vPostalCode - AND zc.delivered = vLanded - AND TIMESTAMPADD(DAY,-z.travelingDays, vLanded) >= CURDATE() - AND IF(TIMESTAMPADD(DAY,-z.travelingDays, vLanded) = CURDATE(), hour(now()) < hour(z.`hour`),TRUE) - ORDER BY z.id, zgFather.depth DESC, zi.isIncluded DESC) t - GROUP BY zoneFk - HAVING isIncluded > 0 - ORDER BY shipped) t - GROUP BY agencyModeFk; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `zoneGetFirstShipped` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -54126,54 +51490,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneGetFirstShipped__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneGetFirstShipped__`(vAgencyModeFk INT, vAddress INT, vWarehouseFk INT) -BEGIN -/** -* Devuelve la primera fecha de envio disponible para una agencia en una direccion y un warehouse -* -* @param vAgencyMode id de la agencia en vn.agencyMode -* @param vAddress id de la direccion -* @param vWarehouse id del warehouse -* @return vShipped la primera fecha disponible y vLanded la fecha de llegada/recojida -*/ - - DECLARE vPostalCode varchar(10); - - SELECT postalCode INTO vPostalCode - FROM address WHERE id = vAddress; - - SELECT * FROM ( - SELECT TIMESTAMPADD(DAY,-z.travelingDays, zc.delivered) shipped, - zc.delivered landed, - zi.isIncluded - FROM zoneGeo zgSon - JOIN zoneGeo zgFather ON zgSon.lft BETWEEN zgFather.lft AND zgFather.rgt - JOIN zoneIncluded zi ON zi.geoFk = zgFather.id - JOIN zone z ON z.id = zi.zoneFk - JOIN zoneCalendar zc ON zc.zoneFk = z.id - WHERE zgSon.`name` LIKE vPostalCode - AND z.agencyModeFk = vAgencyModeFk - AND z.warehouseFk = vWarehouseFk - AND TIMESTAMPADD(DAY,-z.travelingDays, zc.delivered) >= CURDATE() - AND IF(TIMESTAMPADD(DAY,-z.travelingDays, zc.delivered) = CURDATE(), hour(now()) < hour(z.`hour`),TRUE) - ORDER BY landed ASC, zgFather.depth DESC) t - HAVING isIncluded > 0 LIMIT 1; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `zoneGetLanded` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -54236,56 +51552,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneGetLanded__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneGetLanded__`(vShipped DATE, vAddress INT, vAgencyMode INT, vWarehouse INT) -BEGIN -/** -* Devuelve una tabla temporal con el dia de recepcion para vShipped. -* -* @param vShipped Fecha de preparacion de mercancia -* @param vAddress Id de consignatario, %NULL para recogida -* @param vAgencyMode Id agencia -* @table tmp.zoneGetLanded Datos de recepción -*/ - DECLARE vPostalCode varchar(10); - - SELECT postalCode INTO vPostalCode - FROM address WHERE id = vAddress; - - DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetLanded; - CREATE TEMPORARY TABLE tmp.zoneGetLanded - ENGINE = MEMORY - SELECT vWarehouse warehouseFk,delivered landed, isIncluded, id zoneFk FROM ( - SELECT zi.isIncluded, zc.delivered, z.id - FROM vn.zoneGeo zgSon - JOIN vn.zoneGeo zgFather ON zgSon.lft BETWEEN zgFather.lft AND zgFather.rgt - JOIN zoneIncluded zi ON zi.geoFk = zgFather.id - JOIN zone z ON z.id = zi.zoneFk - JOIN zoneCalendar zc ON zc.zoneFk = z.id - WHERE zgSon.`name` LIKE vPostalCode - AND zc.delivered = TIMESTAMPADD(DAY,z.travelingDays, vShipped) - AND IF(vShipped = CURDATE(), hour(now()) < hour(z.`hour`),TRUE) - AND z.agencyModeFk = vAgencyMode - AND z.warehouseFk = vWarehouse - ORDER BY zgFather.depth DESC) t - GROUP BY zoneFk - HAVING isIncluded > 0 - LIMIT 1; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `zoneGetShipped` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -54407,115 +51673,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneGetShippedWarehouse__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneGetShippedWarehouse__`(vLanded DATE, vAddressFk INT, vAgencyModeFk INT) -BEGIN -/** - * Devuelve la mínima fecha de envío para cada warehouse - * - * @param vLanded La fecha de recepcion - * @param vAddressFk Id del consignatario - * @param vAgencyModeFk Id de la agencia - * @return tmp.zoneGetShipped - */ - - DECLARE vPostalCode varchar(10); - - SELECT postalCode INTO vPostalCode - FROM address WHERE id = vAddressFk; - - DROP TEMPORARY TABLE IF EXISTS tmp.zoneGetShipped; - CREATE TEMPORARY TABLE tmp.zoneGetShipped - ENGINE = MEMORY - SELECT * FROM ( - SELECT * FROM ( - SELECT z.id, - TIMESTAMPADD(DAY,-z.travelingDays, vLanded) shipped, - zi.isIncluded,z.warehouseFk - FROM zoneGeo zgSon - JOIN zoneGeo zgFather ON zgSon.lft BETWEEN zgFather.lft AND zgFather.rgt - JOIN zoneIncluded zi ON zi.geoFk = zgFather.id - JOIN zone z ON z.id = zi.zoneFk - JOIN zoneCalendar zc ON zc.zoneFk = z.id - WHERE zgSon.`name` LIKE vPostalCode - AND zc.delivered = vLanded - AND z.agencyModeFk = vAgencyModeFk - AND IF(TIMESTAMPADD(DAY,-z.travelingDays, vLanded) = CURDATE(), hour(now()) < hour(z.`hour`),TRUE) - ORDER BY z.id, shipped ASC, zgFather.depth DESC, zi.isIncluded DESC) t - GROUP BY warehouseFk, id - HAVING isIncluded > 0 - ORDER BY shipped) t - GROUP BY warehouseFk; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneGetShipped__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneGetShipped__`(vLanded DATE, vAddressFk INT, vAgencyModeFk INT, vWarehouseFk INT) -BEGIN -/** - * Devuelve la mínima fecha de envía para cada warehouse - * - * @param vLanded La fecha de recepcion - * @param vAddressFk Id del consignatario - * @param vAgencyModeFk Id de la agencia - * @return tmp.zoneGetShipped - */ - - DECLARE vPostalCode varchar(10); - - SELECT postalCode INTO vPostalCode - FROM address WHERE id = vAddressFk; - - SELECT * FROM ( - SELECT * FROM ( - SELECT z.id, - TIMESTAMPADD(DAY,-z.travelingDays, vLanded) shipped, - vLanded landed, - zi.isIncluded, - z.agencyModeFk - FROM zoneGeo zgSon - JOIN zoneGeo zgFather ON zgSon.lft BETWEEN zgFather.lft AND zgFather.rgt - JOIN zoneIncluded zi ON zi.geoFk = zgFather.id - JOIN zone z ON z.id = zi.zoneFk - JOIN zoneCalendar zc ON zc.zoneFk = z.id - WHERE zgSon.`name` LIKE vPostalCode - AND zc.delivered = vLanded - AND z.agencyModeFk = vAgencyModeFk - AND z.warehouseFk = vWarehouseFk - AND IF(TIMESTAMPADD(DAY,-z.travelingDays, vLanded) = CURDATE(), hour(now()) < hour(z.`hour`),TRUE) - ORDER BY z.id, zgFather.depth DESC, isIncluded DESC) t - GROUP BY id - HAVING isIncluded > 0 - ORDER BY shipped) - t - GROUP BY agencyModeFk; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `zoneGetWarehouse` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -54580,264 +51737,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneNestCountry__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneNestCountry__`() -BEGIN - DECLARE vDone BOOL; - DECLARE vGeoFk INT; - DECLARE vCountryFk INT; - DECLARE vChildName VARCHAR(100); - DECLARE countryCur CURSOR FOR - SELECT 1, c.id, c.`country` - FROM vn.country c - WHERE c.geoFk IS NULL - ORDER BY c.`country`; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - -- > Country cursor start - OPEN countryCur; - - countryLoop: LOOP - SET vDone = FALSE; - - FETCH countryCur INTO - vGeoFk, vCountryFk, vChildName; - - IF vDone THEN - LEAVE countryLoop; - END IF; - - CALL nst.nodeAdd('tmp', 'zoneGeo', vGeoFk, vChildName); - - UPDATE country c - SET c.geoFk = LAST_INSERT_ID() - WHERE c.id = vCountryFk - AND c.geoFk IS NULL; - END LOOP; - CLOSE countryCur; - -- < Country cursor end -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneNestPostcode__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneNestPostcode__`() -BEGIN - DECLARE vDone BOOL; - DECLARE vGeoFk INT DEFAULT 1; - DECLARE vPostcodeFk VARCHAR(30); - DECLARE vTownFk INT; - DECLARE vChildName VARCHAR(100); - DECLARE postcodeCur CURSOR FOR - SELECT t.geoFk, pc.`code`, t.id, pc.`code` - FROM postCode pc - JOIN town t ON t.id = pc.townFk - WHERE pc.geoFk IS NULL - AND t.geoFk IS NOT NULL - ORDER BY t.geoFk, pc.`code`; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - -- > Postcode cursor start - OPEN postcodeCur; - - postcodeLoop: LOOP - SET vDone = FALSE; - - FETCH postcodeCur INTO - vGeoFk, vPostcodeFk, vTownFk, vChildName; - - IF vDone THEN - LEAVE postcodeLoop; - END IF; - - CALL nst.nodeAdd('tmp', 'zoneGeo', vGeoFk, vChildName); - - UPDATE postCode pc - SET pc.geoFk = LAST_INSERT_ID() - WHERE pc.code = vPostcodeFk - AND pc.townFk = vTownFk - AND pc.geoFk IS NULL; - END LOOP; - CLOSE postcodeCur; - -- < Postcode cursor end -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneNestProvince__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneNestProvince__`() -BEGIN - DECLARE vDone BOOL; - DECLARE vGeoFk INT; - DECLARE vProvinceFk INT; - DECLARE vChildName VARCHAR(100); - DECLARE provinceCur CURSOR FOR - SELECT c.geoFk, p.id, p.`name` - FROM province p - JOIN country c ON c.id = p.countryFk - WHERE p.geoFk IS NULL - AND c.geoFk IS NOT NULL - ORDER BY c.geoFk, p.`name`; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - -- > Province cursor start - OPEN provinceCur; - - provinceLoop: LOOP - SET vDone = FALSE; - - FETCH provinceCur INTO - vGeoFk, vProvinceFk, vChildName; - - IF vDone THEN - LEAVE provinceLoop; - END IF; - - CALL nst.nodeAdd('tmp', 'zoneGeo', vGeoFk, vChildName); - - UPDATE province p - SET p.geoFk = LAST_INSERT_ID() - WHERE p.id = vProvinceFk - AND p.geoFk IS NULL; - END LOOP; - CLOSE provinceCur; - -- < Province cursor end -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneNestTown__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneNestTown__`() -BEGIN - DECLARE vDone BOOL; - DECLARE vGeoFk INT; - DECLARE vTownFk INT; - DECLARE vChildName VARCHAR(100); - DECLARE townCur CURSOR FOR - SELECT p.geoFk, t.id, t.`name` - FROM vn.town t - JOIN vn.province p ON p.id = t.provinceFk - WHERE t.geoFk IS NULL - AND p.geoFk IS NOT NULL - ORDER BY p.geoFk, t.`name`; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - -- > Town cursor start - OPEN townCur; - - townLoop: LOOP - SET vDone = FALSE; - - FETCH townCur INTO - vGeoFk, vTownFk, vChildName; - - IF vDone THEN - LEAVE townLoop; - END IF; - - CALL nst.nodeAdd('tmp', 'zoneGeo', vGeoFk, vChildName); - - UPDATE town t - SET t.geoFk = LAST_INSERT_ID() - WHERE t.id = vTownFk - AND t.geoFk IS NULL; - END LOOP; - CLOSE townCur; - -- < Town cursor end -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneNest__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `zoneNest__`() -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.zoneGeo; - CREATE TEMPORARY TABLE tmp.zoneGeo - (id INT AUTO_INCREMENT PRIMARY KEY) - ENGINE = MEMORY - SELECT * FROM vn.zoneGeo; - - CALL vn.zoneNestCountry(); - CALL vn.zoneNestProvince(); - - IF (SELECT COUNT(*) FROM province WHERE geoFk IS NULL) = 0 THEN - CALL zoneNestTown(); - END IF; - - IF (SELECT COUNT(*) FROM town WHERE geoFk IS NULL) = 0 THEN - CALL zoneNestPostcode(); - END IF; - - INSERT INTO zoneGeo (id, name, lft, rgt, depth, sons) - SELECT * FROM tmp.zoneGeo zg - ON DUPLICATE KEY UPDATE - name = zg.name, lft = zg.lft, rgt = zg.rgt, - depth = zg.depth, sons = zg.sons; - - DROP TEMPORARY TABLE tmp.zoneGeo; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `zone_getLeaves` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -54937,72 +51836,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `__getTicketToPrePrepare` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `__getTicketToPrePrepare`(vWorkerFk INT, vWarehouseFk INT) -BEGIN - -/** - * Devuelve el ticket que debe de preparar el trabajador del altillo - * - * @param vWorkerFk Id del trabajador - * @param vWarehouseFk Id del almacén - * @return Id del ticket - * - * #UPDATED PAK 2019/08/12 - * #PENDING REVIEW - **/ - - DECLARE vToday DATETIME DEFAULT CURDATE(); - DECLARE vYesterday DATETIME; - DECLARE vTodayvMidniight DATETIME DEFAULT midnight(vToday); - DECLARE vTicket INT DEFAULT NULL; - DECLARE vMovimiento INT DEFAULT NULL; - DECLARE PREVIOUS_PREPARATION INT DEFAULT 26; - DECLARE vHasBeenPreviouslyPrepared INT DEFAULT 0; - - SET vYesterday = TIMESTAMPADD(DAY,-1,vToday); - - DROP TEMPORARY TABLE IF EXISTS tmp.workerComercial; - CREATE TEMPORARY TABLE tmp.workerComercial - ENGINE = MEMORY - SELECT worker FROM `grant` g - JOIN grantGroup gg ON g.`group` = gg.id - WHERE gg.description = 'Comerciales'; - -- AND worker != 2; -- PAKO numero REMOVED - - DELETE wc.* -- NEW FROM HERE - FROM tmp.workerComercial wc - JOIN `grant` g ON g.worker = wc.worker - JOIN grantGroup gg ON g.`group` = gg.id - WHERE gg.description = 'Gerencia'; -- UNTIL HERE - - DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; - CREATE TEMPORARY TABLE tmp.production_buffer - ENGINE = MEMORY - SELECT * - FROM vn.ticketToPrepare - WHERE Id_Trabjador = vWorkerFk OR Id_Trabjador = 0; - - SELECT Id_Ticket - FROM tmp.production_buffer - ORDER BY Hora, Minuto - LIMIT 1; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Current Database: `vn2008` @@ -55336,7 +52169,7 @@ CREATE TABLE `Cajas` ( KEY `fk_Cajas_Proveedores_account1_idx` (`Proveedores_account_Id`), CONSTRAINT `Cajas_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `vn`.`bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `Cajas_ibfk_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=743686 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=744021 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -55589,7 +52422,7 @@ CREATE TABLE `Colas` ( KEY `Id_Trabajador` (`Id_Trabajador`), CONSTRAINT `Colas_ibfk_3` FOREIGN KEY (`Id_Prioridad`) REFERENCES `vn`.`queuePriority` (`id`) ON UPDATE CASCADE, CONSTRAINT `Colas_ibfk_4` FOREIGN KEY (`Id_Impresora`) REFERENCES `Impresoras` (`Id_Impresora`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=21816 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=24898 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -56010,7 +52843,7 @@ CREATE TABLE `Entradas_dits` ( CONSTRAINT `Entradas_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn`.`entry` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fgkey_entradas_1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `fgkey_entradas_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3988370 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3991901 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -56028,7 +52861,7 @@ CREATE TABLE `Entradas_kop` ( PRIMARY KEY (`Id_Entradas_kop`), KEY `entradas_entradas_kop_idx` (`Id_Entrada`), CONSTRAINT `entradas_entradas_kop` FOREIGN KEY (`Id_Entrada`) REFERENCES `vn`.`entry` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=109 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; +) ENGINE=InnoDB AUTO_INCREMENT=119 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -56955,7 +53788,7 @@ CREATE TABLE `Reservas` ( PRIMARY KEY (`Id_Reserva`), KEY `Id_1` (`Id_Ticket`), KEY `Id_Article` (`Id_Article`) -) ENGINE=InnoDB AUTO_INCREMENT=272 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=289 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57139,7 +53972,7 @@ CREATE TABLE `Split_lines` ( KEY `Id_Compra` (`Id_Compra`), CONSTRAINT `Id_Compra` FOREIGN KEY (`Id_Compra`) REFERENCES `vn`.`buy` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `Split_lines_ibfk_1` FOREIGN KEY (`Id_Split`) REFERENCES `Splits` (`Id_Split`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=370625 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=370837 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57157,7 +53990,7 @@ CREATE TABLE `Splits` ( `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`Id_Split`), KEY `Id_Entrada` (`Id_Entrada`) -) ENGINE=InnoDB AUTO_INCREMENT=37014 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=37022 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57251,7 +54084,7 @@ CREATE TABLE `Tickets_dits` ( CONSTRAINT `Tickets_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn`.`ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fgkey1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `fgkey3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=65254284 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=65258743 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -57529,7 +54362,7 @@ CREATE TABLE `Vehiculos_consumo` ( CONSTRAINT `fk_Vehiculos_consumo_Vehiculos` FOREIGN KEY (`Id_Vehiculo`) REFERENCES `vn`.`vehicle` (`id`) ON UPDATE CASCADE, CONSTRAINT `fuelTypeFk` FOREIGN KEY (`fuelTypeFk`) REFERENCES `vn`.`fuelType` (`code`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `proveedoresFk` FOREIGN KEY (`proveedoresFk`) REFERENCES `vn`.`supplier` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=12913 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntan el importe de los tickets de la gasolinera solred, con quien tenemos un contrato y nos facturan mensualmente'; +) ENGINE=InnoDB AUTO_INCREMENT=12943 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntan el importe de los tickets de la gasolinera solred, con quien tenemos un contrato y nos facturan mensualmente'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57678,7 +54511,7 @@ CREATE TABLE `account_conciliacion` ( KEY `fg_accconciliacion_key1_idx` (`Id_Proveedores_account`), KEY `index_id_calculated` (`id_calculated`), CONSTRAINT `fg_key1_accountconc` FOREIGN KEY (`Id_Proveedores_account`) REFERENCES `vn`.`supplierAccount` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=38014 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=38089 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -57986,7 +54819,7 @@ CREATE TABLE `albaran` ( CONSTRAINT `fk_albaran_empresa1` FOREIGN KEY (`empresa_id`) REFERENCES `vn`.`company` (`id`) ON UPDATE CASCADE, CONSTRAINT `fk_albaran_recibida` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `fk_albaran_warehouse1` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3745 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3750 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -58065,7 +54898,7 @@ CREATE TABLE `awb` ( CONSTRAINT `awbInvoiceIn` FOREIGN KEY (`invoiceInFk`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `awbTransitoryFk` FOREIGN KEY (`transitario_id`) REFERENCES `vn`.`supplier` (`id`) ON UPDATE CASCADE, CONSTRAINT `awb_ibfk_1` FOREIGN KEY (`iva_id`) REFERENCES `vn`.`taxCode` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3610 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3614 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -58231,7 +55064,7 @@ CREATE TABLE `awb_component` ( CONSTRAINT `awb_component_` FOREIGN KEY (`awb_component_type_id`) REFERENCES `awb_component_type` (`awb_component_type_id`) ON UPDATE CASCADE, CONSTRAINT `awb_role_fk` FOREIGN KEY (`awb_role_id`) REFERENCES `awb_role` (`awb_role_id`) ON UPDATE CASCADE, CONSTRAINT `awb_unit_fk` FOREIGN KEY (`awb_unit_id`) REFERENCES `awb_unit` (`awb_unit_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=32915 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=33026 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -58346,7 +55179,7 @@ CREATE TABLE `awb_gestdoc` ( KEY `awb_gestdoc_gestdoc_fk` (`gestdoc_id`), CONSTRAINT `awb_gestdoc_awb_fk` FOREIGN KEY (`awb_id`) REFERENCES `awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `awb_gestdoc_gestdoc_fk` FOREIGN KEY (`gestdoc_id`) REFERENCES `vn`.`dms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3191 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3195 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -60060,7 +56893,7 @@ CREATE TABLE `intrastat_data` ( KEY `recibida` (`recibida_id`), CONSTRAINT `intrastat_data_ibfk_1` FOREIGN KEY (`intrastat_id`) REFERENCES `vn`.`intrastat` (`id`) ON UPDATE CASCADE, CONSTRAINT `intrastat_data_ibfk_2` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=84827 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=84832 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -60345,7 +57178,7 @@ CREATE TABLE `mail` ( PRIMARY KEY (`id`), KEY `sent_idx` (`sent`), KEY `creation_idx` (`DATE_ODBC`) -) ENGINE=InnoDB AUTO_INCREMENT=1938331 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1940082 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -60577,7 +57410,7 @@ CREATE TABLE `pago` ( CONSTRAINT `pago_moneda` FOREIGN KEY (`id_moneda`) REFERENCES `vn`.`currency` (`id`) ON UPDATE CASCADE, CONSTRAINT `pago_pay_met` FOREIGN KEY (`pay_met_id`) REFERENCES `vn`.`payMethod` (`id`) ON UPDATE CASCADE, CONSTRAINT `proveedor_pago` FOREIGN KEY (`id_proveedor`) REFERENCES `vn`.`supplier` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=52673 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=52702 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -61073,7 +57906,7 @@ CREATE TABLE `price_fixed` ( KEY `date_end` (`date_end`), KEY `warehouse_id` (`warehouse_id`), CONSTRAINT `price_fixed_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=64864 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=64898 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -61253,7 +58086,7 @@ CREATE TABLE `recibida` ( CONSTRAINT `recibida_ibfk_5` FOREIGN KEY (`cplusInvoiceType472Fk`) REFERENCES `vn`.`cplusInvoiceType472` (`id`) ON UPDATE CASCADE, CONSTRAINT `recibida_ibfk_6` FOREIGN KEY (`cplusRectificationTypeFk`) REFERENCES `vn`.`cplusRectificationType` (`id`) ON UPDATE CASCADE, CONSTRAINT `recibida_ibfk_7` FOREIGN KEY (`cplusTrascendency472Fk`) REFERENCES `vn`.`cplusTrascendency472` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=89301 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=89348 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -61491,7 +58324,7 @@ CREATE TABLE `recibida_iva` ( CONSTRAINT `recibida_iva_ibfk_2` FOREIGN KEY (`iva_id`) REFERENCES `vn`.`taxCode` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `recibida_iva_ibfk_5` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `recibida_iva_ibfk_6` FOREIGN KEY (`gastos_id`) REFERENCES `vn`.`expence` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=167577 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=167642 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -61514,7 +58347,7 @@ CREATE TABLE `recibida_vencimiento` ( KEY `banco_id` (`banco_id`), CONSTRAINT `recibida_vencimiento_ibfk_6` FOREIGN KEY (`banco_id`) REFERENCES `vn`.`bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `recibida_vencimiento_ibfk_7` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=165520 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=165669 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -61784,7 +58617,7 @@ CREATE TABLE `scan` ( `name` varchar(45) CHARACTER SET utf8 DEFAULT NULL, `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=113077 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Se borra automaticamente 8 dias en el pasado desde vn2008.clean'; +) ENGINE=InnoDB AUTO_INCREMENT=113205 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Se borra automaticamente 8 dias en el pasado desde vn2008.clean'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -61826,7 +58659,7 @@ CREATE TABLE `scan_line` ( PRIMARY KEY (`scan_line_id`), KEY `id_scan_id_idx` (`scan_id`), CONSTRAINT `id_scan_id` FOREIGN KEY (`scan_id`) REFERENCES `scan` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1443237 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1445208 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -62342,7 +59175,7 @@ CREATE TABLE `travel_dits` ( KEY `fgkey2_idx` (`Id_Ticket`), KEY `fgkey3_idx` (`Id_Trabajador`), CONSTRAINT `travel_dits_ibfk_1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=246432 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=246635 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -64026,71 +60859,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP FUNCTION IF EXISTS `bionicCalcReverseKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `bionicCalcReverseKk`(vWarehouse INT, - vMargin DECIMAL(10,3), - vRetailedPrice DECIMAL(10,3), - vM3 DECIMAL(10,3), - vConsigna INT, - vAgencia INT) RETURNS decimal(10,3) - DETERMINISTIC -BEGIN - DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; - DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; - DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; - DECLARE vCost DECIMAL(10,4) DEFAULT 0; - DECLARE vCustomer INT; - DECLARE vRecovery DECIMAL(10,4) DEFAULT 0; - DECLARE vMana DECIMAL(10,4) DEFAULT 0; - DECLARE vPort DECIMAL(10,4) DEFAULT 0; - - SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vConsigna; - - -- Recobro - SELECT ROUND(LEAST(recobro,0.25), 3) INTO vRecovery - FROM bi.claims_ratio - WHERE Id_Cliente = vCustomer AND recobro > 0.009; - - -- Componente de maná automático, en función del maná acumulado por el comercial. - SELECT ROUND(prices_modifier_rate, 3) INTO vMana - FROM Clientes c - JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador - WHERE ms.prices_modifier_activated AND c.Id_Cliente = vCustomer; - - -- Reparto - SELECT COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - vM3 - * az.price - * az.inflacion - / VOLUMEN_CAJA_VERDNATURA, 4 - ) INTO vPort - FROM vn2008.Agencias a - JOIN vn2008.Consignatarios c ON c.Id_Consigna = vConsigna AND a.Id_Agencia = vAgencia - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = vWarehouse AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = vAgencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = vWarehouse; - - -- Modificacion de precio por dia de preparacion del pedido - -- No aplicada - - SET vCost = ((vRetailedPrice - vPort) / ( 1 + (vRecovery + vMana))) - vMargin; - - RETURN vCost; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP FUNCTION IF EXISTS `botanic_export_is_updatable` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -65324,89 +62092,6 @@ RETURN strVAR; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP FUNCTION IF EXISTS `ticket_volumen_encajado__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `ticket_volumen_encajado__`(idT INT) RETURNS decimal(10,1) - READS SQL DATA -BEGIN - -/* Devuelve el volumen estimado de un pedido, en cajas -* -* idT Numero de ticket -* -*/ - - - DECLARE vVolumenCajaM3 DOUBLE; - DECLARE vTicketVolumenEnCajas DECIMAL(10,1); - DECLARE CAJA VARCHAR(10) DEFAULT '94'; - - SELECT Volumen/1000000 INTO vVolumenCajaM3 FROM Cubos WHERE Id_Cubo = CAJA; - - SELECT SUM(volume)/vVolumenCajaM3 INTO vTicketVolumenEnCajas - FROM vn2008.v_Movimientos_Volumen_shipping_charge - WHERE Id_Ticket = idT; - - -- SET vTicketVolumenEnCajas = ticket_volumen(idT) / vVolumenCajaM3; - - RETURN vTicketVolumenEnCajas; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP FUNCTION IF EXISTS `ticket_volumen__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `ticket_volumen__`(idT INT) RETURNS decimal(10,3) - READS SQL DATA -BEGIN - -- OBSOLETA USAR vn.ticketTotalVolumen JGF 2018-05-22 - -- DECLARE intWh INTEGER; - -- DECLARE datFecha DATE; - DECLARE dblVolume DECIMAL(10,3); - - /* - SELECT warehouse_id, Fecha - INTO intWh,datFecha - FROM Tickets - WHERE Id_Ticket = idT; - - SELECT IFNULL(SUM(m.Cantidad * cm3)/1000000,0) INTO dblVolume - FROM Movimientos m - JOIN bi.rotacion r on r.Id_Article = m.Id_Article AND r.warehouse_id = intWh - WHERE m.Id_Ticket = idT; - */ - - SELECT sum(volume) INTO dblVolume - FROM vn2008.v_Movimientos_Volumen_shipping_charge - WHERE Id_Ticket = idT; - - RETURN dblVolume; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -65747,132 +62432,6 @@ SELECT year INTO intper FROM time WHERE date = datfec; RETURN intper; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP FUNCTION IF EXISTS `__AltaEmpleado` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `__AltaEmpleado`(strCodTrabajador varchar(3),strNombre varchar(50),strApellidos varchar(50),strDni varchar(9), - strDomicilio longtext,strCodPostal varchar(5),strPoblacion varchar(25),provinceId smallint(5), intempresa_id smallint(5),strMovil varchar(11)) RETURNS varchar(50) CHARSET utf8 -BEGIN - -DECLARE RETORNO varchar(50) DEFAULT 'Empleado creado CORRECTAMENTE'; -DECLARE tmpUserId INT(11) DEFAULT 0; -DECLARE intId_Cliente int(11) DEFAULT 0; -DECLARE Cod_Trabajador VARCHAR(8) DEFAULT strCodTrabajador; -DECLARE strPassword VARCHAR(50); -DECLARE strSambaNombre VARCHAR(30); - -samba:BEGIN - -proc:BEGIN - -- IF (boolCrearSamba) THEN - -- SELECT Id_Cliente_Interno INTO intId_Cliente FROM Trabajadores WHERE Nombre=strNombre and Apellidos=strApellidos; - -- SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; - -- LEAVE proc; - -- END IF; --- Tabla Clientes -SELECT COUNT(*) INTO intId_Cliente FROM Clientes WHERE `IF`=strDni; -IF (intId_Cliente=0) THEN - -- SELECT IFNULL(province_id,1) INTO intprovince_id FROM province WHERE `name`=strProvincia; - SELECT MAX(Id_Cliente)+1 INTO intId_Cliente FROM Clientes WHERE Id_Cliente<999999; - - INSERT INTO Clientes (Id_Cliente,Cliente,Domicilio,`IF`,Telefono,province_id,Poblacion,CodPostal,RazonSocial,Contacto,Oficial,Descuento) - SELECT intId_Cliente,Concat('TR ',strNombre,' ',StrApellidos),strDomicilio,strDni,strMovil,provinceId,strPoblacion,strCodPostal, - CONCAT(strApellidos,' ',strNombre),strNombre,1,3; -ELSE - SELECT id_cliente INTO intId_Cliente FROM Clientes WHERE `IF`=strDni; -END IF; - -SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; - --- Tabla Trabajadores -IF (SELECT COUNT(*) FROM Trabajadores WHERE Nombre=strNombre AND Apellidos=strApellidos)=0 THEN - - IF strCodTrabajador IS NULL THEN - SET Cod_Trabajador = CONCAT(LEFT(strNombre, 1), LEFT(strApellidos, 1), MID(strApellidos, (LOCATE(' ', strApellidos) + 1), 1)); - END IF; - - IF (SELECT COUNT(*) FROM Trabajadores WHERE CodigoTrabajador=Cod_Trabajador) > 0 THEN - SET Cod_Trabajador = CONCAT(Cod_Trabajador, (FLOOR(RAND() * 100))); - END IF; - - SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; - - INSERT INTO Trabajadores (CodigoTrabajador,Nombre,Apellidos,`Password`,dni,empresa_id,id_Cliente_Interno) - SELECT Cod_Trabajador,strNombre,strApellidos,LCASE(strPassword),strDni,intempresa_id,intId_Cliente; -ELSE - SET RETORNO="CodigoTrabajador Existente"; -END IF; - -- LEAVE SAMBA; -END; -- PROC - --- Tabla Account, lo crea como usuario y en samba --- Obtengo el nombre sin espacios -SET strSambaNombre = REPLACE(strNombre,' ',''); -IF (SELECT COUNT(*) FROM account.user WHERE `name`=convert(strNombre USING utf8) COLLATE utf8_general_ci)>0 THEN -- Si existe cojo la inicial del nombre+1º apellido - SELECT CONCAT(LEFT(strNombre,1),CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),intId_Cliente)) - INTO strSambaNombre; -END IF; - - IF (SELECT COUNT(*) FROM account.user where id=intId_Cliente)=0 THEN - INSERT INTO account.user (id,role,`name`,`password`,active) VALUES (intId_Cliente,1,lcase(strSambaNombre),MD5(LCASE(strPassword)),1); - INSERT INTO account.account (id,lastchange,`expire`,user_id) values (intId_Cliente,CURRENT_DATE(),CURRENT_DATE(),intId_Cliente); - UPDATE Trabajadores SET user_id=intId_Cliente WHERE Id_Cliente_Interno=intId_Cliente; - ELSE - INSERT INTO account.user (role,`name`,`password`,active) VALUES (1,lcase(strSambaNombre),MD5(LCASE(strPassword)),1); - SET tmpUserId = LAST_INSERT_ID(); - INSERT INTO account.account (id,lastchange,`expire`,user_id) values (tmpUserId,CURRENT_DATE(),CURRENT_DATE(),tmpUserId); - UPDATE Trabajadores SET user_id=tmpUserId WHERE Id_Cliente_Interno=intId_Cliente; - END IF; - - REPLACE INTO account.mailAliasAccount(mailAlias, account) VALUES (48,intId_Cliente); - -END; -- samba - -RETURN RETORNO; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP FUNCTION IF EXISTS `__getComision` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `__getComision`(vEntry INT, vMoneda INT) RETURNS int(11) - READS SQL DATA -BEGIN - DECLARE vComision INT; - - SELECT IFNULL(ROUND(-100 * (1 - (1 / rm.rate))), 0) INTO vComision - FROM Entradas e - JOIN travel tr ON tr.id = e.travel_id - LEFT JOIN reference_min rm - ON rm.moneda_id = vMoneda AND tr.shipment >= rm.`date` - WHERE e.Id_Entrada = vEntry - ORDER BY rm.date DESC - LIMIT 1; - - RETURN IFNULL(vComision, 0); END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -66528,139 +63087,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `article_inventory_warehouses_kk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `article_inventory_warehouses_kk`(vDate DATE) -proc: BEGIN -/** - * Recalcula los inventarios de todos los almacenes. - * - * @param vDate Fecha de los nuevos inventarios - */ - DECLARE vWh INT; - DECLARE vDone BOOL; - DECLARE vEntryId INT; - DECLARE vTravelId INT; - DECLARE vDateTime DATETIME DEFAULT TIMESTAMP(vDate, '00:00:00'); - DECLARE vDeleteDate DATE DEFAULT TIMESTAMPADD(DAY, -2, vDate); - - DECLARE cWarehouses CURSOR FOR - SELECT id FROM warehouse WHERE inventario; - - DECLARE CONTINUE HANDLER FOR NOT FOUND - SET vDone = TRUE; - - OPEN cWarehouses; - - l: LOOP - - SET vDone = FALSE; - FETCH cWarehouses INTO vWh; - - IF vDone THEN - LEAVE l; - END IF; - - INSERT INTO travel SET - warehouse_id_out = 13, - warehouse_id = vWh, - shipment = vDateTime, - landing = vDateTime, - agency_id = 53, - ref = 'inventario', - delivered = TRUE, - received = TRUE; - - SELECT LAST_INSERT_ID() INTO vTravelId; - - INSERT INTO Entradas SET - Id_Proveedor = 4, - Fecha = vDateTime, - Confirmada = TRUE, - Pedida = TRUE, - travel_id = vTravelId; - - SELECT LAST_INSERT_ID() INTO vEntryId; - - -- Inserta el visible - - CALL inventario_multiple_inventarios (vWh, vDateTime); - - -- Inserta Last_buy_id - - ALTER TABLE article_inventory - ADD buy_id INT; - - UPDATE article_inventory ai - JOIN - ( - SELECT * FROM ( - SELECT Id_Article, Id_Compra,warehouse_id - FROM Compres c - JOIN Entradas e USING (Id_Entrada) - JOIN travel tr ON tr.id = e.travel_id - WHERE Novincular = FALSE - AND costefijo > 0 AND tarifa2 > 0 - AND NOT Redada - AND landing BETWEEN date_inv() AND vDate - ORDER BY (vWh = warehouse_id) DESC, landing DESC - ) t1 - GROUP BY Id_Article - ) t - ON ai.article_id = t.Id_Article - SET ai.buy_id = t.Id_Compra; - - INSERT INTO Compres ( - Id_Entrada - ,Id_Article - ,Cantidad - ,Costefijo - ,Packing - ,Id_Cubo - ,Tarifa2 - ,Tarifa3 - ,Productor - ) - SELECT - vEntryId - ,AI.article_id - ,IF(AI.visible < 0,0,AI.visible) - ,ifnull(C.Costefijo,0) + ifnull(C.Portefijo,0) + ifnull(C.Comisionfija,0) + ifnull(C.Embalajefijo,0) - ,C.Packing - ,C.Id_Cubo - ,C.Tarifa2 - ,C.Tarifa3 - ,C.Productor - FROM article_inventory AI - LEFT JOIN Compres C ON C.Id_Compra = AI.buy_id; - - DROP TEMPORARY TABLE article_inventory; - END LOOP; - - CLOSE cWarehouses; - - UPDATE tblContadores SET FechaInventario = vDate; - - DELETE e, t - FROM travel t - JOIN Entradas e ON e.travel_id = t.id - WHERE Id_Proveedor = 4 - AND shipment <= vDeleteDate - AND (DAY(shipment) <> 1 OR shipment < TIMESTAMPADD(MONTH, -12, CURDATE())); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `article_minacum` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -67308,220 +63734,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `availableTraslate__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `availableTraslate__`(vWarehouseLanding INT, v_date DATE,vWarehouseShipment INT) -proc: BEGIN - DECLARE v_date_ini DATE; - DECLARE v_date_end DATETIME; - DECLARE v_reserve_date DATETIME; - DECLARE v_date_inv DATE; - - IF v_date < CURDATE() - THEN - LEAVE proc; - END IF; - - CALL vn2008.item_stock (vWarehouseLanding, v_date, NULL); - - -- Calcula algunos parámetros necesarios - - SET v_date_ini = TIMESTAMP(v_date, '00:00:00'); - SET v_date_end = TIMESTAMP(TIMESTAMPADD(DAY, 4, v_date), '23:59:59'); - - SELECT FechaInventario INTO v_date_inv FROM vn2008.tblContadores; - - SELECT SUBTIME(NOW(), reserveTime) INTO v_reserve_date - FROM hedera.orderConfig; - - -- Calcula el ultimo dia de vida para cada producto - - DROP TEMPORARY TABLE IF EXISTS item_range; - CREATE TEMPORARY TABLE item_range - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT c.Id_Article item_id, MAX(landing) date_end - FROM vn2008.Compres c - JOIN vn2008.Entradas e ON c.Id_Entrada = e.Id_Entrada - JOIN vn2008.travel t ON t.id = e.travel_id - JOIN vn2008.warehouse w ON w.id = t.warehouse_id - WHERE t.landing BETWEEN v_date_inv AND v_date_ini - AND t.warehouse_id = vWarehouseLanding - AND NOT e.Inventario - AND NOT e.Redada - GROUP BY Id_Article; -select * from item_range where item_id = 39073; - -- Tabla con el ultimo dia de last_buy para cada producto que hace un replace de la anterior - - CALL item_last_buy_(vWarehouseShipment,curdate()); - - DROP TEMPORARY TABLE IF EXISTS item_range_copy; - CREATE TEMPORARY TABLE item_range_copy LIKE item_range; - INSERT INTO item_range_copy - SELECT * FROM item_range; - - INSERT INTO item_range - SELECT t.item_id, tr.landing - FROM t_item_last_buy t - JOIN Compres c ON c.Id_Compra = t.buy_id - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = e.travel_id - LEFT JOIN item_range_copy i ON t.item_id = i.item_id - WHERE t.warehouse_id = vWarehouseShipment - ON DUPLICATE KEY UPDATE item_range.date_end = GREATEST(item_range.date_end,landing); -select * from item_range where item_id = 39073; - DROP TEMPORARY TABLE item_range_copy; - - -- Replica la tabla item_range para poder usarla varias veces en la misma consulta - - DROP TEMPORARY TABLE IF EXISTS item_range_copy1; - CREATE TEMPORARY TABLE item_range_copy1 LIKE item_range; - INSERT INTO item_range_copy1 - SELECT c.item_id, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.date_end), '23:59:59') date_end FROM item_range c - JOIN vn2008.Articles a ON a.Id_Article = c.item_id - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - HAVING date_end >= v_date_ini OR date_end IS NULL; - -SELECT 'copy1',c.item_id, t.life,date_end, v_date_ini,TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.date_end), '23:59:59') date_end FROM item_range c -JOIN vn2008.Articles a ON a.Id_Article = c.item_id - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - where c.item_id = 39073; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy2; - CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range_copy1; - INSERT INTO item_range_copy2 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy3; - CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range_copy1; - INSERT INTO item_range_copy3 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy4; - CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range_copy1; - INSERT INTO item_range_copy4 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy5; - CREATE TEMPORARY TABLE item_range_copy5 LIKE item_range_copy1; - INSERT INTO item_range_copy5 - SELECT * FROM item_range_copy1; - - -- Calcula el ATP - - DROP TEMPORARY TABLE IF EXISTS availableTraslate; - CREATE TEMPORARY TABLE availableTraslate - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT t.item_id, SUM(stock) available FROM ( - SELECT ti.item_id, stock - FROM vn2008.tmp_item ti - JOIN item_range ir ON ir.item_id = ti.item_id - UNION ALL - SELECT t.item_id, minacum(dt, amount, v_date) AS available FROM ( - SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_out i - JOIN item_range_copy1 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = vWarehouseLanding - UNION ALL - SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount - FROM Compres m - JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada - JOIN travel t ON e.travel_id = t.id - JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article - WHERE - e.Inventario = 0 - AND m.Cantidad <> 0 - AND e.redada = 0 - AND t.warehouse_id = vWarehouseLanding - AND t.landing >= v_date_ini - AND (ir.date_end IS NULL OR t.landing <= ir.date_end) - - UNION ALL - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_entry_out i - JOIN item_range_copy3 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = vWarehouseLanding - UNION ALL - SELECT r.item_id, r.shipment, -r.amount - FROM hedera.order_row r - JOIN hedera.`order` o ON o.id = r.order_id - JOIN item_range_copy4 ir ON ir.item_id = r.item_id - WHERE r.shipment >= v_date_ini - AND (ir.date_end IS NULL OR r.shipment <= ir.date_end) - AND r.warehouse_id = vWarehouseLanding - AND r.created >= v_reserve_date - AND NOT o.confirmed - ) t - GROUP BY item_id, dt - ) t - GROUP BY t.item_id - ) t GROUP BY t.item_id HAVING available != 0; - -SELECT ti.item_id, stock - FROM vn2008.tmp_item ti - JOIN item_range ir ON ir.item_id = ti.item_id - WHERE ti.item_id = 39073; - -SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_out i - JOIN item_range_copy1 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = vWarehouseLanding - and i.item_id = 39073; -select v_date_ini, vWarehouseLanding; -SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount - FROM Compres m - JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada - JOIN travel t ON e.travel_id = t.id - JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article - WHERE - /*e.Inventario = 0 - AND */m.Cantidad <> 0 - AND e.redada = 0 - AND t.warehouse_id = vWarehouseLanding - AND t.landing >= v_date_ini - AND (ir.date_end IS NULL OR t.landing <= ir.date_end) - and m.Id_Article = 39073; -SELECT r.item_id, r.shipment, -r.amount - FROM hedera.order_row r - JOIN hedera.`order` o ON o.id = r.order_id - JOIN item_range_copy4 ir ON ir.item_id = r.item_id - WHERE r.shipment >= v_date_ini - AND (ir.date_end IS NULL OR r.shipment <= ir.date_end) - AND r.warehouse_id = vWarehouseLanding - AND r.created >= v_reserve_date - AND NOT o.confirmed - and r.item_id = 39073; -select * from availableTraslate where item_id = 39073; - DROP TEMPORARY TABLE - vn2008.tmp_item - ,item_range - ,item_range_copy1 - ,item_range_copy2 - ,item_range_copy3 - ,item_range_copy4 - ,item_range_copy5; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `balance_create` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -68008,182 +64220,6 @@ BEGIN INNER JOIN Tickets t USING (Id_Ticket) WHERE t.Id_Ticket = Id_Ticket; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_available_articlelistKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_articlelistKk`(IN strART VARCHAR(50) - , IN minMED DOUBLE - , IN maxMED DOUBLE - , IN minPVP DOUBLE - , IN maxPVP DOUBLE) -BEGIN - -DECLARE intSPACE_POS INT; -DECLARE strSUBTR VARCHAR(50); -DECLARE strFILTER VARCHAR(500); -DECLARE v_sql TEXT; - -DROP TEMPORARY TABLE IF EXISTS articlelist; - -CREATE TEMPORARY table articlelist -(Id_Article INT(11) PRIMARY KEY) -ENGINE = INNODB; - - - --- Arreglos - -SET minMED = IFNULL(minMED,0); -SET minMED = IF(minMED = 0,0.01, minMED); -SET maxMED = IFNULL(maxMED,9990); -SET maxMED = IF(maxMED = 0,9990, maxMED); -SET minPVP = IFNULL(minPVP,0); -SET minPVP = IF(minPVP = 0, 0.01, minPVP); -SET maxPVP = IFNULL(maxPVP,9990); -SET maxPVP = IF(maxPVP = 0, 9990, maxPVP); - --- ARTICLE - -SET strART = TRIM(strART); - -IF ASCII(strART) BETWEEN 48 AND 57 THEN - -INSERT INTO articlelist(Id_Article) VALUES(CAST(strART AS UNSIGNED)); - -ELSE - -SET strFILTER = 'TRUE '; - -WHILE LENGTH(strART) > 0 DO - -SET intSPACE_POS = POSITION(' ' IN strART) ; -IF intSPACE_POS = 0 THEN - SET strFILTER = CONCAT(strFILTER, ' AND CONCAT(a.Id_Article,Article,t.Tipo) LIKE "%',strART,'%"'); - SET strART = ''; - -ELSE - SET strFILTER = CONCAT(strFILTER, ' AND CONCAT(a.Id_Article,Article,t.Tipo) LIKE "%',LEFT(strART,intSPACE_POS - 1),'%"'); - SET strART = TRIM(SUBSTRING(strART, intSPACE_POS)); - -END IF; - - -END WHILE; - - - IF minMED <> 0.01 OR maxMED <>9990 THEN -SET strFILTER = CONCAT(strFILTER, ' AND Medida BETWEEN ',minMED,' AND ', maxMED); - END IF; - - - -if minpvp = 0.01 and maxpvp = 9990 then - -SET v_sql = sql_printf ( -' -REPLACE vn2008.articlelist -SELECT a.Id_Article -FROM vn2008.Articles a -LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id -WHERE %s ;',strFILTER); - else - - SET v_sql = sql_printf ( -' -REPLACE vn2008.articlelist -SELECT a.Id_Article -FROM vn2008.Articles a -LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id -JOIN ( -SELECT DISTINCT Id_Article -FROM vn2008.Movimientos m -JOIN vn2008.Tickets t using(Id_Ticket) -JOIN vn2008.Clientes c using(Id_Cliente) -WHERE Fecha > CURDATE() - INTERVAL 4 DAY -AND Preu BETWEEN %v AND %v -AND c.invoice <> 0 -) v on v.Id_Article = a.Id_Article -WHERE %s ;',minPVP,maxPVP,strFILTER); -end if; -CALL util.exec (v_sql); - -END IF; --- SELECT Id_Article, Article, Medida FROM Articles join articlelist using(Id_Article); - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_available_items_Kk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_items_Kk`(v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT) -BEGIN -/** - * Crea una tabla con los identificadores de los articulos disponibles. - * - * @table t_bionic_available_items - **/ - CALL bionic_available_ (v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE IF EXISTS t_bionic_available_items; - CREATE TEMPORARY TABLE t_bionic_available_items - (INDEX (Id_Article)) - ENGINE = MEMORY - SELECT a.Id_Article, a.Article - FROM `cache`.available c - JOIN Articles a ON c.item_id = a.Id_Article - JOIN t_bionic_available ba ON c.calc_id = ba.calc_id - WHERE c.available GROUP BY a.Article; - - DROP TEMPORARY TABLE t_bionic_available; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_available_singleKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_singleKk`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT, IN refresh TINYINT) -BEGIN - DECLARE intcalc_id INT; - call cache.available_refresh(intcalc_id,refresh, v_wh,v_date); - - SELECT available AS minimo FROM cache.available WHERE calc_id = intcalc_id AND item_id = id_single ; --- @deprecated: 2019-08-13 END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -68242,526 +64278,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_available_types_Kk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_types_Kk`( - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT) -BEGIN -/** - * Calcula los tipos disponibles para un conjunto de almacenes - * y fechas devueltos por el procedimiento agencyHourGetShipped() - * - * @table t_bionic_available_types Tabla con los tipos disponibles - **/ - - CALL bionic_available_(v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE IF EXISTS t_bionic_available_types; - CREATE TEMPORARY TABLE t_bionic_available_types - (INDEX (tipo_id)) - ENGINE = MEMORY - SELECT a.tipo_id, t.Tipo - FROM `cache`.available c - JOIN Articles a ON c.item_id = a.Id_Article - JOIN Tipos t ON t.tipo_id = a.tipo_id - JOIN t_bionic_available ba ON c.calc_id = ba.calc_id - WHERE c.available > 0 -- JGF 2016-03-23 en el bionic no apareixen negatius, els tipos que no continguen disponible, tampoc els volem mostrar - AND t.Orden != 0 - GROUP BY t.tipo_id; - - DROP TEMPORARY TABLE t_bionic_available; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_calcKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calcKk`( - vLanded DATE, - vAddress INT, - vAgency INT) -proc: BEGIN --- @DEPRECATED use vn.ticketCalculate - DECLARE vAvailableCalc INT; - DECLARE vShipped DATE; - DECLARE vCustomer INT; - DECLARE vWh SMALLINT; - DECLARE vDone BOOL; - DECLARE cTravelTree CURSOR FOR - SELECT warehouseFk, shipped FROM tmp.zoneGetShippedWarehouse; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DROP TEMPORARY TABLE IF EXISTS - tmp.bionic_item, - tmp.bionic_component, - tmp.bionic_lot, - tmp.bionic_price; - - -- Establece los almacenes y las fechas que van a entrar al disponible - - SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vAddress; - - CALL vn.zoneGetShippedWarehouse(vLanded, vAddress, vAgency); - - -- Crea la tabla temporal que almacenará los lotes - - CREATE TEMPORARY TABLE tmp.bionic_lot LIKE - template_bionic_lot; - - OPEN cTravelTree; - - l: LOOP - SET vDone = FALSE; - FETCH cTravelTree INTO vWh, vShipped; - - IF vDone THEN - LEAVE l; - END IF; - - CALL `cache`.available_refresh (vAvailableCalc, FALSE, vWh, vShipped); - CALL item_last_buy_ (vWh, vShipped); - - INSERT INTO tmp.bionic_lot (warehouse_id, item_id, available, buy_id) - SELECT - vWh, - i.item_id, - IFNULL(i.available, 0), - ilb.buy_id - FROM `cache`.available i - JOIN tmp.bionic_calc br ON br.item_id = i.item_id - LEFT JOIN Articles a ON a.Id_Article = i.item_id - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = i.item_id - WHERE i.calc_id = vAvailableCalc - AND a.Id_Article != 100 - AND i.available > 0; - - DROP TEMPORARY TABLE t_item_last_buy; - END LOOP; - - CLOSE cTravelTree; - - CALL bionic_calc_component(vAddress, vAgency); - - CREATE TEMPORARY TABLE tmp.bionic_item - ENGINE = MEMORY - SELECT b.item_id, SUM(b.available) available, p.name producer, - a.Article item, a.Medida size, a.Tallos stems, a.Categoria category, - a.Color, a.Foto image, o.Abreviatura origin, bl.min_price price - FROM tmp.bionic_lot b - JOIN Articles a ON b.item_id = a.Id_Article - LEFT JOIN producer p ON p.producer_id = a.producer_id AND p.visible - JOIN Origen o ON o.id = a.id_origen - JOIN ( - SELECT MIN(price) min_price, item_id - FROM tmp.bionic_price - GROUP BY item_id - ) bl ON bl.item_id = b.item_id - GROUP BY b.item_id; - - DROP TEMPORARY TABLE tmp.zoneGetShippedWarehouse; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_calc_clonKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calc_clonKk`(IN v_ticket BIGINT) -BEGIN - -/* -* DEPRECATED vn.ticketCalculateClon -* -Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_landing DATE; - DECLARE v_agency INT; - - REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); - - SELECT t.Id_Cliente , t.warehouse_id, date(t.Fecha), t.Id_Consigna, t.Id_Agencia, t.landing, a.agency_id - INTO v_customer, v_wh, v_shipment, v_consigna, v_agencia, v_landing, v_agency - FROM vn2008.Agencias a - JOIN vn2008.Tickets t ON t.Id_Agencia = a.Id_Agencia - WHERE t.Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS tmp.agencyHourGetShipped; - CREATE TEMPORARY TABLE tmp.agencyHourGetShipped ENGINE = MEMORY - SELECT v_wh warehouseFk, v_shipment shipped, v_landing landed; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; - - CALL bionic_calc_component(v_consigna,v_agencia); - - -- Bionizamos lineas con Preu = 0 - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu = 0; - - CALL bionic_movement_update(1); - - -- Bionizamos lineas con Preu > 0 - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu > 0; - CALL bionic_movement_update(6); - - IF v_landing IS NULL THEN - CALL travel_tree_shipment(v_shipment, v_consigna, v_agency,v_wh); - UPDATE Tickets t - JOIN travel_tree_shipment tts ON t.warehouse_id = tts.warehouse_id - SET t.landing = tts.landing - WHERE Id_Ticket = v_ticket; - END IF; - - -- Log - call Ditacio(v_ticket - ,'Bioniza Ticket' - ,'T' - , 20 - , 'proc bionic_calc_clon' - , NULL); - - -- Limpieza - DROP TEMPORARY TABLE t_item_last_buy; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_calc_dateKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calc_dateKk`(v_ticket INT) -proc: BEGIN -/** - * Este procedimiento asigna la fecha de llegada correcta a un ticket. - * - * @param v_ticket Id del ticket - **/ - DECLARE v_shipment DATE; - DECLARE v_agency_id INT; - DECLARE v_wh SMALLINT; - DECLARE v_province INT; - DECLARE v_landing DATE; - - SELECT agency_id, DATE(Fecha), t.warehouse_id, province_id - INTO v_agency_id, v_shipment, v_wh, v_province - FROM Tickets t - JOIN Consignatarios c ON c.Id_Consigna = t.Id_Consigna - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - WHERE Id_Ticket = v_ticket; - - SELECT landing INTO v_landing FROM ( - SELECT - @d := TIMESTAMPADD(DAY, subtract_day, v_shipment), - @w := WEEKDAY(@d), - IF(week_day IS NOT NULL, TIMESTAMPADD(DAY, (week_day - @w) + IF(@w > week_day, 7, 0), @d), @d) landing -/* - TIMESTAMPADD(DAY, - IFNULL(IF(WEEKDAY(@vdate) > week_day, 7, 0) + week_day - WEEKDAY(@vdate), - subtract_day) - CAST(subtract_day AS DECIMAL), - @vdate) landing -*/ - FROM agency_hour - WHERE warehouse_id = v_wh - AND (province_id = v_province OR province_id IS NULL) - AND agency_id = v_agency_id - ORDER BY - (province_id IS NOT NULL) * 3 + (week_day IS NOT NULL) DESC, landing - LIMIT 1 - ) t; - - IF v_landing IS NULL THEN - SET v_landing = v_shipment; - END IF; - - UPDATE Tickets SET landing = v_landing WHERE Id_Ticket = v_ticket; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_calc_movement_okKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calc_movement_okKk`(IN v_ticket BIGINT) -BEGIN - -/* -Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_landing DATE; - - SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia - INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia - FROM vn2008.Agencias a - JOIN vn2008.Tickets t using(Id_Agencia) - WHERE Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS tmp.agencyHourGetShipped; - CREATE TEMPORARY TABLE tmp.agencyHourGetShipped ENGINE = MEMORY - SELECT v_wh warehouseFk, v_shipment shipped, v_landing landed; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; - - CALL bionic_calc_component(v_consigna,v_agencia); - - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m WHERE m.Id_Ticket = v_ticket; - CALL bionic_movement_update(1); - - -- Log - call Ditacio(v_ticket - ,'Bioniza Lineas OK' - ,'T' - , 20 - , 'proc bionic_calc_movement_ok ' - , NULL); - - -- Limpieza - DROP TEMPORARY TABLE t_item_last_buy; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_calc_movement__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calc_movement__`(IN v_id_mov BIGINT ) -proc: BEGIN - -/* -obsoleto usar ticketCalculateSale -Este procedimiento bioniza una linea de movimiento -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_ticket BIGINT; - DECLARE v_id_article BIGINT; - DECLARE v_landing DATE; - DECLARE v_ticket_free BOOLEAN DEFAULT TRUE; - - - SELECT FALSE - INTO v_ticket_free - FROM Tickets t - JOIN Movimientos m ON m.Id_Ticket = t.Id_Ticket - LEFT JOIN vn.ticketState ts on ts.ticket = t.Id_Ticket - WHERE Id_Movimiento = v_id_mov - AND (t.Factura != "" - or - ( - ts.alertLevel > 0 - AND - m.Preu != 0 - ) - ) - LIMIT 1; - - SELECT Id_Ticket, Id_Article INTO v_ticket, v_id_article FROM Movimientos WHERE Id_Movimiento = v_id_mov; - - REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); - - SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia - INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia - FROM vn2008.Agencias a - JOIN vn2008.Tickets t using(Id_Agencia) - WHERE Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS tmp.agencyHourGetShipped; - CREATE TEMPORARY TABLE tmp.agencyHourGetShipped ENGINE = MEMORY - SELECT v_wh warehouseFk, v_shipment shipped, v_landing landed; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - DELETE FROM t_item_last_buy WHERE item_id != v_id_article; - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Movimiento = v_id_mov; - - CALL bionic_calc_component(v_consigna,v_agencia); - - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento,v_wh warehouse_id FROM Movimientos m WHERE m.Id_Movimiento = v_id_mov; - - CALL bionic_movement_update(IF(v_ticket_free,1,6)); -- si el ticket esta facturado, respeta los precios - - -- Log - INSERT INTO vn.ticketLog (originFk, userFk, `action`, description) - VALUES (v_ticket, account.userGetId(), 'update', CONCAT('Bionizo linea id ', v_id_mov)); - - -- Limpieza - - DROP TEMPORARY TABLE t_item_last_buy; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_calc_reverseKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calc_reverseKk`( - vWarehouse INT, - vMargin DECIMAL(10,3), - vRetailedPrice DECIMAL(10,3), - vM3 DECIMAL(10,3), - vConsigna INT, - vAgencia INT) -proc: BEGIN --- JGF 2019-07-25 OBSOLETO USAR vn.bionicCalcReverse - DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; - DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; - DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; - DECLARE vCost DECIMAL(10,4) DEFAULT 0; - DECLARE vCustomer INT; - DECLARE vRecovery DECIMAL(10,4) DEFAULT 0; - DECLARE vMana DECIMAL(10,4) DEFAULT 0; - DECLARE vPort DECIMAL(10,4) DEFAULT 0; - - SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vConsigna; - - -- Recobro - SELECT ROUND(LEAST(recobro,0.25), 3) INTO vRecovery - FROM bi.claims_ratio - WHERE Id_Cliente = vCustomer AND recobro > 0.009; - - -- Componente de maná automático, en función del maná acumulado por el comercial. - SELECT ROUND(prices_modifier_rate, 3) INTO vMana - FROM Clientes c - JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador - WHERE ms.prices_modifier_activated AND c.Id_Cliente = vCustomer; - - -- Reparto - SELECT COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - vM3 - * az.price - * az.inflacion - / VOLUMEN_CAJA_VERDNATURA, 4 - ) INTO vPort - FROM vn2008.Agencias a - JOIN vn2008.Consignatarios c ON c.Id_Consigna = vConsigna AND a.Id_Agencia = vAgencia - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = vWarehouse AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = vAgencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = vWarehouse; - - -- Modificacion de precio por dia de preparacion del pedido - -- No aplicada - - SET vCost = ((vRetailedPrice - vPort) / ( 1 + (vRecovery + vMana))) - vMargin; - - SELECT vCost,vRetailedPrice,vPort,vRecovery,vMana,vMargin,vCustomer; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `bionic_free` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -68785,755 +64301,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_from_itemKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_from_itemKk`( - v_date DATE, - v_consigna INT, - v_agencia INT, - v_item INT) -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; - CREATE TEMPORARY TABLE tmp.bionic_calc - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT v_item item_id; - - CALL bionic_calc (v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE tmp.bionic_calc; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_from_ticketKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_from_ticketKk`( - -- DEPRECATED use vn.ticketComponentPreview - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT, - v_ticket INT) -BEGIN - DECLARE int_warehouse SMALLINT; - DECLARE v_agency_id INT; - DECLARE v_shipment DATE; - - SELECT warehouse_id INTO int_warehouse FROM Tickets WHERE Id_Ticket = v_ticket; - SELECT agency_id INTO v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; - - - CALL bionic_free(); - CALL vn.agencyHourGetShipped(v_date,v_consigna, v_agency_id); - - - SELECT shipped INTO v_shipment FROM tmp.agencyHourGetShipped WHERE warehouseFk = int_warehouse; - - CALL item_last_buy_ (int_warehouse, v_shipment); - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT int_warehouse warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket - AND m.Id_Article != 100 - GROUP BY warehouse_id, item_id; - - DROP TEMPORARY TABLE t_item_last_buy; - - CALL bionic_calc_component ( v_consigna, v_agencia); - - REPLACE INTO tmp.bionic_component (warehouse_id, item_id, component_id, cost) - SELECT t.warehouse_id, m.Id_Article, mc.Id_Componente, mc.Valor - FROM Movimientos_componentes mc - JOIN Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - JOIN tarifa_componentes tc ON tc.Id_componente = mc.Id_Componente - WHERE m.Id_Ticket = v_ticket AND tc.is_renewable = FALSE; - - -- para recuperar el shipment en caso de que se necesite - - SET @shipment = v_shipment; - DROP TEMPORARY TABLE tmp.bionic_lot; - - IF IFNULL(v_shipment,CURDATE() - 1) < CURDATE() THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'No se puede realizar el cambio'; - END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_from_typeKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_from_typeKk`( - -- DEPRECATED use vn.ticketCalculate - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT, - v_type INT) -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; - CREATE TEMPORARY TABLE tmp.bionic_calc - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT Id_Article AS item_id FROM Articles WHERE tipo_id = v_type; - - CALL bionic_calc (v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE tmp.bionic_calc; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_make_updateKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_make_updateKk`( - i_ticket INT - ,i_agencia INT - ,i_consigna INT - ,i_warehouse INT - ,d_shipment DATE - ,d_landing DATE - ,i_option INT) -BEGIN -/** -* DEPRECATED use vn.ticketComponentUpdate -* - * Ejecuta los cambios en el ticket, en los movimientos y en los componentes. - */ - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - -- Cambios en el ticket - - START TRANSACTION; - - UPDATE Tickets t - SET - t.Id_Agencia = i_agencia, - t.Id_Consigna = i_consigna, - t.warehouse_id = i_warehouse, - t.landing = d_landing, - t.Fecha = d_shipment - WHERE - t.Id_Ticket = i_ticket; - - -- La opcion 8 es No realizar modificaciones en los precios - - IF i_option <> 8 - THEN - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) - ENGINE = MEMORY - SELECT Id_Movimiento, i_warehouse warehouse_id - FROM Movimientos m WHERE m.Id_Ticket = i_ticket; - - CALL bionic_movement_update (i_option); - DROP TEMPORARY TABLE tmp.movement; - END IF; - - COMMIT; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_make_updateTestKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_make_updateTestKk`( - i_ticket INT - ,i_agencia INT - ,i_consigna INT - ,i_warehouse INT - ,d_shipment DATE - ,d_landing DATE - ,i_option INT) -BEGIN -/** - * Ejecuta los cambios en el ticket, en los movimientos y en los componentes. - */ - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - -- Cambios en el ticket - - START TRANSACTION; - - UPDATE Tickets t - SET - t.Id_Agencia = i_agencia, - t.Id_Consigna = i_consigna, - t.warehouse_id = i_warehouse, - t.landing = d_landing, - t.Fecha = d_shipment - WHERE - t.Id_Ticket = i_ticket; - - -- La opcion 8 es No realizar modificaciones en los precios - - IF i_option <> 8 - THEN - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) - ENGINE = MEMORY - SELECT Id_Movimiento, i_warehouse warehouse_id - FROM Movimientos m WHERE m.Id_Ticket = i_ticket; - - CALL bionic_movement_updateTest(i_option); - DROP TEMPORARY TABLE tmp.movement; - END IF; - - COMMIT; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_movement_updateKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_movement_updateKk`(i_option INT) -BEGIN -/** -* DEPRECATED use vn.ticketComponentUpdateSale -* - * A partir de la tabla tmp.movement, crea los Movimientos_componentes - * y modifica el campo Preu de la tabla Movimientos - * - * @param i_option integer tipo de actualizacion - * @param table tmp.movement tabla memory con el campo Id_Movimiento, warehouse_id - **/ - DECLARE intComponent INT; - DECLARE bolRENUEVA_COMPONENTES BOOLEAN; - DECLARE bolRESPETA_PRECIOS BOOLEAN; - - CASE i_option - - WHEN 1 THEN -- caso normal - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 2 THEN - - SET intComponent = 17; -- greuge al client - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 3 THEN - - SET intComponent = 37; -- convertir en maná - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 4 THEN - - SET intComponent = 34; -- greuge contra la cartera del producto - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 5 THEN - - SET intComponent = 35; -- greuge contra la cartera del comprador - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 6 THEN - - SET intComponent = 36; -- descuadre para la empresa - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 7 THEN - -- Insertamos el 80% para el coste - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.8 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - -- Insertamos el 20% para el margen - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,29, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.2 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 8 THEN - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento; - - -- Insertamos el 100% para el coste Tipo 78 (Genérico) - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 )) ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 9 THEN -- PAK 2017-02-06 caso especial de artículos cuyo precio se pone a mano, como los portes - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - END CASE; - - IF bolRENUEVA_COMPONENTES THEN - - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN tarifa_componentes tc ON tc.Id_Componente = mc.Id_Componente - WHERE tc.is_renewable = TRUE; - - -- Insertamos los componentes actuales - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, bc.component_id, bc.cost - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id - LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id - WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); - - END IF; - - IF bolRESPETA_PRECIOS THEN - - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente <> intComponent - GROUP BY m.Id_Movimiento - HAVING dif <> 0; - - ELSE - - -- Cambios en movimientos. - UPDATE Movimientos m - JOIN Articles a on a.Id_Article = m.Id_Article - JOIN Tipos tp on tp.tipo_id = a.tipo_id - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.Preu = sum_valor - WHERE Tipo != 'Portes'; -- PAK 2017-02-06 - - -- Insertamos descuento, si lo hay - - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente != 21 - GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; - - END IF; - - -- Fija el Costfixat - - UPDATE Movimientos m - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - join bi.tarifa_componentes tc using(Id_Componente) - join bi.tarifa_componentes_series tcs on tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id AND tcs.base - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.CostFixat = sum_valor, PrecioFijado = 1; - - - -- PAK 2017-02-06 - -- Familia PORTES, un unico componente de porte - - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes'; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 15, preu -- Reparto - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes' AND preu > 0; - - -- PAK 2017-09-27 - -- Tipos con un unico componente de coste - /* - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 28, preu -- Coste - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; -*/ - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_movement_updateTestKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_movement_updateTestKk`(i_option INT) -BEGIN -/** - * A partir de la tabla tmp.movement, crea los Movimientos_componentes - * y modifica el campo Preu de la tabla Movimientos - * - * @param i_option integer tipo de actualizacion - * @param table tmp.movement tabla memory con el campo Id_Movimiento, warehouse_id - **/ - DECLARE intComponent INT; - DECLARE bolRENUEVA_COMPONENTES BOOLEAN; - DECLARE bolRESPETA_PRECIOS BOOLEAN; - - CASE i_option - - WHEN 1 THEN -- caso normal - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 2 THEN - - SET intComponent = 17; -- greuge al client - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 3 THEN - - SET intComponent = 37; -- convertir en maná - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 4 THEN - - SET intComponent = 34; -- greuge contra la cartera del producto - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 5 THEN - - SET intComponent = 35; -- greuge contra la cartera del comprador - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 6 THEN - - SET intComponent = 36; -- descuadre para la empresa - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 7 THEN - -- Insertamos el 80% para el coste - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.8 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - -- Insertamos el 20% para el margen - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,29, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.2 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 8 THEN - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento; - - -- Insertamos el 100% para el coste Tipo 78 (Genérico) - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 )) ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 9 THEN -- PAK 2017-02-06 caso especial de artículos cuyo precio se pone a mano, como los portes - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - END CASE; - - IF bolRENUEVA_COMPONENTES THEN - - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN tarifa_componentes tc ON tc.Id_Componente = mc.Id_Componente - WHERE tc.is_renewable = TRUE; - SELECT m.Id_Movimiento, bc.component_id, bc.cost - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id - LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id - WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); - -- Insertamos los componentes actuales - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, bc.component_id, bc.cost - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id - LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id - WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); - - END IF; - - IF bolRESPETA_PRECIOS THEN - - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente <> intComponent - GROUP BY m.Id_Movimiento - HAVING dif <> 0; - - SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente <> intComponent - GROUP BY m.Id_Movimiento - HAVING dif <> 0; - ELSE - - -- Cambios en movimientos. - UPDATE Movimientos m - JOIN Articles a on a.Id_Article = m.Id_Article - JOIN Tipos tp on tp.tipo_id = a.tipo_id - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.Preu = sum_valor - WHERE Tipo != 'Portes'; -- PAK 2017-02-06 - - SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - GROUP BY mc.Id_Movimiento; - - -- Insertamos descuento, si lo hay - - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente != 21 - GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; - SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente != 21 - GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; - END IF; - - -- Fija el Costfixat - - UPDATE Movimientos m - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - join bi.tarifa_componentes tc using(Id_Componente) - join bi.tarifa_componentes_series tcs on tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id AND tcs.base - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.CostFixat = sum_valor, PrecioFijado = 1; - - - -- PAK 2017-02-06 - -- Familia PORTES, un unico componente de porte - - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes'; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 15, preu -- Reparto - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes' AND preu > 0; - - -- PAK 2017-09-27 - -- Tipos con un unico componente de coste - /* - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 28, preu -- Coste - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; -*/ - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `bionic_movement_update_modeKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_movement_update_modeKk`(IN idMOV BIGINT, IN i_MODE INT) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, warehouse_id - FROM Movimientos m - JOIN Tickets t using(Id_Ticket) - WHERE m.Id_Movimiento = idMOV; - - CALL bionic_movement_update(i_MODE); - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `bionic_movimiento_precio_update` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -70171,161 +64938,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_splitKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `buy_splitKk`(IN `v_buy` INT, IN `v_fv_entry` INT, IN `v_pca_entry` INT) -BEGIN - DECLARE v_item INT; - DECLARE v_packing INT; - DECLARE v_remaining INT; - DECLARE v_labels INT; - DECLARE v_remainder INT; - DECLARE v_is_buy INT; - DECLARE v_id INT; - DECLARE v_amount INT; - DECLARE v_done BOOL DEFAULT FALSE; - - DECLARE cur CURSOR FOR - SELECT TRUE, c.Id_Compra, c.Cantidad - IFNULL((c.Vida * c.Packing), 0) - FROM Compres c - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE c.Id_Article = v_item - AND t.shipment = CURDATE() AND t.warehouse_id_out IN (7, 40) - AND t.warehouse_id NOT IN (44, 1) - AND NOT e.redada AND NOT e.Inventario - AND IFNULL(c.Vida, 0) < c.Etiquetas - UNION ALL - SELECT FALSE, m.Id_Movimiento, m.Cantidad - IFNULL(l.stem, 0) - FROM Movimientos m - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - LEFT JOIN movement_label l ON l.Id_Movimiento = m.Id_Movimiento - WHERE m.Id_Article = v_item - AND t.Fecha = CURDATE() AND t.warehouse_id IN (7, 40) - AND NOT t.Etiquetasemitidas - AND IFNULL(l.stem, 0) < m.Cantidad - LOCK IN SHARE MODE; - - DECLARE CONTINUE HANDLER FOR NOT FOUND - SET v_done = TRUE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - START TRANSACTION; - - -- Obtiene los datos de la compra - - SELECT Id_Article, Packing, Cantidad - INTO v_item, v_packing, v_remaining - FROM Compres WHERE Id_Compra = v_buy; - - -- Crea splits de los tickets - - DROP TEMPORARY TABLE IF EXISTS tmp.split; - CREATE TEMPORARY TABLE tmp.split - ( - is_buy BOOL, - id INT, - labels INT, - remainder INT - ) - ENGINE = MEMORY; - - OPEN cur; - - l: LOOP - SET v_done = FALSE; - FETCH cur INTO v_is_buy, v_id, v_amount; - - IF v_done OR v_remaining = 0 THEN - LEAVE l; - END IF; - - SET v_amount = LEAST(v_amount, v_remaining); - SET v_remaining = v_remaining - v_amount; - SET v_labels = v_amount DIV v_packing; - - INSERT INTO tmp.split - VALUES (v_is_buy, v_id, v_labels, v_amount % v_packing); - - IF v_is_buy - THEN - UPDATE Compres - SET Vida = Vida + v_labels - WHERE Id_Compra = v_id; - ELSE - INSERT INTO movement_label - SET - Id_Movimiento = v_id, - stem = v_amount, - label = v_labels - ON DUPLICATE KEY UPDATE - stem = stem + VALUES(stem), - label = label + VALUES(label); - END IF; - END LOOP; - - CLOSE cur; - - -- Crea los movimientos de almacén a silla - - CALL buy_transfer (v_buy, v_fv_entry, v_pca_entry); - - UPDATE Compres SET dispatched = Vida * Packing - WHERE Id_Compra = v_buy; - - -- Devuelve los splits creados - - DROP TEMPORARY TABLE IF EXISTS tmp.aux; - CREATE TEMPORARY TABLE tmp.aux - ENGINE = MEMORY - SELECT s.labels, s.remainder, w.`name` destination, - a.Id_Article, a.Article, a.Medida - FROM tmp.split s - JOIN Compres c ON c.Id_Compra = s.id - JOIN Articles a ON a.Id_Article = c.Id_Article - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - JOIN warehouse w ON t.warehouse_id = w.id - WHERE s.is_buy; - - INSERT INTO tmp.aux - SELECT s.labels, s.remainder, o.Consignatario, - a.Id_Article, a.Article, a.Medida - FROM tmp.split s - JOIN Movimientos m ON m.Id_Movimiento = s.id - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - JOIN Consignatarios o ON o.Id_Consigna = t.Id_Consigna - WHERE NOT s.is_buy; - - SELECT * FROM tmp.aux; - - -- Limpia y confirma cambios - - DROP TEMPORARY TABLE - tmp.split, - tmp.aux; - - COMMIT; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `buy_splitTest` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -70652,66 +65264,6 @@ drop temporary table killme; CLOSE rs; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_awb__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`localhost` PROCEDURE `buy_tarifas_awb__`(IN strAWB varchar(18)) -BEGIN - - DECLARE vWarehouseFk INT; - DECLARE vEntryFk INT; - - SELECT tr.warehouseInFk, de.entryFk - INTO vWarehouseFk, vEntryFk - FROM vn.travel tr - JOIN vn.entry e ON e.travelFk = tr.id - JOIN vn.duaEntry de ON de.entryFk = e.id - JOIN vn.dua d ON d.id = de.duaFk - JOIN vn.awb a ON a.id = d.awbFk - WHERE a.code = strAWB - LIMIT 1; - - CALL buy_tarifas_table(vEntryFk); - - UPDATE Compres C - LEFT JOIN Cubos CB USING(Id_Cubo) - JOIN Articles A USING(Id_Article) - JOIN Entradas E USING(Id_Entrada) - JOIN vn.duaEntry de ON de.entryFk = E.Id_Entrada - JOIN vn.dua d ON d.id = de.duaFk - JOIN v_awb_volumen va ON va.awb_id = d.awbFk - JOIN Tipos TP USING(tipo_id) - JOIN travel TR ON TR.id = E.travel_id - JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia - JOIN tblTARIFAS TC - - SET C.Portefijo = @PF:= round((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), - - C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), - - C.Embalajefijo = @EF:= ROUND((CB.costeRetorno + IF(CB.Retornable != 0, 0, CB.Valor)) / C.Packing,3), - - C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 - - C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), - - C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 , @t2) - - WHERE va.codigo = strAWB ; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -70766,67 +65318,6 @@ BEGIN DROP TEMPORARY TABLE tblTARIFAS; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_entry__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`localhost` PROCEDURE `buy_tarifas_entry__`(IN entryFk INT(11)) -BEGIN - - DECLARE vIsWarehouseFloramondo BOOLEAN DEFAULT FALSE; - - CALL buy_tarifas_table(entryFk); - - SELECT t.id INTO vIsWarehouseFloramondo - FROM vn.entry e - JOIN vn.travel t ON t.id = e.travelFk - JOIN vn.warehouse w ON w.id = t.warehouseInFk - WHERE w.`name` = 'Floramondo' AND e.id = entryFk; - - UPDATE Compres C - LEFT JOIN Cubos CB USING(Id_Cubo) - JOIN Articles A USING(Id_Article) - JOIN Entradas E USING(Id_Entrada) - LEFT JOIN vn.duaEntry de on E.Id_Entrada = de.entryFk - LEFT JOIN vn.dua d ON d.id = de.duaFk - LEFT JOIN v_awb_volumen va ON va.awb_id = d.awbFk - JOIN Tipos TP USING(tipo_id) - JOIN travel TR ON TR.id = E.travel_id - JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia - JOIN tblTARIFAS TC - - SET C.Portefijo = @PF:= - IF (va.importe, - - round((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), - - ROUND(IFNULL(((AG.m3 * @cm3:= cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) / C.Packing,0),3) - ), - - C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), - - C.Embalajefijo = @EF:= IF(CB.Retornable != 0 OR vIsWarehouseFloramondo, 0, ROUND(IFNULL( CB.Valor / C.Packing ,0),3)), - - C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 - - C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100)),2), - - C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 , @t2) - - WHERE C.Id_Entrada = entryFk; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -70908,126 +65399,6 @@ BEGIN END WHILE; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_priceBuilderKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `buy_tarifas_priceBuilderKk`(entryFk INT) -BEGIN - -UPDATE vn.buy b - JOIN - ( - SELECT i.id, i.name, i.size, pb.price, difTags.numTags , count(DISTINCT pbt.tagFk) matchedTags - FROM vn.item i - JOIN vn.buy b ON b.itemFk = i.id - JOIN vn.entry e ON e.id = b.entryFk - JOIN vn.travel tr ON tr.id = e.travelFk - JOIN vn.itemTag it ON it.itemFk = i.id - JOIN vn.priceBuilder pb ON pb.itemTypeFk = i.typeFk - JOIN vn.priceBuilderWarehouse pbw ON pbw.priceBuilderFk = pb.id AND pbw.warehouseFk = tr.warehouseInFk - LEFT JOIN vn.priceBuilderTag pbt ON pbt.priceBuilderFk = pb.id AND pbt.tagFk = it.tagFk AND pbt.value = it.value - JOIN vn.priceBuilderDistinctTags difTags ON difTags.priceBuilderFk = pb.id - WHERE b.entryFk = entryFk - AND tr.landed BETWEEN pb.started AND pb.finished - GROUP BY i.id - HAVING matchedTags = numTags - ) sub ON sub.id = b.itemFk - SET b.price2 = sub.price, b.price3 = sub.price * 0.95 - WHERE b.entryFk = entryFk; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_priceBuilder_BuyKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `buy_tarifas_priceBuilder_BuyKk`(buyFk INT) -BEGIN - -UPDATE vn.buy b - JOIN - ( - SELECT i.id, i.name, i.size, pb.price, difTags.numTags , count(DISTINCT pbt.tagFk) matchedTags - FROM vn.item i - JOIN vn.buy b ON b.itemFk = i.id - JOIN vn.entry e ON e.id = b.entryFk - JOIN vn.travel tr ON tr.id = e.travelFk - JOIN vn.itemTag it ON it.itemFk = i.id - JOIN vn.priceBuilder pb ON pb.itemTypeFk = i.typeFk - JOIN vn.priceBuilderWarehouse pbw ON pbw.priceBuilderFk = pb.id AND pbw.warehouseFk = tr.warehouseInFk - LEFT JOIN vn.priceBuilderTag pbt ON pbt.priceBuilderFk = pb.id AND pbt.tagFk = it.tagFk AND pbt.value = it.value - JOIN vn.priceBuilderDistinctTags difTags ON difTags.priceBuilderFk = pb.id - WHERE b.id = buyFk - AND tr.landed BETWEEN pb.started AND pb.finished - GROUP BY i.id - HAVING matchedTags = numTags - ) sub ON sub.id = b.itemFk - SET b.price2 = sub.price, b.price3 = sub.price * 0.95 - WHERE b.id = buyFk; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_priceBuilder_EntryKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `buy_tarifas_priceBuilder_EntryKk`(entryFk INT) -BEGIN - -UPDATE vn.buy b - JOIN - ( - SELECT i.id, i.name, i.size, pb.price, difTags.numTags , count(DISTINCT pbt.tagFk) matchedTags - FROM vn.item i - JOIN vn.buy b ON b.itemFk = i.id - JOIN vn.entry e ON e.id = b.entryFk - JOIN vn.travel tr ON tr.id = e.travelFk - JOIN vn.itemTag it ON it.itemFk = i.id - JOIN vn.priceBuilder pb ON pb.itemTypeFk = i.typeFk - JOIN vn.priceBuilderWarehouse pbw ON pbw.priceBuilderFk = pb.id AND pbw.warehouseFk = tr.warehouseInFk - LEFT JOIN vn.priceBuilderTag pbt ON pbt.priceBuilderFk = pb.id AND pbt.tagFk = it.tagFk AND pbt.value = it.value - JOIN vn.priceBuilderDistinctTags difTags ON difTags.priceBuilderFk = pb.id - WHERE b.entryFk = entryFk - AND tr.landed BETWEEN pb.started AND pb.finished - GROUP BY i.id - HAVING matchedTags = numTags - ) sub ON sub.id = b.itemFk - SET b.price2 = sub.price, b.price3 = sub.price * 0.95 - WHERE b.entryFk = entryFk; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -71077,50 +65448,6 @@ UNTIL done END REPEAT; CLOSE cur1; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_T3Kk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`localhost` PROCEDURE `buy_tarifas_T3Kk`(IN idCOMPRA INT(11)) -BEGIN - - DECLARE idENTRADA BIGINT; - DECLARE wh_id INT; - - SELECT Id_Entrada, warehouse_id INTO idENTRADA, wh_id - FROM Compres - JOIN Entradas using(Id_Entrada) - JOIN travel ON travel.id = travel_id - WHERE idCOMPRA = Id_Compra; - - CALL buy_tarifas_table(idENTRADA); - - UPDATE Compres C - JOIN tblTARIFAS TC - - SET - C.Tarifa3 = @t3:= C.Tarifa3, - - C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), - - C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 + 0.01, @t2) - - WHERE C.Id_Compra = idCOMPRA; - - CALL buy_tarifas_priceBuilder_Buy(idCOMPRA); - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -71168,80 +65495,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_T3_pfKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`localhost` PROCEDURE `buy_tarifas_T3_pfKk`(IN vFixedPriceFk INT, IN vPrice DOUBLE) -BEGIN - - DECLARE idENTRADA BIGINT; - DECLARE idCOMPRA BIGINT; - DECLARE datFEC DATE; - DECLARE wh INT; - DECLARE idART BIGINT; - - SELECT date_start, warehouse_id, item_id INTO datFEC, wh, idART - FROM price_fixed - WHERE price_fixed_id = vFixedPriceFk; - - SELECT C.Id_Entrada, C.Id_Compra - INTO idENTRADA, idCOMPRA - FROM Compres C - JOIN Entradas E using(Id_Entrada) - JOIN travel TR on TR.id = E.travel_id - WHERE Id_Article = idART - AND wh IN (0, warehouse_id) - AND Novincular = FALSE - AND NOT Redada - AND landing <= datFEC - ORDER BY landing DESC - LIMIT 1; - - -- Prepara una tabla con las tarifas aplicables en funcion de la fecha y el almacén - - DROP TEMPORARY TABLE IF EXISTS tblTARIFAS; - CREATE TEMPORARY TABLE tblTARIFAS - ENGINE = MEMORY - SELECT * FROM - ( - SELECT * FROM - ( - SELECT t0, t1, t2, t3 - FROM tarifas - WHERE fecha <= datFEC - AND warehouse_id = wh - ORDER BY fecha DESC - - ) sub - UNION ALL - SELECT t0, t1, t2, t3 - FROM tblContadores - ) sub2 - LIMIT 1; - - - SELECT - @t2:= round(vPrice * (1 + ( (TC.t2 - TC.t3)/100) ),2) as rate_2b, - - @t2:= IF(@t2 <= vPrice, vPrice + 0.01, @t2) as rate_2 - - FROM price_fixed PF - JOIN Compres C ON C.Id_Compra = idCOMPRA AND price_fixed_id = vFixedPriceFk - JOIN tblTARIFAS TC; - DROP TEMPORARY TABLE tblTARIFAS; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_T3_pf__` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -71304,166 +65557,6 @@ BEGIN LIMIT 1; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_tableKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `buy_tarifas_tableKk`(v_entry INT) -BEGIN - DECLARE v_date DATE; - DECLARE v_wh INT; - - -- Obtiene fecha de llegada y almacén entrante - - SELECT landing, warehouse_id INTO v_date , v_wh - FROM travel TR - JOIN Entradas E ON TR.id = E.travel_id - WHERE Id_Entrada = v_entry; - - -- Prepara una tabla con las tarifas aplicables en funcion de la fecha y el almacén - - DROP TEMPORARY TABLE IF EXISTS tblTARIFAS; - CREATE TEMPORARY TABLE tblTARIFAS - ENGINE = MEMORY - SELECT * FROM - ( - SELECT * FROM - ( - SELECT t0, t1, t2, t3 - FROM tarifas - WHERE fecha <= v_date - AND warehouse_id = v_wh - ORDER BY fecha DESC - - ) sub - UNION ALL - SELECT t0, t1, t2, t3 - FROM tblContadores - ) sub2 - LIMIT 1; - - UPDATE bi.rotacion r - JOIN Compres c ON c.Id_Article = r.Id_Article - SET cm3 = vn2008.cm3_unidad(c.Id_Compra) - WHERE Id_Entrada = v_entry - AND r.warehouse_id = v_wh; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas_table__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `buy_tarifas_table__`(v_entry INT) -BEGIN - DECLARE v_date DATE; - DECLARE v_wh INT; - - -- Obtiene fecha de llegada y almacén entrante - - SELECT landing, warehouse_id INTO v_date , v_wh - FROM travel TR - JOIN Entradas E ON TR.id = E.travel_id - WHERE Id_Entrada = v_entry; - - -- Prepara una tabla con las tarifas aplicables en funcion de la fecha y el almacén - - DROP TEMPORARY TABLE IF EXISTS tblTARIFAS; - CREATE TEMPORARY TABLE tblTARIFAS - ENGINE = MEMORY - - SELECT t0, t1, t2, t3 - FROM tarifas - WHERE fecha <= v_date - AND warehouse_id = v_wh - ORDER BY fecha DESC - LIMIT 1; - - UPDATE bi.rotacion r - JOIN Compres c ON c.Id_Article = r.Id_Article - SET cm3 = vn2008.cm3_unidad(c.Id_Compra) - WHERE Id_Entrada = v_entry - AND r.warehouse_id = v_wh; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `buy_tarifas__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`localhost` PROCEDURE `buy_tarifas__`(v_buy INT) -BEGIN - DECLARE v_entry INT; - DECLARE v_wh INT; - DECLARE vIsWarehouseFloramondo BOOLEAN DEFAULT FALSE; - DECLARE vWarehouseFloramondo INT DEFAULT 40; - - SELECT Id_Entrada, warehouse_id - INTO v_entry, v_wh - FROM Compres - JOIN Entradas USING(Id_Entrada) - JOIN travel ON travel.id = travel_id - WHERE v_buy = Id_Compra; - - SELECT t.id INTO vIsWarehouseFloramondo - FROM vn.entry e - JOIN vn.travel t ON t.id = e.travelFk - WHERE t.warehouseInFk = vWarehouseFloramondo AND e.id = v_entry; - - CALL buy_tarifas_table (v_entry); - - UPDATE Compres C - LEFT JOIN Cubos CB USING(Id_Cubo) - JOIN Articles A USING(Id_Article) - JOIN Tipos TP USING(tipo_id) - JOIN Entradas E USING(Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia - LEFT JOIN recibida_entrada re ON E.Id_Entrada = re.Id_Entrada - LEFT JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id - LEFT JOIN v_awb_volumen va ON va.awb_id = ar.awb_id - JOIN tblTARIFAS TC - SET C.Portefijo = @PF:= - IF (va.importe, - ROUND((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), - ROUND(IFNULL(((AG.m3 * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) / C.Packing,0),3) - ), - C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), - C.Embalajefijo = @EF:= ROUND(IF (vIsWarehouseFloramondo,0,(CB.costeRetorno + IF(CB.Retornable != 0, 0, CB.Valor)) / C.packing),3), - C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 - C.Tarifa2 = @t2:= ROUND(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), - C.Tarifa2 = IF(@t2 <= @t3, @t3 , @t2) - WHERE C.Id_Compra = v_buy; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -71883,86 +65976,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `CalculoRemesasKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `CalculoRemesasKk`(IN vFechaRemesa DATE) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS TMP_REMESAS; - CREATE TEMPORARY TABLE TMP_REMESAS - SELECT - CONCAT(p.NIF,REPEAT('0', 12-LENGTH(p.NIF))) as CIF1, - cli.Id_Cliente, - cli.Cliente, - cli.`IF` as NIF, - c.PaymentDate as Vencimiento, - 0 ImporteFac, - cast(c.Recibo as decimal(10,2)) as ImporteRec, - 0 as ImporteActual, - c.company_id empresa_id, - cli.RazonSocial, - cast(c.Recibo as decimal(10,2)) as ImporteTotal, - cast(c.Recibo as decimal(10,2)) as Saldo, - p.Proveedor as Empresa, - e.abbreviation as EMP, - cli.cuenta, - iban AS Iban, - CONVERT(SUBSTRING(iban,5,4),UNSIGNED INT) AS nrbe , - sepavnl as SEPA, - corevnl as RecibidoCORE, - hasLcr - -- JGF descomentar cuando en salix este el bankEntityFk -- bic - -- JGF descomentar cuando en salix este el bankEntityFk -- description - FROM Clientes cli - JOIN - (SELECT risk.company_id, - c.Id_Cliente, - sum(risk.amount) as Recibo, - IF((c.Vencimiento + graceDays) mod 30.001 <= day(vFechaRemesa) - ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-1,vFechaRemesa))) - ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-2,vFechaRemesa))) - ) as PaymentDate - FROM Clientes c - JOIN pay_met pm on pm.id = pay_met_id - JOIN - ( - SELECT company_id, customer_id, amount - FROM Clientes c - JOIN bi.customer_risk cr ON cr.customer_id = c.Id_Cliente - WHERE pay_met_id = 4 - - UNION ALL - - SELECT empresa_id, Id_Cliente, - Importe - FROM Facturas f - JOIN Clientes c using(Id_Cliente) - JOIN pay_met pm on pm.id = pay_met_id - WHERE f.Vencimiento > vFechaRemesa - AND pay_met_id = 4 AND deudaviva - AND Importe > 0 - - ) risk ON c.Id_Cliente = risk.customer_id - GROUP BY risk.company_id, Id_Cliente - HAVING Recibo > 10 - ) c on c.Id_Cliente = cli.Id_Cliente - JOIN Proveedores p on p.Id_Proveedor = c.company_id - JOIN empresa e on e.id = c.company_id - -- JGF descomentar cuando en salix este el bankEntityFk -- LEFT JOIN vn.bankEntity be ON be.id = c.bankEntityFk - ; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `calling` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -72741,137 +66754,6 @@ BEGIN CLOSE rsTicket; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `clonWeeklyTickets__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `clonWeeklyTickets__`(IN vWeek INT) -BEGIN - DECLARE vIsDone BOOL; - DECLARE vLanding DATE; - DECLARE vShipment DATE; - DECLARE vWarehouse INT; - DECLARE vTicket INT; - DECLARE vWeekDay INT; - DECLARE vClient INT; - DECLARE vEmpresa INT; - DECLARE vConsignatario INT; - DECLARE vAgencia INT; - DECLARE vNewTicket INT; - DECLARE vYear INT; - - DECLARE rsTicket CURSOR FOR - SELECT tt.Id_Ticket, weekDay, Id_Cliente, warehouse_id, empresa_id, Id_Consigna, Id_Agencia - FROM Tickets_turno tt - JOIN Tickets t ON tt.Id_Ticket = t.Id_Ticket; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vIsDone = TRUE; - - SET vYear = YEAR(CURDATE()) + IF(vWeek < WEEK(CURDATE()),1, 0); - - OPEN rsTicket; - - myLoop: LOOP - BEGIN - DECLARE vError TEXT; - DECLARE vSalesPersonEmail VARCHAR(150); - DECLARE vMailSent BOOL; - DECLARE vSubject VARCHAR(150); - DECLARE vMessage TEXT; - DECLARE CONTINUE HANDLER FOR SQLEXCEPTION - BEGIN - GET DIAGNOSTICS CONDITION 1 - vError = MESSAGE_TEXT; - - IF vError = 'NOT_ZONE_WITH_THIS_PARAMETERS' THEN - SELECT e.email INTO vSalesPersonEmail - FROM vn.client c - JOIN vn.worker sp ON sp.id = c.salesPersonFk - JOIN account.emailUser e ON e.userFk = sp.userFk - WHERE c.id = vClient; - - SET vSubject = CONCAT('Turnos - No se ha podido clonar el ticket ', vTicket, - ' para el dia: ', vShipment); - SET vMessage = CONCAT('No se ha podido clonar el ticket ', vTicket, - ' para el dia: ', vShipment, - ' porque no hay una zona de envío disponible'); - - SELECT COUNT(*) INTO vMailSent - FROM vn.mail - WHERE sender = vSalesPersonEmail - AND subject = vSubject; - - IF NOT vMailSent THEN - INSERT INTO vn2008.mail (`to`,`subject`,`text`) - VALUES (vSalesPersonEmail, vSubject, vMessage); - END IF; - END IF; - END; - - SET vIsDone = FALSE; - FETCH rsTicket INTO vTicket, vWeekDay, vClient, vWarehouse, vEmpresa, vConsignatario, vAgencia; - - IF vIsDone THEN - LEAVE myLoop; - END IF; - SELECT date INTO vShipment - FROM time - WHERE year = vYear AND week = vWeek - AND WEEKDAY(date) = vWeekDay; - - -- busca si el ticket ya ha sido clonado - IF (select count(*) FROM Tickets t JOIN ticket_observation tob ON t.Id_Ticket = tob.Id_Ticket - WHERE Id_Consigna = vConsignatario AND DATE(Fecha) = vShipment AND tob.text LIKE CONCAT('%',vTicket,'%')) = 0 - THEN - - CALL vn.zoneGetLanded(vShipment, vConsignatario, vAgencia, vWarehouse); - - SELECT landed INTO vLanding from tmp.zoneGetLanded; - - IF (SELECT COUNT(*) FROM Agencias WHERE Id_Agencia = vAgencia AND Agencia LIKE '%turno%') THEN - SET vAgencia = NULL; - END IF; - SET vError = NULL; - CALL vn.ticketCreate(vClient, vShipment, vWarehouse, vEmpresa, vConsignatario, vAgencia, NULL, vLanding, vNewTicket); - IF vError IS NULL THEN - INSERT INTO Movimientos (Id_Ticket, Id_Article, Concepte, Cantidad, Preu, Descuento, CostFixat, PrecioFijado) - SELECT vNewTicket, Id_Article, Concepte, Cantidad, Preu, Descuento, CostFixat, PrecioFijado - FROM Movimientos WHERE Id_Ticket = vTicket; - - INSERT INTO Ordenes (orden,datorden,datticket,codvendedor,codcomprador,cantidad,preciomax,preu,id_article,id_cliente,comentario, - ok, total,datcompra,ko,id_movimiento) - SELECT o.orden,o.datorden,vShipment,o.codvendedor,o.codcomprador,o.cantidad,o.preciomax,o.preu,o.id_article,o.id_cliente,o.comentario, - o.ok, o.total,o.datcompra,o.ko,m2.Id_Movimiento - FROM Movimientos m JOIN Ordenes o ON o.Id_Movimiento = m.Id_Movimiento - JOIN Movimientos m2 ON m.Concepte = m2.Concepte AND m.Cantidad = m2.Cantidad AND m.Id_Article = m2.Id_Article - WHERE m.Id_Ticket = vTicket AND m2.Id_Ticket = vNewTicket; - - INSERT INTO ticket_observation(Id_Ticket,observation_type_id,text) VALUES(vNewTicket,4,CONCAT('turno desde ticket: ',vTicket)) - ON DUPLICATE KEY UPDATE text = CONCAT(ticket_observation.text,VALUES(text),' '); - - INSERT INTO ticket_observation(Id_Ticket,observation_type_id,text) VALUES(vNewTicket,1,'ATENCION: Contiene lineas de TURNO') - ON DUPLICATE KEY UPDATE text = CONCAT(ticket_observation.text,VALUES(text),' '); - - CALL vn.ticketCalculateClon(vNewTicket, vTicket); - END IF; - END IF; - END; - END LOOP; - - CLOSE rsTicket; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -73781,248 +67663,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `comparativeKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `comparativeKk`( - v_date DATETIME - ,days TINYINT - ,i_wh TINYINT - ,i_tipo INT - ,i_filtro INT -) -BEGIN - DECLARE date_cyear_ini DATETIME; - DECLARE date_cyear_end DATETIME; - DECLARE week_count TINYINT DEFAULT 7; - DECLARE w1, w2, w3, w4, w5, w6, w7 INT; - DECLARE y1, y2, y3, y4, y5, y6, y7 INT; - DECLARE wperiod INT;-- DECLARE ws, ys INT; -- PAK 11/01/2016 - DECLARE i INT DEFAULT 0; - DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; - - IF i_filtro THEN - SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; - END IF; - - IF days < 0 OR days > 30 THEN - SET days = 15; - END IF; - - IF i_wh = NULL THEN - SET i_wh = 0; - END IF; - -- JGF 2015-04-16 cambio -21 por -22 para que la semana cuente de domingo a sabado - SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); - SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); - -- Eliminamos el calculo del inventario para fechas en el pasado - - DROP TEMPORARY TABLE IF EXISTS `article_inventory`; - CREATE TEMPORARY TABLE `article_inventory` - ( - `article_id` INT(11) NOT NULL PRIMARY KEY - ) - ENGINE = MEMORY; - - INSERT INTO article_inventory (article_id) - SELECT Id_Article FROM Articles a - JOIN Tipos t ON a.tipo_id = t.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = t.reino_id - WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) - AND r.display <> 0; - - IF v_date < CURDATE() - THEN - ALTER TABLE `article_inventory` - ADD `buy_id` INT NOT NULL DEFAULT 0, - ADD `buy_date` DATE DEFAULT '2000-01-01', - ADD `life` INT DEFAULT 0, - ADD `sd` INT DEFAULT 0, - ADD `avalaible` INT DEFAULT 0, - ADD `visible` INT DEFAULT 0; - - ELSE -select 'multiple2',v_date, i_wh, days; - CALL inventario_multiple_2Kk (v_date, i_wh, days); -select 'multiple'; - CALL article_multiple_buy (v_date, i_wh); -select 'buy_date'; - CALL article_multiple_buy_date (v_date, i_wh); -select 'end'; - - END IF; - - - DROP TEMPORARY TABLE IF EXISTS wtable; - - CREATE TEMPORARY TABLE wtable ( - cy INT(6), - ly INT(6) - ); - - REPEAT - SET i = i + 1; - SET wperiod = vnperiod(TIMESTAMPADD(DAY, 7*(i - 1), date_cyear_ini)); -- PAK 11/01/2016 - INSERT INTO wtable(cy, ly) VALUES(wperiod, wperiod - 100); -- VALUES( ys * 100 + ws, (ys -1) * 100 + ws); -- PAK 11/01/2016 - - UNTIL i = 7 END REPEAT; - - - SELECT cy, ly INTO w1, y1 FROM wtable limit 1; - SELECT cy, ly INTO w2, y2 FROM wtable WHERE cy > w1 limit 1; - SELECT cy, ly INTO w3, y3 FROM wtable WHERE cy > w2 limit 1; - SELECT cy, ly INTO w4, y4 FROM wtable WHERE cy > w3 limit 1; - - SELECT cy, ly INTO w5, y5 FROM wtable WHERE cy > w4 limit 1; - SELECT cy, ly INTO w6, y6 FROM wtable WHERE cy > w5 limit 1; - SELECT cy, ly INTO w7, y7 FROM wtable WHERE cy > w6 limit 1; - DROP TEMPORARY TABLE wtable; - - -- Genera una tabla con los datos del año pasado. - - DROP TEMPORARY TABLE IF EXISTS last_year; - CREATE TEMPORARY TABLE last_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(Periodo = y1, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek1 - ,CAST(SUM(IF(Periodo = y2, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek2 - ,CAST(SUM(IF(Periodo = y3, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek3 - ,CAST(SUM(IF(Periodo = y4, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek4 - ,CAST(SUM(IF(Periodo = y5, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek5 - ,CAST(SUM(IF(Periodo = y6, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek6 - ,CAST(SUM(IF(Periodo = y7, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek7 - - ,CAST(SUM(IF(Periodo = y1, price, 0)) AS DECIMAL(10,0)) AS lprice1 - ,CAST(SUM(IF(Periodo = y2, price, 0)) AS DECIMAL(10,0)) AS lprice2 - ,CAST(SUM(IF(Periodo = y3, price, 0)) AS DECIMAL(10,0)) AS lprice3 - ,CAST(SUM(IF(Periodo = y4, price, 0)) AS DECIMAL(10,0)) AS lprice4 - ,CAST(SUM(IF(Periodo = y5, price, 0)) AS DECIMAL(10,0)) AS lprice5 - ,CAST(SUM(IF(Periodo = y6, price, 0)) AS DECIMAL(10,0)) AS lprice6 - ,CAST(SUM(IF(Periodo = y7, price, 0)) AS DECIMAL(10,0)) AS lprice7 - - FROM Comparativa - JOIN warehouse W on W.id = warehouse_id - WHERE (Periodo BETWEEN y1 and y7) - AND IF(i_wh = 0, W.is_comparative, i_wh = warehouse_id) - GROUP BY Id_Article; - - -- Genera una tabla con los datos de este año. - - DROP TEMPORARY TABLE IF EXISTS cur_year; - CREATE TEMPORARY TABLE cur_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(week = w1, Total, 0)) AS DECIMAL(10,0)) AS cweek1 - ,CAST(SUM(IF(week = w2, Total, 0)) AS DECIMAL(10,0)) AS cweek2 - ,CAST(SUM(IF(week = w3, Total, 0)) AS DECIMAL(10,0)) AS cweek3 - ,CAST(SUM(IF(week = w4, Total, 0)) AS DECIMAL(10,0)) AS cweek4 - ,CAST(SUM(IF(week = w5, Total, 0)) AS DECIMAL(10,0)) AS cweek5 - ,CAST(SUM(IF(week = w6, Total, 0)) AS DECIMAL(10,0)) AS cweek6 - ,CAST(SUM(IF(week = w7, Total, 0)) AS DECIMAL(10,0)) AS cweek7 - - ,CAST(SUM(IF(week = w1, price, 0)) AS DECIMAL(10,0)) AS cprice1 - ,CAST(SUM(IF(week = w2, price, 0)) AS DECIMAL(10,0)) AS cprice2 - ,CAST(SUM(IF(week = w3, price, 0)) AS DECIMAL(10,0)) AS cprice3 - ,CAST(SUM(IF(week = w4, price, 0)) AS DECIMAL(10,0)) AS cprice4 - ,CAST(SUM(IF(week = w5, price, 0)) AS DECIMAL(10,0)) AS cprice5 - ,CAST(SUM(IF(week = w6, price, 0)) AS DECIMAL(10,0)) AS cprice6 - ,CAST(SUM(IF(week = w7, price, 0)) AS DECIMAL(10,0)) AS cprice7 - - FROM ( - SELECT A.Id_Article - ,CTS.period week - ,SUM(Cantidad) AS Total - ,TRUNCATE(SUM(Cantidad * IF(T.Fecha >= '2015-10-01',M.CostFixat,Preu * (100 - Descuento) / 100)),0) AS price - FROM Movimientos M - LEFT JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket - INNER JOIN `time` CTS ON CTS.`date` = DATE(T.Fecha) - INNER JOIN Articles A USING (Id_Article) - INNER JOIN Tipos tp ON tp.tipo_id = A.tipo_id - LEFT JOIN reinos r ON r.id = tp.reino_id - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_cyear_ini AND date_cyear_end - AND T.Id_Cliente NOT IN(400,200) - AND IF(i_wh = 0, W.is_comparative, i_wh = T.warehouse_id) - AND r.display <> 0 - - GROUP BY A.Id_Article, week - ) t - GROUP BY Id_Article; - -- Genera la tabla con la comparativa. - - DROP TEMPORARY TABLE IF EXISTS remcom; - - SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); - SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); - -- select * from article_inventory; - - DROP TEMPORARY TABLE IF EXISTS tmp.comparative; - - CALL util.exec (sql_printf - ( - 'CREATE TEMPORARY TABLE tmp.comparative ENGINE = MEMORY - SELECT - an.nicho, p.name Productor, C.Packing, C.Costefijo, C.caja - ,A.Color, Id_Tipo as Tipo,A.tipo_id, o.Abreviatura as Origen, A.Categoria - ,A.Tallos, A.Medida, A.Article, TR.CodigoTrabajador - - ,cweek1, cweek2, cweek3, cweek4, cweek5, cweek6, cweek7 - ,lweek1, lweek2, lweek3, lweek4, lweek5, lweek6, lweek7 - - ,cprice1, cprice2, cprice3, cprice4, cprice5, cprice6, cprice7 - ,lprice1, lprice2, lprice3, lprice4, lprice5, lprice6, lprice7 - - ,A.Id_Article, i.buy_id , tp.life , CAST(IFNULL(i.sd,0) AS SIGNED) as sd - ,CAST(i.avalaible AS SIGNED) avalaible, CAST(i.visible AS SIGNED) visible, i.buy_date - ,E.Id_Proveedor AS provider_id - ,A.offer, A.bargain, A.comments, A.relevancy, A.description itemDescription - ,IF(cy.Id_Article IS NULL AND i.visible = 0 AND i.avalaible = 0 AND IFNULL(i.sd, 0) = 0, FALSE, TRUE) AS filtret - ,(IFNULL(it.itemFk,0) != 0) isTagged - - ,A.tag5, A.value5, A.tag6, A.value6, A.tag7, A.value7, A.tag8, A.value8 - ,A.tag9, A.value9, A.tag10, A.value10, A.description,A.isActive - FROM vn2008.article_inventory i - JOIN vn2008.Articles A ON A.Id_Article = i.article_id - LEFT JOIN vn.itemTagged it ON it.itemFk = i.article_id - LEFT JOIN vn2008.Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN vn2008.producer p ON p.producer_id = A.producer_id - LEFT JOIN vn2008.Tipos tp ON A.tipo_id = tp.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN vn2008.Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN vn2008.Entradas E USING(Id_Entrada) - LEFT JOIN vn2008.Origen o ON o.id = A.id_origen - LEFT JOIN vn2008.last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN vn2008.cur_year cy ON cy.Id_Article = A.Id_Article AND (i.avalaible <> 0 OR i.visible <> 0 OR cweek1 OR cweek2 OR cweek3 OR cweek4 - OR cweek5 OR cweek6 OR cweek7 OR lweek1 OR lweek2 OR lweek3 OR lweek4 OR lweek5 - OR lweek6 OR lweek7) - WHERE r.display <> 0 AND %s ' - - ,i_wh,strFILTRO - )); - - -- Destruye las tablas temporales creadas. - - DROP TEMPORARY TABLE last_year; - DROP TEMPORARY TABLE cur_year; - DROP TEMPORARY TABLE article_inventory; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `compresFromTicket` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -78170,296 +71810,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `inventario_multiple_2__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `inventario_multiple_2__`( - date_ticket DATE - ,wh TINYINT - ,days_max TINYINT -) -proc: BEGIN - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_start DATETIME; - DECLARE date_top DATETIME; - DECLARE date_tomorrow DATE; - DECLARE vTicketDayEnd DATETIME; - - ALTER TABLE `article_inventory` - ADD `avalaible` INT NOT NULL, - ADD `sd` INT NOT NULL, - ADD `rest` INT NOT NULL, - ADD `expected` INT NOT NULL, - ADD `inventory` INT NOT NULL, - ADD `visible` INT NOT NULL, - ADD `life` TINYINT NOT NULL DEFAULT '0'; - - IF date_ticket < CURDATE() - THEN - LEAVE proc; - END IF; - - SET date_tomorrow = TIMESTAMPADD(DAY, 1,date_ticket); - SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, IFNULL(days_max,15), date_ticket),'23:59:59'); - SET date_top = TIMESTAMPADD(DAY, 1,date_end); - SET vTicketDayEnd = util.dayEnd(date_ticket); - - IF date_ticket = CURDATE() THEN - SELECT FechaInventario INTO date_start FROM tblContadores; - ELSE - SET date_start = date_ticket; - END IF; - - -- Calculo del inventario dia D a las 24:00 zulu -CALL util.debugAdd('inventario','inventario'); - UPDATE article_inventory AI INNER JOIN - - ( - - SELECT Id_Article, SUM(amount) as Subtotal FROM - - ( - - SELECT Id_Article, -Cantidad AS amount - - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_start AND vTicketDayEnd - AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) - - UNION ALL - - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id -- PAK - WHERE TR.landing BETWEEN date_start AND vTicketDayEnd - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) - AND E.Inventario = 0 - AND E.Redada = 0 - - UNION ALL - - SELECT Id_Article, -Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id_out - WHERE TR.shipment BETWEEN date_start AND vTicketDayEnd - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) - AND E.Inventario = 0 - AND E.Redada = 0 - - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.inventory = T2.Subtotal, - - AI.visible = T2.Subtotal, - - AI.avalaible = T2.Subtotal, - - AI.sd = T2.Subtotal; - - -- Calculo del visible -CALL util.debugAdd('visible','visible'); - UPDATE article_inventory AI INNER JOIN - ( - SELECT Id_Article, SUM(amount) as Subtotal FROM - ( - SELECT Id_Article, Cantidad AS amount - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse W ON W.id = T.warehouse_id -- PAK - WHERE Fecha >= date_ticket AND Fecha < date_tomorrow -- PAK - AND (M.OK = 0 AND T.Etiquetasemitidas = 0 AND T.Factura IS NULL) - AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) - - UNION ALL - - SELECT Id_Article, -Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id -- PAK - WHERE TR.landing = date_ticket - AND TR.received = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) - - UNION ALL - - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - INNER JOIN warehouse W ON W.id = TR.warehouse_id_out - WHERE TR.shipment = date_ticket - AND TR.delivered = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) - - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.visible = AI.visible + T2.Subtotal; - - -- Calculo del disponible - - CALL item_travel (wh, date_ticket); -CALL util.debugAdd('disponible','disponible'); - UPDATE article_inventory AI INNER JOIN - ( - SELECT Tic3.Id_Article, SUM(amount) AS sd, minacum(Fecha, amount, date_ticket) as smd FROM - ( - - SELECT Tic2.Id_Article, Fecha, SUM(amount) AS amount FROM - ( - SELECT Id_Article, DATE(Fecha) as Fecha, -Cantidad AS amount - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_tomorrow AND date_end - AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) - - UNION ALL - - SELECT Id_Article, landing as Fecha, Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id -- PAK - WHERE TR.landing BETWEEN date_tomorrow AND date_end - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) - AND E.Inventario = 0 - AND E.Redada = 0 - - UNION ALL - - SELECT Id_Article, shipment as Fecha, -Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id_out - WHERE TR.shipment BETWEEN date_tomorrow AND date_end - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) - AND E.Inventario = 0 - AND E.Redada = 0 - - ) AS Tic2 - - GROUP BY Tic2.Id_Article, Fecha - ) Tic3 - - LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article - LEFT JOIN Origen O ON O.id = A.id_origen - LEFT JOIN item_travel t ON t.wh = O.warehouse_id - - WHERE Fecha < IF(days_max < 0 AND t.landing IS NOT NULL, - t.landing, - date_top) - - GROUP BY Tic3.Id_Article - - - ) AS Tic5 - - ON Tic5.Id_Article = AI.article_id - SET AI.avalaible = IF(Tic5.smd > 0, AI.avalaible, AI.avalaible + Tic5.smd), - AI.sd = AI.inventory + Tic5.sd; -CALL util.debugAdd('fin','fin'); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `inventario_multiple_inventariosKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `inventario_multiple_inventariosKk`(wh SMALLINT, date_ticket DATETIME) -BEGIN - DECLARE date_order DATETIME; - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_start DATETIME; - - CALL article (); - - ALTER TABLE article_inventory - ADD visible FLOAT(7,2) NOT NULL; - - -- Campaña - - SELECT - IF(@camp := DATEDIFF(campaign, date_ticket) BETWEEN 0 AND campaign_life , - TIMESTAMPADD(DAY, -campaign_life, campaign) , - FechaInventario), - IF(@camp BETWEEN 0 AND campaign_life, - TIMESTAMP(campaign, '23:59:59'), - TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59')) - INTO date_start, date_end - FROM tblContadores; - - SET date_order = TIMESTAMP(DATE(date_ticket), '00:00:00'); - - INSERT INTO article_inventory (article_id, visible) - SELECT Id_Article, SUM(amount) - FROM ( - SELECT Id_Article, -Cantidad AS amount - FROM Movimientos M INNER JOIN Tickets T USING (Id_Ticket) - WHERE Fecha >= date_start - AND Fecha < date_order - AND T.warehouse_id = wh - UNION ALL - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - WHERE TR.landing >= date_start - AND TR.landing < date_order - AND TR.warehouse_id = wh - AND E.Inventario = FALSE - UNION ALL - SELECT Id_Article, -Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - WHERE TR.shipment >= date_start - AND TR.shipment < date_order - AND TR.warehouse_id_out = wh - AND E.Inventario = FALSE - ) AS T1 - GROUP BY Id_Article; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `inventario_multiple_inventarios__` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -78519,235 +71869,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `inventario_multiple_joinedKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `inventario_multiple_joinedKk`( - date_ticket DATETIME - ,wh_joined TINYINT - ,days_max TINYINT -) -proc: BEGIN - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_start DATETIME; - DECLARE date_top DATETIME; - DECLARE date_tomorrow DATETIME; - DECLARE i_avalaible INTEGER; - DECLARE wh INTEGER; - - SET date_ticket = DATE(date_ticket); -- PAK - - ALTER TABLE `article_inventory` - ADD `avalaible` INT NOT NULL, - ADD `sd` INT NOT NULL, - ADD `rest` INT NOT NULL, - ADD `expected` INT NOT NULL, - ADD `inventory` INT NOT NULL, - ADD `visible` INT NOT NULL, - ADD `life` TINYINT NOT NULL DEFAULT '0'; - - IF date_ticket < CURDATE() - THEN - LEAVE proc; - END IF; - - SELECT FechaInventario INTO date_start FROM tblContadores; - - SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, IF(days_max >= 0, days_max,15), date_ticket),'23:59:59'); - SET date_tomorrow = TIMESTAMPADD(DAY, 1,date_ticket); - SET date_top = TIMESTAMPADD(DAY, 1,date_end); - - -- Calculo del inventario dia D a las 24:00 zulu - - UPDATE article_inventory AI INNER JOIN - - ( - - SELECT Id_Article, SUM(amount) as Subtotal FROM - - ( - - SELECT Id_Article, -Cantidad AS amount - - FROM Movimientos M - - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE DATE(Fecha) BETWEEN date_start AND date_ticket - AND wh_joined IN (wj.warehouse_alias_id, 0) - UNION ALL - - SELECT Id_Article, Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.landing BETWEEN date_start AND date_ticket - AND wh_joined IN (wj.warehouse_alias_id, 0) - - AND E.Inventario = 0 - AND E.Redada = 0 - - UNION ALL - - SELECT Id_Article, -Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.shipment BETWEEN date_start AND date_ticket - AND wh_joined IN (wj.warehouse_alias_id,0) - AND E.Inventario = 0 - AND E.Redada = 0 - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.inventory = T2.Subtotal, - - AI.visible = T2.Subtotal, - - AI.avalaible = T2.Subtotal, - - AI.sd = T2.Subtotal; - - SELECT avalaible INTO i_avalaible FROM article_inventory WHERE article_id = 21012; - - -- Calculo del visible - - UPDATE article_inventory AI INNER JOIN - ( - SELECT Id_Article, SUM(amount) as Subtotal FROM - ( - SELECT Id_Article, Cantidad AS amount - FROM Movimientos M - - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE Fecha >= date_ticket AND Fecha < date_tomorrow -- PAK - AND (M.OK = 0 AND T.Etiquetasemitidas = 0 AND T.Factura IS NULL) - AND wh_joined IN (wj.warehouse_alias_id, 0) - UNION ALL - SELECT Id_Article, -Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - - JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.landing = date_ticket - - AND TR.received = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND wh_joined IN (wj.warehouse_alias_id, 0) - - UNION ALL - - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.shipment = date_ticket - AND TR.delivered = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND wh_joined IN (wj.warehouse_alias_id,0) - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.visible = AI.visible + T2.Subtotal; - - -- Calculo del disponible - SELECT IF(COUNT(warehouse_id),0,warehouse_id) INTO wh FROM warehouse_joined WHERE warehouse_alias_id = wh_joined; - - CALL item_travel (wh, date_ticket); - - UPDATE article_inventory AI INNER JOIN - ( - SELECT Tic3.Id_Article, SUM(amount) AS sd, minacum(Fecha, amount, date_ticket) as smd FROM - ( - - SELECT Tic2.Id_Article, Fecha, SUM(amount) AS amount FROM - ( - SELECT Id_Article, DATE(Fecha) as Fecha, -Cantidad AS amount - FROM Movimientos M - - JOIN Tickets T USING (Id_Ticket) - - JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE Fecha BETWEEN date_tomorrow AND date_end - AND wh_joined IN (wj.warehouse_alias_id, 0) - - UNION ALL - SELECT Id_Article, landing as Fecha, Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - - JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.landing BETWEEN date_tomorrow AND date_end - AND wh_joined IN (wj.warehouse_alias_id, 0) - - AND E.Inventario = 0 - AND E.Redada = 0 - UNION ALL - SELECT Id_Article, shipment as Fecha, -Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.shipment BETWEEN date_tomorrow AND date_end - AND wh_joined IN (wj.warehouse_alias_id,0) - AND E.Inventario = 0 - AND E.Redada = 0 - ) AS Tic2 - - GROUP BY Tic2.Id_Article, Fecha - ) Tic3 - - LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article - LEFT JOIN Origen O ON O.id = A.id_origen - LEFT JOIN item_travel t ON t.wh = O.warehouse_id - - WHERE Fecha < IF(days_max < 0 AND t.landing IS NOT NULL, - t.landing, - date_top) - - GROUP BY Tic3.Id_Article - - - ) AS Tic5 - - ON Tic5.Id_Article = AI.article_id - SET AI.avalaible = IF(Tic5.smd > 0, AI.avalaible, AI.avalaible + Tic5.smd), - AI.sd = AI.inventory + Tic5.sd; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `inventario_multiple_reservas` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -78842,221 +71963,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `inventario_multiple__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `inventario_multiple__`(IN wh TINYINT(2), IN date_ticket DATETIME) -BEGIN --- DEPRECATED USAR cache.available_refresh - DECLARE date_order DATETIME; - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_aux DATE; - DECLARE date_start DATETIME; - DECLARE date_yesterday DATETIME; - DECLARE date_tomorrow DATETIME; - DECLARE strWH VARCHAR(2); - - SET strWH = IF(wh,wh,'%'); - SET date_end = TIMESTAMPADD(DAY, 7, date_ticket); - - CALL article (); - - ALTER TABLE `article_inventory` - ADD `available` FLOAT(7,2) NOT NULL, - ADD `inventory` FLOAT(7,2) NOT NULL, - ADD `visible` FLOAT(7,2) NOT NULL; - - -- JGF 2015-02-19 Falla, el valor @camp es cero y falla Campanya - /* - SELECT - IF(@camp := DATEDIFF(campaign, date_ticket) BETWEEN 0 AND campaign_life, - TIMESTAMPADD(DAY, -campaign_life, campaign), - FechaInventario), - IF(@camp BETWEEN 0 AND campaign_life, - TIMESTAMP(campaign, '23:59:59'), - TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59')) - INTO date_start, date_end - FROM tblContadores;*/ - - SELECT - FechaInventario,TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59') - INTO date_start, date_end - FROM tblContadores; - - - SET date_order = TIMESTAMP(DATE(date_ticket), '00:00:00'); - SET date_tomorrow = TIMESTAMPADD(DAY, 1, date_order); - --- Inventario hasta dia antes del ticket - CALL item_stock(wh,date_ticket,NULL); - - INSERT INTO article_inventory (article_id,inventory,visible,available) - SELECT item_id, stock, visible, available - FROM tmp_item; - - DROP TEMPORARY TABLE IF EXISTS tmp_item; - --- Inventario ventas durante el dia del ticket - INSERT INTO article_inventory(article_id,visible) - - SELECT Id_Article, SUM(amount) AS Subtotal - - FROM ( - - SELECT Id_Article, -Cantidad AS amount - - FROM Movimientos M INNER JOIN Tickets T USING (Id_Ticket) - - WHERE Fecha >= date_order - - AND Fecha < date_tomorrow - - AND (M.OK != FALSE - - OR T.Etiquetasemitidas != FALSE - - OR T.Factura IS NOT NULL) - - AND T.warehouse_id = wh - - UNION ALL - - SELECT Id_Article, Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.landing >= date_order - - AND TR.landing < date_tomorrow - - AND TR.received != FALSE - - AND TR.warehouse_id = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - UNION ALL - - SELECT Id_Article, -Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.shipment >= date_order - - AND TR.shipment < date_tomorrow - - AND TR.delivered != FALSE - - AND TR.warehouse_id_out = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - ) AS T1 - - GROUP BY Id_Article - - ON DUPLICATE KEY UPDATE - - visible = inventory + VALUES(visible); - - - -- Disponible en el futuro - CALL item_travel (wh, date_order); - - SET date_aux = DATE(date_order); - - INSERT INTO article_inventory(article_id,available) - - SELECT Tic3.Id_Article, minacum(dat, amount, date_aux) AS sd - - FROM ( - - SELECT Tic2.Id_Article, DATE(Fecha) AS dat, SUM(amount) AS amount - - FROM ( - - SELECT Id_Article, Fecha, -Cantidad AS amount - - FROM Movimientos M - - INNER JOIN Tickets T USING (Id_Ticket) - - WHERE Fecha BETWEEN date_order AND date_end - - AND T.warehouse_id = wh - - UNION ALL - - SELECT Id_Article, TR.landing, Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.landing BETWEEN date_order AND date_end - - AND TR.warehouse_id = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - UNION ALL - - SELECT Id_Article, TR.shipment, -Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.shipment BETWEEN date_order AND date_end - - AND TR.warehouse_id_out = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - ) AS Tic2 - - GROUP BY Tic2.Id_Article, dat - - ) Tic3 - - LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article - - LEFT JOIN Origen O ON O.id = A.id_origen - - LEFT JOIN item_travel t ON t.wh = O.warehouse_id - - WHERE dat < IFNULL(t.landing, date_end) - - GROUP BY Tic3.Id_Article - - ON DUPLICATE KEY UPDATE - - available = IFNULL(inventory,0) + VALUES(available); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `inventario_valorado` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -79192,7 +72098,7 @@ BEGIN END IF; -- Mercancia en transito - /*INSERT INTO inv(warehouseFk, Id_Article, cantidad, Almacen) + INSERT INTO inv(warehouseFk, Id_Article, cantidad, Almacen) SELECT tr.warehouse_id, C.Id_Article, C.Cantidad, CONCAT(wOut.`name`,' - ', wIn.`name`) FROM Compres C JOIN Articles A USING(Id_Article) @@ -79201,13 +72107,12 @@ BEGIN JOIN Tipos t USING(tipo_id) JOIN warehouse wIn ON wIn.id = tr.warehouse_id JOIN warehouse wOut ON wOut.id = tr.warehouse_id_out - JOIN recibida r on r.id = E.recibida_id - WHERE vDated >= shipment AND vDated < landing + WHERE vDated >= shipment AND vDated < landing AND NOT redada AND wIn.valuatedInventory AND t.inventory - AND r.dateOperation <=vDated - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad);*/ + AND E.Confirmada + ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad); CALL vn.buyUltimate(NULL,vDateDayEnd); @@ -79253,185 +72158,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `inventario_valorado__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `inventario_valorado__`(IN d_FEC DATE, IN bol_DESGLOSE BOOLEAN) -BEGIN - - DECLARE d_INV DATE; - DECLARE bolREVERSE BOOLEAN DEFAULT 0; - DECLARE d_INV2 DATE; - - SELECT landing INTO d_INV - FROM travel TR - INNER JOIN Entradas E ON E.travel_id = TR.id - WHERE landing <= d_FEC - AND E.Id_Proveedor = 4 - ORDER BY landing DESC - LIMIT 1; - - SET bolREVERSE = IF (d_INV is null, 1, 0); - - - IF bolREVERSE THEN - - SELECT landing INTO d_INV2 - FROM travel TR - INNER JOIN Entradas E ON E.travel_id = TR.id - WHERE landing >= d_FEC - AND E.Id_Proveedor = 4 - ORDER BY landing ASC - LIMIT 1; - - SET d_INV = TIMESTAMPADD(DAY,1,d_FEC); - SET d_FEC = d_INV2; - - - - END IF; - - DROP TEMPORARY TABLE IF EXISTS inv; - - CREATE TEMPORARY TABLE inv - (w_id SMALLINT, - Id_Article BIGINT, - cantidad INT, - coste DOUBLE DEFAULT 0, - total DOUBLE DEFAULT 0, - PRIMARY KEY (w_id, Id_Article) USING HASH) - ENGINE = MEMORY; - - IF bolREVERSE = 1 THEN - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT TR.warehouse_id, C.Id_Article, SUM(C.Cantidad) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE landing = d_FEC - AND E.Id_Proveedor = 4 - AND w.valuatedInventory - AND t.inventory - AND reino_id NOT IN (7) - GROUP BY TR.warehouse_id, C.Id_Article; - - END IF; - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT TR.warehouse_id, C.Id_Article, C.Cantidad * IF(bolREVERSE,-1,1) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = TR.warehouse_id - WHERE landing BETWEEN d_INV AND TIMESTAMPADD(DAY, IF(bolREVERSE,-1,0) ,d_FEC) - AND IF(landing = CURDATE(), TR.received, TRUE) - AND NOT redada - AND w.valuatedInventory - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,-1,1)); - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT TR.warehouse_id_out, C.Id_Article, C.Cantidad * IF(bolREVERSE,1,-1) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id_out - WHERE shipment BETWEEN d_INV AND TIMESTAMPADD(DAY, IF(bolREVERSE,-1,0) ,d_FEC) - AND NOT redada - AND w.valuatedInventory - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,1,-1)); - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,1,-1) - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Clientes C USING(Id_Cliente) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE T.Fecha BETWEEN d_INV AND TIMESTAMPADD(DAY, -1 ,d_FEC) - AND w.valuatedInventory - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,1,-1); - - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,0,-1) - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Clientes C USING(Id_Cliente) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE date(T.Fecha) = d_FEC - AND (d_FEC <> CURDATE() or (M.OK <> 0 or T.Etiquetasemitidas <> 0 )) - AND w.valuatedInventory - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,0,-1); - - CALL item_last_buy_(NULL,d_FEC); - - UPDATE inv - JOIN t_item_last_buy lb ON w_id = lb.warehouse_id AND inv.Id_Article = lb.item_id - JOIN Compres C ON C.Id_Compra = lb.buy_id - SET total = inv.cantidad * (ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0)), - coste = ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) - WHERE inv.cantidad <> 0; - - DELETE FROM inv WHERE Cantidad IS NULL or Cantidad = 0; - - IF bol_DESGLOSE THEN - - SELECT inv.w_id, a.Id_Article, a.Article, a.Medida, inv.Cantidad, tp.Id_Tipo, - tp.reino_id, inv.coste, cast(inv.total as decimal(10,2)) total, an.nicho - FROM inv - JOIN warehouse w on w.id = w_id - JOIN Articles a ON a.Id_Article = inv.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN Articles_nicho an ON an.Id_Article = a.Id_Article AND an.warehouse_id = w.id - where w.valuatedInventory - and inv.total > 0 - order by inv.total desc; - - ELSE - - SELECT w.name as Almacen, r.reino as Reino, cast(total as decimal) as Euros, tr.CodigoTrabajador as Comprador - FROM inv - JOIN warehouse w ON w.id = w_id - JOIN Articles A USING(Id_Article) - JOIN Tipos t USING(tipo_id) - LEFT JOIN Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador - JOIN reinos r ON r.id = t.reino_id - where w.valuatedInventory; - - END IF; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `item_buy` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -79943,94 +72669,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `item_stock_visible__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `item_stock_visible__`(v_wh SMALLINT, v_item INT) -BEGIN - DECLARE v_curdate DATETIME DEFAULT TIMESTAMP(CURDATE(), '00:00:00'); - DECLARE v_tomorrow DATETIME DEFAULT TIMESTAMPADD(HOUR, 24, CURDATE()); - - INSERT INTO tmp_item (item_id, visible) - SELECT item_id, SUM(amount) amount - FROM ( - SELECT item_id, amount - FROM item_out i - LEFT JOIN vn.ticketState ts ON ts.ticketFk = i.ticketFk - LEFT JOIN `vn`.`saleTracking` `stPrevious` - ON `stPrevious`.`saleFk` = i.saleFk - AND `stPrevious`.`stateFk` = 26 - LEFT JOIN `vn`.`saleTracking` `stPrepared` - ON `stPrepared`.`saleFk` = i.saleFk - AND `stPrepared`.`stateFk` = 14 - LEFT JOIN `vn`.`saleTracking` `stControled` - ON `stControled`.`saleFk` = i.saleFk - AND `stControled`.`stateFk` = 8 - WHERE warehouse_id = v_wh - AND i.dat >= v_curdate - AND ( - (( - stPrevious.isChecked - OR stPrepared.isChecked - OR stControled.isChecked - OR ts.alertLevel > 1 - OR i.invoice IS NOT NULL - ) - AND dat < v_tomorrow) - OR i.Reservado) - UNION ALL - SELECT item_id, amount - FROM item_entry_in iei - LEFT JOIN vn.itemPlacement ip ON ip.itemFk = iei.item_id AND ip.warehouseFk = v_wh - WHERE (iei.received != FALSE /*OR ip.modificationDate > CURDATE()*/) - AND iei.dat >= v_curdate AND iei.dat < v_tomorrow - AND iei.warehouse_id = v_wh - AND (v_item IS NULL OR iei.item_id = v_item) - AND iei.isVirtualStock is FALSE - UNION ALL - SELECT item_id, amount FROM item_entry_out - WHERE delivered != FALSE - AND dat >= v_curdate AND dat < v_tomorrow - AND warehouse_id = v_wh - AND (v_item IS NULL OR item_id = v_item)/* - UNION ALL -- PAK 20/4/2019 - SELECT iei.item_id, sub.shelved - FROM item_entry_in iei - LEFT JOIN vn.itemPlacement ip ON ip.itemFk = iei.item_id - JOIN ( - SELECT itemFk, sum(visible) as shelved - FROM vn.itemShelving ish - JOIN vn.shelving sh ON sh.code = ish.shelvingFk - JOIN vn.parking pk ON pk.id = sh.parkingFk - JOIN vn.sector sc ON sc.id = pk.sectorFk - WHERE ish.created >= CURDATE() - AND warehouseFk = v_wh - AND (v_item IS NULL OR ish.itemFk = v_item) - GROUP BY itemFk - ) sub ON sub.itemFk = iei.item_id - WHERE (iei.received = FALSE AND IFNULL(ip.modificationDate,CURDATE()) < CURDATE()) - AND iei.dat >= v_curdate AND iei.dat < v_tomorrow - AND iei.warehouse_id = v_wh - AND (v_item IS NULL OR iei.item_id = v_item) - AND iei.isVirtualStock is FALSE - */ - ) t - GROUP BY item_id - ON DUPLICATE KEY UPDATE - visible = IFNULL(stock,0) + VALUES(visible); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `item_travel` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -80730,81 +73368,6 @@ ORDER BY FechaAccion DESC; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `mana_requeryKk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `mana_requeryKk`() -BEGIN --- @deprecated: 2019-07-09 - -DECLARE MyFechaDesde DATE; -DECLARE LastDated DATE; - -SELECT TIMESTAMPADD(DAY,1,max(dated)), max(dated) INTO MyFechaDesde, LastDated -FROM bs.manaCustomer; - -UPDATE bs.mana_spellers - -LEFT JOIN - -( - SELECT Id_Trabajador, sum(mana) as mana FROM - - ( - SELECT c.Id_Trabajador, Cantidad * Valor as mana - FROM Tickets t - JOIN Consignatarios cs using(Id_Consigna) - JOIN Clientes c on c.Id_Cliente = cs.Id_Cliente - JOIN Movimientos m using(Id_Ticket) - JOIN Movimientos_componentes mc using(Id_Movimiento) - WHERE Id_Componente IN (39, 37) -- maná auto y maná - AND Fecha between MyFechaDesde and CURDATE() - - UNION ALL - - SELECT c.Id_Trabajador, - Entregado - FROM Recibos r - JOIN Clientes c using(Id_Cliente) - WHERE Id_Banco = 66 - AND Fechacobro between MyFechaDesde and CURDATE() - - UNION ALL - - SELECT c.Id_Trabajador, g.Importe - FROM Greuges g - JOIN Clientes c using(Id_Cliente) - WHERE Greuges_type_id = 3 -- Maná - AND Fecha between MyFechaDesde and CURDATE() - - UNION ALL - - SELECT c.Id_Trabajador, mana - FROM bs.manaCustomer mc - JOIN vn2008.Clientes c ON c.Id_Cliente = mc.Id_Cliente - WHERE dated = LastDated - ) sub - - GROUP BY Id_Trabajador - -) m using(Id_Trabajador) - -SET used = IFNULL(m.mana,0); - - - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -82861,217 +75424,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `production_control_source__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `production_control_source__`(vWarehouseId INT, vScopeDays TINYINT) -BEGIN - DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(CURDATE(),'23:59:59'); - DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight); - DECLARE SAFE_ALERT_LEVEL INT DEFAULT 3; - - CALL prepare_ticket_list(TIMESTAMPADD(DAY,0,CURDATE()-1), vEndingDate); - CALL prepare_client_list; - CALL production_buffer_problems; - - DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; - CREATE TEMPORARY TABLE tmp.production_buffer - (PRIMARY KEY(Id_Ticket)) - ENGINE = MEMORY - SELECT t.Id_Ticket - , t.Id_Cliente - , t.warehouse_id - , t.Alias - , t.Bultos - , IF(HOUR(t.Fecha), HOUR(t.Fecha), HOUR(z.hour)) as Hora - , HOUR(z.hour) as Departure - , MINUTE(t.Fecha) as minuto - , t.Id_Ruta - , IF(a.Vista = 2,ap.zona,0) as zona - , CS.Consignatario - , CS.CODPOSTAL - , CS.POBLACION - , p.name PROVINCIA - , IF(a.Vista= 2, CONCAT(LEFT(z.alias,16),' ',IFNULL(RIGHT(t.Id_Ruta,3),'')), a.Agencia) Agencia - , a.agency_id - , 0 AS `lines` - , CAST( 0 AS DECIMAL(5,2)) AS m3 - , 0 AS problems - , " " as problem - , IFNULL(tls.state,2) AS state - , w.Codigotrabajador - , DATE(t.Fecha) AS Fecha - , wk.code AS Comercial - , p.province_id - , tls.productionOrder as state_order - , ifnull(tls.alertLevel,0) alert_level - , t.boxed as palletized - , rg.deviceId ubicacion - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - LEFT JOIN vn.client c ON c.id = t.Id_Cliente - LEFT JOIN vn.worker wk ON wk.id = c.salesPersonFk - JOIN Consignatarios CS on CS.Id_Consigna = t.Id_Consigna - LEFT JOIN province p on p.province_id = CS.province_id - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN Agencias_province ap on ap.province_id = CS.province_id AND ap.warehouse_id = t.warehouse_id AND ap.agency_id = a.agency_id - LEFT JOIN vn.ticketState tls on tls.ticket = tt.Id_Ticket - LEFT JOIN Trabajadores w on w.Id_Trabajador = tls.worker - LEFT JOIN zoneNickname z ON z.warehouse_id = ap.warehouse_id and z.agency_id = ap.agency_id AND z.zona = ap.zona - LEFT JOIN vn.routeGate rg ON rg.routeFk = t.Id_Ruta - LEFT JOIN vn.zone z ON z.id = t.zoneFk - WHERE t.warehouse_id = vWarehouseId - AND a.Vista IN (1,2,3); - - -- Líneas y volumen por ticket - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT m.Id_Ticket, COUNT(Id_Movimiento) as `lines`, cast( sum( m.Cantidad * r.cm3 / 1000000 ) as decimal(10,2)) as m3 - FROM tmp.ticket_list tt - JOIN Movimientos m on tt.Id_Ticket = m.Id_Ticket - JOIN bi.rotacion r on m.Id_Article = r.Id_Article - WHERE r.warehouse_id = vWarehouseId - GROUP BY m.Id_Ticket - ) m on m.Id_Ticket = pb.Id_Ticket - SET pb.`lines` = m.`lines`, - pb.m3 = m.m3; - - DELETE FROM tmp.production_buffer - WHERE `lines`= 0; - - -- Cajas - - ALTER TABLE tmp.production_buffer - ADD Cajas DOUBLE DEFAULT NULL; -/* - UPDATE tmp.production_buffer pb - JOIN ( - SELECT t.Id_Ticket, sum(floor(m.Cantidad / c.Packing) * bultoCubico) as Cajas - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket - JOIN cache.last_buy lb on lb.warehouse_id = t.warehouse_id AND lb.item_id = m.Id_Article - JOIN Compres c on c.Id_Compra = lb.buy_id - JOIN Cubos cb on cb.Id_Cubo = c.Id_Cubo - WHERE m.Cantidad >= c.Packing - GROUP BY t.Id_Ticket - HAVING Cajas >= 1 - ) sub ON sub.Id_Ticket = pb.Id_Ticket - SET pb.Cajas = sub.Cajas; -*/ - -- Artificial, Seco y Preservado: Reino 4 - - ALTER TABLE tmp.production_buffer - ADD lineasArtificial INT DEFAULT NULL; - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT tt.Id_Ticket, COUNT(m.Id_Movimiento) as Lineas - FROM tmp.ticket_list tt - JOIN Movimientos m ON m.Id_Ticket = tt.Id_Ticket - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN reinos r ON r.id = tp.reino_id - WHERE reino = 'Artificial' - GROUP BY tt.Id_Ticket - HAVING Lineas >= 1 - ) sub ON sub.Id_Ticket = pb.Id_Ticket - SET pb.lineasArtificial = sub.Lineas; - - -- Problemas por ticket - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT Id_Ticket, COUNT(Id_Ticket) as problems, GROUP_CONCAT(problem) problem - FROM tmp.buffer_problems - GROUP BY Id_Ticket - ) p on p.Id_Ticket = pb.Id_Ticket - SET pb.problems = p.problems, - pb.problem = p.problem; - - -- Entradas - - INSERT INTO tmp.production_buffer( - Fecha - , Id_Ticket - , Agencia - , Id_Cliente - , Consignatario - , state - , CodigoTrabajador - , m3 - , `lines` - ) - SELECT DISTINCT c.shipment AS Fecha - , c.Id_Entrada AS Id_Ticket - , warehouse.name - , c.Id_Proveedor - , c.ref AS Consignatario - , IF(BIT_OR(controlado.Id_Compra),6,IF(BIT_OR(preparado.Id_Compra),5,3)) AS state - , c.Id_Trabajador AS CodigoTrabajador - , round(sum(cm3) / 1000000,2) AS m3 - , count(c.Id_Compra) as `lines` - FROM v_compres c - INNER JOIN warehouse ON c.warehouse_id = warehouse.id - LEFT JOIN Compres_ok preparado ON c.Id_Compra = preparado.Id_Compra AND preparado.valor = 1 - LEFT JOIN Compres_ok controlado ON c.Id_Compra = controlado.Id_Compra AND controlado.valor = 2 - WHERE warehouse_id_out = vWarehouseId AND IFNULL(c.Confirmada,FALSE) = FALSE - AND c.shipment >= CURDATE() - GROUP BY Id_Entrada; - - -- Refresca la caché para el cierre dinámico de agencias - - CALL cache.departure_timing(vWarehouseId); - - -- Tickets de recogida - - REPLACE tmp.production_buffer( - Fecha - , Id_Ticket - , Agencia - , Id_Cliente - , Consignatario - , state - , CodigoTrabajador - , alert_level - , warehouse_id - ) - SELECT - DATE(t.Fecha) AS Fecha - , t.Id_Ticket - , a.Agencia - , t.Id_Cliente - , CS.Consignatario - , s.id as state - , w.Codigotrabajador - , ifnull(tls.alertLevel,0) alert_level - , vWarehouseId - FROM vn2008.Tickets t - JOIN vn2008.Consignatarios CS on CS.Id_Consigna = t.Id_Consigna - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN vn2008.warehouse_pickup wp ON wp.agency_id = a.Id_Agencia - LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket - LEFT JOIN vn.state s ON s.id = tls.state - LEFT JOIN vn2008.Trabajadores w on w.Id_Trabajador = tls.worker - WHERE t.Fecha between TIMESTAMPADD(WEEK,-1,CURDATE()) AND dayend(TIMESTAMPADD(DAY,-1,CURDATE())) - AND wp.warehouse_id = vWarehouseId; - - -- DROP TEMPORARY TABLE tmp.ticket_list; - -- DROP TEMPORARY TABLE IF EXISTS tmp.risk; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `proveedores_saldo` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -88251,43 +80603,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticket_volumen__` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_volumen__`(IN idT INT) -BEGIN - DECLARE intWh INTEGER; - DECLARE datFecha DATE; - -- OBSOLETA USAR vn.ticketTotalVolumen JGF 2018-05-22 - DROP TEMPORARY TABLE IF EXISTS ticket_volumen; - SELECT warehouse_id, Fecha INTO intWh,datFecha FROM Tickets WHERE Id_Ticket = idT; - - CREATE TEMPORARY TABLE IF NOT EXISTS ticket_volumen ENGINE MEMORY - SELECT Id_Article,Cantidad, Concepte, VolUd as m3_uni, Volumen as m3, @m3:= @m3 + ifnull(Volumen,0) as m3_total - FROM - ( - SELECT round(A.compression * r.cm3 / 1000000,3) as VolUd ,M.Cantidad, round(A.compression * r.cm3 * M.Cantidad / 1000000,3) as Volumen, - M.Id_Article, Concepte, @m3:= 0, @vol:=0, Id_Agencia - FROM Movimientos M - JOIN Articles A ON A.Id_Article = M.Id_Article - JOIN Tickets T on T.Id_Ticket = M.Id_Ticket - JOIN bi.rotacion r ON r.Id_Article = M.Id_Article AND r.warehouse_id = T.warehouse_id - WHERE M.Id_Ticket = idT - ) sub; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; /*!50003 DROP PROCEDURE IF EXISTS `top_seller` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -90822,7 +83137,7 @@ CREATE TABLE `inter` ( CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn`.`ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `inter_state` FOREIGN KEY (`state_id`) REFERENCES `vn`.`state` (`id`) ON UPDATE CASCADE, CONSTRAINT `responsable` FOREIGN KEY (`Id_Supervisor`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=21658192 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=21688077 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -91924,7 +84239,7 @@ USE `pbx`; /*!50001 SET collation_connection = utf8mb4_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `sipConf` AS select `s`.`user_id` AS `id`,`s`.`extension` AS `name`,NULL AS `callbackextension`,`s`.`md5Secret` AS `md5secret`,`u`.`nickname` AS `callerid`,`c`.`host` AS `host`,`c`.`deny` AS `deny`,`c`.`permit` AS `permit`,`c`.`type` AS `type`,`c`.`context` AS `context`,`c`.`incomingLimit` AS `incominglimit`,`c`.`pickupGroup` AS `pickupgroup`,`c`.`careInvite` AS `careinvite`,`c`.`insecure` AS `insecure`,`r`.`ipAddr` AS `ipaddr`,`r`.`regSeconds` AS `regseconds`,`r`.`port` AS `port`,`r`.`defaultUser` AS `defaultuser`,`r`.`userAgent` AS `useragent`,`r`.`lastMs` AS `lastms`,`r`.`fullContact` AS `fullcontact`,`r`.`regServer` AS `regserver` from (((`pbx`.`sip` `s` join `account`.`user` `u` on((`u`.`id` = `s`.`user_id`))) left join `pbx`.`sipReg` `r` on((`s`.`user_id` = `r`.`userId`))) join `pbx`.`sipConfig` `c`) */; +/*!50001 VIEW `sipConf` AS select `s`.`user_id` AS `id`,`s`.`extension` AS `name`,NULL AS `callbackextension`,`s`.`md5Secret` AS `md5secret`,`u`.`nickname` AS `callerid`,`c`.`host` AS `host`,`c`.`deny` AS `deny`,`c`.`permit` AS `permit`,`c`.`type` AS `type`,`c`.`context` AS `context`,`c`.`incomingLimit` AS `incominglimit`,`c`.`pickupGroup` AS `pickupgroup`,`c`.`careInvite` AS `careinvite`,`c`.`insecure` AS `insecure`,`c`.`transport` AS `transport`,`r`.`ipAddr` AS `ipaddr`,`r`.`regSeconds` AS `regseconds`,`r`.`port` AS `port`,`r`.`defaultUser` AS `defaultuser`,`r`.`userAgent` AS `useragent`,`r`.`lastMs` AS `lastms`,`r`.`fullContact` AS `fullcontact`,`r`.`regServer` AS `regserver` from (((`pbx`.`sip` `s` join `account`.`user` `u` on((`u`.`id` = `s`.`user_id`))) left join `pbx`.`sipReg` `r` on((`s`.`user_id` = `r`.`userId`))) join `pbx`.`sipConfig` `c`) */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -97380,4 +89695,4 @@ USE `vncontrol`; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-11-21 12:22:47 +-- Dump completed on 2019-11-22 14:04:19