From b51710fb310a998a65c3bb03968bfe6e1d971509 Mon Sep 17 00:00:00 2001 From: carlossa Date: Mon, 3 Apr 2023 15:44:12 +0200 Subject: [PATCH 01/27] refs #5525 mod yml y sql --- db/changes/231401/00-accountCountry.sql | 10 ++++++++++ print/templates/reports/sepa-core/locale/es.yml | 2 ++ print/templates/reports/sepa-core/locale/fr.yml | 2 ++ print/templates/reports/sepa-core/sepa-core.html | 4 ++-- print/templates/reports/sepa-core/sepa-core.js | 5 +++++ 5 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 db/changes/231401/00-accountCountry.sql diff --git a/db/changes/231401/00-accountCountry.sql b/db/changes/231401/00-accountCountry.sql new file mode 100644 index 000000000..73c21f0b2 --- /dev/null +++ b/db/changes/231401/00-accountCountry.sql @@ -0,0 +1,10 @@ +-- vn.accountCountry definition + +CREATE TABLE `accountCountry` in `vn` ( + `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL, + `countryFk` mediumint(8) unsigned DEFAULT NULL, + KEY `supplierAccountFk` (`supplierAccountFk`), + KEY `countryFk` (`countryFk`), + CONSTRAINT `accountCountry_ibfk_1` FOREIGN KEY (`supplierAccountFk`) REFERENCES `supplierAccount` (`id`), + CONSTRAINT `accountCountry_ibfk_2` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; \ No newline at end of file diff --git a/print/templates/reports/sepa-core/locale/es.yml b/print/templates/reports/sepa-core/locale/es.yml index 5f3f08fc3..ebb8dce1a 100644 --- a/print/templates/reports/sepa-core/locale/es.yml +++ b/print/templates/reports/sepa-core/locale/es.yml @@ -17,6 +17,8 @@ supplier: toCompleteBySupplier: A cumplimentar por el acreedor orderReference: Referencia de la orden de domiciliación identifier: Identificador del acreedor + iban: ES89000B97367486 + cif: B97367486-000 name: Nombre del acreedor street: Dirección location: CP - Población - Provincia diff --git a/print/templates/reports/sepa-core/locale/fr.yml b/print/templates/reports/sepa-core/locale/fr.yml index 354c06114..3f39d18d4 100644 --- a/print/templates/reports/sepa-core/locale/fr.yml +++ b/print/templates/reports/sepa-core/locale/fr.yml @@ -13,6 +13,8 @@ sendOrder: APRÈS SIGNATURA, RENVOYER AU CRÉANCIER ET AU VOTRE ÉTABLISSEMENT F supplier: toCompleteBySupplier: Á compléter pour le créancier orderReference: Numéro de référence du mandat + iban: FR7630003012690002801121597 + cif: B97367486-000 identifier: Identifiant créancier name: Nom du céancier street: Adresse diff --git a/print/templates/reports/sepa-core/sepa-core.html b/print/templates/reports/sepa-core/sepa-core.html index a8c270ad5..defbdb110 100644 --- a/print/templates/reports/sepa-core/sepa-core.html +++ b/print/templates/reports/sepa-core/sepa-core.html @@ -27,8 +27,8 @@ {{$t('supplier.identifier')}} -
ES89000B97367486
-
B97367486-000
+
{{$t('supplier.iban')}}
+
{{$t('supplier.cif')}}
diff --git a/print/templates/reports/sepa-core/sepa-core.js b/print/templates/reports/sepa-core/sepa-core.js index 0e19d2a6a..2198984f3 100755 --- a/print/templates/reports/sepa-core/sepa-core.js +++ b/print/templates/reports/sepa-core/sepa-core.js @@ -1,5 +1,10 @@ const vnReport = require('../../../core/mixins/vn-report.js'); +// class Controller { +// constructor(country, supplier, iban, cif) { +// this.country = countryFk; +// } +// } module.exports = { name: 'sepa-core', mixins: [vnReport], From 95602895df87beb59bc2075bee83487f8e15ebc1 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 27 Apr 2023 14:40:02 +0200 Subject: [PATCH 02/27] refs #5525 update changes --- db/changes/{231401 => 231601}/00-accountCountry.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename db/changes/{231401 => 231601}/00-accountCountry.sql (91%) diff --git a/db/changes/231401/00-accountCountry.sql b/db/changes/231601/00-accountCountry.sql similarity index 91% rename from db/changes/231401/00-accountCountry.sql rename to db/changes/231601/00-accountCountry.sql index 73c21f0b2..05e9d83f1 100644 --- a/db/changes/231401/00-accountCountry.sql +++ b/db/changes/231601/00-accountCountry.sql @@ -1,6 +1,6 @@ -- vn.accountCountry definition -CREATE TABLE `accountCountry` in `vn` ( +CREATE TABLE `vn`.`accountCountry` ( `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL, `countryFk` mediumint(8) unsigned DEFAULT NULL, KEY `supplierAccountFk` (`supplierAccountFk`), From 790de4f05f1645ca087f3c4f56bdf5f3d83dc9f5 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 25 May 2023 13:08:24 +0200 Subject: [PATCH 03/27] refs #5525 trad fr pt --- .../email/letter-debtor-nd/locale/fr.yml | 26 +++++++++++++++++++ .../email/letter-debtor-nd/locale/pt.yml | 26 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 print/templates/email/letter-debtor-nd/locale/fr.yml create mode 100644 print/templates/email/letter-debtor-nd/locale/pt.yml diff --git a/print/templates/email/letter-debtor-nd/locale/fr.yml b/print/templates/email/letter-debtor-nd/locale/fr.yml new file mode 100644 index 000000000..3ea3501d7 --- /dev/null +++ b/print/templates/email/letter-debtor-nd/locale/fr.yml @@ -0,0 +1,26 @@ +subject: Réitération de l'avis de solde débiteur +title: Avis réitéré +sections: + introduction: + title: Cher client + description: Nous vous écrivons à nouveau pour vous informer qu'il est toujours en attente + votre dette envers notre société, comme vous pouvez le voir dans le relevé ci-joint. + terms: Étant donné que les délais de paiement convenus sont largement dépassés, il n'est pas approprié + retard plus important dans le règlement du montant dû. + payMethod: + description: Pour cela, vous disposez des modes de paiement suivants + options: + - Paiement en ligne depuis notre site internet. + - Revenu ou virement sur le numéro de compte que nous détaillons en bas de ce courrier, + indiquant le numéro de client. + legalAction: + description: Si cette obligation de paiement n'est pas remplie, nous serons contraints de + d'engager les actions judiciaires qui se déroulent, parmi lesquelles + options: + - Inclusion dans les dossiers négatifs sur la solvabilité financière et le crédit. + - Réclamation judiciaire. + - Cession de créance à une société de gestion de recouvrement. +contactPhone: Pour toute demande, vous pouvez nous contacter au 96 + 324 21 00. +conclusion: En attente de vos nouvelles.
Merci pour ton attention. +transferAccount: Données pour virement bancaire \ No newline at end of file diff --git a/print/templates/email/letter-debtor-nd/locale/pt.yml b/print/templates/email/letter-debtor-nd/locale/pt.yml new file mode 100644 index 000000000..f4acbd1d3 --- /dev/null +++ b/print/templates/email/letter-debtor-nd/locale/pt.yml @@ -0,0 +1,26 @@ +subject: Reiteração de aviso de saldo devedor +title: Aviso reiterado +sections: + introduction: + title: Estimado cliente + description: Estamos escrevendo para você novamente para informar que ainda está pendente + sua dívida para com nossa empresa, conforme demonstrativo anexo. + terms: Dado que os prazos de pagamento acordados são largamente excedidos, não é adequado + maior atraso na liquidação do valor devido. + payMethod: + description: Para isso você tem as seguintes formas de pagamento + options: + - Pagamento online em nosso site. + - Renda ou transferência para o número da conta que detalhamos no final desta carta, + indicando o número do cliente. + legalAction: + description: Se esta obrigação de pagamento não for cumprida, seremos obrigados a + para iniciar as ações legais que procedem, entre as quais estão + options: + - Inclusão em processos negativos de solvência financeira e de crédito. + - Reivindicação judicial. + - Cessão de dívida a uma empresa de gestão de cobranças. +contactPhone: Para consultas, você pode entrar em contato conosco em 96 + 324 21 00. +conclusion: Aguardando suas notícias.
Agradecimentos para sua atenção. +transferAccount: Dados para transferência bancária \ No newline at end of file From de7b270d9e6528f29d768a90b9a091fa4c0a5401 Mon Sep 17 00:00:00 2001 From: carlossa Date: Fri, 9 Jun 2023 11:24:51 +0200 Subject: [PATCH 04/27] refs #5525 sql --- db/changes/231801/00-accountCountry.sql | 10 ---------- db/changes/232601/00-accountCountry.sql | 13 +++++++++++++ db/changes/232601/00-supplierDefault.sql | 1 + 3 files changed, 14 insertions(+), 10 deletions(-) delete mode 100644 db/changes/231801/00-accountCountry.sql create mode 100644 db/changes/232601/00-accountCountry.sql create mode 100644 db/changes/232601/00-supplierDefault.sql diff --git a/db/changes/231801/00-accountCountry.sql b/db/changes/231801/00-accountCountry.sql deleted file mode 100644 index 05e9d83f1..000000000 --- a/db/changes/231801/00-accountCountry.sql +++ /dev/null @@ -1,10 +0,0 @@ --- vn.accountCountry definition - -CREATE TABLE `vn`.`accountCountry` ( - `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL, - `countryFk` mediumint(8) unsigned DEFAULT NULL, - KEY `supplierAccountFk` (`supplierAccountFk`), - KEY `countryFk` (`countryFk`), - CONSTRAINT `accountCountry_ibfk_1` FOREIGN KEY (`supplierAccountFk`) REFERENCES `supplierAccount` (`id`), - CONSTRAINT `accountCountry_ibfk_2` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; \ No newline at end of file diff --git a/db/changes/232601/00-accountCountry.sql b/db/changes/232601/00-accountCountry.sql new file mode 100644 index 000000000..f92abd9df --- /dev/null +++ b/db/changes/232601/00-accountCountry.sql @@ -0,0 +1,13 @@ +-- vn.supplierAccountContry definition + +CREATE TABLE `supplierAccountCountry` ( + `supplierAccountFk` mediumint(8) unsigned NOT NULL, + `companyFk` int(11) DEFAULT NULL, + `countryFk` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`supplierAccountFk`), + UNIQUE KEY `countryFk` (`countryFk`), + UNIQUE KEY `companyFk` (`companyFk`), + CONSTRAINT `companyFk_supplier` FOREIGN KEY (`companyFk`) REFERENCES `supplierAccount` (`supplierFk`) ON UPDATE CASCADE, + CONSTRAINT `countryFk_id` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) ON UPDATE CASCADE, + CONSTRAINT `supplierAccountFk_id` FOREIGN KEY (`supplierAccountFk`) REFERENCES `supplierAccount` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; diff --git a/db/changes/232601/00-supplierDefault.sql b/db/changes/232601/00-supplierDefault.sql new file mode 100644 index 000000000..c411558f1 --- /dev/null +++ b/db/changes/232601/00-supplierDefault.sql @@ -0,0 +1 @@ +ALTER TABLE vn.supplier ADD defaultAccountFk varchar(100) DEFAULT NULL NULL; From b8f0b205db1b9e732a43d05c826f1e963bf4e5b2 Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 28 Jun 2023 06:53:42 +0200 Subject: [PATCH 05/27] refs #5525 move sql --- db/changes/{232601 => 232801}/00-accountCountry.sql | 0 db/changes/{232601 => 232801}/00-supplierDefault.sql | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename db/changes/{232601 => 232801}/00-accountCountry.sql (100%) rename db/changes/{232601 => 232801}/00-supplierDefault.sql (100%) diff --git a/db/changes/232601/00-accountCountry.sql b/db/changes/232801/00-accountCountry.sql similarity index 100% rename from db/changes/232601/00-accountCountry.sql rename to db/changes/232801/00-accountCountry.sql diff --git a/db/changes/232601/00-supplierDefault.sql b/db/changes/232801/00-supplierDefault.sql similarity index 100% rename from db/changes/232601/00-supplierDefault.sql rename to db/changes/232801/00-supplierDefault.sql From 0a78dd344fab7f8fbb77a3c6240db0d6b77db723 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 29 Jun 2023 06:24:13 +0200 Subject: [PATCH 06/27] refs #5525 sql --- db/changes/232801/00-accountCountry.sql | 38 ++++++++++++++++-------- db/changes/232801/00-supplierDefault.sql | 1 - 2 files changed, 25 insertions(+), 14 deletions(-) delete mode 100644 db/changes/232801/00-supplierDefault.sql diff --git a/db/changes/232801/00-accountCountry.sql b/db/changes/232801/00-accountCountry.sql index f92abd9df..d44cdcc4e 100644 --- a/db/changes/232801/00-accountCountry.sql +++ b/db/changes/232801/00-accountCountry.sql @@ -1,13 +1,25 @@ --- vn.supplierAccountContry definition - -CREATE TABLE `supplierAccountCountry` ( - `supplierAccountFk` mediumint(8) unsigned NOT NULL, - `companyFk` int(11) DEFAULT NULL, - `countryFk` mediumint(8) unsigned NOT NULL, - PRIMARY KEY (`supplierAccountFk`), - UNIQUE KEY `countryFk` (`countryFk`), - UNIQUE KEY `companyFk` (`companyFk`), - CONSTRAINT `companyFk_supplier` FOREIGN KEY (`companyFk`) REFERENCES `supplierAccount` (`supplierFk`) ON UPDATE CASCADE, - CONSTRAINT `countryFk_id` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) ON UPDATE CASCADE, - CONSTRAINT `supplierAccountFk_id` FOREIGN KEY (`supplierAccountFk`) REFERENCES `supplierAccount` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; +CREATE TABLE `supplierAccount` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `supplierFk` int(11) DEFAULT NULL, + `iban` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `office` varchar(4) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `DC` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `number` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, + `description__` varchar(45) DEFAULT NULL COMMENT '@deprecated 2023-03-23', + `bankEntityFk` int(10) unsigned DEFAULT NULL, + `accountingFk` int(11) DEFAULT NULL, + `beneficiary` varchar(50) DEFAULT NULL, + `editorFk` int(10) unsigned DEFAULT NULL, + `countryFk` int(10) unsigned UNIQUE KEY, + `companyFk` int(10) unsigned UNIQUE KEY, + PRIMARY KEY (`id`), + KEY `fk_proveedores_proveedores_account_idx` (`supplierFk`), + KEY `fk_Proveedores_account_entity1_idx` (`bankEntityFk`), + KEY `fk_banco_prov_account_idx` (`accountingFk`), + KEY `supplierAccount_fk_editor` (`editorFk`), + CONSTRAINT `supplierAccount_FK` FOREIGN KEY (`supplierFk`) REFERENCES `supplier` (`id`) ON UPDATE CASCADE, + CONSTRAINT `supplierAccount_FK_1` FOREIGN KEY (`bankEntityFk`) REFERENCES `bankEntity` (`id`) ON UPDATE CASCADE, + CONSTRAINT `supplierAccount_fk_editor` FOREIGN KEY (`editorFk`) REFERENCES `account`.`user` (`id`), + CONSTRAINT `supplierAccount_FK_country` FOREIGN KEY (`countryFk`) REFERENCES `vn`.`country` (`id`), + CONSTRAINT `supplierAccount_FK_company` FOREIGN KEY (`companyFk`) REFERENCES `vn`.`company` (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=242 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; diff --git a/db/changes/232801/00-supplierDefault.sql b/db/changes/232801/00-supplierDefault.sql deleted file mode 100644 index c411558f1..000000000 --- a/db/changes/232801/00-supplierDefault.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE vn.supplier ADD defaultAccountFk varchar(100) DEFAULT NULL NULL; From f3a40dfb231f5e23b9535080ffdbae36652753a2 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 29 Jun 2023 06:33:50 +0200 Subject: [PATCH 07/27] refs #5525 comment --- db/changes/232801/00-accountCountry.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/changes/232801/00-accountCountry.sql b/db/changes/232801/00-accountCountry.sql index d44cdcc4e..9f16b9b00 100644 --- a/db/changes/232801/00-accountCountry.sql +++ b/db/changes/232801/00-accountCountry.sql @@ -10,7 +10,7 @@ CREATE TABLE `supplierAccount` ( `accountingFk` int(11) DEFAULT NULL, `beneficiary` varchar(50) DEFAULT NULL, `editorFk` int(10) unsigned DEFAULT NULL, - `countryFk` int(10) unsigned UNIQUE KEY, + `countryFk` int(10) unsigned UNIQUE KEY COMMENT 'Cuenta por defecto para ingresos desde esta empresa', `companyFk` int(10) unsigned UNIQUE KEY, PRIMARY KEY (`id`), KEY `fk_proveedores_proveedores_account_idx` (`supplierFk`), From c453935ddd8bc6beb2d0d334f318a6e7e13073d5 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 11 Jul 2023 06:38:44 +0200 Subject: [PATCH 08/27] refs #5525 sql --- db/.archive/231001/00-supplier.sql | 3 +++ print/templates/email/letter-debtor-st/letter-debtor-st.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 db/.archive/231001/00-supplier.sql diff --git a/db/.archive/231001/00-supplier.sql b/db/.archive/231001/00-supplier.sql new file mode 100644 index 000000000..fccc35ba3 --- /dev/null +++ b/db/.archive/231001/00-supplier.sql @@ -0,0 +1,3 @@ +ALTER TABLE `vn`.`supplierAccount` ADD COLUMN `countryFk` mediumint(8) unsigned NULL; +ALTER TABLE `vn`.`supplierAccount` ADD CONSTRAINT `supplierAccount_fk_country` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`); +ALTER TABLE `vn`.`company` MODIFY COLUMN `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL NULL COMMENT 'Cuenta por defecto para ingresos desde este pais'; diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.html b/print/templates/email/letter-debtor-st/letter-debtor-st.html index 36f300c98..6679567c0 100644 --- a/print/templates/email/letter-debtor-st/letter-debtor-st.html +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.html @@ -28,4 +28,4 @@ - \ No newline at end of file + From 5b5191a6a5e0bd79666752556de0025d3d06a1d4 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 11 Jul 2023 13:49:39 +0200 Subject: [PATCH 09/27] refs #5525 findOne sql --- .../231001 => changes/233001}/00-supplier.sql | 0 .../email/letter-debtor-st/letter-debtor-st.js | 12 ++++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) rename db/{.archive/231001 => changes/233001}/00-supplier.sql (100%) diff --git a/db/.archive/231001/00-supplier.sql b/db/changes/233001/00-supplier.sql similarity index 100% rename from db/.archive/231001/00-supplier.sql rename to db/changes/233001/00-supplier.sql diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.js b/print/templates/email/letter-debtor-st/letter-debtor-st.js index e0a690f81..5d93116af 100755 --- a/print/templates/email/letter-debtor-st/letter-debtor-st.js +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.js @@ -1,14 +1,18 @@ const Component = require(`vn-print/core/component`); const emailBody = new Component('email-body'); const attachment = new Component('attachment'); +const db = require('../../../core/database'); module.exports = { name: 'letter-debtor-st', async serverPrefetch() { - this.debtor = await this.fetchDebtor(this.id, this.companyId); - - if (!this.debtor) - throw new Error('Something went wrong'); + this.debtor = await db.findOne(` + SELECT sa.iban, be.name bankName + FROM supplierAccount sa + LEFT JOIN bankEntity be ON sa.bankEntityFk = be.id + LEFT JOIN client c ON c.countryFk = sa.countryFk + WHERE c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk)`, + [this.id]); }, data() { return { From cc6ffff018842fc4c28539b4ba1e437ff8ce44ab Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 19 Jul 2023 07:14:01 +0200 Subject: [PATCH 10/27] refs #5525 nd debtor --- db/changes/232801/00-accountCountry.sql | 25 ------------------- .../letter-debtor-nd/letter-debtor-nd.js | 12 ++++++--- 2 files changed, 8 insertions(+), 29 deletions(-) delete mode 100644 db/changes/232801/00-accountCountry.sql diff --git a/db/changes/232801/00-accountCountry.sql b/db/changes/232801/00-accountCountry.sql deleted file mode 100644 index 9f16b9b00..000000000 --- a/db/changes/232801/00-accountCountry.sql +++ /dev/null @@ -1,25 +0,0 @@ -CREATE TABLE `supplierAccount` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `supplierFk` int(11) DEFAULT NULL, - `iban` varchar(30) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, - `office` varchar(4) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, - `DC` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, - `number` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL, - `description__` varchar(45) DEFAULT NULL COMMENT '@deprecated 2023-03-23', - `bankEntityFk` int(10) unsigned DEFAULT NULL, - `accountingFk` int(11) DEFAULT NULL, - `beneficiary` varchar(50) DEFAULT NULL, - `editorFk` int(10) unsigned DEFAULT NULL, - `countryFk` int(10) unsigned UNIQUE KEY COMMENT 'Cuenta por defecto para ingresos desde esta empresa', - `companyFk` int(10) unsigned UNIQUE KEY, - PRIMARY KEY (`id`), - KEY `fk_proveedores_proveedores_account_idx` (`supplierFk`), - KEY `fk_Proveedores_account_entity1_idx` (`bankEntityFk`), - KEY `fk_banco_prov_account_idx` (`accountingFk`), - KEY `supplierAccount_fk_editor` (`editorFk`), - CONSTRAINT `supplierAccount_FK` FOREIGN KEY (`supplierFk`) REFERENCES `supplier` (`id`) ON UPDATE CASCADE, - CONSTRAINT `supplierAccount_FK_1` FOREIGN KEY (`bankEntityFk`) REFERENCES `bankEntity` (`id`) ON UPDATE CASCADE, - CONSTRAINT `supplierAccount_fk_editor` FOREIGN KEY (`editorFk`) REFERENCES `account`.`user` (`id`), - CONSTRAINT `supplierAccount_FK_country` FOREIGN KEY (`countryFk`) REFERENCES `vn`.`country` (`id`), - CONSTRAINT `supplierAccount_FK_company` FOREIGN KEY (`companyFk`) REFERENCES `vn`.`company` (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=242 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; diff --git a/print/templates/email/letter-debtor-nd/letter-debtor-nd.js b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js index 54ed9fed6..2f4a25cfe 100755 --- a/print/templates/email/letter-debtor-nd/letter-debtor-nd.js +++ b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js @@ -1,14 +1,18 @@ const Component = require(`vn-print/core/component`); const emailBody = new Component('email-body'); const attachment = new Component('attachment'); +const db = require('../../../core/database'); module.exports = { name: 'letter-debtor-nd', async serverPrefetch() { - this.debtor = await this.fetchDebtor(this.id, this.companyId); - - if (!this.debtor) - throw new Error('Something went wrong'); + this.debtor = await db.findOne(` + SELECT sa.iban, be.name bankName + FROM supplierAccount sa + LEFT JOIN bankEntity be ON sa.bankEntityFk = be.id + LEFT JOIN client c ON c.countryFk = sa.countryFk + WHERE c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk)`, + [this.id]); }, data() { return { From 2f9979046d66725ea9a33dc10ba489324e82df51 Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 26 Jul 2023 13:10:18 +0200 Subject: [PATCH 11/27] refs #5525 iban --- .../templates/reports/sepa-core/sepa-core.html | 2 +- print/templates/reports/sepa-core/sepa-core.js | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/print/templates/reports/sepa-core/sepa-core.html b/print/templates/reports/sepa-core/sepa-core.html index defbdb110..1b2ad13d9 100644 --- a/print/templates/reports/sepa-core/sepa-core.html +++ b/print/templates/reports/sepa-core/sepa-core.html @@ -28,7 +28,7 @@ {{$t('supplier.identifier')}}
{{$t('supplier.iban')}}
-
{{$t('supplier.cif')}}
+
{{supplier.nif}}
diff --git a/print/templates/reports/sepa-core/sepa-core.js b/print/templates/reports/sepa-core/sepa-core.js index 2198984f3..efc9ed7ed 100755 --- a/print/templates/reports/sepa-core/sepa-core.js +++ b/print/templates/reports/sepa-core/sepa-core.js @@ -1,10 +1,6 @@ const vnReport = require('../../../core/mixins/vn-report.js'); +const db = require('../../../core/database'); -// class Controller { -// constructor(country, supplier, iban, cif) { -// this.country = countryFk; -// } -// } module.exports = { name: 'sepa-core', mixins: [vnReport], @@ -12,6 +8,7 @@ module.exports = { this.client = await this.findOneFromDef('client', [this.companyId, this.companyId, this.id]); this.checkMainEntity(this.client); this.supplier = await this.findOneFromDef('supplier', [this.companyId, this.companyId, this.id]); + console.log(this.supplier); }, props: { id: { @@ -23,5 +20,16 @@ module.exports = { type: Number, required: true } + }, + methods: { + getSupplierCif() { + return db.findOne(` + SELECT sa.iban, s.nif + FROM supplierAccount sa + INNER JOIN supplier s ON sa.supplierFk = s.id + WHERE s.countryFk = ? + LIMIT 1`), [this.countryFk]; + } } + }; From 344b5d984a3de6fe2484ffa5dc629c1ddaa2e99e Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 27 Jul 2023 17:19:44 +0200 Subject: [PATCH 12/27] refs #5525 add nif iban --- .../reports/sepa-core/sepa-core.html | 2 +- .../reports/sepa-core/sql/supplier.sql | 31 ++++++++++++------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/print/templates/reports/sepa-core/sepa-core.html b/print/templates/reports/sepa-core/sepa-core.html index 1b2ad13d9..363ebdfe5 100644 --- a/print/templates/reports/sepa-core/sepa-core.html +++ b/print/templates/reports/sepa-core/sepa-core.html @@ -27,7 +27,7 @@ {{$t('supplier.identifier')}} -
{{$t('supplier.iban')}}
+
{{supplier.iban}}
{{supplier.nif}}
diff --git a/print/templates/reports/sepa-core/sql/supplier.sql b/print/templates/reports/sepa-core/sql/supplier.sql index 55b0e49ca..d93175118 100644 --- a/print/templates/reports/sepa-core/sql/supplier.sql +++ b/print/templates/reports/sepa-core/sql/supplier.sql @@ -1,17 +1,24 @@ SELECT - m.code mandateCode, - s.name, - s.street, - sc.country, - s.postCode, - s.city, - sp.name province -FROM client c - LEFT JOIN mandate m ON m.clientFk = c.id - AND m.companyFk = ? AND m.finished IS NULL + m.code AS mandateCode, + s.name, + s.street, + sc.country, + s.postCode, + s.city, + sp.name AS province, + s.nif, + sa.iban, + be.name AS bankName +FROM + client c + LEFT JOIN mandate m ON m.clientFk = c.id AND m.companyFk = ? AND m.finished IS NULL LEFT JOIN supplier s ON s.id = m.companyFk LEFT JOIN country sc ON sc.id = s.countryFk LEFT JOIN province sp ON sp.id = s.provinceFk LEFT JOIN province p ON p.id = c.provinceFk -WHERE (m.companyFk = ? OR m.companyFk IS NULL) AND c.id = ? -ORDER BY m.created DESC LIMIT 1 \ No newline at end of file + LEFT JOIN bankEntity be ON sa.supplierFk = s.id + LEFT JOIN supplierAccount sa ON sa.bankEntityFk = be.id + WHERE (m.companyFk = ? OR m.companyFk IS NULL) AND c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk) + ORDER BY + m.created DESC + LIMIT 1; From 5664ec3a8f97935e098a49d434d8ba46d5b53c99 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 31 Aug 2023 17:23:01 +0200 Subject: [PATCH 13/27] refs #5525 change supplier --- db/changes/{233001 => 233801}/00-supplier.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename db/changes/{233001 => 233801}/00-supplier.sql (100%) diff --git a/db/changes/233001/00-supplier.sql b/db/changes/233801/00-supplier.sql similarity index 100% rename from db/changes/233001/00-supplier.sql rename to db/changes/233801/00-supplier.sql From 8678d2b1e0d451913f2d55c043c951860d854e13 Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 6 Sep 2023 17:23:31 +0200 Subject: [PATCH 14/27] refs #5525 new sql --- .../email/letter-debtor-nd/letter-debtor-nd.html | 2 +- .../templates/email/letter-debtor-st/letter-debtor-st.js | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/print/templates/email/letter-debtor-nd/letter-debtor-nd.html b/print/templates/email/letter-debtor-nd/letter-debtor-nd.html index 44a34a9b4..01bab7939 100644 --- a/print/templates/email/letter-debtor-nd/letter-debtor-nd.html +++ b/print/templates/email/letter-debtor-nd/letter-debtor-nd.html @@ -45,4 +45,4 @@ - \ No newline at end of file + diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.js b/print/templates/email/letter-debtor-st/letter-debtor-st.js index 5d93116af..478249b80 100755 --- a/print/templates/email/letter-debtor-st/letter-debtor-st.js +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.js @@ -7,11 +7,10 @@ module.exports = { name: 'letter-debtor-st', async serverPrefetch() { this.debtor = await db.findOne(` - SELECT sa.iban, be.name bankName - FROM supplierAccount sa - LEFT JOIN bankEntity be ON sa.bankEntityFk = be.id - LEFT JOIN client c ON c.countryFk = sa.countryFk - WHERE c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk)`, + SELECT sa.iban FROM client c + LEFT JOIN supplierAccount sa ON c.countryFk = sa.countryFk + WHERE c.id = ? + OR (c.id IS NULL AND c.countryFk = sa.countryFk)`, [this.id]); }, data() { From d26a73bdd98b2b3954214bde040ae508ce7834b9 Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 13 Sep 2023 11:02:47 +0200 Subject: [PATCH 15/27] refs #5525 sql correct --- db/changes/233801/00-supplier.sql | 4 ++++ .../templates/email/letter-debtor-st/letter-debtor-st.js | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/db/changes/233801/00-supplier.sql b/db/changes/233801/00-supplier.sql index fccc35ba3..5708749fd 100644 --- a/db/changes/233801/00-supplier.sql +++ b/db/changes/233801/00-supplier.sql @@ -1,3 +1,7 @@ ALTER TABLE `vn`.`supplierAccount` ADD COLUMN `countryFk` mediumint(8) unsigned NULL; + + + ALTER TABLE `vn`.`supplierAccount` ADD CONSTRAINT `supplierAccount_fk_country` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`); ALTER TABLE `vn`.`company` MODIFY COLUMN `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL NULL COMMENT 'Cuenta por defecto para ingresos desde este pais'; +d diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.js b/print/templates/email/letter-debtor-st/letter-debtor-st.js index 478249b80..5d0a11baf 100755 --- a/print/templates/email/letter-debtor-st/letter-debtor-st.js +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.js @@ -7,10 +7,11 @@ module.exports = { name: 'letter-debtor-st', async serverPrefetch() { this.debtor = await db.findOne(` - SELECT sa.iban FROM client c - LEFT JOIN supplierAccount sa ON c.countryFk = sa.countryFk - WHERE c.id = ? - OR (c.id IS NULL AND c.countryFk = sa.countryFk)`, + SELECT sa.iban, be.name bankName + FROM supplierAccount sa + JOIN bankEntity be ON sa.bankEntityFk = be.id + JOIN client c ON c.countryFk = sa.countryFk + WHERE c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk);`, [this.id]); }, data() { From cdc91e76f56f3306199ac06abf06c572a72c71a2 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 14 Sep 2023 10:04:34 +0200 Subject: [PATCH 16/27] refs #5525 supplier sql table i18n --- db/changes/233801/00-supplier.sql | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/db/changes/233801/00-supplier.sql b/db/changes/233801/00-supplier.sql index 5708749fd..ad9ce892c 100644 --- a/db/changes/233801/00-supplier.sql +++ b/db/changes/233801/00-supplier.sql @@ -1,7 +1,9 @@ -ALTER TABLE `vn`.`supplierAccount` ADD COLUMN `countryFk` mediumint(8) unsigned NULL; - - - -ALTER TABLE `vn`.`supplierAccount` ADD CONSTRAINT `supplierAccount_fk_country` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`); ALTER TABLE `vn`.`company` MODIFY COLUMN `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL NULL COMMENT 'Cuenta por defecto para ingresos desde este pais'; -d + +CREATE TABLE `vn`.`supplierAccountI18n` ( + supplierAccountFk int(10) unsigned NOT NULL, + countryFk mediumint(8) unsigned NOT NULL, + FOREIGN KEY (supplierAccountFk) REFERENCES supplierAccount(id), + FOREIGN KEY (countryFk) REFERENCES country(id) +); + From f4ac6f68c09cf839c7df52dfbe1061ab6e1bcda6 Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 20 Sep 2023 13:03:49 +0200 Subject: [PATCH 17/27] refs #5525 trad en --- .../email/letter-debtor-nd/locale/en.yml | 21 +++++++++++++++++++ .../email/letter-debtor-st/locale/en.yml | 11 ++++++++++ 2 files changed, 32 insertions(+) create mode 100644 print/templates/email/letter-debtor-nd/locale/en.yml create mode 100644 print/templates/email/letter-debtor-st/locale/en.yml diff --git a/print/templates/email/letter-debtor-nd/locale/en.yml b/print/templates/email/letter-debtor-nd/locale/en.yml new file mode 100644 index 000000000..34b1c7b5f --- /dev/null +++ b/print/templates/email/letter-debtor-nd/locale/en.yml @@ -0,0 +1,21 @@ +subject: Reminder of Outstanding Balance Notice +title: Reminder Notice +sections: + introduction: + title: Dear Customer + description: We are writing to you once again to inform you that your debt with our company remains unpaid, as you can verify in the attached statement. + terms: Since the agreed payment deadlines have significantly passed, there should be no further delay in settling the outstanding amount. + payMethod: + description: To do so, you have the following payment options: + options: + - Online payment through our website. + - Deposit or transfer to the account number provided at the bottom of this letter, indicating your customer number. + legalAction: + description: If this payment reminder is not heeded, we will be compelled to initiate the necessary legal actions, which may include: + options: + - Inclusion in negative credit and financial solvency records. + - Legal proceedings. + - Debt assignment to a debt collection agency. +contactPhone: For inquiries, you can reach us at 96 324 21 00. +conclusion: We look forward to hearing from you.
Thank you for your attention. +transferAccount: Bank Transfer Details diff --git a/print/templates/email/letter-debtor-st/locale/en.yml b/print/templates/email/letter-debtor-st/locale/en.yml new file mode 100644 index 000000000..42b3bb504 --- /dev/null +++ b/print/templates/email/letter-debtor-st/locale/en.yml @@ -0,0 +1,11 @@ +subject: Initial Notice for Outstanding Balance +title: Initial Notice for Outstanding Balance +sections: + introduction: + title: Dear Customer + description: Through this letter, we would like to inform you that, according to our accounting records, your account has an outstanding balance that needs to be settled. +checkExtract: We kindly request you to verify that the attached statement corresponds to the information you have. Our administration department will be happy to clarify any questions you may have and provide any documents you may request. +checkValidData: If, upon reviewing the provided information, everything appears to be accurate, we kindly ask you to proceed with rectifying your situation. +payMethod: If you prefer not to visit our offices in person, you can make the payment through a bank transfer to the account listed at the bottom of this communication, indicating your customer number. Alternatively, you can make the payment online through our website. +conclusion: We sincerely appreciate your kind cooperation. +transferAccount: Bank Transfer Details From 920b38c9294af25055c3081060166280b6de89dc Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 7 Dec 2023 09:49:15 +0100 Subject: [PATCH 18/27] refs #5525 move sql --- db/changes/{233801 => 235001}/00-supplier.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) rename db/changes/{233801 => 235001}/00-supplier.sql (87%) diff --git a/db/changes/233801/00-supplier.sql b/db/changes/235001/00-supplier.sql similarity index 87% rename from db/changes/233801/00-supplier.sql rename to db/changes/235001/00-supplier.sql index ad9ce892c..eebd8b4f2 100644 --- a/db/changes/233801/00-supplier.sql +++ b/db/changes/235001/00-supplier.sql @@ -1,7 +1,8 @@ ALTER TABLE `vn`.`company` MODIFY COLUMN `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL NULL COMMENT 'Cuenta por defecto para ingresos desde este pais'; + CREATE TABLE `vn`.`supplierAccountI18n` ( - supplierAccountFk int(10) unsigned NOT NULL, + supplierAccountFk mediumint(8) unsigned NOT NULL, countryFk mediumint(8) unsigned NOT NULL, FOREIGN KEY (supplierAccountFk) REFERENCES supplierAccount(id), FOREIGN KEY (countryFk) REFERENCES country(id) From 556b403a5b3ee3a8f8a92846ec43ec2ab2ed134d Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 13 Dec 2023 11:29:50 +0100 Subject: [PATCH 19/27] refs #5525 letter debtor st --- db/changes/235001/00-supplier.sql | 11 ++++---- .../letter-debtor-st/letter-debtor-st.js | 28 +++++++++++++++---- .../email/letter-debtor-st/sql/client.sql | 19 ++++++------- 3 files changed, 36 insertions(+), 22 deletions(-) diff --git a/db/changes/235001/00-supplier.sql b/db/changes/235001/00-supplier.sql index eebd8b4f2..704479130 100644 --- a/db/changes/235001/00-supplier.sql +++ b/db/changes/235001/00-supplier.sql @@ -1,10 +1,9 @@ ALTER TABLE `vn`.`company` MODIFY COLUMN `supplierAccountFk` mediumint(8) unsigned DEFAULT NULL NULL COMMENT 'Cuenta por defecto para ingresos desde este pais'; -CREATE TABLE `vn`.`supplierAccountI18n` ( - supplierAccountFk mediumint(8) unsigned NOT NULL, - countryFk mediumint(8) unsigned NOT NULL, - FOREIGN KEY (supplierAccountFk) REFERENCES supplierAccount(id), - FOREIGN KEY (countryFk) REFERENCES country(id) -); +ALTER TABLE `vn`.`supplierAccount` +ADD COLUMN `countryFk` mediumint(8) unsigned DEFAULT NULL, +ADD CONSTRAINT `fk_supplierAccount_country` + FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) ON UPDATE CASCADE; + diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.js b/print/templates/email/letter-debtor-st/letter-debtor-st.js index 5d0a11baf..76df43d70 100755 --- a/print/templates/email/letter-debtor-st/letter-debtor-st.js +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.js @@ -7,12 +7,28 @@ module.exports = { name: 'letter-debtor-st', async serverPrefetch() { this.debtor = await db.findOne(` - SELECT sa.iban, be.name bankName - FROM supplierAccount sa - JOIN bankEntity be ON sa.bankEntityFk = be.id - JOIN client c ON c.countryFk = sa.countryFk - WHERE c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk);`, - [this.id]); + SELECT sa.iban, + be.name bankName, + sa.countryFk, + c.countryFk + FROM supplierAccount sa + JOIN bankEntity be ON sa.bankEntityFk = be.id + LEFT JOIN company co ON co.supplierAccountFk = sa.id + LEFT JOIN client c ON c.countryFk = sa.countryFk + WHERE c.id = ? + ORDER BY co.id DESC + LIMIT 1; + `, [this.id]); + if (!this.debtor.length) { + this.debtor = await db.findOne(` + SELECT sa.iban, + be.name bankName + FROM supplierAccount sa + JOIN bankEntity be ON sa.bankEntityFk = be.id + JOIN company co ON co.supplierAccountFk = sa.id + WHERE co.code = ?; + `, [this.companyCode]); + } }, data() { return { diff --git a/print/templates/email/letter-debtor-st/sql/client.sql b/print/templates/email/letter-debtor-st/sql/client.sql index d5da5d0d5..013a3b7d6 100644 --- a/print/templates/email/letter-debtor-st/sql/client.sql +++ b/print/templates/email/letter-debtor-st/sql/client.sql @@ -1,10 +1,9 @@ -SELECT - c.dueDay, - c.iban, - sa.iban, - be.name AS bankName -FROM client c - JOIN company AS cny - JOIN supplierAccount AS sa ON sa.id = cny.supplierAccountFk - JOIN bankEntity be ON be.id = sa.bankEntityFk -WHERE c.id = ? AND cny.id = ? \ No newline at end of file +SELECT c.dueDay, + sa.iban, + be.name bankName + FROM client c + JOIN supplierAccount sa ON sa.id = cny.supplierAccountFk + JOIN bankEntity be ON be.id = sa.bankEntityFk + JOIN company cny + WHERE c.id = ? + AND cny.id = ? From ea31d3bebb71923242cbf0ddf0818827ce65c9ba Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 13 Dec 2023 11:46:48 +0100 Subject: [PATCH 20/27] refs #5525 debtor-nd --- .../letter-debtor-nd/letter-debtor-nd.js | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/print/templates/email/letter-debtor-nd/letter-debtor-nd.js b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js index 2f4a25cfe..781cd21f4 100755 --- a/print/templates/email/letter-debtor-nd/letter-debtor-nd.js +++ b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js @@ -7,12 +7,28 @@ module.exports = { name: 'letter-debtor-nd', async serverPrefetch() { this.debtor = await db.findOne(` - SELECT sa.iban, be.name bankName - FROM supplierAccount sa - LEFT JOIN bankEntity be ON sa.bankEntityFk = be.id - LEFT JOIN client c ON c.countryFk = sa.countryFk - WHERE c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk)`, - [this.id]); + SELECT sa.iban, + be.name bankName, + sa.countryFk, + c.countryFk + FROM supplierAccount sa + JOIN bankEntity be ON sa.bankEntityFk = be.id + LEFT JOIN company co ON co.supplierAccountFk = sa.id + LEFT JOIN client c ON c.countryFk = sa.countryFk + WHERE c.id = ? + ORDER BY co.id DESC + LIMIT 1; + `, [this.id]); + if (!this.debtor.length) { + this.debtor = await db.findOne(` + SELECT sa.iban, + be.name bankName + FROM supplierAccount sa + JOIN bankEntity be ON sa.bankEntityFk = be.id + JOIN company co ON co.supplierAccountFk = sa.id + WHERE co.code = ?; + `, [this.companyCode]); + } }, data() { return { From 18e87a05c44ec4cc1dc7f344b016a8b4216dd69c Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 19 Dec 2023 10:07:17 +0100 Subject: [PATCH 21/27] refs #5525 st and nd --- db/changes/235001/00-supplier.sql | 3 +++ .../letter-debtor-nd/letter-debtor-nd.js | 27 +++++++++---------- .../email/letter-debtor-nd/locale/en.yml | 4 +-- .../email/letter-debtor-nd/sql/client.sql | 19 +++++++------ .../letter-debtor-st/letter-debtor-st.js | 27 +++++++++---------- .../templates/reports/sepa-core/locale/es.yml | 4 +-- .../templates/reports/sepa-core/locale/fr.yml | 16 +++++------ 7 files changed, 48 insertions(+), 52 deletions(-) diff --git a/db/changes/235001/00-supplier.sql b/db/changes/235001/00-supplier.sql index 704479130..e60707eca 100644 --- a/db/changes/235001/00-supplier.sql +++ b/db/changes/235001/00-supplier.sql @@ -6,4 +6,7 @@ ADD COLUMN `countryFk` mediumint(8) unsigned DEFAULT NULL, ADD CONSTRAINT `fk_supplierAccount_country` FOREIGN KEY (`countryFk`) REFERENCES `country` (`id`) ON UPDATE CASCADE; +ALTER TABLE `vn`.`supplierAccount` +ADD UNIQUE KEY `uk_supplier_country` (`supplierFk`, `countryFk`); + diff --git a/print/templates/email/letter-debtor-nd/letter-debtor-nd.js b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js index 781cd21f4..41b6f1af8 100755 --- a/print/templates/email/letter-debtor-nd/letter-debtor-nd.js +++ b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js @@ -7,27 +7,26 @@ module.exports = { name: 'letter-debtor-nd', async serverPrefetch() { this.debtor = await db.findOne(` - SELECT sa.iban, - be.name bankName, - sa.countryFk, - c.countryFk - FROM supplierAccount sa - JOIN bankEntity be ON sa.bankEntityFk = be.id - LEFT JOIN company co ON co.supplierAccountFk = sa.id - LEFT JOIN client c ON c.countryFk = sa.countryFk - WHERE c.id = ? - ORDER BY co.id DESC - LIMIT 1; + SELECT sa.id, + sa.iban, + be.name bankName, + sa.countryFk, + c.countryFk + FROM supplierAccount sa + JOIN bankEntity be ON sa.bankEntityFk = be.id + LEFT JOIN company co ON co.supplierAccountFk = sa.id + JOIN client c ON c.countryFk = sa.countryFk + WHERE c.id = ?; `, [this.id]); - if (!this.debtor.length) { + if (!this.debtor) { this.debtor = await db.findOne(` SELECT sa.iban, be.name bankName FROM supplierAccount sa JOIN bankEntity be ON sa.bankEntityFk = be.id JOIN company co ON co.supplierAccountFk = sa.id - WHERE co.code = ?; - `, [this.companyCode]); + WHERE co.id = ?; + `, [this.companyId]); } }, data() { diff --git a/print/templates/email/letter-debtor-nd/locale/en.yml b/print/templates/email/letter-debtor-nd/locale/en.yml index 34b1c7b5f..9fb334339 100644 --- a/print/templates/email/letter-debtor-nd/locale/en.yml +++ b/print/templates/email/letter-debtor-nd/locale/en.yml @@ -6,12 +6,12 @@ sections: description: We are writing to you once again to inform you that your debt with our company remains unpaid, as you can verify in the attached statement. terms: Since the agreed payment deadlines have significantly passed, there should be no further delay in settling the outstanding amount. payMethod: - description: To do so, you have the following payment options: + description: To do so, you have the following payment options options: - Online payment through our website. - Deposit or transfer to the account number provided at the bottom of this letter, indicating your customer number. legalAction: - description: If this payment reminder is not heeded, we will be compelled to initiate the necessary legal actions, which may include: + description: If this payment reminder is not heeded, we will be compelled to initiate the necessary legal actions, which may include options: - Inclusion in negative credit and financial solvency records. - Legal proceedings. diff --git a/print/templates/email/letter-debtor-nd/sql/client.sql b/print/templates/email/letter-debtor-nd/sql/client.sql index d5da5d0d5..013a3b7d6 100644 --- a/print/templates/email/letter-debtor-nd/sql/client.sql +++ b/print/templates/email/letter-debtor-nd/sql/client.sql @@ -1,10 +1,9 @@ -SELECT - c.dueDay, - c.iban, - sa.iban, - be.name AS bankName -FROM client c - JOIN company AS cny - JOIN supplierAccount AS sa ON sa.id = cny.supplierAccountFk - JOIN bankEntity be ON be.id = sa.bankEntityFk -WHERE c.id = ? AND cny.id = ? \ No newline at end of file +SELECT c.dueDay, + sa.iban, + be.name bankName + FROM client c + JOIN supplierAccount sa ON sa.id = cny.supplierAccountFk + JOIN bankEntity be ON be.id = sa.bankEntityFk + JOIN company cny + WHERE c.id = ? + AND cny.id = ? diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.js b/print/templates/email/letter-debtor-st/letter-debtor-st.js index 76df43d70..b168f969f 100755 --- a/print/templates/email/letter-debtor-st/letter-debtor-st.js +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.js @@ -7,27 +7,26 @@ module.exports = { name: 'letter-debtor-st', async serverPrefetch() { this.debtor = await db.findOne(` - SELECT sa.iban, - be.name bankName, - sa.countryFk, - c.countryFk - FROM supplierAccount sa - JOIN bankEntity be ON sa.bankEntityFk = be.id - LEFT JOIN company co ON co.supplierAccountFk = sa.id - LEFT JOIN client c ON c.countryFk = sa.countryFk - WHERE c.id = ? - ORDER BY co.id DESC - LIMIT 1; + SELECT sa.id, + sa.iban, + be.name bankName, + sa.countryFk, + c.countryFk + FROM supplierAccount sa + JOIN bankEntity be ON sa.bankEntityFk = be.id + LEFT JOIN company co ON co.supplierAccountFk = sa.id + JOIN client c ON c.countryFk = sa.countryFk + WHERE c.id = ?; `, [this.id]); - if (!this.debtor.length) { + if (!this.debtor) { this.debtor = await db.findOne(` SELECT sa.iban, be.name bankName FROM supplierAccount sa JOIN bankEntity be ON sa.bankEntityFk = be.id JOIN company co ON co.supplierAccountFk = sa.id - WHERE co.code = ?; - `, [this.companyCode]); + WHERE co.id = ?; + `, [this.companyId]); } }, data() { diff --git a/print/templates/reports/sepa-core/locale/es.yml b/print/templates/reports/sepa-core/locale/es.yml index ebb8dce1a..2737dc313 100644 --- a/print/templates/reports/sepa-core/locale/es.yml +++ b/print/templates/reports/sepa-core/locale/es.yml @@ -17,8 +17,6 @@ supplier: toCompleteBySupplier: A cumplimentar por el acreedor orderReference: Referencia de la orden de domiciliación identifier: Identificador del acreedor - iban: ES89000B97367486 - cif: B97367486-000 name: Nombre del acreedor street: Dirección location: CP - Población - Provincia @@ -47,4 +45,4 @@ instructions: title: Instrucciones accountFields: Rellenar los campos relativos a la cuenta bancaria signDocument: Firmar y sellar el documento. Para que tenga validez, en el sello debe aparecer el CIF/NIF. De no ser así, deberá acompañarse la solicitud de un certificado de titularidad de la cuenta. - thanks: ¡Gracias por su colaboración! \ No newline at end of file + thanks: ¡Gracias por su colaboración! diff --git a/print/templates/reports/sepa-core/locale/fr.yml b/print/templates/reports/sepa-core/locale/fr.yml index 3f39d18d4..355b880a1 100644 --- a/print/templates/reports/sepa-core/locale/fr.yml +++ b/print/templates/reports/sepa-core/locale/fr.yml @@ -1,11 +1,11 @@ reportName: direct-debit title: Direct Debit -description: En signant ce formulaire de mandat, vous autorisez VERDNATURA LEVANTE SL - à envoyer des instructions à votre banque pour débiter votre compte, et (B) votre banque - à débiter votre compte conformément aux instructions de VERDNATURA LEVANTE SL. - Vous bénéficiez d’un droit au remboursement par votre banque selon les conditions décrites - dans la convention que vous avez passée avec elle. Toute demande de remboursement doit être - présentée dans les 8 semaines suivant la date de débit de votre compte. +description: En signant ce formulaire de mandat, vous autorisez VERDNATURA LEVANTE SL + à envoyer des instructions à votre banque pour débiter votre compte, et (B) votre banque + à débiter votre compte conformément aux instructions de VERDNATURA LEVANTE SL. + Vous bénéficiez d’un droit au remboursement par votre banque selon les conditions décrites + dans la convention que vous avez passée avec elle. Toute demande de remboursement doit être + présentée dans les 8 semaines suivant la date de débit de votre compte. Votre banque peut vous renseigner au sujet de vos droits relatifs à ce mandat. documentCopy: Veuillez dater, signer et retourner ce document à votre banque. mandatoryFields: TOUS LES CHAMPS DOIVENT ÊTRE REINSEGNÉS IMPÉRATIVEMENT. @@ -13,8 +13,6 @@ sendOrder: APRÈS SIGNATURA, RENVOYER AU CRÉANCIER ET AU VOTRE ÉTABLISSEMENT F supplier: toCompleteBySupplier: Á compléter pour le créancier orderReference: Numéro de référence du mandat - iban: FR7630003012690002801121597 - cif: B97367486-000 identifier: Identifiant créancier name: Nom du céancier street: Adresse @@ -44,4 +42,4 @@ instructions: title: instructions accountFields: Remplissez les champs relatifs au compte bancaire signDocument: Signez et scellez le document. Pour être valide, le CIF / NIF doit apparaître sur le cachet. Sinon, la demande de certificat de propriété du compte doit être jointe. - thanks: Merci de votre collaboration! \ No newline at end of file + thanks: Merci de votre collaboration! From df1c9e3d9f087d8aa59b8c5f147ad01bddd34e3b Mon Sep 17 00:00:00 2001 From: carlossa Date: Wed, 27 Dec 2023 17:46:46 +0100 Subject: [PATCH 22/27] refs #5525 suppliercif --- print/templates/reports/sepa-core/sepa-core.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/print/templates/reports/sepa-core/sepa-core.js b/print/templates/reports/sepa-core/sepa-core.js index efc9ed7ed..96c512a9d 100755 --- a/print/templates/reports/sepa-core/sepa-core.js +++ b/print/templates/reports/sepa-core/sepa-core.js @@ -8,7 +8,6 @@ module.exports = { this.client = await this.findOneFromDef('client', [this.companyId, this.companyId, this.id]); this.checkMainEntity(this.client); this.supplier = await this.findOneFromDef('supplier', [this.companyId, this.companyId, this.id]); - console.log(this.supplier); }, props: { id: { @@ -26,9 +25,9 @@ module.exports = { return db.findOne(` SELECT sa.iban, s.nif FROM supplierAccount sa - INNER JOIN supplier s ON sa.supplierFk = s.id - WHERE s.countryFk = ? - LIMIT 1`), [this.countryFk]; + JOIN company co ON co.supplierAccountFk = sa.id + JOIN supplier s ON sa.supplierFk = s.id + WHERE co.id = ?`) [this.companyId]; } } From bfb31ad7c3f80d56530fed86e48cdfb46f56c4f2 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 28 Dec 2023 11:46:34 +0100 Subject: [PATCH 23/27] refs #5525 supplier --- modules/supplier/back/models/supplier-account.json | 3 +++ print/templates/reports/sepa-core/sql/supplier.sql | 1 + 2 files changed, 4 insertions(+) diff --git a/modules/supplier/back/models/supplier-account.json b/modules/supplier/back/models/supplier-account.json index bc9cf0e24..9f9ad70c5 100644 --- a/modules/supplier/back/models/supplier-account.json +++ b/modules/supplier/back/models/supplier-account.json @@ -17,6 +17,9 @@ }, "beneficiary": { "type": "string" + }, + "supplierFk": { + "type": "string" } }, "relations": { diff --git a/print/templates/reports/sepa-core/sql/supplier.sql b/print/templates/reports/sepa-core/sql/supplier.sql index d93175118..72f950213 100644 --- a/print/templates/reports/sepa-core/sql/supplier.sql +++ b/print/templates/reports/sepa-core/sql/supplier.sql @@ -8,6 +8,7 @@ SELECT sp.name AS province, s.nif, sa.iban, + sa.supplierFk, be.name AS bankName FROM client c From bbf1bb50e978318cb9ea2b8f9692615c49cb5055 Mon Sep 17 00:00:00 2001 From: carlossa Date: Thu, 28 Dec 2023 13:27:38 +0100 Subject: [PATCH 24/27] refs #5525 fix sql supplier for sepacore --- print/templates/reports/sepa-core/sql/supplier.sql | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/print/templates/reports/sepa-core/sql/supplier.sql b/print/templates/reports/sepa-core/sql/supplier.sql index 72f950213..ade4b048e 100644 --- a/print/templates/reports/sepa-core/sql/supplier.sql +++ b/print/templates/reports/sepa-core/sql/supplier.sql @@ -17,9 +17,11 @@ FROM LEFT JOIN country sc ON sc.id = s.countryFk LEFT JOIN province sp ON sp.id = s.provinceFk LEFT JOIN province p ON p.id = c.provinceFk - LEFT JOIN bankEntity be ON sa.supplierFk = s.id - LEFT JOIN supplierAccount sa ON sa.bankEntityFk = be.id - WHERE (m.companyFk = ? OR m.companyFk IS NULL) AND c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk) - ORDER BY - m.created DESC - LIMIT 1; + LEFT JOIN supplierAccount sa ON sa.supplierFk = s.id + LEFT JOIN bankEntity be ON sa.bankEntityFk = be.id +WHERE + (m.companyFk = ? OR m.companyFk IS NULL) + AND (c.id = ? OR (c.id IS NULL AND c.countryFk = sa.countryFk)) +ORDER BY + m.created DESC +LIMIT 1; From ce2bfc7cf18464a6d16d6110d4e649e2749a1548 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 16 Jan 2024 12:46:53 +0100 Subject: [PATCH 25/27] refs #5525 insert --- db/changes/235001/01-supplierAccount.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 db/changes/235001/01-supplierAccount.sql diff --git a/db/changes/235001/01-supplierAccount.sql b/db/changes/235001/01-supplierAccount.sql new file mode 100644 index 000000000..1c0f1ef43 --- /dev/null +++ b/db/changes/235001/01-supplierAccount.sql @@ -0,0 +1,9 @@ +UPDATE vn.supplierAccount sa + JOIN vn.country c ON sa.countryFk = c.id AND c.code = 'FR' + SET countryFk = c.id + WHERE iban = 'FR7630003012690002801121597'; + +UPDATE vn.supplierAccount sa + JOIN vn.country c ON sa.countryFk = c.id AND c.code = 'PT' + SET countryFk = c.id + WHERE iban = 'PT50001000005813059150168'; From 84134d671f38a2f58074060e6c033efeccdbe5c9 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 16 Jan 2024 12:47:58 +0100 Subject: [PATCH 26/27] refs #5525 remove as --- print/templates/reports/sepa-core/sql/supplier.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/print/templates/reports/sepa-core/sql/supplier.sql b/print/templates/reports/sepa-core/sql/supplier.sql index ade4b048e..80635ecf5 100644 --- a/print/templates/reports/sepa-core/sql/supplier.sql +++ b/print/templates/reports/sepa-core/sql/supplier.sql @@ -1,15 +1,15 @@ SELECT - m.code AS mandateCode, + m.code mandateCode, s.name, s.street, sc.country, s.postCode, s.city, - sp.name AS province, + sp.name province, s.nif, sa.iban, sa.supplierFk, - be.name AS bankName + be.name bankName FROM client c LEFT JOIN mandate m ON m.clientFk = c.id AND m.companyFk = ? AND m.finished IS NULL From 8095b02835d9ae7e275144b77b73de71edf6b956 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 16 Jan 2024 12:48:40 +0100 Subject: [PATCH 27/27] refs #5525 move version --- db/changes/{235001 => 240401}/00-supplier.sql | 0 db/changes/{235001 => 240401}/01-supplierAccount.sql | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename db/changes/{235001 => 240401}/00-supplier.sql (100%) rename db/changes/{235001 => 240401}/01-supplierAccount.sql (100%) diff --git a/db/changes/235001/00-supplier.sql b/db/changes/240401/00-supplier.sql similarity index 100% rename from db/changes/235001/00-supplier.sql rename to db/changes/240401/00-supplier.sql diff --git a/db/changes/235001/01-supplierAccount.sql b/db/changes/240401/01-supplierAccount.sql similarity index 100% rename from db/changes/235001/01-supplierAccount.sql rename to db/changes/240401/01-supplierAccount.sql