dolibarr.stundenzettel/sql/llx_stundenzettel_product.sql
2026-02-07 21:14:51 +01:00

43 lines
2 KiB
SQL

-- ============================================================================
-- Stundenzettel Produkte
-- Welche Produkte wurden verbaut/geliefert
-- ============================================================================
CREATE TABLE llx_stundenzettel_product (
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
fk_stundenzettel INTEGER NOT NULL, -- Verknüpfung zum Stundenzettel
-- Produkt-Referenz
fk_product INTEGER DEFAULT NULL, -- Produkt-ID (kann NULL sein bei freien Zeilen)
fk_commandedet INTEGER DEFAULT NULL, -- Original-Zeile aus Auftrag
fk_manager_line INTEGER DEFAULT NULL, -- Zeile aus llx_facture_lines_manager (für Produktgruppen)
-- Produktdaten (Kopie für Historie)
product_ref VARCHAR(128), -- Produktreferenz
product_label VARCHAR(255), -- Produktbezeichnung
description TEXT, -- Beschreibung
-- Mengen
qty_original DECIMAL(24,8) DEFAULT 0, -- Ursprüngliche Menge aus Auftrag
qty_done DECIMAL(24,8) DEFAULT 0, -- Erledigte/verbaute Menge auf diesem Zettel
qty_cumulated DECIMAL(24,8) DEFAULT 0, -- Kumuliert über alle Stundenzettel
-- Herkunft: 'order' = aus Auftrag, 'added' = manuell hinzugefügt
origin VARCHAR(20) DEFAULT 'order',
-- Rang für Sortierung
rang INTEGER DEFAULT 0,
-- Technisch
tms TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-- Indizes
INDEX idx_szproduct_stundenzettel (fk_stundenzettel),
INDEX idx_szproduct_product (fk_product),
INDEX idx_szproduct_commandedet (fk_commandedet),
INDEX idx_szproduct_manager (fk_manager_line),
-- Foreign Key
CONSTRAINT fk_szproduct_stundenzettel FOREIGN KEY (fk_stundenzettel)
REFERENCES llx_stundenzettel(rowid) ON DELETE CASCADE
) ENGINE=InnoDB;