diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/CalculatedConsolidatedValue.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/CalculatedConsolidatedValue.java index 64ed89481..326af7e30 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/CalculatedConsolidatedValue.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/CalculatedConsolidatedValue.java @@ -25,6 +25,7 @@ import java.math.BigDecimal; import org.joda.time.LocalDate; import org.libreplan.business.util.deepcopy.DeepCopy; +import org.libreplan.business.workingday.IntraDayDate; /** * @author Susana Montes Pedreira @@ -39,12 +40,12 @@ public class CalculatedConsolidatedValue extends ConsolidatedValue { } public static CalculatedConsolidatedValue create(LocalDate date, - BigDecimal value, LocalDate taskEndDate) { + BigDecimal value, IntraDayDate taskEndDate) { return create(new CalculatedConsolidatedValue(date, value, taskEndDate)); } protected CalculatedConsolidatedValue(LocalDate date, BigDecimal value, - LocalDate taskEndDate) { + IntraDayDate taskEndDate) { super(date, value, taskEndDate); } diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/ConsolidatedValue.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/ConsolidatedValue.java index d60be20ec..3e24d85c1 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/ConsolidatedValue.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/ConsolidatedValue.java @@ -26,6 +26,7 @@ import java.math.BigDecimal; import org.hibernate.validator.NotNull; import org.joda.time.LocalDate; import org.libreplan.business.common.BaseEntity; +import org.libreplan.business.workingday.IntraDayDate; /** * @author Susana Montes Pedreira @@ -35,7 +36,7 @@ public abstract class ConsolidatedValue extends BaseEntity { private LocalDate date; private BigDecimal value; - private LocalDate taskEndDate; + private IntraDayDate taskEndDate; public abstract boolean isCalculated(); @@ -44,7 +45,7 @@ public abstract class ConsolidatedValue extends BaseEntity { } protected ConsolidatedValue(LocalDate date, BigDecimal value, - LocalDate taskEndDate) { + IntraDayDate taskEndDate) { this.date = date; this.value = value; this.taskEndDate = taskEndDate; @@ -67,7 +68,7 @@ public abstract class ConsolidatedValue extends BaseEntity { } @NotNull(message = "task end date not specified") - public LocalDate getTaskEndDate() { + public IntraDayDate getTaskEndDate() { return taskEndDate; } diff --git a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/NonCalculatedConsolidatedValue.java b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/NonCalculatedConsolidatedValue.java index 89e12415b..dab5c8380 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/NonCalculatedConsolidatedValue.java +++ b/libreplan-business/src/main/java/org/libreplan/business/planner/entities/consolidations/NonCalculatedConsolidatedValue.java @@ -28,6 +28,7 @@ import org.libreplan.business.advance.entities.AdvanceMeasurement; import org.libreplan.business.util.deepcopy.DeepCopy; import org.libreplan.business.util.deepcopy.OnCopy; import org.libreplan.business.util.deepcopy.Strategy; +import org.libreplan.business.workingday.IntraDayDate; /** * @author Susana Montes Pedreira @@ -45,26 +46,26 @@ public class NonCalculatedConsolidatedValue extends ConsolidatedValue { } public static NonCalculatedConsolidatedValue create(LocalDate date, - BigDecimal value, LocalDate taskEndDate) { + BigDecimal value, IntraDayDate taskEndDate) { return create(new NonCalculatedConsolidatedValue(date, value, taskEndDate)); } public static NonCalculatedConsolidatedValue create(LocalDate date, BigDecimal value, AdvanceMeasurement advanceMeasurement, - LocalDate taskEndDate) { + IntraDayDate taskEndDate) { return create(new NonCalculatedConsolidatedValue(date, value, advanceMeasurement, taskEndDate)); } protected NonCalculatedConsolidatedValue(LocalDate date, BigDecimal value, - AdvanceMeasurement advanceMeasurement, LocalDate taskEndDate) { + AdvanceMeasurement advanceMeasurement, IntraDayDate taskEndDate) { this(date, value, taskEndDate); this.advanceMeasurement = advanceMeasurement; } protected NonCalculatedConsolidatedValue(LocalDate date, BigDecimal value, - LocalDate taskEndDate) { + IntraDayDate taskEndDate) { super(date, value, taskEndDate); } diff --git a/libreplan-business/src/main/resources/db.changelog-1.2.xml b/libreplan-business/src/main/resources/db.changelog-1.2.xml new file mode 100644 index 000000000..ea0de61fb --- /dev/null +++ b/libreplan-business/src/main/resources/db.changelog-1.2.xml @@ -0,0 +1,20 @@ + + + + + + taskEndDate attribute in class ConsolidatedValue has been changed to IntraDayDate. + It is needed to add some columns to store EffortDuration in ConsolidatedValue. + + + + + + + + diff --git a/libreplan-business/src/main/resources/db.changelog.xml b/libreplan-business/src/main/resources/db.changelog.xml index d74b91d48..0ace5ccf8 100644 --- a/libreplan-business/src/main/resources/db.changelog.xml +++ b/libreplan-business/src/main/resources/db.changelog.xml @@ -9,5 +9,6 @@ + diff --git a/libreplan-business/src/main/resources/org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml b/libreplan-business/src/main/resources/org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml index f73b03ec1..4daa5ec54 100644 --- a/libreplan-business/src/main/resources/org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml +++ b/libreplan-business/src/main/resources/org/libreplan/business/planner/entities/AdvanceConsolidations.hbm.xml @@ -13,8 +13,13 @@ - + + + + + diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/consolidations/AdvanceConsolidationModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/consolidations/AdvanceConsolidationModel.java index 7cbce4ca9..d39519f3c 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/consolidations/AdvanceConsolidationModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/consolidations/AdvanceConsolidationModel.java @@ -279,16 +279,15 @@ public class AdvanceConsolidationModel implements IAdvanceConsolidationModel { if (consolidation != null && task != null) { if (consolidation.isCalculated()) { - return CalculatedConsolidatedValue.create(LocalDate - .fromDateFields(dto.getDate()), dto.getPercentage(), - LocalDate.fromDateFields(task.getEndDate())); + return CalculatedConsolidatedValue.create( + LocalDate.fromDateFields(dto.getDate()), + dto.getPercentage(), task.getIntraDayEndDate()); } else { AdvanceMeasurement measure = dto.getAdvanceMeasurement(); NonCalculatedConsolidatedValue consolidatedValue = NonCalculatedConsolidatedValue - .create(LocalDate.fromDateFields(dto.getDate()), dto - .getPercentage(), measure, LocalDate - .fromDateFields(task - .getEndDate())); + .create(LocalDate.fromDateFields(dto.getDate()), + dto.getPercentage(), measure, + task.getIntraDayEndDate()); measure.getNonCalculatedConsolidatedValues().add( consolidatedValue); return consolidatedValue; @@ -304,10 +303,9 @@ public class AdvanceConsolidationModel implements IAdvanceConsolidationModel { } if (!consolidation.getConsolidatedValues().isEmpty()) { - LocalDate endExclusive = consolidation.getConsolidatedValues() - .last() - .getTaskEndDate(); - task.setEndDate(endExclusive.toDateTimeAtStartOfDay().toDate()); + IntraDayDate endExclusive = consolidation.getConsolidatedValues() + .last().getTaskEndDate(); + task.setIntraDayEndDate(endExclusive); } if (!consolidation.isCalculated()) { ((NonCalculatedConsolidation) consolidation)