ItEr59S24AdaptacionsFinaisEscenarios: Creating order subcontracted in master and all derived scenarios.
This commit is contained in:
parent
1a5ba8dc88
commit
8b50f60f51
1 changed files with 17 additions and 0 deletions
|
|
@ -45,6 +45,7 @@ import org.navalplanner.business.orders.daos.IOrderElementDAO;
|
|||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.orders.entities.OrderStatusEnum;
|
||||
import org.navalplanner.business.scenarios.daos.IScenarioDAO;
|
||||
import org.navalplanner.business.scenarios.entities.OrderVersion;
|
||||
import org.navalplanner.business.scenarios.entities.Scenario;
|
||||
import org.navalplanner.ws.common.api.InstanceConstraintViolationsDTO;
|
||||
|
|
@ -82,6 +83,9 @@ public class SubcontractServiceREST implements ISubcontractService {
|
|||
@Autowired
|
||||
private IOrderSequenceDAO orderSequenceDAO;
|
||||
|
||||
@Autowired
|
||||
private IScenarioDAO scenarioDAO;
|
||||
|
||||
@Override
|
||||
@POST
|
||||
@Consumes("application/xml")
|
||||
|
|
@ -129,10 +133,14 @@ public class SubcontractServiceREST implements ISubcontractService {
|
|||
Order order;
|
||||
if (orderElement instanceof Order) {
|
||||
order = (Order) orderElement;
|
||||
order.setVersionForScenario(current, version);
|
||||
order.useSchedulingDataFor(version);
|
||||
} else {
|
||||
order = wrapInOrder(current, version, orderElement);
|
||||
}
|
||||
|
||||
addOrderToDerivedScenarios(current, version, order);
|
||||
|
||||
order.moveCodeToExternalCode();
|
||||
order.setCodeAutogenerated(true);
|
||||
String code = orderSequenceDAO.getNextOrderCode();
|
||||
|
|
@ -172,6 +180,15 @@ public class SubcontractServiceREST implements ISubcontractService {
|
|||
instanceConstraintViolationsList);
|
||||
}
|
||||
|
||||
private void addOrderToDerivedScenarios(Scenario currentScenario,
|
||||
OrderVersion orderVersion, Order order) {
|
||||
List<Scenario> derivedScenarios = scenarioDAO
|
||||
.getDerivedScenarios(currentScenario);
|
||||
for (Scenario scenario : derivedScenarios) {
|
||||
scenario.addOrder(order, orderVersion);
|
||||
}
|
||||
}
|
||||
|
||||
private void generateCodes(Order order) {
|
||||
OrderSequence orderSequence = orderSequenceDAO.getActiveOrderSequence();
|
||||
int numberOfDigits = orderSequence.getNumberOfDigits();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue