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;