33 lines
2.7 KiB
Plaintext
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); |