---
# System prepended metadata

title: Estimation 2.16.0

---

# Estimation 2.16.0

## TMA-289 :heavy_check_mark:

Estimation Greg : **0.25J**
Estimation Alex : ==0.25J==

Commentaire : Déja corrigé par la **TMA-207**


## TMA-323 : :heavy_check_mark:

Estimation Greg : **1J** 
Estimation Alex : ==1.75J==

**Commentaire** : **Difficulté a mettre à jour l'excel + agrégation à effectuer, requête Elastic Search**

**Question** : 

1. On remplace DN par DN / Date ? 
2. Uniquement sur l'onglet "Total" On rajoute une ligne "DN" ? 
3. Comprend pas c'est quoi le calcul du DN
4. On change qqc dans l'excel ?

## TMA-313 :heavy_check_mark:

Estimation Greg : **0.5J**
Estimation Alex : ==0.5J==

1. La date sera bien au même format que date mise en marché ?

## TMA-155 :heavy_check_mark:

Estimation Greg : **2J**
Estimation Alex : ==2.5J==


**Commentaire** : **Difficultés a faire transiter des informations du moteurs de remises**

1. Fiche produit en BDC
    2. Fiche article --> "Taux frais distribution" et "montant frais de distribution"
    3. En BDC --> "Prix hors FD" et "Frais Distrib" et "Remise"

"Taux frais distribution" = Frais Distrib
"montant frais de distribution" = Remise

2. Fiche produit hors BDC
    3. "Taux frais distribution" = <prix tauxDistri (Si 0 = 0€)
    4. "montant frais de distribution" = <prix fraisDistri (Si 0 = 0€)

3. Onglet "Composition infos techniques"

Ajouter deux nouveaux champs dans onglet "Composition infos techniques"

il faut ajouter : 

"Total du pack si achat au prix catalogue" = ?? 
"Gain en achetant le pack" = ??

## TMA-314 :heavy_check_mark:

Estimation Greg : **3.5J**
Estimation Alex : ==1.5==

**Commentaire** : **Moins complexe que prévu**

1. En BDC  Fiche article, Si Precommande en periode opération --> Cacher la coonnes "Sem/Jour livraison".

2. Deuxieme point : ???

3. Filtrer onglet recap-commande: ??

## TMA-328 :heavy_check_mark:

Estimation Greg : **0.25J**
Estimation Alex : ==0.25J==


## TMA-386 :heavy_check_mark:

Estimation Greg : **0.5J**
Estimation Alex : ==0.5J==

## TMA-308  :heavy_check_mark: 

Estimation Greg : **3J**
Estimation Alex : ==3.5J==

**Commentaire** : **Difficultés a dupliquer les niveaux**

Question : 

#### Scénario1 :
A -> ==ordre 1== **Bien etre > Bien etre** > Elexir floar > Elexir floaral complexe
B -> ==ordre 2== **Bien etre > Bien etre** > Forme et santé > Bien etre enfant

Resulat :

**Bien etre > Bien etre**
        > Elexir floar > Elexir floaral complexe
        > Forme et santé > Bien etre enfant
        
#### Scénario2 : 

A Maison > Entretien Maison > Ménage > Cuisine
B Maison > Entretien Maison > Ménage > Plage
C -> ==ordre 1== **Bien etre > Bien etre** > Elexir floar > Elexir floaral complexe
D -> ==ordre 2== Maison > Entretien Maison > Ménage > Cuisine
E -> ==ordre 3== **Bien etre > Bien etre** > Forme et santé > Bien etre enfant

Resulat : 
C **Bien etre > Bien etre** > Elexir floar > Elexir floaral complexe
D Maison > Entretien Maison > Ménage > Cuisine
E **Bien etre > Bien etre** > Forme et santé > Bien etre enfant
A
B

Offre panaché ?? --> on ne trie pas

#### Algorithmie
```
listeArticle = Récupération de la totalité des articles du catalogue
Création d'un comparateur d'article
    (article1,article2){
        Si un article1 a un ordre
            Si article2 n'a pas d'ordre
                return 1;
            Si article2 a un ordre
                return article1.ordre comparé à article2.ordre
        Si article1 n'a pas d'ordre
            Si article2 n'a pas d'ordre
                return Comparaison des Niveaux de article1 et du niveau de article 2
            Si article2 a un ordre
                return -1
    }
 
listeArticlesTries = tri(listeArticle,comparator) ==> Liste des articles triés dans l'ordre souhaite

listeNiveauxDto = Nouvelle liste de niveaux (les plus bas avec les articles associés)
niveauCourant = niveau actuel (null au départ)
pour tous les articles triés {
        articleNiveau = article.getNiveau();
        Si(niveauCourant == null){
           niveauCourant = articleNiveau
           niveauCourantDto = toDto(niveauCourant)
           Ajouter le niveau à la liste de niveaux (listeNiveauxDto.add(niveauCourantDto))
        }
        
        Si (niveauCourant.uid == articleNiveau.uid){
            Creer l'article Dto et l'ajouter au niveau courant (niveauCourant.articles.add(article))
        }else{
           niveauCourantDto = toDto(niveauCourant)
           Ajouter le niveau à la liste de niveaux (listeNiveauxDto.add(niveauCourantDto))
           Creer l'article Dto et l'ajouter au niveau courant (niveauCourant.articles.add(article))
        }
}

Reconstruire les "niveaux supérieurs des niveaux de la liste"


niveauPrecedent = null;
Pour tous les niveaux (niveauTraite){
    Si(niveauTraite.getNiveauParent() == niveauPrecedent.getNiveauParent()){
        niveauPrecedent.getNiveauParent().add(niveauTraite);
    }
    
    Si(niveauTraite.getNiveauParent() != niveauPrecedent.getNiveauParent()){
        // Il faut véfifier si les ancetres on un niveau commun
        
    }
    
    
    niveauPrecedent = niveauTraite;
    
}

``` 
## TMA-127 :heavy_check_mark:

**Commentaire** : **Difficultés a ne pas mélanger la persistance des deux filtres**

Estimation Greg : **0.75J**
Estimation Alex : ==1J==

## TMA-45 :heavy_check_mark:

Estimation Greg : **0.75J**
Estimation Alex : ==0.75J==

## TMA-249 :heavy_check_mark:

Estimation Greg : **0.5J**
Estimation Alex : ==0.25J==

## TMA-329 :heavy_check_mark:

Estimation Greg : **0.25J**
Estimation Alex : ==0.25J==

## TMA-161 :heavy_check_mark:

**Commentaire** : **Travail de différenciation de catalogue et de commande + filtrage requête de recherche de commande**

Estimation Greg : **2J**
Estimation Alex : ==3J==


## TMA-280 :heavy_check_mark:

**Commentaire** : **Mise en place de redis, tout nouveau + concurrence etc très complexe **

Estimation Greg : **5J**
Estimation Alex : ==6J==


## TMA-281:heavy_check_mark:

Estimation Greg : **2J**
Estimation Alex : ==3.5J==

**Commentaire** : **Difficultés au niveau de la mise a jour des stocks**


## TMA-46 :heavy_check_mark:

Estimation Greg : **0.75J**
Estimation Alex : ==0.5J==

## TMA-332 :heavy_check_mark:

Estimation Greg : **0.5J**
Estimation Alex : ==0.25J==




Bonjour
La 2.16 a été livrée - y compris les modifications relatives aux stocks négatifs (TMA-280/281), elle nécessite quelques actions préalables avant recette :
- L'adresse et port Redis doivent avoir été ajoutés dans les fichiers de ressources yml de vos différents environnements.

Il faut en outre réintégrer :
- un catalogue général pour faire apparaître les nouveaux champs de la fiche article
- un fichier de remises complexes pour la modification du libellé de remises.
- Il faut enfin ajouter de nouveaux paramètres fonctionnels grâce au script suivant (post-update-bdd.sql): 

```sql
INSERT INTO referentiel.parametre_fonctionnel(code, value)	VALUES ('OPE', 2);
INSERT INTO referentiel.parametre_fonctionnel(code, value)	VALUES ('OPE_FEL', 2);
INSERT INTO referentiel.parametre_fonctionnel(code, value)	VALUES ('PRECO', 6);
INSERT INTO referentiel.parametre_fonctionnel(code, value)	VALUES ('PRECO_EVENEMENTIEL', 14);
INSERT INTO referentiel.parametre_fonctionnel(code, value)	VALUES ('PRECO_FEL', 2);
```

A savoir également :
- La TMA-314 n'est pas rétrocompatible, les tableaux recap coté gestionnaire comprendront les nouvelles colonnes basées sur les commandes traitées par la version 2.16.0.
- Concernant la TMA-308, l'ordre est bien respecté lors de l'intégration de l'offre et les niveaux sont bien dupliqués comme demandé; cette dernière exigence a néanmoins pour effet de dupliquer les niveaux mêmes après filtrage, dans certains cas, deux niveaux identiques peuvent donc apparaître l'un à la suite de l'autre. Nous n'avons pas de solution technique simple à l'heure actuelle pour gérer ce cas spécifique.