From 3e1b296b29177f474f8d595d0a4cfa9d3a3622d0 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 28 May 2024 15:46:44 +0200 Subject: [PATCH 01/33] refs #6553 changes models --- modules/client/back/models/business.json | 60 ++++++++++++++++++++++++ modules/worker/back/models/worker.json | 5 ++ 2 files changed, 65 insertions(+) diff --git a/modules/client/back/models/business.json b/modules/client/back/models/business.json index 58e989ae0..8c572fb5d 100644 --- a/modules/client/back/models/business.json +++ b/modules/client/back/models/business.json @@ -13,6 +13,66 @@ }, "workcenterFk" : { "type": "number" + }, + "companyCodeFk" : { + "type": "string" + }, + "started" : { + "type": "date" + }, + "ended" : { + "type": "date" + }, + "workerBusiness" : { + "type": "string" + }, + "reasonEndFk" : { + "type": "number" + }, + "payedHolidays" : { + "type": "number" + }, + "occupationCodeFk" : { + "type": "number" + }, + "workerFk" : { + "type": "number" + }, + "notes" : { + "type": "string" + }, + "departmentFk": { + "type": "number" + }, + "workerBusinessProfessionalCategoryFk": { + "type": "number" + }, + "calendarTypeFk": { + "type": "string" + }, + "isHourlyLabor": { + "type": "boolean" + }, + "rate": { + "type": "number" + }, + "workerBusinessCategoryFk": { + "type": "number" + }, + "workerBusinessTypeFk": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "workerBusinessAgreementFk": { + "type": "number" + }, + "basicSalary": { + "type": "number" + }, + "editorFk": { + "type": "number" } }, "relations": { diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index 4e7617aab..5c5090691 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -115,6 +115,11 @@ "type": "hasMany", "model": "Locker", "foreignKey": "workerFk" + }, + "business": { + "type": "hasMany", + "model": "Business", + "foreignKey": "workerFk" } }, "acls":[ From a5ffdddb53d8d8b14414344b9a35fddec6fd34ca Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 29 May 2024 15:56:27 +0200 Subject: [PATCH 02/33] refs #6553 fix back --- .../11076-blueChico/00-firstScript.sql | 20 ++++++++ modules/client/back/model-config.json | 15 ++++++ .../back/models/business-reason-end.json | 17 +++++++ modules/client/back/models/business.json | 50 +++++++++++++++++-- modules/client/back/models/calendar-type.json | 21 ++++++++ .../client/back/models/occupationCode.json | 17 +++++++ .../back/models/payroll-categories.json | 20 ++++++++ .../back/models/professional-category.json | 20 ++++++++ .../models/worker-business-agreement.json | 29 +++++++++++ .../back/models/worker-business-type.json | 26 ++++++++++ 10 files changed, 232 insertions(+), 3 deletions(-) create mode 100644 db/versions/11076-blueChico/00-firstScript.sql create mode 100644 modules/client/back/models/business-reason-end.json create mode 100644 modules/client/back/models/calendar-type.json create mode 100644 modules/client/back/models/occupationCode.json create mode 100644 modules/client/back/models/payroll-categories.json create mode 100644 modules/client/back/models/professional-category.json create mode 100644 modules/client/back/models/worker-business-agreement.json create mode 100644 modules/client/back/models/worker-business-type.json diff --git a/db/versions/11076-blueChico/00-firstScript.sql b/db/versions/11076-blueChico/00-firstScript.sql new file mode 100644 index 000000000..d53226598 --- /dev/null +++ b/db/versions/11076-blueChico/00-firstScript.sql @@ -0,0 +1,20 @@ +ALTER TABLE vn.business +ADD CONSTRAINT `business_companyCodeFk` FOREIGN KEY (`companyCodeFk`) REFERENCES `company` (`code`) ON DELETE CASCADE ON UPDATE CASCADE; + +-- Auto-generated SQL script. Actual values for binary/complex data types may differ - what you see is the default string representation of values. +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('CalendarType','*','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('OccupationCode','*','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('WorkerBusinessProfessionalCategory','*','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('WorkerBusinessAgreement','*','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('WorkerBusinessType','*','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('Worker','__get__business','*','ALLOW','ROLE','employee'); diff --git a/modules/client/back/model-config.json b/modules/client/back/model-config.json index fc1254dd8..e2192ab1b 100644 --- a/modules/client/back/model-config.json +++ b/modules/client/back/model-config.json @@ -139,5 +139,20 @@ }, "Xdiario": { "dataSource": "vn" + }, + "BusinessReasonEnd": { + "dataSource": "vn" + }, + "OccupationCode": { + "dataSource": "vn" + }, + "WorkerBusinessProfessionalCategory": { + "dataSource": "vn" + }, + "CalendarType": { + "dataSource": "vn" + }, + "WorkerBusinessType": { + "dataSource": "vn" } } diff --git a/modules/client/back/models/business-reason-end.json b/modules/client/back/models/business-reason-end.json new file mode 100644 index 000000000..54a632bea --- /dev/null +++ b/modules/client/back/models/business-reason-end.json @@ -0,0 +1,17 @@ +{ + "name": "BusinessReasonEnd", + "base": "VnModel", + "options": { + "mysql": { + "table": "businessReasonEnd" + } + }, + "properties": { + "id": { + "type": "number" + }, + "reason": { + "type": "string" + } + } +} diff --git a/modules/client/back/models/business.json b/modules/client/back/models/business.json index 8c572fb5d..78605d687 100644 --- a/modules/client/back/models/business.json +++ b/modules/client/back/models/business.json @@ -70,9 +70,6 @@ }, "basicSalary": { "type": "number" - }, - "editorFk": { - "type": "number" } }, "relations": { @@ -85,6 +82,53 @@ "type": "belongsTo", "model": "Department", "foreignKey": "departmentFk" + }, + "workCenter": { + "type": "belongsTo", + "model": "WorkCenter", + "foreignKey": "workcenterFk" + }, + "companyCode": { + "type": "belongsTo", + "model": "Company", + "foreignKey": "companyCodeFk" + }, + "reasonEnd": { + "type": "belongsTo", + "model": "BusinessReasonEnd", + "foreignKey": "reasonEndFk" + }, + "occupationCode": { + "type": "belongsTo", + "model": "OccupationCode", + "foreignKey":"occupationCodeFk" + }, + "workerBusinessProfessionalCategory": { + "type": "belongsTo", + "model": "WorkerBusinessProfessionalCategory", + "foreignKey": "workerBusinessProfessionalCategoryFk" } + , + "calendarType": { + "type": "belongsTo", + "model": "CalendarType", + "foreignKey": "calendarTypeFk" + }, + "workerBusinessCategory": { + "type": "belongsTo", + "model": "WorkerBusinessCategory", + "foreignKey": "workerBusinessCategoryFk" + }, + "workerBusinessType": { + "type": "belongsTo", + "model": "WorkerBusinessType", + "foreignKey": "workerBusinessTypeFk" + }, + "workerBusinessAgreement": { + "type": "belongsTo", + "model": "WorkerBusinessAgreement", + "foreignKey": "workerBusinessAgreementFk" + } + } } diff --git a/modules/client/back/models/calendar-type.json b/modules/client/back/models/calendar-type.json new file mode 100644 index 000000000..742aaed94 --- /dev/null +++ b/modules/client/back/models/calendar-type.json @@ -0,0 +1,21 @@ +{ + "name": "CalendarType", + "base": "VnModel", + "options": { + "mysql": { + "table": "calendarType" + } + }, + "properties": { + "id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "hoursWeek": { + "type": "number" + }, + "isPartial": "number" + } +} diff --git a/modules/client/back/models/occupationCode.json b/modules/client/back/models/occupationCode.json new file mode 100644 index 000000000..63c148a81 --- /dev/null +++ b/modules/client/back/models/occupationCode.json @@ -0,0 +1,17 @@ +{ + "name": "OccupationCode", + "base": "VnModel", + "options": { + "mysql": { + "table": "occupationCode" + } + }, + "properties": { + "code": { + "type": "string" + }, + "name": { + "type": "string" + } + } +} diff --git a/modules/client/back/models/payroll-categories.json b/modules/client/back/models/payroll-categories.json new file mode 100644 index 000000000..54ff8a4c0 --- /dev/null +++ b/modules/client/back/models/payroll-categories.json @@ -0,0 +1,20 @@ +{ + "name": "BusinessReasonEnd", + "base": "VnModel", + "options": { + "mysql": { + "table": "payrollCategories" + } + }, + "properties": { + "id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "rate": { + "type": "number" + } + } +} diff --git a/modules/client/back/models/professional-category.json b/modules/client/back/models/professional-category.json new file mode 100644 index 000000000..5f812a704 --- /dev/null +++ b/modules/client/back/models/professional-category.json @@ -0,0 +1,20 @@ +{ + "name": "WorkerBusinessProfessionalCategory", + "base": "VnModel", + "options": { + "mysql": { + "table": "professionalCategory" + } + }, + "properties": { + "id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "code": { + "type": "string" + } + } +} diff --git a/modules/client/back/models/worker-business-agreement.json b/modules/client/back/models/worker-business-agreement.json new file mode 100644 index 000000000..bd62b2aa3 --- /dev/null +++ b/modules/client/back/models/worker-business-agreement.json @@ -0,0 +1,29 @@ +{ + "name": "WorkerBusinessAgreement", + "base": "VnModel", + "options": { + "mysql": { + "table": "workerBusinessAgreement" + } + }, + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "monthHolidays": { + "type": "number" + }, + "yearsHours": { + "type": "number" + }, + "started": { + "type": "date" + }, + "ended": { + "type": "date" + } + } +} diff --git a/modules/client/back/models/worker-business-type.json b/modules/client/back/models/worker-business-type.json new file mode 100644 index 000000000..146bac7ab --- /dev/null +++ b/modules/client/back/models/worker-business-type.json @@ -0,0 +1,26 @@ +{ + "name": "WorkerBusinessType", + "base": "VnModel", + "options": { + "mysql": { + "table": "workerBusinessType" + } + }, + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "isFullTime": { + "type": "number" + }, + "isPermanent": { + "type": "number" + }, + "hasHolidayEntitlement": { + "type": "number" + } + } +} From 5d73af5392f9d46300ccf633cbe42302f1bb05e2 Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 5 Jun 2024 10:43:53 +0200 Subject: [PATCH 03/33] refs #6553 fix back --- modules/client/back/model-config.json | 3 +++ modules/client/back/models/business.json | 8 ++++++-- modules/client/back/models/occupationCode.json | 3 ++- modules/client/back/models/payroll-categories.json | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/client/back/model-config.json b/modules/client/back/model-config.json index e2192ab1b..8dcfaf504 100644 --- a/modules/client/back/model-config.json +++ b/modules/client/back/model-config.json @@ -154,5 +154,8 @@ }, "WorkerBusinessType": { "dataSource": "vn" + }, + "PayrollCategory": { + "dataSource": "vn" } } diff --git a/modules/client/back/models/business.json b/modules/client/back/models/business.json index 78605d687..c870c8f6e 100644 --- a/modules/client/back/models/business.json +++ b/modules/client/back/models/business.json @@ -103,12 +103,16 @@ "model": "OccupationCode", "foreignKey":"occupationCodeFk" }, + "payrollCategory": { + "type": "belongsTo", + "model": "PayrollCategory", + "foreignKey":"workerBusinessCategoryFk" + }, "workerBusinessProfessionalCategory": { "type": "belongsTo", "model": "WorkerBusinessProfessionalCategory", "foreignKey": "workerBusinessProfessionalCategoryFk" - } - , + }, "calendarType": { "type": "belongsTo", "model": "CalendarType", diff --git a/modules/client/back/models/occupationCode.json b/modules/client/back/models/occupationCode.json index 63c148a81..e40eaf2fe 100644 --- a/modules/client/back/models/occupationCode.json +++ b/modules/client/back/models/occupationCode.json @@ -8,7 +8,8 @@ }, "properties": { "code": { - "type": "string" + "type": "string", + "id": true }, "name": { "type": "string" diff --git a/modules/client/back/models/payroll-categories.json b/modules/client/back/models/payroll-categories.json index 54ff8a4c0..ca3431ba9 100644 --- a/modules/client/back/models/payroll-categories.json +++ b/modules/client/back/models/payroll-categories.json @@ -1,5 +1,5 @@ { - "name": "BusinessReasonEnd", + "name": "PayrollCategory", "base": "VnModel", "options": { "mysql": { From 06fe0f5cefc30e643fbe49c2a527652f3b9609be Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 6 Jun 2024 07:34:17 +0200 Subject: [PATCH 04/33] refs #6553 fix acls --- db/versions/11076-blueChico/00-firstScript.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/db/versions/11076-blueChico/00-firstScript.sql b/db/versions/11076-blueChico/00-firstScript.sql index d53226598..1abb234cf 100644 --- a/db/versions/11076-blueChico/00-firstScript.sql +++ b/db/versions/11076-blueChico/00-firstScript.sql @@ -16,5 +16,7 @@ INSERT INTO salix.ACL (model,property,accessType,permission,principalType,princi VALUES ('WorkerBusinessAgreement','*','*','ALLOW','ROLE','employee'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) VALUES ('WorkerBusinessType','*','*','ALLOW','ROLE','employee'); + INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('PayrollCategory','*','*','ALLOW','ROLE','employee'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) VALUES ('Worker','__get__business','*','ALLOW','ROLE','employee'); From 41fabecc9b0dfd5fc67fa03282e2d1a45798d5f2 Mon Sep 17 00:00:00 2001 From: carlossa Date: Mon, 10 Jun 2024 09:29:37 +0200 Subject: [PATCH 05/33] refs #6553 fix acls --- db/versions/11076-blueChico/00-firstScript.sql | 3 +++ modules/client/back/models/business.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/db/versions/11076-blueChico/00-firstScript.sql b/db/versions/11076-blueChico/00-firstScript.sql index 1abb234cf..95038318a 100644 --- a/db/versions/11076-blueChico/00-firstScript.sql +++ b/db/versions/11076-blueChico/00-firstScript.sql @@ -20,3 +20,6 @@ INSERT INTO salix.ACL (model,property,accessType,permission,principalType,princi VALUES ('PayrollCategory','*','*','ALLOW','ROLE','employee'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) VALUES ('Worker','__get__business','*','ALLOW','ROLE','employee'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('Worker','__create__business','*','ALLOW','ROLE','employee'); + diff --git a/modules/client/back/models/business.json b/modules/client/back/models/business.json index c870c8f6e..1a500d444 100644 --- a/modules/client/back/models/business.json +++ b/modules/client/back/models/business.json @@ -33,7 +33,7 @@ "type": "number" }, "occupationCodeFk" : { - "type": "number" + "type": "string" }, "workerFk" : { "type": "number" From 4f7b625a4fe62fb92e9a1c1dcbb29786d727d8d5 Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 14 Jun 2024 14:48:45 +0200 Subject: [PATCH 06/33] fix(business): sql role --- .../11076-blueChico/00-firstScript.sql | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/db/versions/11076-blueChico/00-firstScript.sql b/db/versions/11076-blueChico/00-firstScript.sql index 95038318a..84cc82dd9 100644 --- a/db/versions/11076-blueChico/00-firstScript.sql +++ b/db/versions/11076-blueChico/00-firstScript.sql @@ -3,23 +3,25 @@ ADD CONSTRAINT `business_companyCodeFk` FOREIGN KEY (`companyCodeFk`) REFERENCES -- Auto-generated SQL script. Actual values for binary/complex data types may differ - what you see is the default string representation of values. INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','employee'); + VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('CalendarType','*','*','ALLOW','ROLE','employee'); + VALUES ('CalendarType','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('OccupationCode','*','*','ALLOW','ROLE','employee'); + VALUES ('OccupationCode','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','employee'); + VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('WorkerBusinessProfessionalCategory','*','*','ALLOW','ROLE','employee'); + VALUES ('WorkerBusinessProfessionalCategory','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('WorkerBusinessAgreement','*','*','ALLOW','ROLE','employee'); + VALUES ('WorkerBusinessAgreement','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('WorkerBusinessType','*','*','ALLOW','ROLE','employee'); - INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('PayrollCategory','*','*','ALLOW','ROLE','employee'); + VALUES ('WorkerBusinessType','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('Worker','__get__business','*','ALLOW','ROLE','employee'); + VALUES ('PayrollCategory','*','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('Worker','__create__business','*','ALLOW','ROLE','employee'); + VALUES ('Worker','__get__business','*','ALLOW','ROLE','hr'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('Worker','__create__business','*','ALLOW','ROLE','hr'); +INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) + VALUES ('Business','crud','*','ALLOW','ROLE','hr'); From cc8af9d14afdb5e3229da37279cfb2d9fa07ae4a Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 25 Jun 2024 10:21:24 +0200 Subject: [PATCH 07/33] refs #6553 fix back --- modules/client/back/models/business.json | 8 +++++--- .../models/{occupationCode.json => occupation-code.json} | 0 modules/client/back/models/worker-business-type.json | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-) rename modules/client/back/models/{occupationCode.json => occupation-code.json} (100%) diff --git a/modules/client/back/models/business.json b/modules/client/back/models/business.json index 1a500d444..dc6cd0bcd 100644 --- a/modules/client/back/models/business.json +++ b/modules/client/back/models/business.json @@ -42,7 +42,7 @@ "type": "string" }, "departmentFk": { - "type": "number" + "type": "string" }, "workerBusinessProfessionalCategoryFk": { "type": "number" @@ -91,7 +91,8 @@ "companyCode": { "type": "belongsTo", "model": "Company", - "foreignKey": "companyCodeFk" + "foreignKey": "companyCodeFk", + "primaryKey": "code" }, "reasonEnd": { "type": "belongsTo", @@ -101,7 +102,8 @@ "occupationCode": { "type": "belongsTo", "model": "OccupationCode", - "foreignKey":"occupationCodeFk" + "foreignKey":"occupationCodeFk", + "primaryKey": "code" }, "payrollCategory": { "type": "belongsTo", diff --git a/modules/client/back/models/occupationCode.json b/modules/client/back/models/occupation-code.json similarity index 100% rename from modules/client/back/models/occupationCode.json rename to modules/client/back/models/occupation-code.json diff --git a/modules/client/back/models/worker-business-type.json b/modules/client/back/models/worker-business-type.json index 146bac7ab..648ce3fd2 100644 --- a/modules/client/back/models/worker-business-type.json +++ b/modules/client/back/models/worker-business-type.json @@ -8,7 +8,8 @@ }, "properties": { "id": { - "type": "number" + "type": "number", + "id": true }, "name": { "type": "string" From 36b4c7fb7474158f8c150ab13c9fa0d20dd645cc Mon Sep 17 00:00:00 2001 From: alexm Date: Wed, 26 Jun 2024 12:33:38 +0200 Subject: [PATCH 08/33] typo --- modules/worker/back/models/worker.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index 8f2be694f..a1b6e21b0 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -118,7 +118,7 @@ }, "business": { "type": "hasMany", - "model": "Business", + "model": "Business" }, "incomes": { "type": "hasMany", From 070613de643458e2ea8af353edd547a016564995 Mon Sep 17 00:00:00 2001 From: guillermo Date: Tue, 27 Aug 2024 12:58:08 +0200 Subject: [PATCH 09/33] feat: refs #7686 Added new alertLevel APPROVED and changes in vn.state.alertLevel --- .../11202-limeRuscus/00-addAlertLevel.sql | 6 ++++++ .../01-updateStateAlertLevel.sql | 21 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 db/versions/11202-limeRuscus/00-addAlertLevel.sql create mode 100644 db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql diff --git a/db/versions/11202-limeRuscus/00-addAlertLevel.sql b/db/versions/11202-limeRuscus/00-addAlertLevel.sql new file mode 100644 index 000000000..1f667946b --- /dev/null +++ b/db/versions/11202-limeRuscus/00-addAlertLevel.sql @@ -0,0 +1,6 @@ +UPDATE vn.alertLevel SET id = 5 WHERE id = 4; +UPDATE vn.alertLevel SET id = 4 WHERE id = 3; +UPDATE vn.alertLevel SET id = 3 WHERE id = 2; +UPDATE vn.alertLevel SET id = 2 WHERE id = 1; +INSERT INTO vn.alertLevel (code, id, hasToRecalcPrice) + VALUES ('APPROVED', 1, 1) \ No newline at end of file diff --git a/db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql b/db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql new file mode 100644 index 000000000..f7261c08a --- /dev/null +++ b/db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql @@ -0,0 +1,21 @@ +UPDATE vn.state + SET alertLevel = 1 -- APPROVED + WHERE id IN ( + 3, -- Ok + 4 -- Impreso + ); + +UPDATE vn.state + SET alertLevel = 2 -- ON_PREVIOUS + WHERE id IN ( + 36, -- Previa Revisando + 37, -- Previa Revisado + 26, -- Prep Previa + 28, -- Previa OK + 29, -- Previa Impreso + 31, -- Polizon Impreso + 32, -- Polizon OK + 20, -- Asignado + 23, -- URGENTE + 33 -- Auto_Impreso + ); From 28c94b5f324fd40ce60a23677cb274cf8b3c4aa3 Mon Sep 17 00:00:00 2001 From: guillermo Date: Tue, 27 Aug 2024 12:58:48 +0200 Subject: [PATCH 10/33] feat: refs #7686 Changes in procs --- .../bs/procedures/inventoryDiscrepancyDetail_replace.sql | 5 ++--- db/routines/hedera/procedures/order_confirmWithUser.sql | 2 +- db/routines/vn/procedures/itemShelvingRadar.sql | 2 +- db/routines/vn/procedures/productionControl.sql | 2 +- db/routines/vn/procedures/ticketDown_PrintableSelection.sql | 2 +- db/routines/vn/procedures/ticketGetVisibleAvailable.sql | 2 +- db/routines/vn/procedures/ticket_DelayTruck.sql | 2 +- db/routines/vn/procedures/ticket_canMerge.sql | 4 ++-- db/routines/vn/procedures/ticket_canbePostponed.sql | 2 +- modules/monitor/back/methods/sales-monitor/salesFilter.js | 2 +- modules/ticket/back/methods/ticket/filter.js | 2 +- modules/ticket/back/methods/ticket/getTicketsFuture.js | 2 +- 12 files changed, 14 insertions(+), 15 deletions(-) diff --git a/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql b/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql index 863005373..481082766 100644 --- a/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql +++ b/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql @@ -65,15 +65,14 @@ BEGIN JOIN vn.ticketState ts ON ts.ticketFk = t.id JOIN vn.alertLevel al ON al.id = ts.alertLevel WHERE t.shipped BETWEEN util.VN_CURDATE() AND util.dayend(util.VN_CURDATE()) - AND s.isPicked = FALSE - AND al.code = 'FREE' + AND NOT s.isPicked + AND al.code IN ('FREE', 'APPROVED') AND t.warehouseFk = vWarehouseFk GROUP BY s.itemFk HAVING notPicked ) s ON s.itemFk = v.item_id WHERE v.calc_id = vCalc AND NOT v.visible <=> tv.totalVisible; - END LOOP; CLOSE cWarehouses; diff --git a/db/routines/hedera/procedures/order_confirmWithUser.sql b/db/routines/hedera/procedures/order_confirmWithUser.sql index 2b033b704..e293427e8 100644 --- a/db/routines/hedera/procedures/order_confirmWithUser.sql +++ b/db/routines/hedera/procedures/order_confirmWithUser.sql @@ -134,7 +134,7 @@ BEGIN ) SELECT t.id INTO vTicketFk FROM vn.ticket t - JOIN vn.alertLevel al ON al.code = 'FREE' + JOIN vn.alertLevel al ON al.code IN ('FREE', 'APPROVED') LEFT JOIN tPrevia tp ON tp.ticketFk = t.id LEFT JOIN vn.ticketState tls ON tls.ticketFk = t.id JOIN hedera.`order` o ON o.address_id = t.addressFk diff --git a/db/routines/vn/procedures/itemShelvingRadar.sql b/db/routines/vn/procedures/itemShelvingRadar.sql index aa95d0503..3c7ba577b 100644 --- a/db/routines/vn/procedures/itemShelvingRadar.sql +++ b/db/routines/vn/procedures/itemShelvingRadar.sql @@ -106,7 +106,7 @@ BEGIN JOIN alertLevel al ON al.id = tst.alertLevel JOIN sale s ON s.ticketFk = t.id WHERE t.warehouseFk = vWarehouseFk - AND al.code = 'FREE' + AND al.code IN ('FREE', 'APPROVED') GROUP BY s.itemFk ) sub ON sub.itemFk = ishr.itemFk ORDER BY i.typeFk, i.longName; diff --git a/db/routines/vn/procedures/productionControl.sql b/db/routines/vn/procedures/productionControl.sql index 84717a19a..16a2ada93 100644 --- a/db/routines/vn/procedures/productionControl.sql +++ b/db/routines/vn/procedures/productionControl.sql @@ -82,7 +82,7 @@ proc: BEGIN rm.bufferFk FROM tmp.productionTicket tt JOIN ticket t ON tt.ticketFk = t.id - JOIN alertLevel al ON al.code = 'FREE' + JOIN alertLevel al ON al.code = 'APPROVED' LEFT JOIN ticketStateToday tst ON tst.ticketFk = t.id LEFT JOIN `state` st ON st.id = tst.state LEFT JOIN client c ON c.id = t.clientFk diff --git a/db/routines/vn/procedures/ticketDown_PrintableSelection.sql b/db/routines/vn/procedures/ticketDown_PrintableSelection.sql index 45002dd1f..22de6573a 100644 --- a/db/routines/vn/procedures/ticketDown_PrintableSelection.sql +++ b/db/routines/vn/procedures/ticketDown_PrintableSelection.sql @@ -13,7 +13,7 @@ BEGIN JOIN vn.parking p ON p.id = sh.parkingFk WHERE p.sectorFk = vSectorFk ) sub ON sub.id = td.ticketFk - JOIN vn.ticketDown_SelectionType tdst ON tdst.description = 'FREE' + JOIN vn.ticketDown_SelectionType tdst ON tdst.description IN ('FREE', 'APPROVED') JOIN vn.ticketDown_SelectionType tdst2 ON tdst2.description = 'SELECTED' SET td.selected = tdst2.id WHERE td.selected = tdst.id; diff --git a/db/routines/vn/procedures/ticketGetVisibleAvailable.sql b/db/routines/vn/procedures/ticketGetVisibleAvailable.sql index 3717d57e3..7589e2702 100644 --- a/db/routines/vn/procedures/ticketGetVisibleAvailable.sql +++ b/db/routines/vn/procedures/ticketGetVisibleAvailable.sql @@ -12,7 +12,7 @@ BEGIN SELECT t.warehouseFk, t.shipped, ts.alertLevel, al.id INTO vWarehouse, vShipped, vAlertLevel, vAlertLevelFree FROM ticket t - JOIN alertLevel al ON al.code = 'FREE' + JOIN alertLevel al ON al.code IN ('FREE', 'APPROVED') LEFT JOIN ticketState ts ON ts.ticketFk = vTicket WHERE t.id = vTicket; diff --git a/db/routines/vn/procedures/ticket_DelayTruck.sql b/db/routines/vn/procedures/ticket_DelayTruck.sql index 81896dd8e..64598646c 100644 --- a/db/routines/vn/procedures/ticket_DelayTruck.sql +++ b/db/routines/vn/procedures/ticket_DelayTruck.sql @@ -13,7 +13,7 @@ BEGIN CREATE TEMPORARY TABLE tTicket SELECT ticketFk FROM tmp.productionBuffer - JOIN alertLevel al ON al.code = 'FREE' + JOIN alertLevel al ON al.code IN ('FREE', 'APPROVED') WHERE shipped = util.VN_CURDATE() AND problem LIKE '%I:%' AND (HH <= vHour OR HH = vHour AND mm < vMinute) diff --git a/db/routines/vn/procedures/ticket_canMerge.sql b/db/routines/vn/procedures/ticket_canMerge.sql index c3f211027..91b77296c 100644 --- a/db/routines/vn/procedures/ticket_canMerge.sql +++ b/db/routines/vn/procedures/ticket_canMerge.sql @@ -48,14 +48,14 @@ BEGIN WHERE t.shipped BETWEEN TIMESTAMPADD(DAY, vScopeDays,vDated) AND util.dayend(TIMESTAMPADD(DAY, vScopeDays,vDated)) AND t.warehouseFk = vWarehouseFk - AND al.code = 'FREE' + AND al.code IN ('FREE', 'APPROVED') GROUP BY t.id ) sub GROUP BY sub.addressFk ) sub2 ON sub2.addressFk = t.addressFk AND t.id != sub2.id WHERE t.shipped BETWEEN vDated AND util.dayend(vDated) AND t.warehouseFk = vWarehouseFk - AND al.code = 'FREE' + AND al.code IN ('FREE', 'APPROVED') AND tp.ticketFk IS NULL GROUP BY sv.ticketFk HAVING liters <= vLitersMax diff --git a/db/routines/vn/procedures/ticket_canbePostponed.sql b/db/routines/vn/procedures/ticket_canbePostponed.sql index 442059b99..f5065746b 100644 --- a/db/routines/vn/procedures/ticket_canbePostponed.sql +++ b/db/routines/vn/procedures/ticket_canbePostponed.sql @@ -65,7 +65,7 @@ BEGIN ) sub2 ON sub2.addressFk = t.addressFk AND t.id != sub2.id WHERE t.shipped BETWEEN vOriginDated AND util.dayend(vOriginDated) AND t.warehouseFk = vWarehouseFk - AND al.code = 'FREE' + AND al.code IN ('FREE', 'APPROVED') AND tp.ticketFk IS NULL GROUP BY sv.ticketFk HAVING futureId; diff --git a/modules/monitor/back/methods/sales-monitor/salesFilter.js b/modules/monitor/back/methods/sales-monitor/salesFilter.js index 33b37d8a4..513efc412 100644 --- a/modules/monitor/back/methods/sales-monitor/salesFilter.js +++ b/modules/monitor/back/methods/sales-monitor/salesFilter.js @@ -288,7 +288,7 @@ module.exports = Self => { SELECT f.id ticketFk, f.clientFk, f.warehouseFk, f.shipped FROM tmp.filter f LEFT JOIN alertLevel al ON al.id = f.alertLevel - WHERE (al.code = 'FREE' OR f.alertLevel IS NULL) + WHERE (al.code IN ('FREE', 'APPROVED') OR f.alertLevel IS NULL) AND f.shipped >= ?`, [date]); stmts.push(stmt); diff --git a/modules/ticket/back/methods/ticket/filter.js b/modules/ticket/back/methods/ticket/filter.js index 3e8b732af..5ac72539a 100644 --- a/modules/ticket/back/methods/ticket/filter.js +++ b/modules/ticket/back/methods/ticket/filter.js @@ -299,7 +299,7 @@ module.exports = Self => { SELECT f.id ticketFk, f.clientFk, f.warehouseFk, f.shipped FROM tmp.filter f LEFT JOIN alertLevel al ON al.id = f.alertLevel - WHERE (al.code = 'FREE' OR f.alertLevel IS NULL) + WHERE (al.code IN ('FREE', 'APPROVED') OR f.alertLevel IS NULL) AND f.shipped >= ? `, [date]); diff --git a/modules/ticket/back/methods/ticket/getTicketsFuture.js b/modules/ticket/back/methods/ticket/getTicketsFuture.js index 0fd21ea74..41497062f 100644 --- a/modules/ticket/back/methods/ticket/getTicketsFuture.js +++ b/modules/ticket/back/methods/ticket/getTicketsFuture.js @@ -152,7 +152,7 @@ module.exports = Self => { SELECT f.id ticketFk, f.clientFk, f.warehouseFk, f.shipped, f.lines, f.liters FROM tmp.filter f LEFT JOIN alertLevel al ON al.id = f.alertLevel - WHERE (al.code = 'FREE' OR f.alertLevel IS NULL) + WHERE (al.code IN ('FREE', 'APPROVED') OR f.alertLevel IS NULL) `); stmts.push(stmt); From 5e5a8078ca43e2972db6c75311b400a6617e6e53 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 3 Sep 2024 13:59:02 +0200 Subject: [PATCH 11/33] fix: refs #6553 json worker --- modules/worker/back/models/worker.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index a1b6e21b0..0fb1feb1b 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -118,7 +118,8 @@ }, "business": { "type": "hasMany", - "model": "Business" + "model": "Business", + "foreignKey": "workerFk" }, "incomes": { "type": "hasMany", From e2a4c5339a44b8c614d2d149ffecd812d385629f Mon Sep 17 00:00:00 2001 From: carlossa Date: Mon, 16 Dec 2024 13:01:44 +0100 Subject: [PATCH 12/33] fix: refs #6553 fix back --- db/versions/11076-blueChico/00-firstScript.sql | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/db/versions/11076-blueChico/00-firstScript.sql b/db/versions/11076-blueChico/00-firstScript.sql index 84cc82dd9..75fdc0c56 100644 --- a/db/versions/11076-blueChico/00-firstScript.sql +++ b/db/versions/11076-blueChico/00-firstScript.sql @@ -3,21 +3,21 @@ ADD CONSTRAINT `business_companyCodeFk` FOREIGN KEY (`companyCodeFk`) REFERENCES -- Auto-generated SQL script. Actual values for binary/complex data types may differ - what you see is the default string representation of values. INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','hr'); + VALUES ('BusinessReasonEnd','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('CalendarType','*','*','ALLOW','ROLE','hr'); + VALUES ('CalendarType','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('OccupationCode','*','*','ALLOW','ROLE','hr'); + VALUES ('OccupationCode','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('BusinessReasonEnd','*','*','ALLOW','ROLE','hr'); + VALUES ('BusinessReasonEnd','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('WorkerBusinessProfessionalCategory','*','*','ALLOW','ROLE','hr'); + VALUES ('WorkerBusinessProfessionalCategory','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('WorkerBusinessAgreement','*','*','ALLOW','ROLE','hr'); + VALUES ('WorkerBusinessAgreement','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('WorkerBusinessType','*','*','ALLOW','ROLE','hr'); + VALUES ('WorkerBusinessType','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) - VALUES ('PayrollCategory','*','*','ALLOW','ROLE','hr'); + VALUES ('PayrollCategory','find','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) VALUES ('Worker','__get__business','*','ALLOW','ROLE','hr'); INSERT INTO salix.ACL (model,property,accessType,permission,principalType,principalId) From a139c9849c60484a9a9cfd28218b781f11229d48 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 7 Jan 2025 10:33:30 +0100 Subject: [PATCH 13/33] fix: refs #6553 fix model --- modules/worker/back/models/worker.json | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index eb4f5e796..d52b1f57b 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -264,12 +264,36 @@ "relation": "department", "scope": { "fields": [ - "name" + "id" ] } } } }, + { + "relation": "business", + "scope": { + "fields": [ + "id", + "started", + "ended", + "reasonEndFk", + "departmentFk", + "workerBusinessProfessionalCategoryFk" + ], + "include": [ + { + "relation": "reasonEnd", + "scope": { + "fields": [ + "id", + "reason" + ] + } + } + ] + } + }, { "relation": "boss", "scope": { From 358f93c454e6a2db65c0ef7731374584b94f8148 Mon Sep 17 00:00:00 2001 From: carlossa Date: Mon, 13 Jan 2025 12:23:21 +0100 Subject: [PATCH 14/33] fix: refs #6553 fix worker back --- modules/worker/back/models/worker.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index d52b1f57b..80d0f1a71 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -75,6 +75,9 @@ }, "isSsDiscounted": { "type": "boolean" + }, + "businessFk": { + "type": "number" } }, "relations": { From 60f0b169d4697221ebb4ee2e67a2013cbb4e2313 Mon Sep 17 00:00:00 2001 From: carlossa Date: Mon, 13 Jan 2025 13:56:24 +0100 Subject: [PATCH 15/33] fix: refs #6553 fix advanced --- modules/worker/back/models/worker.json | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index 80d0f1a71..e2e4658e2 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -355,6 +355,48 @@ "phone" ] } + }, + { + "relation": "business", + "scope": { + "fields": [ + "id", + "started", + "ended", + "reasonEndFk", + "departmentFk", + "workerBusinessProfessionalCategoryFk" + ], + "include": [ + { + "relation": "reasonEnd", + "scope": { + "fields": [ + "id", + "reason" + ] + } + }, + { + "relation": "department", + "scope": { + "fields": [ + "id", + "name" + ] + } + }, + { + "relation": "workerBusinessProfessionalCategory", + "scope": { + "fields": [ + "id", + "description" + ] + } + } + ] + } } ] } From 024ab8602d6f761e4a918486b90a412ba4f87e9d Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 15 Jan 2025 10:31:49 +0100 Subject: [PATCH 16/33] fix: refs #6553 fix back advanced summary --- modules/worker/back/models/worker.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/worker/back/models/worker.json b/modules/worker/back/models/worker.json index e2e4658e2..346c70d56 100644 --- a/modules/worker/back/models/worker.json +++ b/modules/worker/back/models/worker.json @@ -106,6 +106,11 @@ "model": "WorkerDepartment", "foreignKey": "id" }, + "currentBusiness": { + "type": "belongsTo", + "model": "Business", + "foreignKey": "businessFk" + }, "collegues": { "type": "hasMany", "model": "WorkerTeamCollegues", @@ -344,7 +349,8 @@ "educationLevelFk", "originCountryFk", "maritalStatus", - "SSN" + "SSN", + "businessFk" ], "include": [ { @@ -357,7 +363,7 @@ } }, { - "relation": "business", + "relation": "currentBusiness", "scope": { "fields": [ "id", From ba2333f1802be0fe01ea669dce417441c7c6127a Mon Sep 17 00:00:00 2001 From: jgallego Date: Mon, 27 Jan 2025 15:05:27 +0100 Subject: [PATCH 17/33] refactor: refs #7686 remove unused stored procedures for item shelving and ticket delay --- .../vn/procedures/itemShelvingRadar.sql | 207 ------------------ .../vn/procedures/ticket_DelayTruck.sql | 36 --- .../vn/procedures/ticket_DelayTruckSplit.sql | 59 ----- 3 files changed, 302 deletions(-) delete mode 100644 db/routines/vn/procedures/itemShelvingRadar.sql delete mode 100644 db/routines/vn/procedures/ticket_DelayTruck.sql delete mode 100644 db/routines/vn/procedures/ticket_DelayTruckSplit.sql diff --git a/db/routines/vn/procedures/itemShelvingRadar.sql b/db/routines/vn/procedures/itemShelvingRadar.sql deleted file mode 100644 index 8db3eb09a..000000000 --- a/db/routines/vn/procedures/itemShelvingRadar.sql +++ /dev/null @@ -1,207 +0,0 @@ -DELIMITER $$ -CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`itemShelvingRadar`( - vSectorFk INT -) -BEGIN -/** - * Calcula la información detallada respecto un sector. - * - * @param vSectorFk Id de sector - */ - DECLARE vCalcVisibleFk INT; - DECLARE vCalcAvailableFk INT; - DECLARE hasFatherSector BOOLEAN; - DECLARE vBuyerFk INT DEFAULT 0; - DECLARE vWarehouseFk INT DEFAULT 0; - DECLARE vSonSectorFk INT; - DECLARE vWorkerFk INT; - - SELECT s.workerFk INTO vWorkerFk - FROM sector s - WHERE s.id = vSectorFk; - - SELECT COUNT(*) INTO hasFatherSector - FROM sector - WHERE sonFk = vSectorFk; - - SELECT warehouseFk, sonFk INTO vWarehouseFk, vSonSectorFk - FROM sector - WHERE id = vSectorFk; - - CALL cache.visible_refresh(vCalcVisibleFk, TRUE, vWarehouseFk); - CALL cache.available_refresh(vCalcAvailableFk, FALSE, vWarehouseFk, util.VN_CURDATE()); - - IF hasFatherSector THEN - CREATE OR REPLACE TEMPORARY TABLE tItemShelvingRadar - (PRIMARY KEY (itemFk)) - ENGINE = MEMORY - SELECT * - FROM ( - SELECT iss.itemFk, - i.longName, - i.size, - i.subName producer, - IFNULL(a.available, 0) available, - SUM(IF(s.sonFk = vSectorFk, IFNULL(iss.visible, 0), 0)) upstairs, - SUM(IF(iss.sectorFk = vSectorFk, IFNULL(iss.visible, 0), 0)) downstairs, - IF(it.isPackaging, NULL, IFNULL(v.visible, 0)) visible, - vSectorFk sectorFk, - ish.isChecked, - sub.isAllChecked - FROM itemShelvingStock iss - JOIN itemShelving ish ON ish.id = iss.itemShelvingFk - LEFT JOIN ( - SELECT itemFk, - IF( - COUNT(*) = SUM(IF(isChecked >= 0, 1, 0)), - TRUE, - FALSE - ) isAllChecked - FROM itemShelving is2 - GROUP BY itemFk - ) sub ON sub.itemFk = ish.itemFk - JOIN sector s ON s.id = iss.sectorFk - JOIN item i ON i.id = iss.itemFk - JOIN itemType it ON it.id = i.typeFk - LEFT JOIN cache.available a ON a.item_id = iss.itemFk - AND a.calc_id = vCalcAvailableFk - LEFT JOIN cache.visible v ON v.item_id = iss.itemFk - AND v.calc_id = vCalcVisibleFk - WHERE vSectorFk IN (iss.sectorFk, s.sonFk) - GROUP BY iss.itemFk - UNION ALL - SELECT v.item_id, - i.longName, - i.size, - i.subName, - IFNULL(a.available, 0), - 0, - 0, - IF(it.isPackaging, NULL, v.visible), - vSectorFk, - NULL, - NULL - FROM cache.visible v - JOIN item i ON i.id = v.item_id - JOIN itemType it ON it.id = i.typeFk - LEFT JOIN itemShelvingStock iss ON iss.itemFk = v.item_id - AND iss.warehouseFk = vWarehouseFk - LEFT JOIN cache.available a ON a.item_id = v.item_id - AND a.calc_id = vCalcAvailableFk - WHERE v.calc_id = vCalcVisibleFk - AND iss.itemFk IS NULL - AND it.isInventory - ) sub - GROUP BY itemFk; - - SELECT ishr.*, - CAST(visible - upstairs - downstairs AS DECIMAL(10, 0)) nicho, - CAST(downstairs - IFNULL(notPickedYed, 0) AS DECIMAL(10, 0)) pendiente - FROM tItemShelvingRadar ishr - JOIN item i ON i.id = ishr.itemFk - LEFT JOIN ( - SELECT s.itemFk, SUM(s.quantity) notPickedYed - FROM ticket t - JOIN ticketStateToday tst ON tst.ticketFk = t.id - JOIN alertLevel al ON al.id = tst.alertLevel - JOIN sale s ON s.ticketFk = t.id - WHERE t.warehouseFk = vWarehouseFk - AND al.code IN ('FREE', 'APPROVED') - GROUP BY s.itemFk - ) sub ON sub.itemFk = ishr.itemFk - ORDER BY i.typeFk, i.longName; - ELSE - CREATE OR REPLACE TEMPORARY TABLE tItemShelvingRadar - (PRIMARY KEY (itemFk)) - ENGINE = MEMORY - SELECT iss.itemFk, - 0 `hour`, - 0 `minute`, - '--' itemPlacementCode, - i.longName, - i.size, - i.subName producer, - i.upToDown, - IFNULL(a.available, 0) available, - IFNULL(v.visible - iss.visible, 0) dayEndVisible, - IFNULL(v.visible - iss.visible, 0) firstNegative, - IFNULL(v.visible - iss.visible, 0) itemPlacementVisible, - IFNULL(i.minimum * b.packing, 0) itemPlacementSize, - ips.onTheWay, - iss.visible itemShelvingStock, - IFNULL(v.visible, 0) visible, - b.isPickedOff, - iss.sectorFk - FROM itemShelvingStock iss - JOIN item i ON i.id = iss.itemFk - LEFT JOIN cache.last_buy lb ON lb.item_id = iss.itemFk - AND lb.warehouse_id = vWarehouseFk - LEFT JOIN buy b ON b.id = lb.buy_id - LEFT JOIN cache.available a ON a.item_id = iss.itemFk - AND a.calc_id = vCalcAvailableFk - LEFT JOIN cache.visible v ON v.item_id = iss.itemFk - AND v.calc_id = vCalcVisibleFk - LEFT JOIN ( - SELECT itemFk, SUM(saldo) onTheWay - FROM itemPlacementSupplyList - WHERE saldo > 0 - GROUP BY itemFk - ) ips ON ips.itemFk = i.id - WHERE iss.sectorFk = vSectorFk - OR iss.sectorFk IS NULL; - - CREATE OR REPLACE TEMPORARY TABLE tmp.itemOutTime - SELECT *, SUM(amount) quantity - FROM ( - SELECT io.itemFk, - io.quantity amount, - IF(HOUR(t.shipped), HOUR(t.shipped), HOUR(z.`hour`)) `hours`, - IF(MINUTE(t.shipped), MINUTE(t.shipped), MINUTE(z.`hour`)) `minutes` - FROM itemTicketOut `io` - JOIN tItemShelvingRadar isr ON isr.itemFk = io.itemFk - JOIN ticket t ON t.id= io.ticketFk - JOIN ticketState ts ON ts.ticketFk = io.ticketFk - JOIN `state` s ON s.id = ts.stateFk - LEFT JOIN `zone` z ON z.id = t.zoneFk - LEFT JOIN ( - SELECT DISTINCT saleFk - FROM saleTracking st - WHERE st.created > util.VN_CURDATE() - AND st.isChecked - ) stPrevious ON stPrevious.saleFk = io.saleFk - WHERE t.warehouseFk = vWarehouseFk - AND NOT s.isPicked - AND NOT io.reserved - AND stPrevious.saleFk IS NULL - AND io.shipped >= util.VN_CURDATE() - AND io.shipped < util.VN_CURDATE() + INTERVAL 1 DAY - ) sub - GROUP BY itemFk, `hours`, `minutes`; - - INSERT INTO tItemShelvingRadar (itemFk) - SELECT itemFk FROM tmp.itemOutTime - ON DUPLICATE KEY UPDATE dayEndVisible = dayEndVisible + quantity, - firstNegative = IF(firstNegative < 0, firstNegative, firstNegative + quantity), - `hour` = IFNULL(IF(firstNegative > 0 , `hour`, `hours`), 0), - `minute` = IFNULL(IF(firstNegative > 0, `minute`, `minutes`), 0); - - UPDATE tItemShelvingRadar isr - JOIN ( - SELECT s.itemFk, SUM(s.quantity) amount - FROM sale s - JOIN ticket t ON t.id = s.ticketFk - JOIN ticketState ts ON ts.ticketFk = t.id - WHERE t.shipped BETWEEN util.VN_CURDATE() AND util.dayend(util.VN_CURDATE()) - AND ts.code = 'COOLER_PREPARATION' - GROUP BY s.itemFk - ) sub ON sub.itemFk = isr.itemFk - SET isr.dayEndVisible = dayEndVisible + sub.amount, - firstNegative = firstNegative + sub.amount; - - SELECT * FROM tItemShelvingRadar; - END IF; - - DROP TEMPORARY TABLE tItemShelvingRadar; - -END$$ -DELIMITER ; diff --git a/db/routines/vn/procedures/ticket_DelayTruck.sql b/db/routines/vn/procedures/ticket_DelayTruck.sql deleted file mode 100644 index 29d13ca0d..000000000 --- a/db/routines/vn/procedures/ticket_DelayTruck.sql +++ /dev/null @@ -1,36 +0,0 @@ -DELIMITER $$ -CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`ticket_DelayTruck`(vWarehouserFk INT, vHour INT, vMinute INT) -BEGIN - DECLARE done INT DEFAULT FALSE; - DECLARE vTicketFk INT; - DECLARE cur1 CURSOR FOR SELECT ticketFk FROM tTicket; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - CALL vn.productionControl(vWarehouserFk,0) ; - - DROP TEMPORARY TABLE IF EXISTS tTicket; - CREATE TEMPORARY TABLE tTicket - SELECT ticketFk - FROM tmp.productionBuffer - JOIN alertLevel al ON al.code IN ('FREE', 'APPROVED') - WHERE shipped = util.VN_CURDATE() - AND problem LIKE '%I:%' - AND (HH <= vHour OR HH = vHour AND mm < vMinute) - AND alertLevel = al.id; - - OPEN cur1; - - read_loop: LOOP - FETCH cur1 INTO vTicketFk; - IF done THEN - LEAVE read_loop; - END IF; - - CALL vn.ticket_DelayTruckSplit(vTicketFk); - END LOOP; - - CLOSE cur1; - DROP TEMPORARY TABLE tTicket, tmp.productionBuffer; -END$$ -DELIMITER ; diff --git a/db/routines/vn/procedures/ticket_DelayTruckSplit.sql b/db/routines/vn/procedures/ticket_DelayTruckSplit.sql deleted file mode 100644 index 3d22207f3..000000000 --- a/db/routines/vn/procedures/ticket_DelayTruckSplit.sql +++ /dev/null @@ -1,59 +0,0 @@ -DELIMITER $$ -CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`ticket_DelayTruckSplit`( - vTicketFk INT -) -BEGIN -/** - * Splita las lineas de ticket que no estan ubicadas - * - * @param vTicketFk Id ticket - */ - DECLARE vNewTicketFk INT; - DECLARE vTotalLines INT; - DECLARE vLinesToSplit INT; - - DROP TEMPORARY TABLE IF EXISTS tmp.SalesToSplit; - - SELECT COUNT(*) INTO vTotalLines - FROM sale - WHERE ticketFk = vTicketFk; - - CREATE TEMPORARY TABLE tmp.SalesToSplit - SELECT s.id saleFk - FROM ticket t - JOIN sale s ON t.id = s.ticketFk - LEFT JOIN ( - SELECT ish.itemFk itemFk, - SUM(ish.visible) visible, - s.warehouseFk warehouseFk - FROM itemShelving ish - JOIN shelving sh ON sh.id = ish.shelvingFk - JOIN parking p ON p.id = sh.parkingFk - JOIN sector s ON s.id = p.sectorFk - GROUP BY ish.itemFk, - s.warehouseFk - ) issw ON issw.itemFk = s.itemFk - AND issw.warehouseFk = t.warehouseFk - WHERE s.quantity > IFNULL(issw.visible, 0) - AND s.quantity > 0 - AND NOT s.isPicked - AND NOT s.reserved - AND t.id = vTicketFk; - - SELECT COUNT(*) INTO vLinesToSplit - FROM tmp.SalesToSplit; - - IF vLinesToSplit = vTotalLines AND vLinesToSplit > 0 THEN - SET vNewTicketFk = vTicketFk; - ELSE - CALL ticket_Clone(vTicketFk, vNewTicketFk); - UPDATE sale s - JOIN tmp.SalesToSplit sts ON sts.saleFk = s.id - SET s.ticketFk = vNewTicketFk; - END IF; - - CALL ticket_setState(vNewTicketFk, 'FIXING'); - - DROP TEMPORARY TABLE tmp.SalesToSplit; -END$$ -DELIMITER ; From 857874c4c6cfda3984482a3ecea91f06ec4004e8 Mon Sep 17 00:00:00 2001 From: jgallego Date: Mon, 27 Jan 2025 15:43:26 +0100 Subject: [PATCH 18/33] refactor: refs #7686 remove obsolete alert level updates and adjust state alert level logic --- db/versions/11202-limeRuscus/00-addAlertLevel.sql | 6 ------ .../11202-limeRuscus/01-updateStateAlertLevel.sql | 9 +-------- modules/ticket/back/methods/state/isEditable.js | 4 ++-- 3 files changed, 3 insertions(+), 16 deletions(-) delete mode 100644 db/versions/11202-limeRuscus/00-addAlertLevel.sql diff --git a/db/versions/11202-limeRuscus/00-addAlertLevel.sql b/db/versions/11202-limeRuscus/00-addAlertLevel.sql deleted file mode 100644 index 1f667946b..000000000 --- a/db/versions/11202-limeRuscus/00-addAlertLevel.sql +++ /dev/null @@ -1,6 +0,0 @@ -UPDATE vn.alertLevel SET id = 5 WHERE id = 4; -UPDATE vn.alertLevel SET id = 4 WHERE id = 3; -UPDATE vn.alertLevel SET id = 3 WHERE id = 2; -UPDATE vn.alertLevel SET id = 2 WHERE id = 1; -INSERT INTO vn.alertLevel (code, id, hasToRecalcPrice) - VALUES ('APPROVED', 1, 1) \ No newline at end of file diff --git a/db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql b/db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql index f7261c08a..c49ad71ed 100644 --- a/db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql +++ b/db/versions/11202-limeRuscus/01-updateStateAlertLevel.sql @@ -1,12 +1,5 @@ UPDATE vn.state - SET alertLevel = 1 -- APPROVED - WHERE id IN ( - 3, -- Ok - 4 -- Impreso - ); - -UPDATE vn.state - SET alertLevel = 2 -- ON_PREVIOUS + SET alertLevel = 1 -- ON_PREVIOUS WHERE id IN ( 36, -- Previa Revisando 37, -- Previa Revisado diff --git a/modules/ticket/back/methods/state/isEditable.js b/modules/ticket/back/methods/state/isEditable.js index ec246c61f..696183827 100644 --- a/modules/ticket/back/methods/state/isEditable.js +++ b/modules/ticket/back/methods/state/isEditable.js @@ -34,8 +34,8 @@ module.exports = Self => { state.code == 'PICKER_DESIGNED' || state.code == 'PRINTED' ) ); - - const isAllowed = isAllEditable || isSomeEditable || state.alertLevel == 0; + const alertLevel = await models.AlertLevel.findOne({where: {code: 'FREE'}}, myOptions); + const isAllowed = isAllEditable || isSomeEditable || state.alertLevel == alertLevel.id; return isAllowed; }; }; From 08d241436320e3a66bdf974df595e65fe030b8ef Mon Sep 17 00:00:00 2001 From: jgallego Date: Tue, 28 Jan 2025 09:16:19 +0100 Subject: [PATCH 19/33] refactor: refs #7686 update editableStates tests to check for 'OK' and 'Bloqueado' states --- .../ticket/back/methods/state/specs/editableState.spec.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/ticket/back/methods/state/specs/editableState.spec.js b/modules/ticket/back/methods/state/specs/editableState.spec.js index 2e1ce0c19..0c4024bbc 100644 --- a/modules/ticket/back/methods/state/specs/editableState.spec.js +++ b/modules/ticket/back/methods/state/specs/editableState.spec.js @@ -35,9 +35,9 @@ describe('ticket editableStates()', () => { const editableStates = await models.State.editableStates(ctx, filter, options); - const pickerDesignedState = editableStates.some(state => state.code == 'PICKER_DESIGNED'); + const okState = editableStates.some(state => state.code == 'OK'); - expect(pickerDesignedState).toBeTruthy(); + expect(okState).toBeTruthy(); await tx.rollback(); } catch (e) { @@ -54,11 +54,11 @@ describe('ticket editableStates()', () => { const employeeRole = 1; const ctx = {req: {accessToken: {userId: employeeRole}}}; - const filter = {where: {name: {like: '%Previa OK%'}}}; + const filter = {where: {name: {like: '%Bloqueado%'}}}; const [editableStates] = await models.State.editableStates(ctx, filter, options); - expect(editableStates.name).toBe('Previa OK'); + expect(editableStates.name).toBe('Bloqueado'); await tx.rollback(); } catch (e) { From 821e2cbe4d4a95614ef724b621c1b15f85684895 Mon Sep 17 00:00:00 2001 From: ivanm Date: Tue, 28 Jan 2025 19:11:56 +0100 Subject: [PATCH 20/33] feat: refs #8312 new column packaging.rejectCost --- db/versions/11427-azureChico/00-firstScript.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 db/versions/11427-azureChico/00-firstScript.sql diff --git a/db/versions/11427-azureChico/00-firstScript.sql b/db/versions/11427-azureChico/00-firstScript.sql new file mode 100644 index 000000000..8c232efcc --- /dev/null +++ b/db/versions/11427-azureChico/00-firstScript.sql @@ -0,0 +1,2 @@ +ALTER TABLE vn.packaging + ADD COLUMN rejectCost decimal(10, 2) NOT NULL DEFAULT 0.00 \ No newline at end of file From ad29b265536264cdeef682ed608ca7e4459c2497 Mon Sep 17 00:00:00 2001 From: jtubau Date: Wed, 29 Jan 2025 12:43:03 +0100 Subject: [PATCH 21/33] refactor: refs #7414 update Spanish translation for 'total' to 'importe' --- modules/ticket/back/locale/sale/es.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ticket/back/locale/sale/es.yml b/modules/ticket/back/locale/sale/es.yml index e6a984a5d..eefd05d83 100644 --- a/modules/ticket/back/locale/sale/es.yml +++ b/modules/ticket/back/locale/sale/es.yml @@ -15,4 +15,4 @@ columns: priceFixed: precio fijado isPriceFixed: tiene precio fijado isAdded: añadida - total: total + total: importe From 70d286df805b725fccf67352df0d5a89c255384e Mon Sep 17 00:00:00 2001 From: ivanm Date: Wed, 29 Jan 2025 14:59:19 +0100 Subject: [PATCH 22/33] feat: refs #8487 deprecate travel.appointment --- db/versions/11428-blackArborvitae/00-firstScript.sql | 1 + 1 file changed, 1 insertion(+) create mode 100644 db/versions/11428-blackArborvitae/00-firstScript.sql diff --git a/db/versions/11428-blackArborvitae/00-firstScript.sql b/db/versions/11428-blackArborvitae/00-firstScript.sql new file mode 100644 index 000000000..4e9aecafa --- /dev/null +++ b/db/versions/11428-blackArborvitae/00-firstScript.sql @@ -0,0 +1 @@ +ALTER TABLE vn.travel CHANGE appointment appointment__ datetime DEFAULT NULL COMMENT '@deprecated 2025-01-28'; \ No newline at end of file From 2a7795d432c07c60b215a4b63b72ccd5756e49c9 Mon Sep 17 00:00:00 2001 From: ivanm Date: Wed, 29 Jan 2025 19:24:49 +0100 Subject: [PATCH 23/33] feat: refs #8477 add fee column to awb table --- db/versions/11429-brownBamboo/00-firstScript.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 db/versions/11429-brownBamboo/00-firstScript.sql diff --git a/db/versions/11429-brownBamboo/00-firstScript.sql b/db/versions/11429-brownBamboo/00-firstScript.sql new file mode 100644 index 000000000..152d4b2e3 --- /dev/null +++ b/db/versions/11429-brownBamboo/00-firstScript.sql @@ -0,0 +1,2 @@ +ALTER TABLE `vn`.`awb` + ADD COLUMN `fee` DECIMAL(10, 2) UNSIGNED DEFAULT NULL; \ No newline at end of file From 0a89a6a6fdb366e944ad6c8527c5dde86f21ba94 Mon Sep 17 00:00:00 2001 From: Jon Date: Thu, 30 Jan 2025 12:40:48 +0100 Subject: [PATCH 24/33] fix: refs #7488 deleted nif validation --- modules/worker/back/models/worker.js | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/modules/worker/back/models/worker.js b/modules/worker/back/models/worker.js index 97e6a283c..4895a6107 100644 --- a/modules/worker/back/models/worker.js +++ b/modules/worker/back/models/worker.js @@ -1,5 +1,4 @@ module.exports = Self => { - const validateTin = require('vn-loopback/util/validateTin'); require('../methods/worker/filter')(Self); require('../methods/worker/mySubordinates')(Self); require('../methods/worker/isSubordinate')(Self); @@ -23,26 +22,10 @@ module.exports = Self => { require('../methods/worker/getAvailablePda')(Self); require('../methods/worker/myTeam')(Self); - Self.validateAsync('fi', tinIsValid, { - message: 'Invalid TIN' - }); - Self.canModifyAbsenceInPast = async(ctx, time) => { const hasPrivs = await Self.app.models.ACL.checkAccessAcl(ctx, 'Worker', 'canModifyAbsenceInPast', 'WRITE'); const today = Date.vnNew(); today.setHours(0, 0, 0, 0); return hasPrivs || today.getTime() < time; }; - - async function tinIsValid(err, done) { - const country = await Self.app.models.Country.findOne({ - fields: ['code'], - where: {id: this.originCountryFk} - }); - const code = country ? country.code.toLowerCase() : null; - - if (!this.fi || !validateTin(this.fi, code)) - err(); - done(); - } }; From e0e72272a73b4c5c81a20ba37f20edc20eb9828b Mon Sep 17 00:00:00 2001 From: ivanm Date: Thu, 30 Jan 2025 17:35:30 +0100 Subject: [PATCH 25/33] feat: refs #8312 change column name --- db/versions/11427-azureChico/00-firstScript.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/versions/11427-azureChico/00-firstScript.sql b/db/versions/11427-azureChico/00-firstScript.sql index 8c232efcc..34a8c8d14 100644 --- a/db/versions/11427-azureChico/00-firstScript.sql +++ b/db/versions/11427-azureChico/00-firstScript.sql @@ -1,2 +1,2 @@ ALTER TABLE vn.packaging - ADD COLUMN rejectCost decimal(10, 2) NOT NULL DEFAULT 0.00 \ No newline at end of file + ADD COLUMN flippingCost decimal(10, 2) NOT NULL DEFAULT 0.00 \ No newline at end of file From 148072b39ddb08108fc7a659b2e4dd67f8e6eb19 Mon Sep 17 00:00:00 2001 From: ivanm Date: Thu, 30 Jan 2025 17:58:39 +0100 Subject: [PATCH 26/33] feat: refs #8477 change column name and add comment --- db/versions/11429-brownBamboo/00-firstScript.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/versions/11429-brownBamboo/00-firstScript.sql b/db/versions/11429-brownBamboo/00-firstScript.sql index 152d4b2e3..726856e76 100644 --- a/db/versions/11429-brownBamboo/00-firstScript.sql +++ b/db/versions/11429-brownBamboo/00-firstScript.sql @@ -1,2 +1,2 @@ ALTER TABLE `vn`.`awb` - ADD COLUMN `fee` DECIMAL(10, 2) UNSIGNED DEFAULT NULL; \ No newline at end of file + ADD COLUMN `costPerKg` DECIMAL(10, 2) UNSIGNED DEFAULT NULL COMMENT 'Tarifa que indica a cuanto cuesta el kilo en ese vuelo'; \ No newline at end of file From 53ee0c16170f0e133b33a98fc878801940c4989e Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 31 Jan 2025 09:17:15 +0100 Subject: [PATCH 27/33] fix: fixed country field --- modules/client/back/methods/client/filter.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/client/back/methods/client/filter.js b/modules/client/back/methods/client/filter.js index 7df973f19..c217b2a86 100644 --- a/modules/client/back/methods/client/filter.js +++ b/modules/client/back/methods/client/filter.js @@ -158,10 +158,12 @@ module.exports = Self => { a.provinceFk AS provinceAddressFk, p.name AS province, u.id AS salesPersonFk, - u.name AS salesPerson + u.name AS salesPerson, + co.name AS country FROM client c LEFT JOIN account.user u ON u.id = c.salesPersonFk LEFT JOIN province p ON p.id = c.provinceFk + LEFT JOIN country co ON co.id = c.countryFk JOIN address a ON a.clientFk = c.id ` ); From da5e395450626fd9823eb014d88e02e874b8bf9b Mon Sep 17 00:00:00 2001 From: ivanm Date: Fri, 31 Jan 2025 10:17:01 +0100 Subject: [PATCH 28/33] feat: refs #8312 add flippingCost column to Cubos view --- db/routines/vn2008/views/Cubos.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/db/routines/vn2008/views/Cubos.sql b/db/routines/vn2008/views/Cubos.sql index 1b23af4fc..7ca82e66e 100644 --- a/db/routines/vn2008/views/Cubos.sql +++ b/db/routines/vn2008/views/Cubos.sql @@ -18,5 +18,6 @@ AS SELECT `p`.`id` AS `Id_Cubo`, `p`.`base` AS `Base`, `p`.`isBox` AS `box`, `p`.`returnCost` AS `costeRetorno`, - `p`.`isActive` AS `isActive` + `p`.`isActive` AS `isActive`, + `p`.`flippingCost` AS `flippingCost` FROM `vn`.`packaging` `p` From 5c4f31e6af867f2182e962d61d48ef33c5e2fa00 Mon Sep 17 00:00:00 2001 From: jtubau Date: Fri, 31 Jan 2025 10:25:43 +0100 Subject: [PATCH 29/33] refactor: refs #7537 address display all digits in black in driver route report --- print/templates/reports/driver-route/driver-route.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/print/templates/reports/driver-route/driver-route.html b/print/templates/reports/driver-route/driver-route.html index e3a206656..8e69d6c65 100644 --- a/print/templates/reports/driver-route/driver-route.html +++ b/print/templates/reports/driver-route/driver-route.html @@ -90,8 +90,7 @@ {{ticket.id}} {{ticket.clientFk}} {{ticket.addressName}} - {{ticket.addressFk.toString().substr(0, ticket.addressFk.toString().length - 3)}} - {{ticket.addressFk.toString().substr(-3, 3)}} + {{ticket.addressFk.toString()}} {{ticket.packages}} {{ticket.itemPackingTypes}} From fa9b9cc5a3e46b45f7e116e63a6df19e8701151d Mon Sep 17 00:00:00 2001 From: ivanm Date: Fri, 31 Jan 2025 11:06:24 +0100 Subject: [PATCH 30/33] feat: refs #8312 modify fixtures.before --- 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 b7197d1db..c08938f04 100644 --- a/db/dump/fixtures.before.sql +++ b/db/dump/fixtures.before.sql @@ -3207,7 +3207,7 @@ UPDATE vn.department SET workerFk = null; INSERT INTO vn.packaging - VALUES('--', 2745600.00, 100.00, 120.00, 220.00, 0.00, 1, '2001-01-01 00:00:00.000', NULL, NULL, NULL, 0.00, 16, 0.00, 0, NULL, 0.00, NULL, NULL, 0, NULL, 0, 0,0,1); + VALUES('--', 2745600.00, 100.00, 120.00, 220.00, 0.00, 1, '2001-01-01 00:00:00.000', NULL, NULL, NULL, 0.00, 16, 0.00, 0, NULL, 0.00, NULL, NULL, 0, NULL, 0, 0,0,1,0); INSERT IGNORE INTO vn.intrastat From 2e4c5fe40173352479ce17f2a985952b588ebfb1 Mon Sep 17 00:00:00 2001 From: ivanm Date: Fri, 31 Jan 2025 12:10:19 +0100 Subject: [PATCH 31/33] feat: refs #8477 add costPerKg to awb view --- db/routines/vn2008/views/awb.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/db/routines/vn2008/views/awb.sql b/db/routines/vn2008/views/awb.sql index 010596288..a32571888 100644 --- a/db/routines/vn2008/views/awb.sql +++ b/db/routines/vn2008/views/awb.sql @@ -29,5 +29,6 @@ AS SELECT `a`.`id` AS `id`, `a`.`invoiceInPaletizedFk` AS `invoiceInPaletizedFk`, `a`.`observation` AS `observation`, `a`.`hasFreightPrepaid` AS `hasFreightPrepaid`, - `a`.`propertyNumber` AS `propertyNumber` + `a`.`propertyNumber` AS `propertyNumber`, + `a`.`costPerKg` AS `costPerKg` FROM `vn`.`awb` `a` From adba4765ed59662ae480f170dab684599906ebbd Mon Sep 17 00:00:00 2001 From: jgallego Date: Mon, 3 Feb 2025 09:07:08 +0100 Subject: [PATCH 32/33] refactor: refs #7686 update alert level conditions to only check for 'FREE' --- .../inventoryDiscrepancyDetail_replace.sql | 12 ++++++------ .../hedera/procedures/order_confirmWithUser.sql | 2 +- db/routines/vn/procedures/productionControl.sql | 6 +++--- .../vn/procedures/ticketDown_PrintableSelection.sql | 2 +- .../vn/procedures/ticketGetVisibleAvailable.sql | 2 +- db/routines/vn/procedures/ticket_canMerge.sql | 6 +++--- db/routines/vn/procedures/ticket_canbePostponed.sql | 2 +- .../back/methods/sales-monitor/salesFilter.js | 2 +- modules/ticket/back/methods/ticket/filter.js | 2 +- .../ticket/back/methods/ticket/getTicketsFuture.js | 2 +- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql b/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql index a30e47be3..6894b2928 100644 --- a/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql +++ b/db/routines/bs/procedures/inventoryDiscrepancyDetail_replace.sql @@ -9,7 +9,7 @@ BEGIN DECLARE vCalc INT; DECLARE vWarehouseFk INT; - DECLARE cWarehouses CURSOR FOR + DECLARE cWarehouses CURSOR FOR SELECT id FROM vn.warehouse WHERE isInventory; @@ -22,13 +22,13 @@ BEGIN read_loop: LOOP SET vDone = FALSE; FETCH cWarehouses INTO vWarehouseFk; - + IF vDone THEN LEAVE read_loop; END IF; - + CALL cache.visible_refresh(vCalc, FALSE, vWarehouseFk); - + CREATE OR REPLACE TEMPORARY TABLE tVisible SELECT itemFk, SUM(visible) totalVisible FROM vn.itemShelving ish @@ -37,7 +37,7 @@ BEGIN JOIN vn.sector sc ON sc.id = p.sectorFk WHERE sc.warehouseFk = vWarehouseFk GROUP BY itemFk; - + INSERT INTO inventoryDiscrepancyDetail( warehouseFk, itemFk, @@ -66,7 +66,7 @@ BEGIN JOIN vn.alertLevel al ON al.id = ts.alertLevel WHERE t.shipped BETWEEN util.VN_CURDATE() AND util.dayend(util.VN_CURDATE()) AND NOT s.isPicked - AND al.code IN ('FREE', 'APPROVED') + AND al.code = 'FREE' AND t.warehouseFk = vWarehouseFk GROUP BY s.itemFk HAVING notPicked diff --git a/db/routines/hedera/procedures/order_confirmWithUser.sql b/db/routines/hedera/procedures/order_confirmWithUser.sql index 39da09a96..db83cba5c 100644 --- a/db/routines/hedera/procedures/order_confirmWithUser.sql +++ b/db/routines/hedera/procedures/order_confirmWithUser.sql @@ -147,7 +147,7 @@ BEGIN ) SELECT t.id INTO vTicketFk FROM vn.ticket t - JOIN vn.alertLevel al ON al.code IN ('FREE', 'APPROVED') + JOIN vn.alertLevel al ON al.code = 'FREE' LEFT JOIN tPrevia tp ON tp.ticketFk = t.id LEFT JOIN vn.ticketState tls ON tls.ticketFk = t.id JOIN hedera.`order` o ON o.address_id = t.addressFk diff --git a/db/routines/vn/procedures/productionControl.sql b/db/routines/vn/procedures/productionControl.sql index 8d85062ba..aa52a52c5 100644 --- a/db/routines/vn/procedures/productionControl.sql +++ b/db/routines/vn/procedures/productionControl.sql @@ -80,7 +80,7 @@ proc: BEGIN rm.bufferFk FROM tmp.productionTicket tt JOIN ticket t ON tt.ticketFk = t.id - JOIN alertLevel al ON al.code = 'APPROVED' + JOIN alertLevel al ON al.code = 'FREE' LEFT JOIN ticketStateToday tst ON tst.ticketFk = t.id LEFT JOIN `state` st ON st.id = tst.state LEFT JOIN client c ON c.id = t.clientFk @@ -266,14 +266,14 @@ proc: BEGIN UPDATE tmp.productionBuffer pb JOIN sale s ON s.ticketFk = pb.ticketFk JOIN item i ON i.id = s.itemFk - JOIN cache.last_buy lb ON lb.warehouse_id = vWarehouseFk + JOIN cache.last_buy lb ON lb.warehouse_id = vWarehouseFk AND lb.item_id = s.itemFk JOIN buy b ON b.id = lb.buy_id JOIN packaging p ON p.id = b.packagingFk SET pb.hasPlantTray = TRUE WHERE p.isPlantTray AND s.quantity >= b.packing - AND pb.isOwn; + AND pb.isOwn; DROP TEMPORARY TABLE tmp.productionTicket, diff --git a/db/routines/vn/procedures/ticketDown_PrintableSelection.sql b/db/routines/vn/procedures/ticketDown_PrintableSelection.sql index 619c8b20f..8f448d647 100644 --- a/db/routines/vn/procedures/ticketDown_PrintableSelection.sql +++ b/db/routines/vn/procedures/ticketDown_PrintableSelection.sql @@ -13,7 +13,7 @@ BEGIN JOIN vn.parking p ON p.id = sh.parkingFk WHERE p.sectorFk = vSectorFk ) sub ON sub.id = td.ticketFk - JOIN vn.ticketDown_SelectionType tdst ON tdst.description IN ('FREE', 'APPROVED') + JOIN vn.ticketDown_SelectionType tdst ON tdst.description = 'FREE' JOIN vn.ticketDown_SelectionType tdst2 ON tdst2.description = 'SELECTED' SET td.selected = tdst2.id WHERE td.selected = tdst.id; diff --git a/db/routines/vn/procedures/ticketGetVisibleAvailable.sql b/db/routines/vn/procedures/ticketGetVisibleAvailable.sql index cb7fe20e9..01010f548 100644 --- a/db/routines/vn/procedures/ticketGetVisibleAvailable.sql +++ b/db/routines/vn/procedures/ticketGetVisibleAvailable.sql @@ -12,7 +12,7 @@ BEGIN SELECT t.warehouseFk, t.shipped, ts.alertLevel, al.id INTO vWarehouse, vShipped, vAlertLevel, vAlertLevelFree FROM ticket t - JOIN alertLevel al ON al.code IN ('FREE', 'APPROVED') + JOIN alertLevel al ON al.code = 'FREE' LEFT JOIN ticketState ts ON ts.ticketFk = vTicket WHERE t.id = vTicket; diff --git a/db/routines/vn/procedures/ticket_canMerge.sql b/db/routines/vn/procedures/ticket_canMerge.sql index 82ce5f201..d0737f00f 100644 --- a/db/routines/vn/procedures/ticket_canMerge.sql +++ b/db/routines/vn/procedures/ticket_canMerge.sql @@ -3,7 +3,7 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`ticket_canMerge`(vDat BEGIN /** * Devuelve un listado de tickets susceptibles de fusionarse con otros tickets en el futuro - * + * * @param vDated Fecha en cuestión * @param vScopeDays Dias en el futuro a sondear * @param vLitersMax Volumen máximo de los tickets a catapultar @@ -48,14 +48,14 @@ BEGIN WHERE t.shipped BETWEEN TIMESTAMPADD(DAY, vScopeDays,vDated) AND util.dayend(TIMESTAMPADD(DAY, vScopeDays,vDated)) AND t.warehouseFk = vWarehouseFk - AND al.code IN ('FREE', 'APPROVED') + AND al.code = 'FREE' GROUP BY t.id ) sub GROUP BY sub.addressFk ) sub2 ON sub2.addressFk = t.addressFk AND t.id != sub2.id WHERE t.shipped BETWEEN vDated AND util.dayend(vDated) AND t.warehouseFk = vWarehouseFk - AND al.code IN ('FREE', 'APPROVED') + AND al.code = 'FREE' AND tp.ticketFk IS NULL GROUP BY sv.ticketFk HAVING liters <= vLitersMax diff --git a/db/routines/vn/procedures/ticket_canbePostponed.sql b/db/routines/vn/procedures/ticket_canbePostponed.sql index b4b0871ce..a21e171cf 100644 --- a/db/routines/vn/procedures/ticket_canbePostponed.sql +++ b/db/routines/vn/procedures/ticket_canbePostponed.sql @@ -69,7 +69,7 @@ BEGIN ) sub2 ON sub2.addressFk = t.addressFk AND t.id != sub2.id WHERE t.shipped BETWEEN vOriginDated AND util.dayend(vOriginDated) AND t.warehouseFk = vWarehouseFk - AND al.code IN ('FREE', 'APPROVED') + AND al.code = 'FREE' AND tp.ticketFk IS NULL GROUP BY sv.ticketFk HAVING futureId; diff --git a/modules/monitor/back/methods/sales-monitor/salesFilter.js b/modules/monitor/back/methods/sales-monitor/salesFilter.js index ab2a64293..4947edeaf 100644 --- a/modules/monitor/back/methods/sales-monitor/salesFilter.js +++ b/modules/monitor/back/methods/sales-monitor/salesFilter.js @@ -264,7 +264,7 @@ module.exports = Self => { SELECT f.id ticketFk, f.clientFk, f.warehouseFk, f.shipped FROM tmp.filter f LEFT JOIN alertLevel al ON al.id = f.alertLevel - WHERE (al.code IN ('FREE', 'APPROVED') OR f.alertLevel IS NULL) + WHERE (al.code = 'FREE' OR f.alertLevel IS NULL) AND f.shipped >= ?`, [date]); stmts.push(stmt); diff --git a/modules/ticket/back/methods/ticket/filter.js b/modules/ticket/back/methods/ticket/filter.js index 32b2197ad..f125ac586 100644 --- a/modules/ticket/back/methods/ticket/filter.js +++ b/modules/ticket/back/methods/ticket/filter.js @@ -294,7 +294,7 @@ module.exports = Self => { SELECT f.id ticketFk, f.clientFk, f.warehouseFk, f.shipped FROM tmp.filter f LEFT JOIN alertLevel al ON al.id = f.alertLevel - WHERE (al.code IN ('FREE', 'APPROVED') OR f.alertLevel IS NULL) + WHERE (al.code = 'FREE' OR f.alertLevel IS NULL) AND f.shipped >= ? `, [date]); diff --git a/modules/ticket/back/methods/ticket/getTicketsFuture.js b/modules/ticket/back/methods/ticket/getTicketsFuture.js index 88bbd6f30..247924591 100644 --- a/modules/ticket/back/methods/ticket/getTicketsFuture.js +++ b/modules/ticket/back/methods/ticket/getTicketsFuture.js @@ -152,7 +152,7 @@ module.exports = Self => { SELECT f.id ticketFk, f.clientFk, f.warehouseFk, f.shipped, f.lines, f.liters FROM tmp.filter f LEFT JOIN alertLevel al ON al.id = f.alertLevel - WHERE (al.code IN ('FREE', 'APPROVED') OR f.alertLevel IS NULL) + WHERE (al.code = 'FREE' OR f.alertLevel IS NULL) `); stmts.push(stmt); From c1dd0eeb32b22d6619634aa7dd4b4f510b5e457d Mon Sep 17 00:00:00 2001 From: guillermo Date: Mon, 3 Feb 2025 10:54:17 +0100 Subject: [PATCH 33/33] refactor: refs #8512 Add 'master' branch check in description condition --- modules/mdb/back/methods/mdbVersion/upload.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mdb/back/methods/mdbVersion/upload.js b/modules/mdb/back/methods/mdbVersion/upload.js index 64de72679..ee67e35d0 100644 --- a/modules/mdb/back/methods/mdbVersion/upload.js +++ b/modules/mdb/back/methods/mdbVersion/upload.js @@ -146,7 +146,7 @@ module.exports = Self => { await fs.symlink(rootRelative, destinationRoot); } } - if (description) { + if (description && branch == 'master') { let formatDesc; const mainBranches = new Set(['master', 'test', 'dev']); if (mainBranches.has(branch))