Change the way to update advances in parent elements.
Before this where managed when saving the order in one case (OrderModel) and when a progress was modified in another case (AdvanceAssignmentPlanningModel). Now, it's directly done in the entity OrderElement and the method is called when a progress is modified (from AdvanceAssignmentPlanningModel, ManageOrderElementAdvancesModel and ReportAdvancesServiceREST). FEA: ItEr75S04BugFixing
This commit is contained in:
parent
adf65e08bf
commit
a91f9108ca
5 changed files with 6 additions and 24 deletions
|
|
@ -1333,6 +1333,9 @@ public abstract class OrderElement extends IntegrationEntity implements
|
|||
advancePercentage);
|
||||
}
|
||||
}
|
||||
if (parent != null) {
|
||||
parent.updateAdvancePercentageTaskElement();
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkConstraintOrderUniqueCode(OrderElement order) {
|
||||
|
|
|
|||
|
|
@ -472,6 +472,7 @@ public class ManageOrderElementAdvancesModel implements
|
|||
DuplicateValueTrueReportGlobalAdvanceException {
|
||||
orderElementDAO.checkVersion(orderElement);
|
||||
reattachmentOrderElement();
|
||||
orderElement.updateAdvancePercentageTaskElement();
|
||||
validateBasicData();
|
||||
cancelOperation.clear();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -574,21 +574,9 @@ public class OrderModel extends IntegrationEntityModel implements IOrderModel {
|
|||
order.writeSchedulingDataChanges();
|
||||
}
|
||||
saveDerivedScenarios();
|
||||
calculateAdvancePercentageIncludingChildren(order);
|
||||
deleteOrderElementWithoutParent();
|
||||
}
|
||||
|
||||
private void calculateAdvancePercentageIncludingChildren(OrderElement order) {
|
||||
calculateAdvancePercentage(order);
|
||||
for (OrderElement orderElement : order.getAllChildren()) {
|
||||
calculateAdvancePercentage(orderElement);
|
||||
}
|
||||
}
|
||||
|
||||
private void calculateAdvancePercentage(OrderElement orderElement) {
|
||||
orderElement.updateAdvancePercentageTaskElement();
|
||||
}
|
||||
|
||||
private void createAndSaveNewOrderVersion(Scenario currentScenario,
|
||||
OrderVersion newOrderVersion) {
|
||||
OrderVersion previousOrderVersion = currentScenario
|
||||
|
|
|
|||
|
|
@ -70,12 +70,7 @@ public class AdvanceAssignmentPlanningModel implements
|
|||
|
||||
@Override
|
||||
public void accept() {
|
||||
calculateAdvancePercentage(getOrderElement());
|
||||
OrderElement parent = getOrderElement().getParent();
|
||||
while (parent != null) {
|
||||
calculateAdvancePercentage(parent);
|
||||
parent = parent.getParent();
|
||||
}
|
||||
getOrderElement().updateAdvancePercentageTaskElement();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -154,8 +149,4 @@ public class AdvanceAssignmentPlanningModel implements
|
|||
return orderElement;
|
||||
}
|
||||
|
||||
private void calculateAdvancePercentage(OrderElement orderElement) {
|
||||
orderElement.updateAdvancePercentageTaskElement();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -214,12 +214,11 @@ public class ReportAdvancesServiceREST implements IReportAdvancesService {
|
|||
private void updateAdvancePercentage(OrderVersion orderVersion,
|
||||
OrderElement orderElement) {
|
||||
orderElement.useSchedulingDataFor(orderVersion);
|
||||
orderElement.updateAdvancePercentageTaskElement();
|
||||
OrderElement parent = orderElement.getParent();
|
||||
while (parent != null) {
|
||||
parent.useSchedulingDataFor(orderVersion);
|
||||
parent.updateAdvancePercentageTaskElement();
|
||||
parent = parent.getParent();
|
||||
}
|
||||
orderElement.updateAdvancePercentageTaskElement();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue