Skip to content
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

Bug jointure entre la table type_dechets et pesees_vendus #429

Open
mondeallantvers opened this issue Jan 13, 2022 · 5 comments
Open

Bug jointure entre la table type_dechets et pesees_vendus #429

mondeallantvers opened this issue Jan 13, 2022 · 5 comments

Comments

@mondeallantvers
Copy link

bonjour,
j'ai fait une mise à jour de la base oressource cette année.
avant il y avait dans la table pesees_vendus un champs id_type_dechet qui me permettait de faire facilement en fin d'année un requête avec le poids des objets vendu par type d'objet.
Je ne retrouve pas ce champs dans la table pesees_vendus et ne vois plus comment faire la jointure entre pesees_vendus et type_dechets.
les chiffres fournis dans le bilan des vente oressource ne parraissent pas fiables.
pouvez vous m'aider ?
merci
Marie

@el-dge
Copy link
Contributor

el-dge commented Jan 13, 2022

Salut Marie !

Bon tu sais ça fait très longtemps que je n'ai plus regardé Oresssource ... (donc réponse potentiellement à côté de la plaque) et en effet ça a changé, il faut passer par la table vendus je pense. Alors sans tenir compte s'il faut multiplier par les quantités (je me rappelle plus comme ça fonctionne), ça pourrait être ça :

select dechet.id, dechet.nom 'type déchet', sum(masse) masse
from type_dechets as dechet left join vendus on dechet.id=vendus.id_type_dechet
                                             left join pesees_vendus pv on vendus.id=pv.id
group by dechet.id;

J'avoue que c'est un peu bizarre comme nouvelle organisation. Par exemple, comme l'id de pesees_vendus doit être une seule fois une id de vendus, pourquoi il y a le champ quantité dans les 2 ? (p-ê ça permet une pesée partielle ?)

@jean140950
Copy link
Contributor

jean140950 commented Jan 14, 2022

Bonjour Marie et el-dge
voici un exemple de requête, le type de déchet est à prendre dans la table vendus et la masse dans pesées_vendus est unitaire
SELECT
type_dechets.nom objet,
SUM(pesees_vendus.masse * pesees_vendus.quantite) poids,
SUM(vendus.prix * vendus.quantite) prix
FROM vendus
INNER JOIN type_dechets ON vendus.id_type_dechet= type_dechets.id
INNER JOIN pesees_vendus ON vendus.id = pesees_vendus.id
WHERE year(vendus.timestamp) = '2022'
GROUP BY vendus.id_type_dechet;

En faisant un petit test j'ai constaté un problème, avec notre version d'oressource, les tables ventes, vendus et pesées-vendus ne sont pas mises à jour lorsque la vente comprend plusieurs types d'objets et que le poids est saisi. Ca marche si la vente ne comporte qu'un seul type de déchet
Par contre aucun problème si on ne saisit pas le poids
Nous ne pesons pas les ventes au détail nous ne nous sommes donc pas rendus compte du bug
Avez-vous le même problème ou est-ce ma version qu'il faut changer ?
Merci

@darnuria
Copy link
Contributor

Hello, ça fait un moment que j'ai pas mis les mains dans le code, on va pas se mentir quand on vis pas d'un logiciel il faut bien travailler a côté!

Je pencherais pour la piste du bug.

J'avoue que c'est un peu bizarre comme nouvelle organisation.

Historiquement, à la petite Rockette il y a une fonctionnalité de lot offerte au caissier pour simplifier la saisie et la solution pour concilier lot/calcul de la masse et prix avec cette fonctionnalité avec les pesées à la caisse a jamais été glorieuse.

(Puis on voulait a l'époque pas tout casser complètement dans la DB pour revoir proprement cette aspect, en y réfléchissant on aurais du vu le problème soulevé)

PS: Je travail pas à la petite Rockette, je contribue de temps en temps sur Oressource, mais c'est vrai que j'ai pas autant de temps que quand j’étais étudiant.

PS2: je rappel c'est un logiciel libre, distribué comme tel et principalement sur temps personnel donc on a fait comme on a pu. :)

@darnuria darnuria changed the title jointure entre la table type_dechets et pesees_vendus Bug jointure entre la table type_dechets et pesees_vendus Jan 22, 2022
@darnuria
Copy link
Contributor

Alors sans tenir compte s'il faut multiplier par les quantités (je me rappelle plus comme ça fonctionne), ça pourrait être ça :

C'est la fonctionnalité des lots en vente qui pousse a tenir différemment compte des quantitié/prix selon si on est effectivement un lot.

@darnuria
Copy link
Contributor

darnuria commented Jan 22, 2022

Probablement regarder par ici peut donner un début de résolution:
https://github.com/mart1ver/oressource/blob/master/core/requetes.php#L671-L730

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants