add utility to calculate and format completion percentage from planned and completed work
This commit is contained in:
parent
d2b80b4f02
commit
01ccd2e758
@ -1,6 +1,6 @@
|
||||
import React, { useEffect, useState } from "react";
|
||||
import moment from "moment";
|
||||
import { formatNumber, getDateDifferenceInDays } from "../../utils/dateUtils";
|
||||
import { formatNumber, getCompletionPercentage, getDateDifferenceInDays } from "../../utils/dateUtils";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useProjectDetails, useUpdateProject } from "../../hooks/useProjects";
|
||||
import ManageProjectInfo from "./ManageProjectInfo";
|
||||
@ -227,12 +227,7 @@ const ProjectCard = ({ projectData, recall }) => {
|
||||
Task: {formatNumber(projectInfo.completedWork)} / {formatNumber(projectInfo.plannedWork)}
|
||||
</small>
|
||||
<small className="text-body">
|
||||
{Math.floor(
|
||||
getProgressInNumber(
|
||||
projectInfo.plannedWork,
|
||||
projectInfo.completedWork
|
||||
)
|
||||
) || 0}{" "}
|
||||
{getCompletionPercentage(projectInfo.completedWork, projectInfo.plannedWork)}
|
||||
% Completed
|
||||
</small>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@ import {
|
||||
useEmployeesByProjectAllocated,
|
||||
useProjects,
|
||||
} from "../../hooks/useProjects";
|
||||
import { formatNumber } from "../../utils/dateUtils";
|
||||
import { formatNumber, getCompletionPercentage } from "../../utils/dateUtils";
|
||||
import ProgressBar from "../common/ProgressBar";
|
||||
|
||||
const ProjectOverview = ({ project }) => {
|
||||
@ -49,9 +49,8 @@ const ProjectOverview = ({ project }) => {
|
||||
)
|
||||
) || 0}{" "} */}
|
||||
{
|
||||
(formatNumber(project_detail.plannedWork),
|
||||
"/",
|
||||
formatNumber(project_detail.completedWork))
|
||||
getCompletionPercentage( formatNumber(project_detail.completedWork),formatNumber(project_detail.plannedWork))
|
||||
|
||||
}
|
||||
% Completed
|
||||
</small>
|
||||
|
@ -69,4 +69,13 @@ export const formatNumber = (num) => {
|
||||
};
|
||||
export const formatUTCToLocalTime = (datetime) =>{
|
||||
return moment.utc(datetime).local().format("MMMM DD, YYYY [at] hh:mm A");
|
||||
}
|
||||
|
||||
export const getCompletionPercentage = (completedWork, plannedWork)=> {
|
||||
if (!plannedWork || plannedWork === 0) return 0;
|
||||
|
||||
const percentage = (completedWork / plannedWork) * 100;
|
||||
const clamped = Math.min(Math.max(percentage, 0), 100);
|
||||
|
||||
return clamped.toFixed(2);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user