# Retour ERP - Maël
Bonjour Maël,
Pour faciliter les tests sur Biocoop, nous voulons faciliter le processus de test des retours ERP.
Contexte : Un retour ERP est la génération d'un fichier XML qui indique des données liées a une commande d'un magasin. Exemple : quantité validée, quantité expédiée, prix article etc ...
Problème : Les retours ERP sont effectués automatiquement chez biocoop grâce à leur l'ERP. Nous n'avons pas accès à leur ERP et donc nous devons "simuler" des retours. Ces retours sont longs à configurer et nous aimerions gagner du temps.
Objectif : générer plusieurs fichiers XML de retour ERP avec des champs pré remplie en respectant différents scénarios.
## Partie Technique :
Objectif technique : Faire en sorte de générer différents fichiers XML uniquement sur les environnements ASI. Cette modification d'algo doit se faire en fonction d'un parametre en base de données. Ces fichiers sont généré dans un dossier a part sur le serveur.
1. Ajouter 2 parametres fonctionnels en base
2. ```ENV_TEST = true``` (boolean)
3. ```GENERER_SCENARIO = true``` (boolean)
Commentaire : Ces parametres se trouve dans le schéma referentiel table : parametre_fonctionnel
2. Génération des fichiers XML dans un dossier à part
3. Le répertoire à creer se trouvera dans le dossier commande avec le nom :`exportTest`.
Commentaire : Le dossier se trouve sur le server au chemin : `/opt/docker/app/biocoop/int/integration/files/commande`. Si le dossier n'existe pas, il doit être crée automatiquement. La génération s'effectue uniquement si le parametre ENV_TEST est à true.
3. Modification du fichier XML :
5. LIGNE COMMANDE --> code_erp="**DATE_JOUR_code_erp**" statut="**A_ADAPTER**"
6. LIGNE LIGNE --> prix_remise_erp="**prixNetArticle**" prixRemiseHorsDistribution="**PrixHorsFdArticle**"
7. LIGNE LIGNE --> qte_validee="**qteInitialArticle**" qte_expediee="**qteInitialArticle**"
8. LIGNE LIGNE --> MHT="**Total OU montant fixe (a analyser)**"
4. Indenter chaque fichier XML
5. https://stackoverflow.com/questions/139076/how-to-pretty-print-xml-from-java
## Scénario à générer
Commentaire : Si uniquement le parametre ENV_TEST est a true, uniquement le scénarios 1 sera générer. Si le parametre GENERER_SCENARIO est a true également, les trois scénarios seront exécutés. Chaque scénario a un nom de fichier différent.
### Scenario 1
Nom de fichier : **Retour_MAGASIN_STATUT_SCENARIO_1_DATE_DU_JOUR**
Statut : **1**
Commentaire : Tous les articles sont présents.
### Scenario 2
Nom de fichier : **retour_MAGASIN_STATUT_SCENARIO_2_DATE_DU_JOUR**
Statut : **3**
Commentaire : Garder uniquement le **premier** article **ET** Ajouter un nouvel article avec un codeArticle="**AAAAAA**" et libelleArticle = "**Libelle de Test**"
### Scenario 3
Nom de fichier : **retour_MAGASIN_STATUT_SCENARIO_3_DATE_DU_JOUR**
Statut : **3**
Commentaire : Garder uniquement le **deuxième** article **ET** Ajouter un nouvel article avec un codeArticle="**AAAAAA**" et libelleArticle = "**Libelle de Test**"