From c54c9ce9132b06f27cb628a4e40f0b06426fb51d Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 29 Feb 2024 14:43:37 +0100 Subject: [PATCH 1/6] fix: refs #5186 create parkingLog & add sector relation --- .../vn/triggers/parking_afterDelete.sql | 12 ++++++ .../vn/triggers/parking_beforeInsert.sql | 2 +- .../vn/triggers/parking_beforeUpdate.sql | 2 +- .../10923-pinkOak/00-createParkingLog.sql | 43 +++++++++++++++++++ modules/shelving/back/models/parking.json | 8 ++-- 5 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 db/routines/vn/triggers/parking_afterDelete.sql create mode 100644 db/versions/10923-pinkOak/00-createParkingLog.sql diff --git a/db/routines/vn/triggers/parking_afterDelete.sql b/db/routines/vn/triggers/parking_afterDelete.sql new file mode 100644 index 000000000..1ec96c24d --- /dev/null +++ b/db/routines/vn/triggers/parking_afterDelete.sql @@ -0,0 +1,12 @@ +DELIMITER $$ +CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`parking_afterDelete` + AFTER DELETE ON `parking` + FOR EACH ROW +BEGIN + INSERT INTO parkingLog + SET `action` = 'delete', + `changedModel` = 'Parking', + `changedModelId` = OLD.id, + `userFk` = account.myUser_getId(); +END$$ +DELIMITER ; \ No newline at end of file diff --git a/db/routines/vn/triggers/parking_beforeInsert.sql b/db/routines/vn/triggers/parking_beforeInsert.sql index 9cf0bd42a..cdec4c759 100644 --- a/db/routines/vn/triggers/parking_beforeInsert.sql +++ b/db/routines/vn/triggers/parking_beforeInsert.sql @@ -3,7 +3,7 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`parking_beforeInsert` BEFORE INSERT ON `parking` FOR EACH ROW BEGIN - + SET NEW.editorFk = account.myUser_getId(); -- SET new.`code` = CONCAT(new.`column`,' - ',new.`row`) ; END$$ diff --git a/db/routines/vn/triggers/parking_beforeUpdate.sql b/db/routines/vn/triggers/parking_beforeUpdate.sql index 38238daa1..3e808f505 100644 --- a/db/routines/vn/triggers/parking_beforeUpdate.sql +++ b/db/routines/vn/triggers/parking_beforeUpdate.sql @@ -3,7 +3,7 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`parking_beforeUpdate` BEFORE UPDATE ON `parking` FOR EACH ROW BEGIN - + SET NEW.editorFk = account.myUser_getId(); -- SET new.`code` = CONCAT(new.`column`,' - ',new.`row`) ; END$$ diff --git a/db/versions/10923-pinkOak/00-createParkingLog.sql b/db/versions/10923-pinkOak/00-createParkingLog.sql new file mode 100644 index 000000000..8274e2d82 --- /dev/null +++ b/db/versions/10923-pinkOak/00-createParkingLog.sql @@ -0,0 +1,43 @@ +CREATE OR REPLACE TABLE `vn`.`parkingLog` ( + + `id` int(11) NOT NULL AUTO_INCREMENT, + + `originFk` int(11) DEFAULT NULL, + + `userFk` int(10) unsigned DEFAULT NULL, + + `action` set('insert','update','delete','select') NOT NULL, + + `creationDate` timestamp NULL DEFAULT current_timestamp(), + + `description` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + + `changedModel` enum('Parking','SaleGroup','SaleGroupDetail') NOT NULL DEFAULT 'Parking', + + `oldInstance` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`oldInstance`)), + + `newInstance` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`newInstance`)), + + `changedModelId` int(11) NOT NULL, + + `changedModelValue` varchar(45) DEFAULT NULL, + + PRIMARY KEY (`id`), + + KEY `logParkinguserFk` (`userFk`), + + KEY `parkingLog_changedModel` (`changedModel`,`changedModelId`,`creationDate`), + + KEY `parkingLog_originFk` (`originFk`,`creationDate`), + + CONSTRAINT `parkingOriginFk` FOREIGN KEY (`originFk`) REFERENCES `parking` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + + CONSTRAINT `parkingUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + +ALTER TABLE vn.parking DROP COLUMN IF EXISTS editorFk; +ALTER TABLE IF EXISTS vn.parking ADD COLUMN editorFk INT; + +ALTER TABLE vn.saleGroupDetail DROP COLUMN IF EXISTS editorFk; +ALTER TABLE IF EXISTS vn.saleGroupDetail ADD COLUMN editorFk INT; \ No newline at end of file diff --git a/modules/shelving/back/models/parking.json b/modules/shelving/back/models/parking.json index 53fec6e69..47a3305ae 100644 --- a/modules/shelving/back/models/parking.json +++ b/modules/shelving/back/models/parking.json @@ -20,9 +20,6 @@ "type": "string", "required": true }, - "sectorFk": { - "type": "number" - }, "code": { "type": "string" }, @@ -35,6 +32,11 @@ "type": "hasMany", "model": "saleGroup", "foreignKey": "parkingFk" + }, + "sector": { + "type": "belongsTo", + "model": "Sector", + "foreignKey": "sectorFk" } } } From 19278781847e5434a2e73d8a354d50a370a62ff4 Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 29 Feb 2024 16:04:16 +0100 Subject: [PATCH 2/6] fix: refs #5186 drop SaleGroup from ticketLog --- .../10923-pinkOak/00-createParkingLog.sql | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/db/versions/10923-pinkOak/00-createParkingLog.sql b/db/versions/10923-pinkOak/00-createParkingLog.sql index 8274e2d82..d7fba0568 100644 --- a/db/versions/10923-pinkOak/00-createParkingLog.sql +++ b/db/versions/10923-pinkOak/00-createParkingLog.sql @@ -1,4 +1,4 @@ -CREATE OR REPLACE TABLE `vn`.`parkingLog` ( +CREATE OR REPLACE TABLE vn.parkingLog ( `id` int(11) NOT NULL AUTO_INCREMENT, @@ -40,4 +40,20 @@ ALTER TABLE vn.parking DROP COLUMN IF EXISTS editorFk; ALTER TABLE IF EXISTS vn.parking ADD COLUMN editorFk INT; ALTER TABLE vn.saleGroupDetail DROP COLUMN IF EXISTS editorFk; -ALTER TABLE IF EXISTS vn.saleGroupDetail ADD COLUMN editorFk INT; \ No newline at end of file +ALTER TABLE IF EXISTS vn.saleGroupDetail ADD COLUMN editorFk INT; + + +ALTER TABLE vn.ticketLog + MODIFY COLUMN changedModel enum('Ticket', + 'Sale', + 'TicketWeekly', + 'TicketTracking', + 'TicketService', + 'TicketRequest', + 'TicketRefund', + 'TicketPackaging', + 'TicketObservation', + 'TicketDms', + 'Expedition', + 'Sms' + ) NOT NULL DEFAULT 'Ticket'; From 7b0bed209e64c85cfbb8ed245a54e6e3c6fb33b5 Mon Sep 17 00:00:00 2001 From: jorgep Date: Thu, 29 Feb 2024 16:27:42 +0100 Subject: [PATCH 3/6] feat: refs #5186 add acl & model --- .../10923-pinkOak/00-createParkingLog.sql | 25 ++++++++++--------- .../10923-pinkOak/01-aclParkingLog.sql | 2 ++ modules/parking/back/model-config.json | 5 ++++ modules/parking/back/models/parking-log.json | 9 +++++++ 4 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 db/versions/10923-pinkOak/01-aclParkingLog.sql create mode 100644 modules/parking/back/model-config.json create mode 100644 modules/parking/back/models/parking-log.json diff --git a/db/versions/10923-pinkOak/00-createParkingLog.sql b/db/versions/10923-pinkOak/00-createParkingLog.sql index d7fba0568..f31f58196 100644 --- a/db/versions/10923-pinkOak/00-createParkingLog.sql +++ b/db/versions/10923-pinkOak/00-createParkingLog.sql @@ -44,16 +44,17 @@ ALTER TABLE IF EXISTS vn.saleGroupDetail ADD COLUMN editorFk INT; ALTER TABLE vn.ticketLog - MODIFY COLUMN changedModel enum('Ticket', - 'Sale', - 'TicketWeekly', - 'TicketTracking', - 'TicketService', - 'TicketRequest', - 'TicketRefund', - 'TicketPackaging', - 'TicketObservation', - 'TicketDms', - 'Expedition', - 'Sms' + MODIFY COLUMN changedModel ENUM( + 'Ticket', + 'Sale', + 'TicketWeekly', + 'TicketTracking', + 'TicketService', + 'TicketRequest', + 'TicketRefund', + 'TicketPackaging', + 'TicketObservation', + 'TicketDms', + 'Expedition', + 'Sms' ) NOT NULL DEFAULT 'Ticket'; diff --git a/db/versions/10923-pinkOak/01-aclParkingLog.sql b/db/versions/10923-pinkOak/01-aclParkingLog.sql new file mode 100644 index 000000000..8f7e55d63 --- /dev/null +++ b/db/versions/10923-pinkOak/01-aclParkingLog.sql @@ -0,0 +1,2 @@ +INSERT INTO salix.ACL (model, property, accessType, permission, principalType, principalId) + VALUES ('ParkingLog', '*', 'READ', 'ALLOW', 'ROLE', 'employee'); \ No newline at end of file diff --git a/modules/parking/back/model-config.json b/modules/parking/back/model-config.json new file mode 100644 index 000000000..5c0d3d916 --- /dev/null +++ b/modules/parking/back/model-config.json @@ -0,0 +1,5 @@ +{ + "ParkingLog": { + "dataSource": "vn" + } +} diff --git a/modules/parking/back/models/parking-log.json b/modules/parking/back/models/parking-log.json new file mode 100644 index 000000000..1bbb031d8 --- /dev/null +++ b/modules/parking/back/models/parking-log.json @@ -0,0 +1,9 @@ +{ + "name": "ParkingLog", + "base": "Log", + "options": { + "mysql": { + "table": "parkingLog" + } + } +} From 3caed386e991ba9e1c5c7cea289ee99640e04afa Mon Sep 17 00:00:00 2001 From: jorgep Date: Fri, 1 Mar 2024 12:23:06 +0100 Subject: [PATCH 4/6] feat: refs #5186 add fixtures --- db/dump/fixtures.before.sql | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql index aef0f13e3..619c5d0f7 100644 --- a/db/dump/fixtures.before.sql +++ b/db/dump/fixtures.before.sql @@ -3069,3 +3069,9 @@ INSERT INTO `vn`.`cmr` (id,truckPlate,observations,senderInstruccions,paymentIns UPDATE vn.department SET workerFk = null; + +INSERT INTO vn.parkingLog(originFk, userFk, `action`, creationDate, description, changedModel,oldInstance, newInstance, changedModelId, changedModelValue) + VALUES(1, 18, 'update', '2024-03-01 08:35:07.000', NULL, 'SaleGroup', '{"parkingFk":null}', '{"parkingFk":1}', 1, NULL); + +INSERT INTO vn.parkingLog(originFk, userFk, `action`, creationDate, description, changedModel,oldInstance, newInstance, changedModelId, changedModelValue) + VALUES(1, 19, 'update', '2024-03-01 08:35:07.000', NULL, 'SaleGroup', '{"parkingFk":1}', '{"parkingFk":3, "ticketFk":2}', 3, NULL); \ No newline at end of file From ea18d3ef6f6eb4bf359849d3d20c624de4e76851 Mon Sep 17 00:00:00 2001 From: jorgep Date: Fri, 8 Mar 2024 09:25:07 +0100 Subject: [PATCH 5/6] feat: refs #5186 add locale --- modules/shelving/back/locale/parking/en.yml | 9 +++++++++ modules/shelving/back/locale/parking/es.yml | 10 ++++++++++ 2 files changed, 19 insertions(+) create mode 100644 modules/shelving/back/locale/parking/en.yml create mode 100644 modules/shelving/back/locale/parking/es.yml diff --git a/modules/shelving/back/locale/parking/en.yml b/modules/shelving/back/locale/parking/en.yml new file mode 100644 index 000000000..5ef6add52 --- /dev/null +++ b/modules/shelving/back/locale/parking/en.yml @@ -0,0 +1,9 @@ +name: parking +columns: + id: id + column: column + row: row + sectorFk: sector + code: code + pickingOrder: picking order + editorFk: editor \ No newline at end of file diff --git a/modules/shelving/back/locale/parking/es.yml b/modules/shelving/back/locale/parking/es.yml new file mode 100644 index 000000000..d4dd7bb2c --- /dev/null +++ b/modules/shelving/back/locale/parking/es.yml @@ -0,0 +1,10 @@ +name: parking +columns: + id: id + column: columna + row: fila + sectorFk: sector + code: código + pickingOrder: orden de recogida + editorFk: editor + \ No newline at end of file From e5387b0b65db7362becc54610a3dd6a50db5c9a2 Mon Sep 17 00:00:00 2001 From: jorgep Date: Mon, 11 Mar 2024 09:14:05 +0100 Subject: [PATCH 6/6] fix: refs #5186 use date function --- db/dump/fixtures.before.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/dump/fixtures.before.sql b/db/dump/fixtures.before.sql index 401973186..4ad007f5c 100644 --- a/db/dump/fixtures.before.sql +++ b/db/dump/fixtures.before.sql @@ -3732,4 +3732,4 @@ UPDATE vn.saleTracking SET stateFk = 26 WHERE id = 5; INSERT INTO vn.report (name) VALUES ('LabelCollection'); INSERT INTO vn.parkingLog(originFk, userFk, `action`, creationDate, description, changedModel,oldInstance, newInstance, changedModelId, changedModelValue) - VALUES(1, 18, 'update', '2024-03-01 08:35:07.000', NULL, 'SaleGroup', '{"parkingFk":null}', '{"parkingFk":1}', 1, NULL); \ No newline at end of file + VALUES(1, 18, 'update', util.VN_CURDATE(), NULL, 'SaleGroup', '{"parkingFk":null}', '{"parkingFk":1}', 1, NULL); \ No newline at end of file