Bug #1403: Only regenerate codes if isCodeAutogenerated() is true

FEA: ItEr76S04BugFixing
This commit is contained in:
Manuel Rego Casasnovas 2012-03-26 18:30:33 +02:00
parent ff2f2298cf
commit e5f00bb8a1
2 changed files with 29 additions and 28 deletions

View file

@ -419,32 +419,35 @@ public class Order extends OrderLineGroup implements Comparable {
}
public void generateOrderElementCodes(int numberOfDigits) {
for (OrderElement orderElement : this.getAllOrderElements()) {
if ((orderElement.getCode() == null)
|| (orderElement.getCode().isEmpty())
|| (!orderElement.getCode().startsWith(this.getCode()))) {
this.incrementLastOrderElementSequenceCode();
String orderElementCode = EntitySequence.formatValue(
numberOfDigits, this.getLastOrderElementSequenceCode());
orderElement.setCode(this.getCode()
+ EntitySequence.CODE_SEPARATOR_CHILDREN
+ orderElementCode);
}
if (isCodeAutogenerated()) {
for (OrderElement orderElement : this.getAllOrderElements()) {
if ((orderElement.getCode() == null)
|| (orderElement.getCode().isEmpty())
|| (!orderElement.getCode().startsWith(this.getCode()))) {
this.incrementLastOrderElementSequenceCode();
String orderElementCode = EntitySequence.formatValue(
numberOfDigits,
this.getLastOrderElementSequenceCode());
orderElement.setCode(this.getCode()
+ EntitySequence.CODE_SEPARATOR_CHILDREN
+ orderElementCode);
}
if (orderElement instanceof OrderLine) {
for (HoursGroup hoursGroup : orderElement.getHoursGroups()) {
if ((hoursGroup.getCode() == null)
|| (hoursGroup.getCode().isEmpty())
|| (!hoursGroup.getCode().startsWith(
orderElement.getCode()))) {
((OrderLine) orderElement)
.incrementLastHoursGroupSequenceCode();
String hoursGroupCode = EntitySequence.formatValue(
numberOfDigits, ((OrderLine) orderElement)
.getLastHoursGroupSequenceCode());
hoursGroup.setCode(orderElement.getCode()
+ EntitySequence.CODE_SEPARATOR_CHILDREN
+ hoursGroupCode);
if (orderElement instanceof OrderLine) {
for (HoursGroup hoursGroup : orderElement.getHoursGroups()) {
if ((hoursGroup.getCode() == null)
|| (hoursGroup.getCode().isEmpty())
|| (!hoursGroup.getCode().startsWith(
orderElement.getCode()))) {
((OrderLine) orderElement)
.incrementLastHoursGroupSequenceCode();
String hoursGroupCode = EntitySequence.formatValue(
numberOfDigits, ((OrderLine) orderElement)
.getLastHoursGroupSequenceCode());
hoursGroup.setCode(orderElement.getCode()
+ EntitySequence.CODE_SEPARATOR_CHILDREN
+ hoursGroupCode);
}
}
}
}

View file

@ -332,9 +332,7 @@ public class SaveCommandBuilder {
private void doTheSaving() {
Order order = state.getOrder();
if (order.isCodeAutogenerated()) {
generateOrderElementCodes(order);
}
generateOrderElementCodes(order);
createAdvancePercentagesIfRequired(order);
calculateAndSetTotalHours(order);
checkConstraintOrderUniqueCode(order);