- Anlage-Spalte in allen Buchungstabellen verlinkt jetzt auf /assets/{id}/edit
- bk.asset_id in UstvaCalculator und EuerCalculator-Queries ergänzt
- Fallback-Anzeige: Bezeichnung wenn anlage_nr leer ist
- Migration 032: anlage_nr für bestehende Anlagegüter nachgenerieren
- README: Feature Anlagevermögen dokumentiert
23 lines
890 B
SQL
23 lines
890 B
SQL
-- Migration 032: Anlage-Nummern für bestehende Anlagegüter ohne Nummer nachgenerieren
|
|
-- Weist assets mit leerem anlage_nr Nummern im konfigurierten Format zu.
|
|
|
|
CREATE TEMPORARY TABLE IF NOT EXISTS _anlage_backfill_tmp AS
|
|
SELECT
|
|
a.id,
|
|
YEAR(COALESCE(a.anschaffungsdatum, NOW())) AS asset_year,
|
|
cs.anlage_nr_prefix AS prefix,
|
|
cs.anlage_nr_next + (ROW_NUMBER() OVER (ORDER BY a.id) - 1) AS seq_nr
|
|
FROM assets a
|
|
CROSS JOIN company_settings cs
|
|
WHERE a.anlage_nr = '' AND cs.id = 1;
|
|
|
|
UPDATE assets a
|
|
JOIN _anlage_backfill_tmp t ON a.id = t.id
|
|
SET a.anlage_nr = CONCAT(t.prefix, '-', t.asset_year, '-', LPAD(t.seq_nr, 4, '0'))
|
|
WHERE a.anlage_nr = '';
|
|
|
|
UPDATE company_settings
|
|
SET anlage_nr_next = anlage_nr_next + (SELECT COUNT(*) FROM _anlage_backfill_tmp)
|
|
WHERE id = 1 AND (SELECT COUNT(*) FROM _anlage_backfill_tmp) > 0;
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS _anlage_backfill_tmp;
|