ItEr40S22CUProcuraOrganizacionsTraballoItEr32S10: Generated order elements code automatically.
This commit is contained in:
parent
1394d8c23b
commit
84ff46e5da
3 changed files with 30 additions and 3 deletions
|
|
@ -154,7 +154,7 @@ public class Order extends OrderLineGroup {
|
|||
return dayAssignments;
|
||||
}
|
||||
|
||||
private List<OrderElement> getAllOrderElements() {
|
||||
public List<OrderElement> getAllOrderElements() {
|
||||
List<OrderElement> result = new ArrayList<OrderElement>(
|
||||
this
|
||||
.getChildren());
|
||||
|
|
|
|||
|
|
@ -99,8 +99,12 @@ public class OrderLine extends OrderElement {
|
|||
// removed the direct criterion requirements
|
||||
removeAllDirectCriterionRequirement();
|
||||
|
||||
this.setName(getName() + " (copy)");
|
||||
this.setCode(getCode() + " (copy)");
|
||||
if (getName() != null) {
|
||||
this.setName(getName() + " (copy)");
|
||||
}
|
||||
if (getCode() != null) {
|
||||
this.setCode(getCode() + " (copy)");
|
||||
}
|
||||
result.add(this);
|
||||
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import org.navalplanner.business.calendars.entities.BaseCalendar;
|
|||
import org.navalplanner.business.common.daos.IConfigurationDAO;
|
||||
import org.navalplanner.business.common.daos.IOrderSequenceDAO;
|
||||
import org.navalplanner.business.common.entities.Configuration;
|
||||
import org.navalplanner.business.common.entities.OrderSequence;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.labels.daos.ILabelDAO;
|
||||
|
|
@ -311,12 +312,34 @@ public class OrderModel implements IOrderModel {
|
|||
public void save() throws ValidationException {
|
||||
reattachCriterions();
|
||||
reattachTasksForTasksSources();
|
||||
|
||||
if (order.isCodeAutogenerated()) {
|
||||
generateOrderElementCodes();
|
||||
}
|
||||
|
||||
this.orderDAO.save(order);
|
||||
reattachCurrentTaskSources();
|
||||
deleteOrderElementWithoutParent();
|
||||
synchronizeWithSchedule(order);
|
||||
}
|
||||
|
||||
private void generateOrderElementCodes() {
|
||||
OrderSequence orderSequence = orderSequenceDAO.getActiveOrderSequence();
|
||||
int numberOfDigits = orderSequence.getNumberOfDigits();
|
||||
|
||||
for (OrderElement orderElement : order.getAllOrderElements()) {
|
||||
if ((orderElement.getCode() == null)
|
||||
|| (orderElement.getCode().isEmpty())) {
|
||||
order.incrementLastOrderElementSequenceCode();
|
||||
String orderElementCode = OrderSequence
|
||||
.formatValue(numberOfDigits, order
|
||||
.getLastOrderElementSequenceCode());
|
||||
orderElement.setCode(order.getCode()
|
||||
+ OrderSequence.CODE_SEPARATOR + orderElementCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void reattachCurrentTaskSources() {
|
||||
for (TaskSource each : order.getTaskSourcesFromBottomToTop()) {
|
||||
taskSourceDAO.reattach(each);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue