Files
BeWoPlaner/Model/Changes_2019_01_07 Tasks in NewSchedulerAppointments konvertieren.txt
Lyndon 68925d074f Kalender: Rechteprüfung überarbeitet. Aufgaben in den Kalender integriert.
Verwaltung: Notizen bei den Maßnahmen hinzugefügt
2019-02-28 12:38:29 +01:00

33 lines
2.7 KiB
Plaintext

-- Dieses Skript konvertiert Tasks in NewSchedulerAppointments. Der Originator ist dabei der Employee mit der niedrigsten Oid aus der Tabelle task2employee!
-- Es werden keine Tasks konvertiert, die als DueDate NULL aufweisen!
-- Es handelt sich hier nur um die bereits erledigten Aufgaben, da diese in der Kalenderansicht keinen Zeitstrahl darstellen, sondern ein einzelner, ganztägiger Termin sind.
INSERT INTO newschedulerappointment (Subject, StartDate, EndDate, DueDate, CompletedDate, CompletedNotice, TaskDescription, FormerTaskOid,
IsTask, Status, AllDay, Version, Type, IsPrivate, Tid, IsActive,
OriginatorOid, UdpUser, InsUser, InsTs)
SELECT t.Title, CONCAT(DATE(t.DueDate), ' 00:00:00'), CONCAT(DATE(ADDDATE(t.DueDate, INTERVAL 1 DAY)), ' 00:00:00'), t.DueDate, t.CompletedDate, t.CompletedNotice, t.Description, t.Oid,
1, 0, 1, 1, 0, 0, 91, t.IsActive,
NULL, 'System', 'System', NOW()
FROM task t WHERE t.CompletedDate IS NOT NULL AND t.DueDate IS NOT NULL AND t.Oid IN (SELECT TaskOid FROM task2employee);
-- Diese Abfrage ist für Aufgaben, die noch nicht erledigt worden sind
INSERT INTO newschedulerappointment (Subject, StartDate, EndDate, DueDate, CompletedDate, CompletedNotice, TaskDescription, FormerTaskOid,
IsTask, Status, AllDay, Version, Type, IsPrivate, Tid, IsActive,
OriginatorOid, UdpUser, InsUser, InsTs)
SELECT t.Title, CONCAT(DATE(t.InsTs), ' 00:00:00'), CONCAT(DATE(ADDDATE(t.DueDate, INTERVAL 1 DAY)), ' 00:00:00'), t.DueDate, t.CompletedDate, t.CompletedNotice, t.Description, t.Oid,
1, 0, 1, 1, 0, 0, 91, t.IsActive,
NULL, 'System', 'System', NOW()
FROM task t WHERE t.CompletedDate IS NULL AND t.DueDate IS NOT NULL AND t.Oid IN (SELECT TaskOid FROM task2employee);
-- Die Mitarbeiter der ursprünglichen Tasks werden mit den neuen Appointments verknüpft
INSERT INTO employee2newschapp (EmployeeOid, NewSchAppOid, IsParticipating, Tid, InsTs, InsUser, UdpUser, Version, IsActive, IsPChanged, IsPC_CheckedTs)
SELECT e2t.EmployeeOid, (SELECT Oid FROM newschedulerappointment WHERE FormerTaskOid = e2t.TaskOid LIMIT 1), 1, 95, NOW(), 'System', 'System', 1, 1, 1, NOW()
FROM task2employee e2t WHERE e2t.TaskOid IN (SELECT FormerTaskOid FROM newschedulerappointment);
-- Die Hilfepläne der ursprünglichen Tasks werden mit den neuen Appointments verknüpft
INSERT INTO supportconcept2newschapp (SupportConceptOid, NewSchAppOid)
SELECT t.SupportConceptOid, (SELECT n.Oid FROM newschedulerappointment n WHERE n.FormerTaskOid IS NOT NULL AND n.FormerTaskOid = t.Oid LIMIT 1)
FROM task t WHERE t.Oid IN (SELECT FormerTaskOid FROM newschedulerappointment);