|
|
return: text
|
|
|
lang: plpgsql
|
|
|
src: |
|
|
|
DECLARE
|
|
|
result TEXT;
|
|
|
_module_pmsimco TEXT;
|
|
|
BEGIN
|
|
|
|
|
|
|
|
|
|
|
|
-- Fusion des fournisseurs
|
|
|
UPDATE eco.p_commandes SET
|
|
|
fournisseur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE p_commandes.fournisseur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
UPDATE eco.p_commandes SET
|
|
|
fournisseur_distributeur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE p_commandes.fournisseur_distributeur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
UPDATE eco.p_lignes_commandes SET
|
|
|
fournisseur_distributeur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE p_lignes_commandes.fournisseur_distributeur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
UPDATE eco.p_mouvements_articles SET
|
|
|
fournisseur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE p_mouvements_articles.fournisseur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
UPDATE eco.p_facture SET
|
|
|
fournisseur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE p_facture.fournisseur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
UPDATE eco.t_profils SET
|
|
|
fournisseur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE t_profils.fournisseur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
|
|
|
UPDATE eco.t_articles
|
|
|
SET fournisseur_principal_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE t_articles.fournisseur_principal_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
UPDATE eco.t_article_fournisseur
|
|
|
SET fournisseur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE t_article_fournisseur.fournisseur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL AND
|
|
|
(t_article_fournisseur.article_id::text||'-'||fusionner_vers_fournisseur_id::text) NOT IN (SELECT (t_article_fournisseur2.article_id::text||'-'||t_article_fournisseur2.fournisseur_id::text) FROM eco.t_article_fournisseur t_article_fournisseur2)
|
|
|
;
|
|
|
|
|
|
UPDATE eco.t_article_fournisseur
|
|
|
SET fournisseur_distributeur_id = fusionner_vers_fournisseur_id
|
|
|
FROM eco.t_fournisseurs
|
|
|
WHERE t_article_fournisseur.fournisseur_distributeur_id = t_fournisseurs.oid AND
|
|
|
fusionner_vers_fournisseur_id <> 0 AND
|
|
|
fusionner_vers_fournisseur_id IS NOT NULL
|
|
|
;
|
|
|
|
|
|
DELETE
|
|
|
FROM eco.p_oids
|
|
|
WHERE code_table = 'fournisseurs' AND
|
|
|
oid IN (SELECT t_fournisseurs.oid FROM eco.t_fournisseurs WHERE fusionner_vers_fournisseur_id <> 0 AND fusionner_vers_fournisseur_id IS NOT NULL)
|
|
|
;
|
|
|
|
|
|
|
|
|
RETURN 'OK';
|
|
|
END;
|