diff options
author | ddunne | 2012-05-04 23:19:47 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2012-05-04 23:19:47 +0000 |
commit | c794b06ec6e1495eab64b288a44e367f7763d09c (patch) | |
tree | 9268a306f1ecf99e52820f7dee5b5183b5734dbd | |
parent | 0bcb15e3bda3087f524ff6b26dbbd3d16d7f1c19 (diff) | |
download | org.eclipse.osee-c794b06ec6e1495eab64b288a44e367f7763d09c.tar.gz org.eclipse.osee-c794b06ec6e1495eab64b288a44e367f7763d09c.tar.xz org.eclipse.osee-c794b06ec6e1495eab64b288a44e367f7763d09c.zip |
bug[ats_NBZGS]: Percent Complete not showing correctly for AH6 Actions
-rw-r--r-- | plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java index 559d979c7e2..26e103c46d5 100644 --- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java +++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/editor/WETransitionComposite.java @@ -286,44 +286,52 @@ public class WETransitionComposite extends Composite { } private boolean handlePopulateStateMetrics(StateDefinition fromStateDefinition, StateDefinition toStateDefinition) throws OseeCoreException { - // Don't log metrics for transition to cancelled states - if (toStateDefinition.isCancelledPage()) { - return true; + int percent = 0; + // If state weighting, always 100 cause state is completed + if (awa.getWorkDefinition().isStateWeightingEnabled()) { + percent = 100; + } else { + if (toStateDefinition.isCompletedOrCancelledPage()) { + percent = 100; + } else { + percent = awa.getSoleAttributeValue(AtsAttributeTypes.PercentComplete, 0); + } } - // Page has the ability to override the autofill of the metrics - if (!isRequireStateHoursSpentPrompt(fromStateDefinition) && awa.getStateMgr().getHoursSpent() == 0) { + double hoursSpent = awa.getStateMgr().getHoursSpent(); + double additionalHours = 0.0; + boolean autoFilled = false; + if (hoursSpent == 0) { // First, try to autofill if it's only been < 5 min since creation double minSinceCreation = getCreationToNowDateDeltaMinutes(); - // System.out.println("minSinceCreation *" + minSinceCreation + "*"); - double hoursSinceCreation = minSinceCreation / 60.0; - if (hoursSinceCreation < 0.02) { - hoursSinceCreation = 0.02; - } - // System.out.println("hoursSinceCreation *" + hoursSinceCreation + "*"); if (minSinceCreation < 5) { - awa.getStateMgr().updateMetrics(awa.getStateDefinition(), hoursSinceCreation, 100, true); - return true; + // System.out.println("minSinceCreation *" + minSinceCreation + "*"); + double hoursSinceCreation = minSinceCreation / 60.0; + if (hoursSinceCreation < 0.02) { + hoursSinceCreation = 0.02; + } + additionalHours = hoursSinceCreation; + autoFilled = true; } } - if (isRequireStateHoursSpentPrompt(fromStateDefinition)) { + if (isRequireStateHoursSpentPrompt(fromStateDefinition) && !autoFilled && !toStateDefinition.isCancelledPage()) { // Otherwise, open dialog to ask for hours complete String msg = - awa.getStateMgr().getCurrentStateName() + " State\n\n" + AtsUtilCore.doubleToI18nString(awa.getStateMgr().getHoursSpent()) + " hours already spent on this state.\n" + "Enter the additional number of hours you spent on this state."; + awa.getStateMgr().getCurrentStateName() + " State\n\n" + AtsUtilCore.doubleToI18nString(hoursSpent) + " hours already spent on this state.\n" + "Enter the additional number of hours you spent on this state."; // Remove after ATS Resolution options is removed 0.9.9_SR5ish TransitionStatusData data = new TransitionStatusData(Arrays.asList(awa), false); TransitionStatusDialog dialog = new TransitionStatusDialog("Enter Hours Spent", msg, data); int result = dialog.open(); if (result == 0) { - awa.getStateMgr().updateMetrics(awa.getStateDefinition(), data.getAdditionalHours(), 100, true); - return true; + additionalHours = dialog.getData().getAdditionalHours(); } else { return false; } - } else { - return true; } + awa.getStateMgr().updateMetrics(awa.getStateDefinition(), additionalHours, percent, true); + + return true; } private boolean isRequireStateHoursSpentPrompt(StateDefinition stateDefinition) { |