refactor: enhance task completion ratio calculation and reporting

- Updated the `get_task_complete_ratio` function to improve handling of manual, weighted, and time-based progress calculations.
- Added logic to ensure accurate task completion ratios, including checks for subtasks and project settings.
- Enhanced error logging in the `refreshProjectTaskProgressValues` method for better debugging.
- Introduced new fields in the reporting allocation controller to calculate and display total working hours and utilization metrics for team members.
- Updated the frontend time sheet component to display utilization and over/under utilized hours in tooltips for better user insights.
This commit is contained in:
chamikaJ
2025-05-19 12:11:32 +05:30
parent 82155cab8d
commit c19e06d902
5 changed files with 329 additions and 84 deletions

View File

@@ -833,9 +833,7 @@ export default class TasksControllerV2 extends TasksControllerBase {
}
public static async refreshProjectTaskProgressValues(projectId: string): Promise<void> {
try {
console.log(`Refreshing progress values for project ${projectId}`);
try {
// Run the recalculate_all_task_progress function only for tasks in this project
const query = `
DO $$
@@ -893,10 +891,10 @@ export default class TasksControllerV2 extends TasksControllerBase {
END $$;
`;
const result = await db.query(query);
await db.query(query);
console.log(`Finished refreshing progress values for project ${projectId}`);
} catch (error) {
log_error('Error refreshing project task progress values', error);
log_error("Error refreshing project task progress values", error);
}
}