Initial commit: TimeClock v3 - Node.js/Vue.js Zeiterfassung
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
This commit is contained in:
39
backend/fix-worklog-timezone.sql
Normal file
39
backend/fix-worklog-timezone.sql
Normal file
@@ -0,0 +1,39 @@
|
||||
-- Script zur Korrektur der Worklog Zeitstempel
|
||||
-- Die alte C++ App hat lokale Zeit gespeichert, aber als UTC interpretiert
|
||||
-- Wir müssen die Zeitstempel korrigieren, indem wir sie als lokale Zeit interpretieren
|
||||
|
||||
-- WICHTIG: Erstelle erst ein Backup!
|
||||
-- mysqldump -u root -p stechuhr2 worklog > worklog_backup_$(date +%Y%m%d_%H%M%S).sql
|
||||
|
||||
-- Prüfe aktuelle Daten (erste 10 Einträge)
|
||||
SELECT
|
||||
id,
|
||||
user_id,
|
||||
state,
|
||||
tstamp AS tstamp_alt,
|
||||
CONVERT_TZ(tstamp, '+00:00', '+01:00') AS tstamp_neu_mez,
|
||||
CONVERT_TZ(tstamp, '+00:00', '+02:00') AS tstamp_neu_mesz
|
||||
FROM worklog
|
||||
ORDER BY id
|
||||
LIMIT 10;
|
||||
|
||||
-- INFO: Welche Zeitzone soll verwendet werden?
|
||||
-- MEZ (Winterzeit) = UTC+1 = '+01:00'
|
||||
-- MESZ (Sommerzeit) = UTC+2 = '+02:00'
|
||||
|
||||
-- OPTION A: Alle Timestamps als MEZ (UTC+1) interpretieren
|
||||
-- UPDATE worklog SET tstamp = CONVERT_TZ(tstamp, '+00:00', '+01:00');
|
||||
|
||||
-- OPTION B: Alle Timestamps als MESZ (UTC+2) interpretieren
|
||||
-- UPDATE worklog SET tstamp = CONVERT_TZ(tstamp, '+00:00', '+02:00');
|
||||
|
||||
-- OPTION C: Intelligente Korrektur basierend auf Sommerzeit/Winterzeit
|
||||
-- (Komplexer, aber genauer - berücksichtigt die tatsächliche Zeitzone zum Zeitpunkt der Speicherung)
|
||||
|
||||
SELECT '⚠️ WICHTIG: Prüfe die Ausgabe oben und wähle die passende UPDATE-Anweisung!' AS Warnung;
|
||||
SELECT 'Die C++ App hat wahrscheinlich lokale Zeit (MEZ/MESZ) gespeichert, aber MySQL hat sie als UTC interpretiert.' AS Info;
|
||||
SELECT 'Wenn die Zeiten im Sommer (März-Oktober) 2h früher sind, nutze OPTION B (MESZ = +02:00)' AS Tipp1;
|
||||
SELECT 'Wenn die Zeiten im Winter (November-Februar) 1h früher sind, nutze OPTION A (MEZ = +01:00)' AS Tipp2;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user