upload db changes
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
parent
aa5ff474ec
commit
6742d7aa43
|
@ -1,6 +1,6 @@
|
|||
|
||||
USE `util`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: util
|
||||
-- ------------------------------------------------------
|
||||
|
@ -9,7 +9,7 @@ USE `util`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -34,9 +34,9 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:03
|
||||
-- Dump completed on 2022-03-14 10:27:51
|
||||
USE `account`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: account
|
||||
-- ------------------------------------------------------
|
||||
|
@ -45,7 +45,7 @@ USE `account`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -120,9 +120,9 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:03
|
||||
-- Dump completed on 2022-03-14 10:27:53
|
||||
USE `salix`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: salix
|
||||
-- ------------------------------------------------------
|
||||
|
@ -131,7 +131,7 @@ USE `salix`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -186,9 +186,9 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:04
|
||||
-- Dump completed on 2022-03-14 10:27:55
|
||||
USE `vn`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: vn
|
||||
-- ------------------------------------------------------
|
||||
|
@ -197,7 +197,7 @@ USE `vn`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -452,9 +452,9 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:05
|
||||
-- Dump completed on 2022-03-14 10:28:02
|
||||
USE `cache`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: cache
|
||||
-- ------------------------------------------------------
|
||||
|
@ -463,7 +463,7 @@ USE `cache`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -488,9 +488,9 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:05
|
||||
-- Dump completed on 2022-03-14 10:28:02
|
||||
USE `hedera`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: hedera
|
||||
-- ------------------------------------------------------
|
||||
|
@ -499,7 +499,7 @@ USE `hedera`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -554,9 +554,9 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:05
|
||||
-- Dump completed on 2022-03-14 10:28:04
|
||||
USE `postgresql`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: postgresql
|
||||
-- ------------------------------------------------------
|
||||
|
@ -565,7 +565,7 @@ USE `postgresql`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -640,9 +640,9 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:05
|
||||
-- Dump completed on 2022-03-14 10:28:07
|
||||
USE `sage`;
|
||||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: sage
|
||||
-- ------------------------------------------------------
|
||||
|
@ -651,7 +651,7 @@ USE `sage`;
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
|
@ -696,4 +696,4 @@ UNLOCK TABLES;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:31:05
|
||||
-- Dump completed on 2022-03-14 10:28:10
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
-- MariaDB dump 10.19 Distrib 10.6.5-MariaDB, for debian-linux-gnu (x86_64)
|
||||
-- MariaDB dump 10.19 Distrib 10.5.12-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: db.verdnatura.es Database: account
|
||||
-- ------------------------------------------------------
|
||||
|
@ -31409,6 +31409,7 @@ CREATE TABLE `expedition` (
|
|||
`packagingFk` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`itemPackingTypeFk` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`hostFk` varchar(6) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`stateTypeFk` int(11) DEFAULT NULL COMMENT 'Ultimo estado de la expedicion',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `index1` (`agencyModeFk`),
|
||||
KEY `index2` (`isBox`),
|
||||
|
@ -31417,6 +31418,8 @@ CREATE TABLE `expedition` (
|
|||
KEY `expedition_fk3_idx` (`packagingFk`),
|
||||
KEY `expedition_itemPackingTypeFk` (`itemPackingTypeFk`),
|
||||
KEY `workerFk` (`workerFk`),
|
||||
KEY `expedition_FK` (`stateTypeFk`),
|
||||
CONSTRAINT `expedition_FK` FOREIGN KEY (`stateTypeFk`) REFERENCES `expeditionStateType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `expedition_fk1` FOREIGN KEY (`agencyModeFk`) REFERENCES `agencyMode` (`id`) ON UPDATE CASCADE,
|
||||
CONSTRAINT `expedition_fk2` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `expedition_fk3` FOREIGN KEY (`packagingFk`) REFERENCES `packaging` (`id`) ON UPDATE CASCADE,
|
||||
|
@ -31767,6 +31770,30 @@ BEGIN
|
|||
|
||||
SET NEW.userFk = account.myUser_getId();
|
||||
|
||||
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 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 ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER expeditionState_AfterInsert
|
||||
AFTER INSERT
|
||||
ON expeditionState FOR EACH ROW
|
||||
BEGIN
|
||||
|
||||
UPDATE vn.expedition e
|
||||
SET e.stateTypeFk = NEW.typeFk
|
||||
WHERE e.id = NEW.expeditionFk;
|
||||
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
|
@ -42555,6 +42582,7 @@ CREATE TABLE `vehicle` (
|
|||
`description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
|
||||
`deliveryPointFk` int(11) DEFAULT '6' COMMENT 'Direccion para Buscaman',
|
||||
`isKmTruckRate` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Computar km como camión en el cálculo de salario de reparto',
|
||||
`photo` blob,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `empresa_id` (`companyFk`),
|
||||
KEY `provinceFk_idx` (`warehouseFk`),
|
||||
|
@ -69051,17 +69079,17 @@ 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_getVisibleAvailable` */;
|
||||
/*!50003 DROP PROCEDURE IF EXISTS `item_getVisibleAvailable__` */;
|
||||
/*!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_unicode_ci */ ;
|
||||
/*!50003 SET collation_connection = utf8mb4_general_ci */ ;
|
||||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = 'IGNORE_SPACE,NO_ENGINE_SUBSTITUTION' */ ;
|
||||
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `item_getVisibleAvailable`(
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `item_getVisibleAvailable__`(
|
||||
vItem INT,
|
||||
vDate DATE,
|
||||
vWarehouse TINYINT,
|
||||
|
@ -78148,9 +78176,9 @@ 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 = 'IGNORE_SPACE,NO_ENGINE_SUBSTITUTION' */ ;
|
||||
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `stockBuyed`(vDate DATE)
|
||||
BEGIN
|
||||
|
@ -78183,8 +78211,8 @@ BEGIN
|
|||
JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id
|
||||
JOIN vn2008.reinos r ON r.id = t.reino_id
|
||||
JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador
|
||||
JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = Id_Article AND ilb.warehouse_id = vWarehouse
|
||||
JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id
|
||||
JOIN tmp.buyUltimate bu ON bu.itemFk = Id_Article AND bu.warehouseFk = vWarehouse
|
||||
JOIN vn2008.Compres c ON c.Id_compra = bu.buyFk
|
||||
JOIN vn.volumeConfig vc
|
||||
WHERE r.display <> 0
|
||||
GROUP BY tr.Id_Trabajador
|
||||
|
@ -78233,7 +78261,7 @@ BEGIN
|
|||
ON DUPLICATE KEY UPDATE buyed = buyed + @amount;
|
||||
|
||||
DROP TEMPORARY TABLE
|
||||
vn2008.t_item_last_buy,
|
||||
tmp.buyUltimate,
|
||||
tmp_item;
|
||||
END ;;
|
||||
DELIMITER ;
|
||||
|
@ -78247,9 +78275,9 @@ 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 = 'IGNORE_SPACE,NO_ENGINE_SUBSTITUTION' */ ;
|
||||
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `stockBuyedByWorker`(vDate DATE, vWorker INT)
|
||||
BEGIN
|
||||
|
@ -78266,12 +78294,12 @@ BEGIN
|
|||
JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id
|
||||
JOIN vn2008.reinos r ON r.id = t.reino_id
|
||||
JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador
|
||||
JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = a.Id_Article AND ilb.warehouse_id = vWarehouse
|
||||
JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id
|
||||
JOIN tmp.buyUltimate bu ON bu.itemFk = a.Id_Article AND bu.warehouseFk = vWarehouse
|
||||
JOIN vn2008.Compres c ON c.Id_compra = bu.buyFk
|
||||
WHERE r.display <> 0 AND tr.user_id = vWorker;
|
||||
|
||||
DROP TEMPORARY TABLE
|
||||
vn2008.t_item_last_buy,
|
||||
tmp.buyUltimate,
|
||||
tmp_item;
|
||||
END ;;
|
||||
DELIMITER ;
|
||||
|
@ -78355,10 +78383,9 @@ BEGIN
|
|||
SELECT item_id,s.amount
|
||||
FROM `cache`.stock s
|
||||
WHERE warehouse_id = vWarehouse
|
||||
ON DUPLICATE KEY UPDATE
|
||||
amount = tmp_item.amount + VALUES(amount);
|
||||
ON DUPLICATE KEY UPDATE amount = tmp_item.amount + VALUES(amount);
|
||||
|
||||
CALL vn2008.item_last_buy_(vWarehouse,vDate);
|
||||
CALL buyUltimate(vWarehouse,vDate);
|
||||
|
||||
END ;;
|
||||
DELIMITER ;
|
||||
|
@ -83713,7 +83740,7 @@ DELIMITER ;
|
|||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `ticket_getFromFloramondo`(vDated DATE)
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `ticket_getFromFloramondo`(vDateFrom DATE, vDateTo DATE)
|
||||
BEGIN
|
||||
|
||||
/**
|
||||
|
@ -83729,17 +83756,18 @@ BEGIN
|
|||
agencyName VARCHAR(50),
|
||||
freight DECIMAL(10,2) DEFAULT 0,
|
||||
expeditionCount INT,
|
||||
margin DECIMAL(10,3),
|
||||
margin DECIMAL(10,3) DEFAULT 0,
|
||||
trolleys INT DEFAULT 0,
|
||||
shipped DATE,
|
||||
pallets INT DEFAULT 0)
|
||||
ENGINE = MEMORY;
|
||||
|
||||
INSERT INTO tmp.ticketFloramondo(ticketFk, clientName, agencyName)
|
||||
SELECT t.id ticketFk, t.nickname , am.name
|
||||
INSERT INTO tmp.ticketFloramondo(ticketFk, clientName, agencyName, shipped)
|
||||
SELECT t.id ticketFk, t.nickname , am.name, t.shipped
|
||||
FROM vn.ticket t
|
||||
JOIN vn.agencyMode am ON am.id = t.agencyModeFk
|
||||
JOIN vn.warehouse w ON w.id = t.warehouseFk AND w.code IN ('VNH','FLM')
|
||||
AND t.shipped BETWEEN vDated AND TIMESTAMPADD(HOUR, 23, vDated);
|
||||
AND t.shipped BETWEEN vDateFrom AND TIMESTAMPADD(HOUR, 23, vDateTo);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.ticket;
|
||||
CREATE TEMPORARY TABLE tmp.ticket
|
||||
|
@ -83800,7 +83828,7 @@ BEGIN
|
|||
|
||||
-- Pallets
|
||||
UPDATE tmp.ticketFloramondo tf
|
||||
JOIN (SELECT sum(tp.quantity) pallets, t.ticketFk
|
||||
JOIN (SELECT SUM(tp.quantity) pallets, t.ticketFk
|
||||
FROM vn.ticketPackaging tp
|
||||
JOIN tmp.ticket t ON t.ticketFk = tp.ticketFk
|
||||
JOIN vn.packaging p ON p.id = tp.packagingFk
|
||||
|
@ -85526,7 +85554,7 @@ BEGIN
|
|||
wtc.userFk,
|
||||
wtc.timed,
|
||||
wtc.direction,
|
||||
TRUE isForShow
|
||||
TRUE isReal
|
||||
FROM workerTimeControl wtc
|
||||
JOIN tmp.`user` w ON w.userFk = wtc.userFk
|
||||
LEFT JOIN tmp.timeControlError tce ON tce.id = wtc.id
|
||||
|
@ -85578,8 +85606,6 @@ BEGIN
|
|||
WHERE hasBreak;
|
||||
|
||||
-- Cambio de dia
|
||||
|
||||
|
||||
INSERT INTO tmp.workerTimeControlAux (id, userFk, timed, direction)
|
||||
SELECT @vCont:= @vCont + 1 id, sub.userFk, util.dayEnd(sub.dated) timed, 'out' direction
|
||||
FROM (SELECT MAX(wtc.timed) timed, wtc.userFk, date(wtc.timed) dated
|
||||
|
@ -85606,8 +85632,8 @@ BEGIN
|
|||
JOIN tmp.workerTimeControl wtc ON wtc.timed = sub.timed AND wtc.userFk = sub.userFk
|
||||
WHERE wtc.direction <> 'out';
|
||||
|
||||
INSERT INTO tmp.workerTimeControl (id, userFk, timed, direction, isForShow)
|
||||
SELECT *, FALSE FROM tmp.workerTimeControlAux;
|
||||
INSERT INTO tmp.workerTimeControl (id, userFk, timed, direction, isReal)
|
||||
SELECT id, userFk, timed, direction, FALSE FROM tmp.workerTimeControlAux;
|
||||
|
||||
SET vHourToSeconds = 3600;
|
||||
SET @vIsOdd := TRUE;
|
||||
|
@ -85645,17 +85671,17 @@ BEGIN
|
|||
IF(wb.userFk, vBreakTime, 0) + SUM(sub.timeWork) timeWorkSeconds,
|
||||
SEC_TO_TIME(IF(wb.userFk, vBreakTime, 0) + SUM(sub.timeWork)) timeWorkSexagesimal,
|
||||
(IF(wb.userFk, vBreakTime, 0) + SUM(sub.timeWork)) / vHourToSeconds timeWorkDecimal,
|
||||
CAST(GROUP_CONCAT(DATE_FORMAT(sub.timed,"%H:%i") ORDER BY sub.timed ASC SEPARATOR ' - ') AS CHAR(256)) timed
|
||||
CAST(GROUP_CONCAT(DATE_FORMAT(sub.realTimed, "%H:%i") ORDER BY sub.timed ASC SEPARATOR ' - ') AS CHAR(256)) timed
|
||||
FROM (SELECT (@vIsOdd := NOT @vIsOdd),
|
||||
IF(direction='in', @vIsOdd := TRUE, 0),
|
||||
IF(@vIsOdd, @vLastTimed := UNIX_TIMESTAMP(timed), 0),
|
||||
IF(@vIsOdd, 0, UNIX_TIMESTAMP(timed) - @vLastTimed) timeWork,
|
||||
timed,
|
||||
userFk,
|
||||
DATE(timed) dated
|
||||
DATE(timed) dated,
|
||||
IF(isReal, timed, NULL) realTimed
|
||||
FROM tmp.workerTimeControl
|
||||
WHERE timed BETWEEN vDatedFromYesterday AND vDatedTo
|
||||
AND isForShow
|
||||
ORDER BY userFk, timed, id
|
||||
)sub
|
||||
LEFT JOIN tmp.workerBreakDays wb ON wb.userFk = sub.userFk AND wb.dated = sub.dated
|
||||
|
@ -85937,14 +85963,16 @@ BEGIN
|
|||
JOIN (SELECT journeyCounter,
|
||||
UNIX_TIMESTAMP(MAX(timed)) - UNIX_TIMESTAMP(MIN(timed)) timeWork,
|
||||
SUM(direction = 'in') totalIn,
|
||||
SUM(direction = 'out') totalOut
|
||||
SUM(direction = 'out') totalOut,
|
||||
timed
|
||||
FROM tmp.timeControl
|
||||
GROUP BY journeyCounter
|
||||
HAVING COUNT(*) MOD 2 = 1
|
||||
OR totalIn <> 1
|
||||
OR totalOut <> 1
|
||||
OR timeWork >= vDayMaxTime
|
||||
)sub ON sub.journeyCounter = tca.journeyCounter;
|
||||
)sub ON sub.journeyCounter = tca.journeyCounter
|
||||
WHERE sub.timed BETWEEN vDatedFrom AND vDatedTo;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.timeControl;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.timeControlAux;
|
||||
|
@ -87897,9 +87925,9 @@ 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 = 'IGNORE_SPACE,NO_ENGINE_SUBSTITUTION' */ ;
|
||||
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `workerJourney_replace`(vDatedFrom DATE, vDatedTo DATE, vWorkerFk INT)
|
||||
BEGIN
|
||||
|
@ -87921,6 +87949,205 @@ BEGIN
|
|||
|
||||
SET vDatedTimeTo = util.dayEnd(vDatedTo);
|
||||
|
||||
SELECT minHoursToBreak, breakHours, maxTimePerDay
|
||||
INTO vMinHoursToBreak, vBreakHours, vMaxTimePerDay
|
||||
FROM workerTimeControlConfig;
|
||||
|
||||
DELETE FROM workerJourney
|
||||
WHERE dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND NOT isPaid
|
||||
AND NOT isUpdated
|
||||
AND (vWorkerFk IS NULL OR userFK = vWorkerFk);
|
||||
|
||||
-- Se inserta todos los días del periodo por worker y business en el rango de fechas.
|
||||
INSERT IGNORE INTO workerJourney(userFk, dated, businessFk)
|
||||
SELECT w.workerFk, t.dated, w.businessFk
|
||||
FROM workerLabour w
|
||||
JOIN time t ON t.dated BETWEEN w.started AND IFNULL(w.ended,CURDATE())
|
||||
WHERE t.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR w.workerFk = vWorkerFk)
|
||||
ORDER BY w.workerFk, t.dated, w.businessFk;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.`user`;
|
||||
|
||||
IF vWorkerFk THEN
|
||||
CALL timeControl_calculateByUser(vWorkerFk, vDatedFrom , vDatedTimeTo);
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp.`user`
|
||||
SELECT vWorkerFk userFk;
|
||||
ELSE
|
||||
CALL timeControl_calculateAll(vDatedFrom, vDatedTimeTo);
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp.`user`
|
||||
SELECT id userFk
|
||||
FROM vn.worker w;
|
||||
END IF;
|
||||
|
||||
UPDATE workerJourney wj
|
||||
JOIN tmp.timeControlCalculate t ON wj.dated = t.dated AND wj.userFk = t.userFk
|
||||
SET wj.total = CAST(IF(t.timeWorkDecimal >= vMinHoursToBreak, t.timeWorkDecimal - vBreakHours, t.timeWorkDecimal) AS DECIMAL (10,2)),
|
||||
wj.lunch = IF(t.timeWorkDecimal >= vMinHoursToBreak , vBreakHours , 0)
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk);
|
||||
|
||||
-- NOCTURNIDAD
|
||||
CALL vn.timeControl_getError(vDatedFrom, vDatedTimeTo);
|
||||
|
||||
SET @vIsOdd := TRUE;
|
||||
SET @vDated := NULL;
|
||||
|
||||
|
||||
UPDATE workerJourney wj
|
||||
JOIN (SELECT sub.dated, userFk, SUM(NigthlyHours) NigthlyHours
|
||||
FROM(SELECT (@vIsOdd := NOT @vIsOdd) isOdd,
|
||||
IF(direction='in', @vIsOdd := TRUE, @vIsOdd := @vIsOdd),
|
||||
IF(@vIsOdd, @vLastTimed:=UNIX_TIMESTAMP(timed),@vLastTimed),
|
||||
IF(direction='in', @vDated := DATE(wtc.timed), @vDated ) dated,
|
||||
wtc.userFk,
|
||||
IF(UNIX_TIMESTAMP(timed)- @vLastTimed < vMaxTimePerDay,
|
||||
vn.workerNigthlyHours_calculate(FROM_UNIXTIME(@vLastTimed), wtc.timed),
|
||||
0) NigthlyHours
|
||||
FROM (SELECT DISTINCT(wtc.id), wtc.userFk, wtc.timed, wtc.direction
|
||||
FROM workerTimeControl wtc
|
||||
LEFT JOIN tmp.timeControlError tce ON tce.id = wtc.id
|
||||
WHERE wtc.timed BETWEEN vDatedFrom AND util.dayEnd(DATE_ADD(vDatedTo, INTERVAL 1 DAY))
|
||||
AND tce.id IS NULL
|
||||
ORDER BY userFk, timed ASC
|
||||
) wtc
|
||||
)sub
|
||||
|
||||
|
||||
WHERE sub.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
|
||||
GROUP BY userFk, sub.dated
|
||||
)night ON night.userFk = wj.userFk AND night.dated = wj.dated
|
||||
SET wj.nocturn = night.NigthlyHours
|
||||
WHERE NOT wj.isPaid
|
||||
AND NOT isUpdated
|
||||
AND night.NigthlyHours <> 0;
|
||||
|
||||
-- Horas téoricas y precio de la hora ordinaria
|
||||
UPDATE workerJourney wj
|
||||
JOIN postgresql.business_labour_payroll blp ON blp.business_id = wj.businessFk
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
JOIN postgresql.calendar_labour_type cl ON cl.calendar_labour_type_id = bl.calendar_labour_type_id
|
||||
SET wj.priceOrdinaryHour = (vMonthsByYear * blp.importepactado) / (vWeeksByYear * cl.hours_week),
|
||||
wj.contractJourney = cl.hours_week / vDaysByWeek
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT isUpdated;
|
||||
|
||||
-- Precio Extras, Vacaciones y Nocturnas
|
||||
UPDATE workerJourney wj
|
||||
JOIN(SELECT MAX(w.dated), t.dated, w.holidayInc, w.nightInc, w.extraInc
|
||||
FROM time t
|
||||
JOIN workerHourPrice w ON w.dated <= t.dated
|
||||
WHERE t.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
GROUP BY t.dated
|
||||
) sub ON sub.dated = wj.dated
|
||||
SET wj.priceHolidayHour = wj.priceOrdinaryHour * sub.holidayInc,
|
||||
wj.priceNocturnHour = wj.priceOrdinaryHour * sub.nightInc,
|
||||
wj.priceExtraHour = wj.priceOrdinaryHour * sub.extraInc
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Elimina el precio de las horas extras para los contratos parciales.
|
||||
UPDATE workerJourney wj
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
JOIN postgresql.calendar_labour_type cl ON cl.calendar_labour_type_id = bl.calendar_labour_type_id
|
||||
SET wj.priceExtraHour = 0
|
||||
WHERE cl.isPartial
|
||||
AND wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Ausencias
|
||||
UPDATE workerJourney wj
|
||||
JOIN businessCalendar bc ON bc.businessFk = wj.businessFk AND bc.dated = wj.dated
|
||||
JOIN absenceType ab ON ab.id = bc.absenceTypeFk
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
SET wj.permission = ab.permissionRate * wj.contractJourney,
|
||||
wj.contractJourney = IF(ab.permissionRate = 1, 0, ab.permissionRate) * wj.contractJourney
|
||||
WHERE ab.permissionRate > 0
|
||||
AND wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Sábados / Domingos
|
||||
UPDATE workerJourney
|
||||
SET holiday = IF(DAYNAME(dated)='sábado', 0, total),
|
||||
contractJourney = 0
|
||||
WHERE DAYNAME(dated) IN ('sábado', 'domingo')
|
||||
AND dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR userFk = vWorkerFk)
|
||||
AND NOT isPaid
|
||||
AND NOT isUpdated;
|
||||
|
||||
-- Festivos por centro de trabajo
|
||||
UPDATE workerJourney wj
|
||||
JOIN calendarHolidays ch ON ch.dated = wj.dated
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
AND bl.workcenter_id = ch.workcenterFk
|
||||
SET wj.holiday = wj.total,
|
||||
wj.permission = wj.contractJourney,
|
||||
wj.contractJourney = 0
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Horas extras
|
||||
UPDATE workerJourney
|
||||
SET extra = lunch + total - contractJourney
|
||||
WHERE dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR userFk = vWorkerFk)
|
||||
AND NOT isPaid
|
||||
AND NOT isUpdated;
|
||||
|
||||
DROP TEMPORARY TABLE tmp.timeControlCalculate;
|
||||
DROP TEMPORARY TABLE tmp.`user`;
|
||||
DROP TEMPORARY TABLE tmp.timeControlError;
|
||||
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 `workerJourney_replace__` */;
|
||||
/*!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`@`localhost` PROCEDURE `workerJourney_replace__`(vDatedFrom DATE, vDatedTo DATE, vWorkerFk INT)
|
||||
BEGIN
|
||||
/**
|
||||
* Actualiza la tabla workerJourney para que actue como caché permanente revisable de las jornadas laborales.
|
||||
* @param vDatedFrom workerTimeControl
|
||||
* @param vDatedTo workerTimeControl
|
||||
* @param vWorkerFk, en caso de pasar 0 ó NULL se aplica a todos
|
||||
*/
|
||||
|
||||
DECLARE vDatedTimeTo DATETIME;
|
||||
DECLARE vMaxTimePerDay INT;
|
||||
DECLARE vMinHoursToBreak DECIMAL(10,2);
|
||||
DECLARE vBreakHours DECIMAL(10,2);
|
||||
DECLARE vMonthByYear INT;
|
||||
DECLARE vWeeksByYear INT DEFAULT 52;
|
||||
DECLARE vMonthsByYear INT DEFAULT 12;
|
||||
DECLARE vDaysByWeek INT DEFAULT 5;
|
||||
|
||||
SET vDatedTimeTo = util.dayEnd(vDatedTo);
|
||||
|
||||
SELECT minHoursToBreak, breakHours, maxTimePerDay
|
||||
INTO vMinHoursToBreak, vBreakHours, vMaxTimePerDay
|
||||
FROM workerTimeControlConfig;
|
||||
|
@ -88079,218 +88306,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 `workerJourney_replace__` */;
|
||||
/*!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_unicode_ci */ ;
|
||||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = 'IGNORE_SPACE,NO_ENGINE_SUBSTITUTION' */ ;
|
||||
DELIMITER ;;
|
||||
CREATE DEFINER=`root`@`localhost` PROCEDURE `workerJourney_replace__`(vDatedFrom DATE, vDatedTo DATE, vWorkerFk INT)
|
||||
BEGIN
|
||||
/**
|
||||
* Actualiza la tabla workerJourney para que actue como caché permanente revisable de las jornadas laborales.
|
||||
* @param vDatedFrom workerTimeControl
|
||||
* @param vDatedTo workerTimeControl
|
||||
* @param vWorkerFk, en caso de pasar 0 ó NULL se aplica a todos
|
||||
*/
|
||||
|
||||
DECLARE vDatedTimeTo DATETIME;
|
||||
DECLARE vMinHoursToBreak DECIMAL(10,2);
|
||||
DECLARE vBreakHours DECIMAL(10,2);
|
||||
DECLARE vMonthByYear INT;
|
||||
DECLARE vWeeksByYear INT DEFAULT 52;
|
||||
DECLARE vMonthsByYear INT DEFAULT 12;
|
||||
DECLARE vDaysByWeek INT DEFAULT 5;
|
||||
|
||||
SET vDatedTimeTo = util.dayEnd(vDatedTo);
|
||||
|
||||
SELECT minHoursToBreak, breakHours
|
||||
INTO vMinHoursToBreak, vBreakHours
|
||||
FROM workerTimeControlConfig;
|
||||
|
||||
DELETE FROM workerJourney
|
||||
WHERE dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND NOT isPaid
|
||||
AND NOT isUpdated
|
||||
AND (vWorkerFk IS NULL OR userFK = vWorkerFk);
|
||||
|
||||
-- Se inserta todos los días del periodo por worker y business en el rango de fechas.
|
||||
INSERT IGNORE INTO workerJourney(userFk, dated, businessFk)
|
||||
SELECT w.workerFk, t.dated, w.businessFk
|
||||
FROM workerLabour w
|
||||
JOIN time t ON t.dated BETWEEN w.started AND IFNULL(w.ended,CURDATE())
|
||||
WHERE t.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR w.workerFk = vWorkerFk)
|
||||
ORDER BY w.workerFk, t.dated, w.businessFk;
|
||||
|
||||
IF vWorkerFk THEN
|
||||
CALL timeControl_calculateByUser(vWorkerFk, vDatedFrom , vDatedTimeTo);
|
||||
ELSE
|
||||
CALL timeControl_calculateAll(vDatedFrom, vDatedTimeTo);
|
||||
END IF;
|
||||
|
||||
UPDATE workerJourney wj
|
||||
JOIN tmp.timeControlCalculate t ON wj.dated = t.dated AND wj.userFk = t.userFk
|
||||
SET wj.total = CAST(IF(t.timeWorkDecimal >= vMinHoursToBreak, t.timeWorkDecimal - vBreakHours, t.timeWorkDecimal) AS DECIMAL (10,2)),
|
||||
wj.lunch = IF(t.timeWorkDecimal >= vMinHoursToBreak , vBreakHours , 0)
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk);
|
||||
|
||||
-- NOCTURNIDAD
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.workerTimeControl;
|
||||
CREATE TEMPORARY TABLE tmp.workerTimeControl
|
||||
SELECT sub.userFk, sub.timed, sub.order, 0 Non, FALSE manual
|
||||
FROM (SELECT w.userFk,
|
||||
IF(TIME(w.timed) IN ('06:00:00','22:00:00'), TIMESTAMPADD(SECOND, -1, w.timed), w.timed) timed, -- Regalamos un segundo para evitar que hayan fichadas en las horas claves de inicio y fin de la nocturnidad.
|
||||
w.`order`
|
||||
FROM workerTimeControl w
|
||||
WHERE w.timed BETWEEN vDatedFrom AND vDatedTo
|
||||
AND w.userFk = IFNULL(vWorkerFk, w.userFk)
|
||||
UNION ALL
|
||||
SELECT w.userFk,
|
||||
TIMESTAMPADD(HOUR, 6, DATE(w.timed)),
|
||||
w.`order`
|
||||
FROM workerTimeControl w
|
||||
WHERE w.timed BETWEEN vDatedFrom AND vDatedTo
|
||||
AND w.userFk = IFNULL(vWorkerFk, w.userFk)
|
||||
GROUP BY w.userFk, DATE(w.timed)
|
||||
UNION ALL
|
||||
SELECT w.userFk,
|
||||
TIMESTAMPADD(HOUR, 22, DATE(w.timed)),
|
||||
w.order
|
||||
FROM workerTimeControl w
|
||||
WHERE w.timed BETWEEN vDatedFrom AND vDatedTo
|
||||
AND w.userFk = IFNULL(vWorkerFk, w.userFk)
|
||||
GROUP BY w.userFk, DATE(w.timed)
|
||||
) sub
|
||||
ORDER BY sub.userFk, sub.timed;
|
||||
|
||||
-- Establece el orden en que se han de leer las fichadas
|
||||
CALL workerTimeControlSetOrder();
|
||||
|
||||
-- Marca los impares para facilitar la consulta siguiente
|
||||
UPDATE tmp.workerTimeControl
|
||||
SET Non = 1
|
||||
WHERE `order` mod 2;
|
||||
|
||||
-- Actualizamos la nocturnidad
|
||||
UPDATE workerJourney wj
|
||||
JOIN(SELECT userFk, Dia, sum(Nocturnidad) Nocturnidad FROM
|
||||
(SELECT userFk,
|
||||
date(timed) Dia,
|
||||
((IF( TIME(timed) < '06:00:00' OR (TIME(timed) = '06:00:00' AND Non = FALSE ) , IF(Non,-1,1),0)
|
||||
+
|
||||
IF(TIME(timed) > '22:00:00' OR (TIME(timed) = '22:00:00' AND Non = TRUE), If(Non,-1,1),0))
|
||||
* (HOUR(`timed`) + MINUTE(`timed`) / 60)
|
||||
) Nocturnidad
|
||||
FROM tmp.workerTimeControl
|
||||
) sub
|
||||
GROUP BY userFk, Dia
|
||||
) night ON night.userFk = wj.userFk AND night.Dia = wj.dated
|
||||
SET wj.nocturn = night.Nocturnidad
|
||||
WHERE NOT wj.isPaid
|
||||
AND NOT isUpdated
|
||||
AND night.Nocturnidad<>0;
|
||||
|
||||
|
||||
-- Horas téoricas y precio de la hora ordinaria
|
||||
UPDATE workerJourney wj
|
||||
JOIN postgresql.business_labour_payroll blp ON blp.business_id = wj.businessFk
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
JOIN postgresql.calendar_labour_type cl ON cl.calendar_labour_type_id = bl.calendar_labour_type_id
|
||||
SET wj.priceOrdinaryHour = (vMonthsByYear * blp.importepactado) / (vWeeksByYear * cl.hours_week),
|
||||
wj.contractJourney = cl.hours_week / vDaysByWeek
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT isUpdated;
|
||||
|
||||
-- Precio Extras, Vacaciones y Nocturnas
|
||||
UPDATE workerJourney wj
|
||||
JOIN(SELECT MAX(w.dated), t.dated, w.holidayInc, w.nightInc, w.extraInc
|
||||
FROM time t
|
||||
JOIN workerHourPrice w ON w.dated <= t.dated
|
||||
WHERE t.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
GROUP BY t.dated
|
||||
) sub ON sub.dated = wj.dated
|
||||
SET wj.priceHolidayHour = wj.priceOrdinaryHour * sub.holidayInc,
|
||||
wj.priceNocturnHour = wj.priceOrdinaryHour * sub.nightInc,
|
||||
wj.priceExtraHour = wj.priceOrdinaryHour * sub.extraInc
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Elimina el precio de las horas extras para los contratos parciales.
|
||||
UPDATE workerJourney wj
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
JOIN postgresql.calendar_labour_type cl ON cl.calendar_labour_type_id = bl.calendar_labour_type_id
|
||||
SET wj.priceExtraHour = 0
|
||||
WHERE cl.isPartial
|
||||
AND wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Bajas, vacaciones y festivos personales
|
||||
UPDATE workerJourney wj
|
||||
JOIN businessCalendar bc ON bc.businessFk = wj.businessFk AND bc.dated = wj.dated
|
||||
JOIN absenceType ab ON ab.id = bc.absenceTypeFk
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
SET wj.permission = ab.permissionRate * wj.contractJourney,
|
||||
wj.contractJourney = IF(ab.permissionRate = 1, 0, ab.permissionRate) * wj.contractJourney,
|
||||
wj.holiday = wj.total - IF(ab.permissionRate = 1, 0, ab.permissionRate) * wj.contractJourney
|
||||
WHERE ab.permissionRate > 0
|
||||
AND wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Festivos por centro de trabajo
|
||||
UPDATE workerJourney wj
|
||||
JOIN calendarHolidays ch ON ch.dated = wj.dated
|
||||
JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk
|
||||
AND bl.workcenter_id = ch.workcenterFk
|
||||
SET wj.holiday = wj.total,
|
||||
wj.permission = wj.contractJourney,
|
||||
wj.contractJourney = 0
|
||||
WHERE wj.dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR wj.userFk = vWorkerFk)
|
||||
AND NOT wj.isPaid
|
||||
AND NOT wj.isUpdated;
|
||||
|
||||
-- Sábados / Domingos
|
||||
UPDATE workerJourney
|
||||
SET holiday = total,
|
||||
contractJourney = 0
|
||||
WHERE DAYNAME(dated) IN ('sábado', 'domingo')
|
||||
AND dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR userFk = vWorkerFk)
|
||||
AND NOT isPaid
|
||||
AND NOT isUpdated;
|
||||
|
||||
-- Horas extras
|
||||
UPDATE workerJourney
|
||||
SET extra = lunch + total - contractJourney
|
||||
WHERE dated BETWEEN vDatedFrom AND vDatedTo
|
||||
AND (vWorkerFk IS NULL OR userFk = vWorkerFk)
|
||||
AND NOT isPaid
|
||||
AND NOT isUpdated;
|
||||
|
||||
DROP TEMPORARY TABLE tmp.timeControlCalculate;
|
||||
DROP TEMPORARY TABLE tmp.workerTimeControl;
|
||||
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 `workerMistakeType_get` */;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
|
@ -98017,4 +98032,4 @@ USE `vncontrol`;
|
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2022-03-09 15:30:23
|
||||
-- Dump completed on 2022-03-14 10:24:57
|
||||
|
|
Loading…
Reference in New Issue