-- 迁移：下游结算明细（2026-06-12）
-- 规则：下游结算单价/金额按「我们与该供应商签的下游采购单合同价」计算（不是上游对账价），
--      按产品取该供应商最新合同价；无合同覆盖的货品拒绝生成并提醒。
--      明细落库含 source_order_no/source_order_line_id 追溯到合同来源行。
CREATE TABLE IF NOT EXISTS downstream_statement_lines (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  statement_id uuid NOT NULL REFERENCES downstream_statements(id) ON DELETE RESTRICT,
  line_no integer, product_id uuid REFERENCES products(id), product_name text,
  quantity numeric, unit text, unit_price numeric, amount numeric,
  source_order_no text, source_order_line_id uuid REFERENCES order_lines(id), notes text,
  created_at timestamptz DEFAULT now(), updated_at timestamptz DEFAULT now()
);
GRANT SELECT, INSERT, UPDATE, DELETE ON downstream_statement_lines TO ledger_app;
CREATE INDEX IF NOT EXISTS idx_dsl_stmt ON downstream_statement_lines(statement_id);
