CREATE OR ALTER PROCEDURE [dbo].[Hr_S_DevelopmentPlanSync] @PlanId uniqueidentifier AS BEGIN SET NOCOUNT ON; -- Eğitim aksiyonu, çalışan o eğitime "Katıldı" olarak işlendiyse kendiliğinden tamamlanır; -- tamamlanan aksiyonun ilerlemesi her zaman %100'dür. UPDATE dp SET Status = N'Completed', Progress = 100 FROM Hr_T_DevelopmentPlan dp WHERE dp.Id = @PlanId AND dp.IsDeleted = 0 AND dp.Status <> N'Cancelled' AND (dp.Status = N'Completed' OR EXISTS ( SELECT 1 FROM Hr_T_TrainingParticipant tp WHERE tp.TrainingId = dp.TrainingId AND tp.UserId = dp.EmployeeId AND tp.AttendanceStatus = N'Attended' AND tp.IsDeleted = 0)); END GO