Application Overview

What QMineProd models, and the ideas behind it


Core Chains

Organisation → MiningOperation → Tenement (via MiningOperationTenement)
MiningOperation + ReportingPeriod → ProductionSalesReturn
  → ReturnTenement / RawMaterialMined (+Commodity)
  / RawMaterialTransfer (+Commodity) / ProcessingActivity
  → ProductProcessed (+Commodity) / ProcessedProductTransfer
  / StockpileBalance / Sale (+SaleCommodity) / FreightCost
Stockpile → StockpileTransaction;  SourceRecord → ReportedValueSource
ProductionSalesReturn → Reconciliation / ValidationResult
  / ReturnReview / ReturnDeclaration → Lodgement → LodgementError
ReturnAmendment links original → amended returns

Key Concepts

The return is the spine. Nineteen models hang directly off ProductionSalesReturn — everything a PD03 coal quarterly or PD07 mineral annual return contains lives under one header carrying the operation, period, holder, operator-at-period-end, due date, workflow status and amendment number. Two regimes share one structure: coal returns report monthly rows (reporting_month) within the quarter; mineral returns report the financial year with mandatory waste rock/overburden for open-cut operations.

Quantities carry their pedigree. Every quantity records its unit, measurement basis (wet/dry/as-received), moisture, measurement method (weighbridge, belt scale, survey, estimate…) and a value status that walks RAW → MEASURED → VERIFIED → APPROVED. Multi-commodity materials attach contained-commodity rows with grades and recovery — the same pattern at mined, transferred, processed and sold stages.

Stockpiles must balance. The statutory StockpileBalance reconciles opening + receipts − issues ± adjustments against the surveyed closing quantity; the variance percent either sits inside tolerance or demands an explanation. Operational StockpileTransactions provide the movement ledger behind the statutory summary.

Sales adjust, never overwrite. An adjusting sale references the original (adjusts_sale_id) with signed negative quantities — matching how the GSQ coal template treats post-lodgement weight reconciliations. Destination typing (Queensland / interstate / export) drives which destination fields are required.

Evidence and gates before signature. Source records (weighbridge extracts, plant historians) link to the exact reported fields they support; reconciliations compare expected vs reported with tolerances and approval; validation rules produce per-record results whose unresolved BLOCKING failures hold the return; a review and a snapshotted declaration (name, position, timestamp) precede lodgement.

Lodgement is auditable. Each lodgement attempt records method, template version, confirmation number and the portal's response — including per-cell LodgementErrors (sheet/row/column) when a template upload fails validation. Accepted returns amend through a new return row linked by ReturnAmendment, so the lodged original is never rewritten.