Rename originalTotalAssignment to intendedTotalAssignment and use EffortDuration instead of hours
FEA: ItEr74S04BugFixing
This commit is contained in:
parent
2a0ee6bb54
commit
343bd08d64
5 changed files with 42 additions and 26 deletions
|
|
@ -43,7 +43,6 @@ import org.apache.commons.lang.ObjectUtils;
|
|||
import org.apache.commons.lang.Validate;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.hibernate.validator.Min;
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.calendars.entities.AvailabilityTimeLine;
|
||||
|
|
@ -478,7 +477,8 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
|
|||
@OnCopy(Strategy.SHARE_COLLECTION_ELEMENTS)
|
||||
private Set<LimitingResourceQueueElement> limitingResourceQueueElements = new HashSet<LimitingResourceQueueElement>();
|
||||
|
||||
private int originalTotalAssignment = 0;
|
||||
@OnCopy(Strategy.SHARE)
|
||||
private EffortDuration intendedTotalAssignment = zero();
|
||||
|
||||
private IOnDayAssignmentRemoval dayAssignmenteRemoval = new DoNothing();
|
||||
|
||||
|
|
@ -614,7 +614,7 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
|
|||
}
|
||||
if ((task.getConsolidation() == null)
|
||||
|| (task.getConsolidation().getConsolidatedValues().isEmpty())) {
|
||||
originalTotalAssignment = getNonConsolidatedHours();
|
||||
intendedTotalAssignment = getNonConsolidatedEffort();
|
||||
} else {
|
||||
BigDecimal lastConslidation = task.getConsolidation()
|
||||
.getConsolidatedValues().last().getValue();
|
||||
|
|
@ -623,18 +623,19 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
|
|||
new BigDecimal(100), RoundingMode.DOWN));
|
||||
if (unconsolitedPercentage.setScale(2).equals(
|
||||
BigDecimal.ZERO.setScale(2))) {
|
||||
originalTotalAssignment = getConsolidatedHours();
|
||||
intendedTotalAssignment = getConsolidatedEffort();
|
||||
} else {
|
||||
originalTotalAssignment = new BigDecimal(
|
||||
getNonConsolidatedHours()).divide(
|
||||
unconsolitedPercentage, RoundingMode.DOWN).intValue();
|
||||
intendedTotalAssignment = EffortDuration
|
||||
.seconds(new BigDecimal(getNonConsolidatedEffort()
|
||||
.getSeconds()).divide(unconsolitedPercentage,
|
||||
RoundingMode.DOWN).intValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Min(0)
|
||||
public int getOriginalTotalAssigment() {
|
||||
return originalTotalAssignment;
|
||||
@NotNull
|
||||
public EffortDuration getIntendedTotalAssigment() {
|
||||
return intendedTotalAssignment;
|
||||
}
|
||||
|
||||
public interface IVisitor<T> {
|
||||
|
|
@ -1325,7 +1326,7 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
|
|||
getUnorderedFor(scenario), getIntraDayStartDateFor(scenario),
|
||||
getIntraDayEndFor(scenario));
|
||||
copy.resourcesPerDay = resourcesPerDay;
|
||||
copy.originalTotalAssignment = originalTotalAssignment;
|
||||
copy.intendedTotalAssignment = intendedTotalAssignment;
|
||||
copy.task = task;
|
||||
copy.assignmentFunction = assignmentFunction;
|
||||
copy.intendedResourcesPerDay = intendedResourcesPerDay;
|
||||
|
|
@ -1394,8 +1395,8 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
|
|||
return DayAssignment.sum(getAssignments());
|
||||
}
|
||||
|
||||
protected int getIntendedHours() {
|
||||
return originalTotalAssignment;
|
||||
protected EffortDuration getIntendedEffort() {
|
||||
return intendedTotalAssignment;
|
||||
}
|
||||
|
||||
@OnCopy(Strategy.IGNORE)
|
||||
|
|
@ -1734,7 +1735,7 @@ public abstract class ResourceAllocation<T extends DayAssignment> extends
|
|||
if (isSatisfied()) {
|
||||
return getNonConsolidatedEffort();
|
||||
} else {
|
||||
return hours(getIntendedHours());
|
||||
return getIntendedEffort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -129,4 +129,15 @@
|
|||
<sql>update resource_allocation SET intended_resources_per_day = resources_per_day</sql>
|
||||
</changeSet>
|
||||
|
||||
<changeSet id="change-original-total-assignment-to-use-effort-duration" author="ogonzalez">
|
||||
<comment>rename original_total_assignment to intended_total_assignment and now it's interpreted as an EffortDuration</comment>
|
||||
<addColumn tableName="resource_allocation">
|
||||
<column name="intended_total_assignment" type="INTEGER" />
|
||||
</addColumn>
|
||||
<addDefaultValue tableName="resource_allocation" columnName="intended_total_assignment"
|
||||
defaultValueNumeric="0" />
|
||||
<sql>UPDATE resource_allocation SET intended_total_assignment = 3600 * original_total_assignment WHERE original_total_assignment IS NOT NULL</sql>
|
||||
<dropColumn tableName="resource_allocation" columnName="original_total_assignment"/>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
|
|
|
|||
|
|
@ -20,8 +20,9 @@
|
|||
|
||||
<property name="intendedTotalHours" column="intended_total_hours" />
|
||||
|
||||
<property name="originalTotalAssignment" access="field"
|
||||
column="original_total_assignment" />
|
||||
<property name="intendedTotalAssignment" access="field"
|
||||
column="intended_total_assignment"
|
||||
type="org.navalplanner.business.workingday.hibernate.EffortDurationType"/>
|
||||
|
||||
<!-- Indexed -->
|
||||
<many-to-one class="Task" name="task" column="task" index="idx_resource_allocation_on_task"/>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
|
||||
package org.navalplanner.web.planner.allocation;
|
||||
|
||||
import static org.navalplanner.business.workingday.EffortDuration.hours;
|
||||
import static org.navalplanner.business.workingday.EffortDuration.zero;
|
||||
import static org.navalplanner.web.I18nHelper._;
|
||||
|
||||
|
|
@ -592,10 +591,10 @@ public abstract class AllocationRow {
|
|||
|
||||
public EffortDuration getOriginalEffort() {
|
||||
if (temporal != null) {
|
||||
return hours(temporal.getOriginalTotalAssigment());
|
||||
return temporal.getIntendedTotalAssigment();
|
||||
}
|
||||
if (origin != null) {
|
||||
return hours(origin.getOriginalTotalAssigment());
|
||||
return origin.getIntendedTotalAssigment();
|
||||
}
|
||||
return zero();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,17 +40,18 @@ import org.navalplanner.business.orders.entities.OrderElement;
|
|||
import org.navalplanner.business.planner.daos.ITaskElementDAO;
|
||||
import org.navalplanner.business.planner.entities.DayAssignment;
|
||||
import org.navalplanner.business.planner.entities.ResourceAllocation;
|
||||
import org.navalplanner.business.planner.entities.ResourceAllocation.AllocationsSpecified;
|
||||
import org.navalplanner.business.planner.entities.ResourceAllocation.DetachDayAssignmentOnRemoval;
|
||||
import org.navalplanner.business.planner.entities.SpecificResourceAllocation;
|
||||
import org.navalplanner.business.planner.entities.Task;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.business.planner.entities.ResourceAllocation.AllocationsSpecified;
|
||||
import org.navalplanner.business.planner.entities.ResourceAllocation.DetachDayAssignmentOnRemoval;
|
||||
import org.navalplanner.business.planner.entities.consolidations.CalculatedConsolidatedValue;
|
||||
import org.navalplanner.business.planner.entities.consolidations.CalculatedConsolidation;
|
||||
import org.navalplanner.business.planner.entities.consolidations.ConsolidatedValue;
|
||||
import org.navalplanner.business.planner.entities.consolidations.Consolidation;
|
||||
import org.navalplanner.business.planner.entities.consolidations.NonCalculatedConsolidatedValue;
|
||||
import org.navalplanner.business.planner.entities.consolidations.NonCalculatedConsolidation;
|
||||
import org.navalplanner.business.workingday.EffortDuration;
|
||||
import org.navalplanner.business.workingday.IntraDayDate;
|
||||
import org.navalplanner.web.planner.order.PlanningState;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -226,14 +227,17 @@ public class AdvanceConsolidationModel implements IAdvanceConsolidationModel {
|
|||
LocalDate endExclusive = LocalDate.fromDateFields(task
|
||||
.getEndDate());
|
||||
|
||||
Integer pendingHours = BigDecimal.ONE.subtract(
|
||||
int pendingSeconds = BigDecimal.ONE
|
||||
.subtract(
|
||||
value.getValue().setScale(2).divide(
|
||||
new BigDecimal(100), RoundingMode.DOWN))
|
||||
.multiply(
|
||||
new BigDecimal(resourceAllocation
|
||||
.getOriginalTotalAssigment()))
|
||||
.getIntendedTotalAssigment()
|
||||
.getSeconds()))
|
||||
.intValue();
|
||||
|
||||
int pendingHours = EffortDuration.seconds(pendingSeconds)
|
||||
.roundToHours();
|
||||
resourceAllocation
|
||||
.setOnDayAssignmentRemoval(new DetachDayAssignmentOnRemoval());
|
||||
|
||||
|
|
@ -329,8 +333,8 @@ public class AdvanceConsolidationModel implements IAdvanceConsolidationModel {
|
|||
for (ResourceAllocation<?> resourceAllocation : allResourceAllocations) {
|
||||
resourceAllocation
|
||||
.setOnDayAssignmentRemoval(new DetachDayAssignmentOnRemoval());
|
||||
Integer pendingHours = resourceAllocation
|
||||
.getOriginalTotalAssigment();
|
||||
int pendingHours = resourceAllocation
|
||||
.getIntendedTotalAssigment().roundToHours();
|
||||
if (!consolidation.getConsolidatedValues().isEmpty()) {
|
||||
BigDecimal lastConslidation = task.getConsolidation()
|
||||
.getConsolidatedValues().last().getValue();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue