diff --git a/libreplan-webapp/src/main/java/org/libreplan/ws/subcontract/impl/SubcontractServiceREST.java b/libreplan-webapp/src/main/java/org/libreplan/ws/subcontract/impl/SubcontractServiceREST.java index b170b0afb..058c8253b 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/ws/subcontract/impl/SubcontractServiceREST.java +++ b/libreplan-webapp/src/main/java/org/libreplan/ws/subcontract/impl/SubcontractServiceREST.java @@ -332,17 +332,19 @@ public class SubcontractServiceREST implements ISubcontractService { order.setCustomerReference(subcontractedTaskDataDTO.subcontractedCode); order.setWorkBudget(subcontractedTaskDataDTO.subcontractPrice); + if (subcontractedTaskDataDTO.deliverDate != null) { + Date deliveryDate = DateConverter + .toDate(subcontractedTaskDataDTO.deliverDate); + DeadlineCommunication deadlineCommunication = DeadlineCommunication + .create(new Date(), deliveryDate); + order.getDeliveringDates().add(deadlineCommunication); + order.setDeadline(deliveryDate); + } + synchronizeWithSchedule(order, TaskSource.persistTaskSources(taskSourceDAO)); order.writeSchedulingDataChanges(); - if (subcontractedTaskDataDTO.deliverDate != null) { - DeadlineCommunication deadlineCommunication = DeadlineCommunication - .create(new Date(), DateConverter - .toDate(subcontractedTaskDataDTO.deliverDate)); - order.getDeliveringDates().add(deadlineCommunication); - } - order.validate(); orderElementDAO.save(order);