Features: - Backend: Node.js/Express mit MySQL/MariaDB - Frontend: Vue.js 3 mit Composition API - UTC-Zeithandling für korrekte Zeiterfassung - Timewish-basierte Überstundenberechnung - Wochenübersicht mit Urlaubs-/Krankheits-/Feiertagshandling - Bereinigtes Arbeitsende (Generell/Woche) - Überstunden-Offset für historische Daten - Fixed Layout mit scrollbarem Content - Kompakte UI mit grünem Theme
57 lines
2.4 KiB
SQL
57 lines
2.4 KiB
SQL
-- Ersetze Worklog-Einträge für Donnerstag, 16.10.2025
|
|
-- Lokale Zeit (MESZ = UTC+2): 08:02:35, 12:07:53, 13:06:14, 16:45:02, 17:00:00, 17:13:24
|
|
-- UTC-Zeit (für DB): 06:02:35, 10:07:53, 11:06:14, 14:45:02, 15:00:00, 15:13:24
|
|
|
|
-- Schritt 1: Lösche alte Einträge für 16.10.2025
|
|
-- Wegen Foreign Key Constraints müssen wir in der richtigen Reihenfolge löschen:
|
|
-- Erst die Einträge, die auf andere verweisen (stop work, stop pause)
|
|
-- Dann die Einträge, die referenziert werden (start pause, start work)
|
|
|
|
-- 1a. Lösche stop work und stop pause Einträge
|
|
DELETE FROM worklog
|
|
WHERE user_id = 1
|
|
AND DATE(tstamp) = '2025-10-16'
|
|
AND state IN ('stop work', 'stop pause');
|
|
|
|
-- 1b. Lösche start pause und start work Einträge
|
|
DELETE FROM worklog
|
|
WHERE user_id = 1
|
|
AND DATE(tstamp) = '2025-10-16'
|
|
AND state IN ('start pause', 'start work');
|
|
|
|
-- Schritt 2: Füge neue Einträge ein
|
|
-- Variablen für die IDs
|
|
SET @start_work_id = NULL;
|
|
SET @start_pause1_id = NULL;
|
|
SET @start_pause2_id = NULL;
|
|
|
|
-- 1. start work (06:02:35 UTC = 08:02:35 lokal)
|
|
INSERT INTO worklog (user_id, state, tstamp, relatedTo_id, version)
|
|
VALUES (1, 'start work', '2025-10-16 06:02:35', NULL, 0);
|
|
SET @start_work_id = LAST_INSERT_ID();
|
|
|
|
-- 2. start pause (10:07:53 UTC = 12:07:53 lokal) → relatedTo = start work
|
|
INSERT INTO worklog (user_id, state, tstamp, relatedTo_id, version)
|
|
VALUES (1, 'start pause', '2025-10-16 10:07:53', @start_work_id, 0);
|
|
SET @start_pause1_id = LAST_INSERT_ID();
|
|
|
|
-- 3. stop pause (11:06:14 UTC = 13:06:14 lokal) → relatedTo = start pause
|
|
INSERT INTO worklog (user_id, state, tstamp, relatedTo_id, version)
|
|
VALUES (1, 'stop pause', '2025-10-16 11:06:14', @start_pause1_id, 0);
|
|
|
|
-- 4. start pause (14:45:02 UTC = 16:45:02 lokal) → relatedTo = start work
|
|
INSERT INTO worklog (user_id, state, tstamp, relatedTo_id, version)
|
|
VALUES (1, 'start pause', '2025-10-16 14:45:02', @start_work_id, 0);
|
|
SET @start_pause2_id = LAST_INSERT_ID();
|
|
|
|
-- 5. stop pause (15:00:00 UTC = 17:00:00 lokal) → relatedTo = start pause
|
|
INSERT INTO worklog (user_id, state, tstamp, relatedTo_id, version)
|
|
VALUES (1, 'stop pause', '2025-10-16 15:00:00', @start_pause2_id, 0);
|
|
|
|
-- 6. stop work (15:13:24 UTC = 17:13:24 lokal) → relatedTo = start work
|
|
INSERT INTO worklog (user_id, state, tstamp, relatedTo_id, version)
|
|
VALUES (1, 'stop work', '2025-10-16 15:13:24', @start_work_id, 0);
|
|
|
|
SELECT 'Worklog-Einträge für 16.10.2025 erfolgreich ersetzt' AS Status;
|
|
|