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;