From 7d917c2170d2fdc797a4783bbe130f57e5d2530d Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Thu, 26 Jul 2012 17:21:40 +0200 Subject: [PATCH] Avoid update task end date when subcontracting a task Somehow related to bug #1521 but a different problem. FEA: ItEr76S04BugFixing --- .../web/planner/order/ISubcontractModel.java | 1 - .../planner/order/SubcontractController.java | 8 ------- .../web/planner/order/SubcontractModel.java | 23 ++++++++----------- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/ISubcontractModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/ISubcontractModel.java index 4cbee88d6..d2fc8b8da 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/ISubcontractModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/ISubcontractModel.java @@ -58,7 +58,6 @@ public interface ISubcontractModel { boolean hasResourceAllocations(); - Date getEndDate(); void setEndDate(Date endDate); void removeSubcontractedTaskData(); diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java index 4bccab25b..655be4450 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractController.java @@ -127,14 +127,6 @@ public class SubcontractController extends GenericForwardComposer { } } - public Date getEndDate() { - return subcontractModel.getEndDate(); - } - - public void setEndDate(Date endDate) { - subcontractModel.setEndDate(endDate); - } - public void removeSubcontractedTaskData() { subcontractModel.removeSubcontractedTaskData(); } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractModel.java index 9eff04272..3119ade16 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/planner/order/SubcontractModel.java @@ -36,6 +36,7 @@ import org.libreplan.business.planner.entities.SubcontractState; import org.libreplan.business.planner.entities.SubcontractedTaskData; import org.libreplan.business.planner.entities.SubcontractorDeliverDate; import org.libreplan.business.planner.entities.Task; +import org.libreplan.business.workingday.IntraDayDate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; @@ -58,8 +59,8 @@ public class SubcontractModel implements ISubcontractModel { */ private Task task; private org.zkoss.ganttz.data.Task ganttTask; - private Date startDate; - private Date endDate; + private IntraDayDate startDate; + private IntraDayDate endDate; private SubcontractedTaskData subcontractedTaskData; private SubcontractedTaskData currentSubcontractedTaskData; @@ -74,8 +75,8 @@ public class SubcontractModel implements ISubcontractModel { @Transactional(readOnly = true) public void init(Task task, org.zkoss.ganttz.data.Task ganttTask) { this.task = task; - this.startDate = task.getStartDate(); - this.endDate = task.getEndDate(); + this.startDate = task.getIntraDayStartDate(); + this.endDate = task.getIntraDayEndDate(); this.ganttTask = ganttTask; @@ -90,7 +91,7 @@ public class SubcontractModel implements ISubcontractModel { this.addDeliverDate(task.getDeadline().toDateMidnight() .toDate()); } else { - this.addDeliverDate(getEndDate()); + this.addDeliverDate(task.getEndDate()); } } else { subcontractedTaskDataDAO.reattach(subcontractedTaskData); @@ -152,8 +153,8 @@ public class SubcontractModel implements ISubcontractModel { } private void recalculateTaskLength() { - task.setStartDate(startDate); - task.setEndDate(endDate); + task.setIntraDayStartDate(startDate); + task.setIntraDayEndDate(endDate); ganttTask.enforceDependenciesDueToPositionPotentiallyModified(); } @@ -188,14 +189,10 @@ public class SubcontractModel implements ISubcontractModel { return false; } - @Override - public Date getEndDate() { - return endDate; - } - @Override public void setEndDate(Date endDate) { - this.endDate = endDate; + this.endDate = IntraDayDate.startOfDay(LocalDate + .fromDateFields(endDate)); } @Override