-- ============================================================================
-- Stundenzettel Leistungen (Arbeitszeiten)
-- Mehrere Leistungen pro Stundenzettel möglich
-- ============================================================================

CREATE TABLE llx_stundenzettel_leistung (
    rowid               INTEGER AUTO_INCREMENT PRIMARY KEY,
    fk_stundenzettel    INTEGER NOT NULL,               -- Verknüpfung zum Stundenzettel
    fk_user             INTEGER DEFAULT NULL,           -- Welcher Mitarbeiter
    fk_product          INTEGER DEFAULT NULL,           -- Verknüpfung zur Leistungsposition (Dienstleistung)

    -- Zeitraum
    date_leistung       DATE NOT NULL,                  -- Datum der Leistung
    time_start          TIME DEFAULT NULL,              -- Startzeit
    time_end            TIME DEFAULT NULL,              -- Endzeit
    duration            INTEGER DEFAULT 0,              -- Dauer in Minuten (berechnet oder manuell)

    -- Beschreibung
    description         TEXT,                           -- Was wurde gemacht

    -- Rang für Sortierung
    rang                INTEGER DEFAULT 0,

    -- Technisch
    tms                 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

    -- Indizes
    INDEX idx_leistung_stundenzettel (fk_stundenzettel),
    INDEX idx_leistung_date (date_leistung),
    INDEX idx_leistung_user (fk_user),

    -- Foreign Key
    CONSTRAINT fk_leistung_stundenzettel FOREIGN KEY (fk_stundenzettel)
        REFERENCES llx_stundenzettel(rowid) ON DELETE CASCADE
) ENGINE=InnoDB;
