From 4757ce11a34bfc5064a6a38db41283f7da55986d Mon Sep 17 00:00:00 2001 From: guillermo Date: Mon, 8 Jul 2024 12:35:29 +0200 Subject: [PATCH 1/7] refactor: refs #7567 Fix and improvement --- db/routines/srt/events/moving_clean.sql | 6 +- db/routines/srt/procedures/moving_clean.sql | 84 ++++++++++--------- .../11141-azureRoebelini/00-firstScript.sql | 1 + 3 files changed, 48 insertions(+), 43 deletions(-) create mode 100644 db/versions/11141-azureRoebelini/00-firstScript.sql diff --git a/db/routines/srt/events/moving_clean.sql b/db/routines/srt/events/moving_clean.sql index a6f7792a2..650c15c62 100644 --- a/db/routines/srt/events/moving_clean.sql +++ b/db/routines/srt/events/moving_clean.sql @@ -5,9 +5,5 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `srt`.`moving_clean` ON COMPLETION PRESERVE ENABLE COMMENT 'Llama a srt.moving_clean para que elimine y notifique de registr' -DO BEGIN - - CALL srt.moving_clean(); - -END$$ +DO CALL srt.moving_clean()$$ DELIMITER ; diff --git a/db/routines/srt/procedures/moving_clean.sql b/db/routines/srt/procedures/moving_clean.sql index b8fae7ff4..446ad3588 100644 --- a/db/routines/srt/procedures/moving_clean.sql +++ b/db/routines/srt/procedures/moving_clean.sql @@ -3,61 +3,69 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `srt`.`moving_clean`() BEGIN /** * Elimina movimientos por inactividad - * */ DECLARE vExpeditionFk INT; DECLARE vBufferToFk INT; DECLARE vBufferFromFk INT; - DECLARE done BOOL DEFAULT FALSE; - - DECLARE cur CURSOR FOR + DECLARE vDone BOOL DEFAULT FALSE; + DECLARE vSorter CURSOR FOR SELECT m.expeditionFk, m.bufferToFk, m.bufferFromFk - FROM srt.moving m - JOIN srt.config c - JOIN (SELECT bufferFk, SUM(isActive) hasBox - FROM srt.photocell - GROUP BY bufferFk) sub ON sub.bufferFk = m.bufferFromFk - WHERE m.created < TIMESTAMPADD(MINUTE, - c.movingMaxLife , util.VN_NOW()) + FROM moving m + JOIN ( + SELECT bufferFk, SUM(isActive) hasBox + FROM photocell + GROUP BY bufferFk + ) sub ON sub.bufferFk = m.bufferFromFk + WHERE m.created < (util.VN_NOW() - INTERVAL (SELECT movingMaxLife FROM config) MINUTE) AND NOT sub.hasBox; - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - OPEN cur; + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; - bucle: LOOP + OPEN vSorter; + l: LOOP + SET vDone = FALSE; + FETCH vSorter INTO vExpeditionFk, vBufferToFk, vBufferFromFk; - FETCH cur INTO vExpeditionFk, vBufferToFk, vBufferFromFk; - - IF done THEN - LEAVE bucle; + IF vDone THEN + LEAVE l; END IF; - DELETE FROM srt.moving + START TRANSACTION; + + SELECT id + FROM moving + WHERE expeditionFk = vExpeditionFk + FOR UPDATE; + + DELETE FROM moving WHERE expeditionFk = vExpeditionFk; - UPDATE srt.expedition e - JOIN srt.expeditionState es ON es.description = 'OUT' - SET - bufferFk = NULL, + SELECT id + FROM expedition + WHERE id = vExpeditionFk + OR (bufferFk = vBufferFromFk AND `position` > 0) + FOR UPDATE; + + UPDATE expedition + SET bufferFk = NULL, `position` = NULL, - stateFk = es.id - WHERE e.id = vExpeditionFk; + stateFk = (SELECT id FROM expeditionState WHERE `description` = 'OUT') + WHERE id = vExpeditionFk; - UPDATE srt.expedition e - SET e.`position` = e.`position` - 1 - WHERE e.bufferFk = vBufferFromFk - AND e.`position` > 0; + UPDATE expedition + SET `position` = `position` - 1 + WHERE bufferFk = vBufferFromFk + AND `position` > 0; - CALL vn.mail_insert( - 'pako@verdnatura.es, carles@verdnatura.es', - NULL, - CONCAT('Moving_clean. Expedition: ', vExpeditionFk, ' estaba parada'), - CONCAT('Expedition: ', vExpeditionFk,' vBufferToFk: ', vBufferToFk) - ); - - END LOOP bucle; - - CLOSE cur; + COMMIT; + END LOOP l; + CLOSE vSorter; END$$ DELIMITER ; diff --git a/db/versions/11141-azureRoebelini/00-firstScript.sql b/db/versions/11141-azureRoebelini/00-firstScript.sql new file mode 100644 index 000000000..fd6d79cfb --- /dev/null +++ b/db/versions/11141-azureRoebelini/00-firstScript.sql @@ -0,0 +1 @@ +ALTER TABLE srt.moving DROP INDEX moving_fk1_idx; From 625b3a5608b03537bc1eec42bcfccfea857abd14 Mon Sep 17 00:00:00 2001 From: guillermo Date: Thu, 18 Jul 2024 14:12:37 +0200 Subject: [PATCH 2/7] refactor: refs #7567 Minor change --- db/routines/srt/procedures/moving_clean.sql | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/db/routines/srt/procedures/moving_clean.sql b/db/routines/srt/procedures/moving_clean.sql index 446ad3588..ab16aac99 100644 --- a/db/routines/srt/procedures/moving_clean.sql +++ b/db/routines/srt/procedures/moving_clean.sql @@ -7,6 +7,8 @@ BEGIN DECLARE vExpeditionFk INT; DECLARE vBufferToFk INT; DECLARE vBufferFromFk INT; + DECLARE vStateOutFk INT + DEFAULT (SELECT id FROM expeditionState WHERE `description` = 'OUT'); DECLARE vDone BOOL DEFAULT FALSE; DECLARE vSorter CURSOR FOR SELECT m.expeditionFk, m.bufferToFk, m.bufferFromFk @@ -52,10 +54,10 @@ BEGIN OR (bufferFk = vBufferFromFk AND `position` > 0) FOR UPDATE; - UPDATE expedition + UPDATE expedition SET bufferFk = NULL, `position` = NULL, - stateFk = (SELECT id FROM expeditionState WHERE `description` = 'OUT') + stateFk = vStateOutFk WHERE id = vExpeditionFk; UPDATE expedition @@ -64,7 +66,6 @@ BEGIN AND `position` > 0; COMMIT; - END LOOP l; CLOSE vSorter; END$$ From 62176b8517c83481070681b6b6953bb223262a79 Mon Sep 17 00:00:00 2001 From: guillermo Date: Wed, 21 Aug 2024 09:35:42 +0200 Subject: [PATCH 3/7] feat: refs #7567 Changed time to call event --- db/routines/srt/events/moving_clean.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/routines/srt/events/moving_clean.sql b/db/routines/srt/events/moving_clean.sql index 650c15c62..18644a9f8 100644 --- a/db/routines/srt/events/moving_clean.sql +++ b/db/routines/srt/events/moving_clean.sql @@ -1,6 +1,6 @@ DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `srt`.`moving_clean` - ON SCHEDULE EVERY 5 MINUTE + ON SCHEDULE EVERY 15 MINUTE STARTS '2022-01-21 00:00:00.000' ON COMPLETION PRESERVE ENABLE From 582fa5faebe80873c8db956b82d693342738a256 Mon Sep 17 00:00:00 2001 From: guillermo Date: Wed, 21 Aug 2024 14:42:03 +0200 Subject: [PATCH 4/7] feat: refs #7567 Requested changes --- db/routines/srt/procedures/moving_clean.sql | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/db/routines/srt/procedures/moving_clean.sql b/db/routines/srt/procedures/moving_clean.sql index ab16aac99..a5bbc7e70 100644 --- a/db/routines/srt/procedures/moving_clean.sql +++ b/db/routines/srt/procedures/moving_clean.sql @@ -5,13 +5,12 @@ BEGIN * Elimina movimientos por inactividad */ DECLARE vExpeditionFk INT; - DECLARE vBufferToFk INT; DECLARE vBufferFromFk INT; DECLARE vStateOutFk INT DEFAULT (SELECT id FROM expeditionState WHERE `description` = 'OUT'); - DECLARE vDone BOOL DEFAULT FALSE; + DECLARE vDone BOOL; DECLARE vSorter CURSOR FOR - SELECT m.expeditionFk, m.bufferToFk, m.bufferFromFk + SELECT m.expeditionFk, m.bufferFromFk FROM moving m JOIN ( SELECT bufferFk, SUM(isActive) hasBox @@ -32,7 +31,7 @@ BEGIN OPEN vSorter; l: LOOP SET vDone = FALSE; - FETCH vSorter INTO vExpeditionFk, vBufferToFk, vBufferFromFk; + FETCH vSorter INTO vExpeditionFk, vBufferFromFk; IF vDone THEN LEAVE l; From d9d2ae2f7baa400438e64466a2839f48296cae14 Mon Sep 17 00:00:00 2001 From: ivanm Date: Wed, 21 Aug 2024 16:45:46 +0200 Subject: [PATCH 5/7] feat: refs #7758 Add code mandateType and accountDetailType --- db/dump/fixtures.before.sql | 16 ++++++++-------- db/routines/vn2008/views/mandato_tipo.sql | 2 +- .../11191-chocolateBirch/00-firstScript.sql | 2 ++ .../11191-chocolateBirch/01-firstScript.sql | 2 ++ .../11191-chocolateBirch/02-firstScript.sql | 9 +++++++++ modules/client/back/models/client-sample.js | 2 +- modules/client/back/models/mandate-type.json | 2 +- modules/client/front/mandate/index.html | 2 +- modules/client/front/mandate/index.js | 2 +- 9 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 db/versions/11191-chocolateBirch/00-firstScript.sql create mode 100644 db/versions/11191-chocolateBirch/01-firstScript.sql create mode 100644 db/versions/11191-chocolateBirch/02-firstScript.sql diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql index 6563292dd..298f84b04 100644 --- a/db/dump/fixtures.before.sql +++ b/db/dump/fixtures.before.sql @@ -412,7 +412,7 @@ INSERT INTO `vn`.`clientManaCache`(`clientFk`, `mana`, `dated`) (1103, 0, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH)), (1104, -30, DATE_ADD(util.VN_CURDATE(), INTERVAL -1 MONTH)); -INSERT INTO `vn`.`mandateType`(`id`, `name`) +INSERT INTO `vn`.`mandateType`(`id`, `code`) VALUES (1, 'B2B'), (2, 'CORE'), @@ -3945,11 +3945,11 @@ VALUES (35, 'ES12346B12345679', 3, 241); INSERT INTO vn.accountDetailType -(id, description) +(id, description, code) VALUES - (1, 'IBAN'), - (2, 'SWIFT'), - (3, 'Referencia Remesas'), - (4, 'Referencia Transferencias'), - (5, 'Referencia Nominas'), - (6, 'ABA'); + (1, 'IBAN', 'IBAN'), + (2, 'SWIFT', 'SWIFT'), + (3, 'Referencia Remesas', 'REM'), + (4, 'Referencia Transferencias', 'TRAN'), + (5, 'Referencia Nominas', 'NOM'), + (6, 'ABA', 'ABA'); diff --git a/db/routines/vn2008/views/mandato_tipo.sql b/db/routines/vn2008/views/mandato_tipo.sql index a1b5b0a9f..bc3f74632 100644 --- a/db/routines/vn2008/views/mandato_tipo.sql +++ b/db/routines/vn2008/views/mandato_tipo.sql @@ -2,5 +2,5 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vn2008`.`mandato_tipo` AS SELECT `m`.`id` AS `idmandato_tipo`, - `m`.`name` AS `Nombre` + `m`.`code` AS `Nombre` FROM `vn`.`mandateType` `m` diff --git a/db/versions/11191-chocolateBirch/00-firstScript.sql b/db/versions/11191-chocolateBirch/00-firstScript.sql new file mode 100644 index 000000000..929de87fe --- /dev/null +++ b/db/versions/11191-chocolateBirch/00-firstScript.sql @@ -0,0 +1,2 @@ +ALTER TABLE vn.mandateType + CHANGE name code VARCHAR(45) DEFAULT NULL; \ No newline at end of file diff --git a/db/versions/11191-chocolateBirch/01-firstScript.sql b/db/versions/11191-chocolateBirch/01-firstScript.sql new file mode 100644 index 000000000..168eaef84 --- /dev/null +++ b/db/versions/11191-chocolateBirch/01-firstScript.sql @@ -0,0 +1,2 @@ +ALTER TABLE vn.accountDetailType + ADD COLUMN code VARCHAR(45) DEFAULT NULL; \ No newline at end of file diff --git a/db/versions/11191-chocolateBirch/02-firstScript.sql b/db/versions/11191-chocolateBirch/02-firstScript.sql new file mode 100644 index 000000000..53b7317b6 --- /dev/null +++ b/db/versions/11191-chocolateBirch/02-firstScript.sql @@ -0,0 +1,9 @@ +UPDATE vn.accountDetailType + SET code = CASE id + WHEN 1 THEN 'IBAN' + WHEN 2 THEN 'SWIFT' + WHEN 3 THEN 'REM' + WHEN 4 THEN 'TRAN' + WHEN 5 THEN 'NOM' + WHEN 6 THEN 'ABA' + END; \ No newline at end of file diff --git a/modules/client/back/models/client-sample.js b/modules/client/back/models/client-sample.js index 5e4393042..b8ab6cff4 100644 --- a/modules/client/back/models/client-sample.js +++ b/modules/client/back/models/client-sample.js @@ -27,7 +27,7 @@ module.exports = Self => { // Renew mandate if (mandate) { const mandateType = await models.MandateType.findOne({ - where: {name: mandate.type} + where: {code: mandate.type} }); const oldMandate = await models.Mandate.findOne({ diff --git a/modules/client/back/models/mandate-type.json b/modules/client/back/models/mandate-type.json index ec189f089..b481e7c72 100644 --- a/modules/client/back/models/mandate-type.json +++ b/modules/client/back/models/mandate-type.json @@ -12,7 +12,7 @@ "type": "number", "description": "Identifier" }, - "name": { + "code": { "type": "string" } } diff --git a/modules/client/front/mandate/index.html b/modules/client/front/mandate/index.html index e2f2cd27b..1ee18737f 100644 --- a/modules/client/front/mandate/index.html +++ b/modules/client/front/mandate/index.html @@ -26,7 +26,7 @@ {{::mandate.id}} {{::mandate.company.code}} - {{::mandate.mandateType.name}} + {{::mandate.mandateType.code}} {{::mandate.created | date:'dd/MM/yyyy HH:mm' | dashIfEmpty}} {{::mandate.finished | date:'dd/MM/yyyy HH:mm' | dashIfEmpty}} diff --git a/modules/client/front/mandate/index.js b/modules/client/front/mandate/index.js index 114e2b570..605ae08cc 100644 --- a/modules/client/front/mandate/index.js +++ b/modules/client/front/mandate/index.js @@ -9,7 +9,7 @@ class Controller extends Section { { relation: 'mandateType', scope: { - fields: ['id', 'name'] + fields: ['id', 'code'] } }, { relation: 'company', From 7c545a379f00bc482aee197fdf8969584ab8ba4e Mon Sep 17 00:00:00 2001 From: ivanm Date: Thu, 22 Aug 2024 17:02:59 +0200 Subject: [PATCH 6/7] feat: refs #7862 roadmap new fields --- db/routines/vn/triggers/roadmap_beforeInsert.sql | 12 ++++++++++++ db/routines/vn/triggers/roadmap_beforeUpdate.sql | 12 ++++++++++++ db/versions/11195-salmonPalmetto/00-firstScript.sql | 6 ++++++ 3 files changed, 30 insertions(+) create mode 100644 db/routines/vn/triggers/roadmap_beforeInsert.sql create mode 100644 db/routines/vn/triggers/roadmap_beforeUpdate.sql create mode 100644 db/versions/11195-salmonPalmetto/00-firstScript.sql diff --git a/db/routines/vn/triggers/roadmap_beforeInsert.sql b/db/routines/vn/triggers/roadmap_beforeInsert.sql new file mode 100644 index 000000000..df07d5540 --- /dev/null +++ b/db/routines/vn/triggers/roadmap_beforeInsert.sql @@ -0,0 +1,12 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`roadmap_beforeInsert` + BEFORE INSERT ON `roadmap` + FOR EACH ROW +BEGIN + IF NEW.driver1Fk IS NOT NULL THEN + SET NEW.driverName = (SELECT firstName FROM worker WHERE id = NEW.driver1Fk); + ELSE + SET NEW.driverName = NULL; + END IF; +END$$ +DELIMITER ; \ No newline at end of file diff --git a/db/routines/vn/triggers/roadmap_beforeUpdate.sql b/db/routines/vn/triggers/roadmap_beforeUpdate.sql new file mode 100644 index 000000000..4905a0442 --- /dev/null +++ b/db/routines/vn/triggers/roadmap_beforeUpdate.sql @@ -0,0 +1,12 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`roadmap_beforeUpdate` + BEFORE UPDATE ON `roadmap` + FOR EACH ROW +BEGIN + IF NEW.driver1Fk IS NOT NULL THEN + SET NEW.driverName = (SELECT firstName FROM worker WHERE id = NEW.driver1Fk); + ELSE + SET NEW.driverName = NULL; + END IF; +END$$ +DELIMITER ; \ No newline at end of file diff --git a/db/versions/11195-salmonPalmetto/00-firstScript.sql b/db/versions/11195-salmonPalmetto/00-firstScript.sql new file mode 100644 index 000000000..980b66c8d --- /dev/null +++ b/db/versions/11195-salmonPalmetto/00-firstScript.sql @@ -0,0 +1,6 @@ +ALTER TABLE vn.roadmap + ADD COLUMN m3 INT UNSIGNED NULL, + ADD COLUMN driver2Fk INT UNSIGNED NULL, + ADD COLUMN driver1Fk INT UNSIGNED NULL, + ADD CONSTRAINT roadmap_worker_FK FOREIGN KEY (driver1Fk) REFERENCES vn.worker(id) ON DELETE RESTRICT ON UPDATE CASCADE, + ADD CONSTRAINT roadmap_worker_FK_2 FOREIGN KEY (driver2Fk) REFERENCES vn.worker(id) ON DELETE RESTRICT ON UPDATE CASCADE; \ No newline at end of file From 94461cff58812ea8fe38c73b40c1d7a8eff53fab Mon Sep 17 00:00:00 2001 From: ivanm Date: Fri, 23 Aug 2024 11:34:26 +0200 Subject: [PATCH 7/7] feat: refs #7758 Modify code lowerCamelCase and UNIQUE --- db/dump/fixtures.before.sql | 12 ++++++------ .../11191-chocolateBirch/00-firstScript.sql | 3 ++- .../11191-chocolateBirch/01-firstScript.sql | 3 ++- .../11191-chocolateBirch/02-firstScript.sql | 14 +++++++------- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql index 7ed2b9b7c..4533b67af 100644 --- a/db/dump/fixtures.before.sql +++ b/db/dump/fixtures.before.sql @@ -3947,9 +3947,9 @@ VALUES INSERT INTO vn.accountDetailType (id, description, code) VALUES - (1, 'IBAN', 'IBAN'), - (2, 'SWIFT', 'SWIFT'), - (3, 'Referencia Remesas', 'REM'), - (4, 'Referencia Transferencias', 'TRAN'), - (5, 'Referencia Nominas', 'NOM'), - (6, 'ABA', 'ABA'); + (1, 'IBAN', 'iban'), + (2, 'SWIFT', 'swift'), + (3, 'Referencia Remesas', 'remRef'), + (4, 'Referencia Transferencias', 'trnRef'), + (5, 'Referencia Nominas', 'payRef'), + (6, 'ABA', 'aba'); diff --git a/db/versions/11191-chocolateBirch/00-firstScript.sql b/db/versions/11191-chocolateBirch/00-firstScript.sql index 929de87fe..4c9924a42 100644 --- a/db/versions/11191-chocolateBirch/00-firstScript.sql +++ b/db/versions/11191-chocolateBirch/00-firstScript.sql @@ -1,2 +1,3 @@ ALTER TABLE vn.mandateType - CHANGE name code VARCHAR(45) DEFAULT NULL; \ No newline at end of file + CHANGE name code VARCHAR(45) NOT NULL, + ADD UNIQUE (code); \ No newline at end of file diff --git a/db/versions/11191-chocolateBirch/01-firstScript.sql b/db/versions/11191-chocolateBirch/01-firstScript.sql index 168eaef84..50b27fdbd 100644 --- a/db/versions/11191-chocolateBirch/01-firstScript.sql +++ b/db/versions/11191-chocolateBirch/01-firstScript.sql @@ -1,2 +1,3 @@ ALTER TABLE vn.accountDetailType - ADD COLUMN code VARCHAR(45) DEFAULT NULL; \ No newline at end of file + ADD COLUMN code VARCHAR(45) NOT NULL, + ADD UNIQUE (code); \ No newline at end of file diff --git a/db/versions/11191-chocolateBirch/02-firstScript.sql b/db/versions/11191-chocolateBirch/02-firstScript.sql index 53b7317b6..733cffd63 100644 --- a/db/versions/11191-chocolateBirch/02-firstScript.sql +++ b/db/versions/11191-chocolateBirch/02-firstScript.sql @@ -1,9 +1,9 @@ UPDATE vn.accountDetailType - SET code = CASE id - WHEN 1 THEN 'IBAN' - WHEN 2 THEN 'SWIFT' - WHEN 3 THEN 'REM' - WHEN 4 THEN 'TRAN' - WHEN 5 THEN 'NOM' - WHEN 6 THEN 'ABA' + SET code = CASE description + WHEN 'IBAN' THEN 'iban' + WHEN 'SWIFT' THEN 'swift' + WHEN 'Referencia Remesas' THEN 'remRef' + WHEN 'Referencia Transferencias' THEN 'trnRef' + WHEN 'Referencia Nominas' THEN 'payRef' + WHEN 'ABA' THEN 'aba' END; \ No newline at end of file