From 245182eb073f92414c86c923d7fedf6dcf771644 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Mon, 6 Oct 2025 13:15:48 +0530 Subject: [PATCH] Added the attendance persentage and task persentage --- Marco.Pms.Model/ViewModels/Report/ProjectStatisticReport.cs | 4 +++- Marco.Pms.Services/Helpers/ReportHelper.cs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Marco.Pms.Model/ViewModels/Report/ProjectStatisticReport.cs b/Marco.Pms.Model/ViewModels/Report/ProjectStatisticReport.cs index c69d27f..17847aa 100644 --- a/Marco.Pms.Model/ViewModels/Report/ProjectStatisticReport.cs +++ b/Marco.Pms.Model/ViewModels/Report/ProjectStatisticReport.cs @@ -7,13 +7,15 @@ public required string TimeStamp { get; set; } public int TodaysAttendances { get; set; } public int TotalEmployees { get; set; } + public double AttendancePercentage { get; set; } public int RegularizationPending { get; set; } public int CheckoutPending { get; set; } public double TotalPlannedWork { get; set; } public double TotalCompletedWork { get; set; } + public double CompletionStatus { get; set; } public double TotalPlannedTask { get; set; } public double TotalCompletedTask { get; set; } - public double CompletionStatus { get; set; } + public double TaskPercentage { get; set; } public int ReportPending { get; set; } public int TodaysAssignTasks { get; set; } public List TeamOnSite { get; set; } = new List(); diff --git a/Marco.Pms.Services/Helpers/ReportHelper.cs b/Marco.Pms.Services/Helpers/ReportHelper.cs index b3fb69b..344b1ec 100644 --- a/Marco.Pms.Services/Helpers/ReportHelper.cs +++ b/Marco.Pms.Services/Helpers/ReportHelper.cs @@ -263,13 +263,15 @@ namespace Marco.Pms.Services.Helpers // Fill report statisticReport.TodaysAttendances = checkedInEmployeeIds.Count; statisticReport.TotalEmployees = assignedEmployeeIds.Count; + statisticReport.AttendancePercentage = checkedInEmployeeIds.Count > 0 ? (checkedInEmployeeIds.Count / assignedEmployeeIds.Count) * 100 : 0; statisticReport.RegularizationPending = regularizationIds.Count; statisticReport.CheckoutPending = checkoutPendingIds.Count; statisticReport.TotalPlannedWork = totalPlannedWork; statisticReport.TotalCompletedWork = totalCompletedWork; + statisticReport.CompletionStatus = totalPlannedWork > 0 ? (totalCompletedWork / totalPlannedWork) * 100 : 0; statisticReport.TotalPlannedTask = totalPlannedTask; statisticReport.TotalCompletedTask = totalCompletedTask; - statisticReport.CompletionStatus = totalPlannedWork > 0 ? totalCompletedWork / totalPlannedWork : 0; + statisticReport.AttendancePercentage = totalCompletedTask > 0 ? (totalCompletedTask / totalPlannedTask) * 100 : 0; statisticReport.TodaysAssignTasks = todayAssignedTasks.Count; statisticReport.ReportPending = reportPending.Count; statisticReport.TeamOnSite = teamOnSite;