Bonjour à tous,
Je suis actuellement en train de développer un site pour le boulot.
contexte:Je travaille dans un bureau d'électrotech, et jusqu’à présent on a un vieux fichier Excel ou chacun rentre la date à laquelle il loue un multimètre (par exemple) et la date à laquelle il va le retourner et on a autant de ligne que l'on a de multimètre.
objectif :Faire un site de réservation d'article au sein de l'équipe.
Je dois pouvoir permettre aux collègues de louer un article via un planning de cette manière on aura plus de visibilité sur les locations.
[B]
Modélisation de ma base:
Je suis sur une base MySQL version 10.4.10-MariaDB.
Le problème est le suivant: Ma table location comprend une date_debut, une date_fin et une quantite.
La première problématique était d'avoir la quantite par jour et par article. J'ai donc cherché et j'ai fait une table calendrier qui regroupe tous les jours de janvier 2020 à janvier 2050.
Et pour avoir la quantite par jour et par article j'ai fait cette requête:
Je récupère bien la quantité loué par jour et par Article en l’occurrence ici je n'avais qu'un article.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT calendrier.Jour,SUM(location.quantite) AS quantite,article.quantiteStock FROM `location` INNER JOIN article ON location.id_article = article.id CROSS JOIN calendrier WHERE calendrier.jour BETWEEN location.date_debut AND location.date_fin GROUP BY calendrier.Jour
On peut voir dans le MCD que j'ai un champ quantiteStock dans la table Article.
J'aimerais pouvoir générer la quantité de disponible par jour en fonction de la quantité loué et la quantité en stock.
L'objectif final serait de pouvoir "alimenter" ce fameux calendrier sur la page de l'article concerné et de pouvoir bloquer les dates auxquelles la quantité disponible est à 0.
Voila je vous ai exposé mon travail, si jamais vous avez des conseils d'amélioration concernant la modélisation ou autre, je suis ouvert, je n'ai jamais eu a gérer ce genre de problème avec des périodes de temps etc.
Merci d'avance et bonne journée
Partager