kundenkarte/sql/update_3.1.0.sql
data 71272fa425 fix(schematic): Terminal-Farbpropagierung, Auto-Naming, PWA-Abgänge
- buildTerminalPhaseMap: Schritt 1b - Leitungen mit expliziter Farbe als
  Startpunkte (nur Gerät→Gerät, keine Abgänge)
- buildTerminalPhaseMap: Block-Durchreichung (Top↔Bottom) entfernt
- buildTerminalPhaseMap: Junction-Verbindungen (Terminal→Leitung)
  bidirektional verarbeitet via _connectionById Index
- PWA: Abgangs-Rendering mit Index-Fallback wenn source_terminal_id fehlt
- PWA: Abgangs-Labels max-height 130px, min-height 30px
- Auto-Naming: EquipmentCarrier create/update → 'R' + count
- Auto-Naming: EquipmentPanel update → 'Feld ' + count
- pwa_api.php: Hardcoded Fallbacks 'Feld'/'Hutschiene' entfernt
- pwa.js: Hutschiene Auto-Naming dynamisch aus Panel-Carrier-Anzahl
- kundenkarte.js: Carrier-Dialog Placeholder 'z.B. R1 (automatisch)'
- SW Cache auf v12.5 hochgezählt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 09:57:58 +01:00

41 lines
1.7 KiB
SQL
Executable file

-- ============================================================================
-- Copyright (C) 2026 Alles Watt lauft
--
-- Update script for version 3.1.0
-- Adds panels (Schaltschrankfelder) and FI protection assignment
-- ============================================================================
-- 1. Create equipment_panel table
CREATE TABLE IF NOT EXISTS llx_kundenkarte_equipment_panel (
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
entity INTEGER DEFAULT 1 NOT NULL,
fk_anlage INTEGER NOT NULL,
label VARCHAR(128),
position INTEGER DEFAULT 0,
note_private TEXT,
status SMALLINT DEFAULT 1,
date_creation DATETIME,
tms TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
fk_user_creat INTEGER,
fk_user_modif INTEGER,
import_key VARCHAR(14),
INDEX idx_panel_anlage (fk_anlage)
) ENGINE=InnoDB;
-- 2. Add fk_panel to equipment_carrier (optional - carrier can belong to panel or directly to anlage)
ALTER TABLE llx_kundenkarte_equipment_carrier
ADD COLUMN fk_panel INTEGER DEFAULT NULL AFTER fk_anlage,
ADD INDEX idx_carrier_panel (fk_panel);
-- 3. Add fk_protection to equipment (for FI/RCD assignment)
ALTER TABLE llx_kundenkarte_equipment
ADD COLUMN fk_protection INTEGER DEFAULT NULL
COMMENT 'FK to protection device (FI/RCD) that protects this equipment'
AFTER fk_product,
ADD INDEX idx_equipment_protection (fk_protection);
-- 4. Add protection_label field to show above protected equipment
ALTER TABLE llx_kundenkarte_equipment
ADD COLUMN protection_label VARCHAR(64) DEFAULT NULL
COMMENT 'Label shown above equipment when part of protection group'
AFTER fk_protection;