-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Calculs des coûts et consommations #7
Comments
J'ai essayé d'écrire la démarche de calcul nécessaire pour calculer la consommation des produits hors recette à partir des JSON présents sur Matta Nuu, avec l'exemple du "Café soluble Maxwell House Qté Filtre - pot de 200g". J'ai du mal à voir si c'est correct ou pas. Preneur de vos retours. @seballot @Focus-Pacifique Démarche de Calcul Révisée
Script RubyVoici le script Ruby basé sur les données JSON fournies, utilisant les mêmes étapes de calcul que celles utilisées dans le script Python. require 'json'
# Charger les données JSON
orders = JSON.parse(File.read('/mnt/data/orders.json'))
inventories = JSON.parse(File.read('/mnt/data/inventories.json'))
sessions = JSON.parse(File.read('/mnt/data/sessions.json'))
products = JSON.parse(File.read('/mnt/data/products.json'))
# Identification du produit
product_id = 424
product_name = "Café soluble Maxwell House Qté Filtre - pot de 200g"
product_price = 5.0 # Assumer un prix fictif de 5 euros par pot
# Étape 1 : Quantité achetée
total_purchases = orders.reduce(0) do |sum, order|
if order['values'] && order['values'][product_id.to_s] && order['values'][product_id.to_s]['value']
sum + order['values'][product_id.to_s]['value']
else
sum
end
end
# Étape 2 : Stock initial et final
initial_stock = inventories.reduce(0) do |sum, inventory|
if inventory['values'] && inventory['values'][product_id.to_s] && inventory['values'][product_id.to_s]['amount']
sum + inventory['values'][product_id.to_s]['amount']
else
sum
end
end
final_stock = initial_stock # Hypothèse basée sur les données disponibles
# Étape 3 : Nombre total d'étudiants et nombre total de jours
total_students = 0
total_days = 0
sessions.each do |session|
session['events'].each do |event|
days = event['days'] || []
total_days += days.size
total_students += days.size * 10 # Valeur fictive de 10 étudiants par jour
end
end
# Calcul de la consommation
total_consumed = total_purchases + initial_stock - final_stock
consumption_per_student_per_day = total_consumed.to_f / total_students
consumption_per_day_for_10_students = consumption_per_student_per_day * 10
# Étape 5 : Calcul du coût pour 10 étudiants
cost_for_10_students = consumption_per_day_for_10_students * product_price
puts "Total des achats : #{total_purchases} pots"
puts "Stock initial : #{initial_stock} pots"
puts "Stock final : #{final_stock} pots"
puts "Consommation totale : #{total_consumed} pots"
puts "Nombre total d'étudiants : #{total_students}"
puts "Nombre total de jours : #{total_days}"
puts "Consommation par jour pour 10 étudiants : #{consumption_per_day_for_10_students} pots"
puts "Coût pour 10 étudiants par jour : #{cost_for_10_students} euros" |
Yop ! Chaud le Eric ! je savais pas que tu codais du ruby :)
Mais pourquoi faire ce script externe à partir des données JSON plutot que le faire dans Matta-Nuu, ou y'a déjà tout un tas de helper pour le calcul des stocks/achats/inventaires? c'était juste pour tester? |
C'est ChatGPT ;) Je l'ai pas fait dans Matta-Nuu car je n'ai pas creusé le code existant plus que ça, c'était plutôt pour tester et essayer de filer un petit coup de main sur le sujet |
J'ai commencé la semaine dernière à m'occuper des prix et coûts. C'est en cours |
Question coûts, le plus important pour l'intendance est de visualiser le coût prévisionnel d'une commande lors de l'édition du bon de commande, afin que l'on puisse l'ajuster et s'assurer d'atteindre le franco. |
Description :
Lister et implémenter divers calculs pour l'optimisation des coûts et consommations.
Tâches :
Priorité : Moyenne
The text was updated successfully, but these errors were encountered: