-- +goose Up
-- +goose StatementBegin

CREATE TABLE IF NOT EXISTS costura_registros (
    id                      UUID          PRIMARY KEY DEFAULT uuid_generate_v4(),
    tenant_id               UUID          NOT NULL,
    ordem_id                UUID          NOT NULL REFERENCES ordens_producao(id) ON DELETE CASCADE,
    funcionario_id          UUID          REFERENCES users(id) ON DELETE SET NULL,
    funcionario_nome        TEXT          NOT NULL DEFAULT '',
    maquina                 TEXT          NOT NULL DEFAULT '',
    processo                TEXT          NOT NULL DEFAULT '',
    hora_inicio             TIME,
    hora_termino            TIME,
    tempo_total_min         INTEGER       NOT NULL DEFAULT 0,
    quantidade_pecas        INTEGER       NOT NULL DEFAULT 0,
    produtividade_pcs_hora  DECIMAL(10,2) NOT NULL DEFAULT 0,
    observacoes             TEXT          NOT NULL DEFAULT '',
    concluido               BOOLEAN       NOT NULL DEFAULT false,
    concluido_em            TIMESTAMPTZ,
    criado_em               TIMESTAMPTZ   NOT NULL DEFAULT NOW(),
    atualizado_em           TIMESTAMPTZ   NOT NULL DEFAULT NOW(),
    UNIQUE(tenant_id, ordem_id)
);

CREATE INDEX IF NOT EXISTS idx_costura_ordem ON costura_registros(ordem_id);

-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
DROP TABLE IF EXISTS costura_registros;
-- +goose StatementEnd
