43 lines
2 KiB
SQL
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;
|