Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/PercentCompleteTotalUtil.java17
1 files changed, 13 insertions, 4 deletions
diff --git a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/PercentCompleteTotalUtil.java b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/PercentCompleteTotalUtil.java
index e90d4f8d85e..5806680c225 100644
--- a/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/PercentCompleteTotalUtil.java
+++ b/plugins/org.eclipse.osee.ats.core/src/org/eclipse/osee/ats/core/util/PercentCompleteTotalUtil.java
@@ -41,12 +41,13 @@ public class PercentCompleteTotalUtil {
// Calculate total percent using configured weighting
for (IAtsStateDefinition stateDef : workItem.getWorkDefinition().getStates()) {
if (!stateDef.getStateType().isCompletedState() && !stateDef.getStateType().isCancelledState()) {
- double stateWeightInt = stateDef.getStateWeight();
- double weight = stateWeightInt / 100;
- int percentCompleteForState = getPercentCompleteSMAStateTotal(workItem, stateDef, services);
- percent += weight * percentCompleteForState;
+ percent = addStatePercentWithWeight(services, percent, workItem, stateDef);
}
}
+ if (workItem.getStateMgr().getStateType().isCompleted()) {
+ IAtsStateDefinition stateDef = workItem.getStateDefinition();
+ percent = addStatePercentWithWeight(services, percent, workItem, stateDef);
+ }
} else {
percent = getPercentCompleteSMASinglePercent(workItem, services);
if (percent == 0) {
@@ -70,6 +71,14 @@ public class PercentCompleteTotalUtil {
return percent;
}
+ private static int addStatePercentWithWeight(IAtsServices services, int percent, IAtsWorkItem workItem, IAtsStateDefinition stateDef) {
+ double stateWeightInt = stateDef.getStateWeight();
+ double weight = stateWeightInt / 100;
+ int percentCompleteForState = getPercentCompleteSMAStateTotal(workItem, stateDef, services);
+ percent += weight * percentCompleteForState;
+ return percent;
+ }
+
private static boolean isAnyStateHavePercentEntered(IAtsWorkItem workItem) throws OseeCoreException {
for (String stateName : workItem.getStateMgr().getVisitedStateNames()) {
if (workItem.getStateMgr().getPercentComplete(stateName) != 0) {

Back to the top