Aller au contenu

app.lot_solde

Quantités d’un lot, calculées depuis le compte du lot : total entré et disponible (solde), en grammes.

Table Definition
CREATE VIEW lot_solde AS (
SELECT l.organisation_id,
l.id AS lot_id,
l.produit_id,
(COALESCE(sum(ml.quantite_g) FILTER (WHERE (ml.quantite_g > 0)), (0)::numeric))::bigint AS quantite_totale_g,
(COALESCE(sum(ml.quantite_g), (0)::numeric))::bigint AS quantite_disponible_g
FROM (app.lot l
LEFT JOIN app.mouvement_ligne ml ON (((ml.organisation_id = l.organisation_id) AND (ml.compte_matiere_id = l.compte_matiere_id) AND (ml.produit_id = l.produit_id))))
GROUP BY l.organisation_id, l.id, l.produit_id
)
Name Type Default Nullable Children Parents Comment
organisation_id uuid true Organisation propriétaire.
lot_id uuid true Lot concerné.
produit_id uuid true Produit du lot.
quantite_totale_g bigint true Total des entrées dans le compte du lot, en grammes : ce que le lot a reçu depuis sa création.
quantite_disponible_g bigint true Solde du compte du lot, en grammes : ce qui reste disponible.
Name Columns Comment Type
app.lot 18 Lot : objet central de la traçabilité (cahier, entité Lot ; AM-03). Un lot a un compte de matière de nature lot et un mouvement de création obligatoire (I4). Sa quantité n’est pas stockée : elle se lit dans app.lot_solde. BASE TABLE
app.mouvement_ligne 7 Ligne d’un mouvement : quantité signée entrée dans un compte (positive) ou sortie (négative), en grammes. BASE TABLE
erDiagram


"app.lot_solde" {
  uuid organisation_id "Organisation propriétaire."
  uuid lot_id "Lot concerné."
  uuid produit_id "Produit du lot."
  bigint quantite_totale_g "Total des entrées dans le compte du lot, en grammes : ce que le lot a reçu depuis sa création."
  bigint quantite_disponible_g "Solde du compte du lot, en grammes : ce qui reste disponible."
}

Generated by tbls