From 7183e77250ee712be9e390309d94eb6d1d3152a1 Mon Sep 17 00:00:00 2001 From: robert Date: Tue, 17 Dec 2024 14:40:35 +0100 Subject: [PATCH] feat: refs #7731 modify updates --- .../sage/procedures/clientSupplier_add.sql | 10 +- .../11303-salmonMoss/00-firstScript.sql | 206 +----------------- 2 files changed, 15 insertions(+), 201 deletions(-) diff --git a/db/routines/sage/procedures/clientSupplier_add.sql b/db/routines/sage/procedures/clientSupplier_add.sql index dffd52dc8..66c4bf396 100644 --- a/db/routines/sage/procedures/clientSupplier_add.sql +++ b/db/routines/sage/procedures/clientSupplier_add.sql @@ -4,7 +4,7 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `sage`.`clientSupplier_ad ) BEGIN /** - * Inserta en la tabla sage.clientesProveedores los datos de clientes y proveedores + * Inserta en la tabla sage.clientesProveedores los datos de clientes y proveedores * que se actualizaran o se daran de alta en Sage * @vCompanyFk Id de empresa * @table tmp.clientSupplier(idClientSupplier, `type`) @@ -57,7 +57,7 @@ BEGIN c.socialName, IFNULL(c.street, ''), c.accountingAccount, - @fi := IF(cu.code = LEFT(TRIM(c.fi), 2) AND c.viesCode IS NOT NULL, MID(TRIM(c.fi), 3, LENGTH(TRIM(c.fi))-1), TRIM(c.fi)), + @fi := REGEXP_REPLACE(TRIM(c.fi), c.viesCode, ''), IF(c.viesCode IS NOT NULL, CONCAT(cu.code, @fi ), TRIM(c.fi)), IFNULL(c.postcode, ''), IFNULL(c.city, ''), @@ -66,8 +66,8 @@ BEGIN IF(n.SiglaNacion = vCountryCanariasCode COLLATE utf8mb3_unicode_ci, IF(@isCeutaMelilla := IF(pr.Provincia IN ('CEUTA', 'MELILLA'), TRUE, FALSE), vCountryCeutaMelillaFk, IF (@isCanarias, vCountryCanariasCode, n.CodigoNacion)), n.CodigoNacion), IF(n.SiglaNacion = vCountryCanariasCode COLLATE utf8mb3_unicode_ci, IF(@isCeutaMelilla, vCountryCeutaMelillaCode, IF (@isCanarias, vCountryCanariasCode, n.SiglaNacion)), n.SiglaNacion), IF((c.fi REGEXP '^([[:blank:]]|[[:digit:]])'), 'J','F'), - IF(cu.code = 'ES', - 1, + IF(cu.code = 'ES', + 1, IF((cu.isUeeMember AND c.viesCode IS NOT NULL), 2, 4)), IFNULL(c.taxTypeSageFk,0), IF(n.SiglaNacion = vCountryCanariasCode COLLATE utf8mb3_unicode_ci, @@ -113,7 +113,7 @@ BEGIN IFNULL(SUBSTR(sc.email, 1, (COALESCE(NULLIF(LOCATE(',', sc.email), 0), 99) - 1)), ''), IFNULL(sa.iban, '') FROM vn.supplier s - JOIN tmp.clientSupplier cs ON cs.idClientSupplier = s.id + JOIN tmp.clientSupplier cs ON cs.idClientSupplier = s.id LEFT JOIN vn.country co ON co.id = s.countryFk LEFT JOIN Naciones n ON n.countryFk = co.id LEFT JOIN vn.province p ON p.id = s.provinceFk diff --git a/db/versions/11303-salmonMoss/00-firstScript.sql b/db/versions/11303-salmonMoss/00-firstScript.sql index 6bbfcaa2e..7de6dd06c 100644 --- a/db/versions/11303-salmonMoss/00-firstScript.sql +++ b/db/versions/11303-salmonMoss/00-firstScript.sql @@ -1,211 +1,25 @@ use vn; -ALTER TABLE vn.client +ALTER TABLE vn.client ADD COLUMN IF NOT EXISTS viesCode varchar(2) DEFAULT NULL; -ALTER TABLE vn.supplier +ALTER TABLE vn.supplier ADD COLUMN IF NOT EXISTS viesCode varchar(2) DEFAULT NULL; +-- client UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'ES' - WHERE c2.name= 'España'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'IT' - WHERE c2.name= 'Italia'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'DE' - WHERE c2.name= 'Alemania'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'RO' - WHERE c2.name= 'Rumania'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'IT' - WHERE c2.name= 'Italia'; + JOIN country c2 ON c2.id = c.countryFk + SET c.viesCode = c2.code; UPDATE client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'NL' - WHERE c2.name= 'Holanda'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'BE' - WHERE c2.name= 'Bélgica'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'PT' - WHERE c2.name= 'Portugal'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'FR' - WHERE c2.name= 'Francia'; - -UPDATE vn.client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'PL' - WHERE c2.name = 'Polonia'; - -UPDATE client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'AD' - WHERE c2.name = 'Andorra'; - -UPDATE client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'LU' - WHERE c2.name = 'Luxemburgo'; - -UPDATE client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'DK' - WHERE c2.name = 'Dinamarca'; - -UPDATE client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'MN' - WHERE c2.name = 'Mongolia'; - -UPDATE client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'SK' - WHERE c2.name = 'Eslovaquia'; - -UPDATE client c - JOIN country c2 ON c2.id = c.countryFk + JOIN country c2 ON c2.id = c.countryFk SET c.viesCode = 'FR' WHERE c2.name = 'Mónaco'; +-- supplier UPDATE client c - JOIN country c2 ON c2.id = c.countryFk - SET c.viesCode = 'HU' - WHERE c2.name = 'Hungria'; + JOIN country c2 ON c2.id = c.countryFk + SET c.viesCode = c2.code; UPDATE supplier s JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'DE' -WHERE c.name = 'Alemania'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'AT' -WHERE c.name = 'Austria'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'BE' -WHERE c.name = 'Belgica'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'BG' -WHERE c.name = 'Bulgaria'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'CZ' -WHERE c.name = 'Chequia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'CY' -WHERE c.name = 'Chipre'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'DK' -WHERE c.name = 'Dinamarca'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'SK' -WHERE c.name = 'Eslovaquia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'SI' -WHERE c.name = 'Eslovenia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'ES' -WHERE c.name = 'España'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'FI' -WHERE c.name = 'Finlandia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'FR' -WHERE c.name = 'Francia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'GB' -WHERE c.name = 'Gran Bretaña'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'NL' -WHERE c.name = 'Holanda'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'IE' -WHERE c.name = 'Irlanda'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'IT' -WHERE c.name = 'Italia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'LV' -WHERE c.name = 'Letonia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'LT' -WHERE c.name = 'Lituania'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'LU' -WHERE c.name = 'Luxemburgo'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'NO' -WHERE c.name = 'Noruega'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'PL' -WHERE c.name = 'Polonia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'PT' -WHERE c.name = 'Portugal'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'SE' -WHERE c.name = 'Suecia'; - -UPDATE supplier s - JOIN country c ON c.id = s.countryFk -SET c.viesCode = 'CH' -WHERE c.name = 'Suiza'; \ No newline at end of file +SET s.viesCode = c.code;