diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java
index d54030872..2998d27bb 100644
--- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/Order.java
@@ -47,11 +47,6 @@ public class Order extends OrderLineGroup {
Order order = new Order();
order.setNewObject(true);
- order.setWorkBudget(new BigDecimal(0).setScale(2));
- order.setMaterialsBudget(new BigDecimal(0).setScale(2));
- order.setTotalBudget(new BigDecimal(0).setScale(2));
- order.setTotalHours(new Integer(0));
- order.setState(OrderStatusEnum.getDefault());
OrderLineGroup.setupOrderLineGroup(order);
return order;
@@ -77,15 +72,13 @@ public class Order extends OrderLineGroup {
private Integer lastOrderElementSequenceCode = 0;
- private BigDecimal workBudget;
+ private BigDecimal workBudget = BigDecimal.ZERO.setScale(2);
- private BigDecimal materialsBudget;
+ private BigDecimal materialsBudget = BigDecimal.ZERO.setScale(2);
- private BigDecimal totalBudget;
+ private Integer totalHours = 0;
- private Integer totalHours;
-
- private OrderStatusEnum state;
+ private OrderStatusEnum state = OrderStatusEnum.getDefault();
private ExternalCompany customer;
@@ -94,27 +87,35 @@ public class Order extends OrderLineGroup {
private String externalCode;
public BigDecimal getWorkBudget() {
+ if (workBudget == null) {
+ return BigDecimal.ZERO;
+ }
return workBudget;
}
public void setWorkBudget(BigDecimal workBudget) {
+ if (workBudget == null) {
+ workBudget = BigDecimal.ZERO.setScale(2);
+ }
this.workBudget = workBudget;
}
public BigDecimal getMaterialsBudget() {
+ if (materialsBudget == null) {
+ return BigDecimal.ZERO;
+ }
return materialsBudget;
}
public void setMaterialsBudget(BigDecimal materialsBudget) {
+ if (materialsBudget == null) {
+ materialsBudget = BigDecimal.ZERO.setScale(2);
+ }
this.materialsBudget = materialsBudget;
}
public BigDecimal getTotalBudget() {
- return totalBudget;
- }
-
- public void setTotalBudget(BigDecimal totalBudget) {
- this.totalBudget = totalBudget;
+ return getWorkBudget().add(getMaterialsBudget());
}
public Integer getTotalHours() {
diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml
index a9929d749..5319b277a 100644
--- a/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml
+++ b/navalplanner-business/src/main/resources/org/navalplanner/business/orders/entities/Orders.hbm.xml
@@ -73,7 +73,6 @@
-
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java
index 1c00b4b61..f36210f9f 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderCRUDController.java
@@ -22,7 +22,6 @@ package org.navalplanner.web.orders;
import static org.navalplanner.web.I18nHelper._;
-import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ConcurrentModificationException;
import java.util.Date;
@@ -559,20 +558,6 @@ public class OrderCRUDController extends GenericForwardComposer {
return OrderStatusEnum.values();
}
- public void calculateTotalBudget(BigDecimal workBudget,
- BigDecimal materialsBudget, Label txtTotalBudget) {
- BigDecimal sum = new BigDecimal(0);
- if ((workBudget != null) && (materialsBudget != null)) {
- sum = workBudget.add(materialsBudget);
- } else if (workBudget != null) {
- sum = workBudget;
- } else if (materialsBudget != null) {
- sum = materialsBudget;
- }
- txtTotalBudget.setValue(sum.toString());
- txtTotalBudget.invalidate();
- }
-
public List getExternalCompaniesAreClient() {
return orderModel.getExternalCompaniesAreClient();
}
@@ -718,4 +703,9 @@ public class OrderCRUDController extends GenericForwardComposer {
public String getTooltipText(final Order order) {
return orderModel.gettooltipText(order);
}
+
+ public void reloadTotalBudget(Label txtTotalBudget) {
+ Util.reloadBindings(txtTotalBudget);
+ }
+
}
diff --git a/navalplanner-webapp/src/main/webapp/orders/_edition.zul b/navalplanner-webapp/src/main/webapp/orders/_edition.zul
index 984012678..720a89ee5 100644
--- a/navalplanner-webapp/src/main/webapp/orders/_edition.zul
+++ b/navalplanner-webapp/src/main/webapp/orders/_edition.zul
@@ -120,12 +120,12 @@
+ onChange="controller.reloadTotalBudget(txtTotalBudget)" />
+ onChange="controller.reloadTotalBudget(txtTotalBudget)" />