ItEr26S06RFControlAvancesIncompatiblesEnUnidadesTraballoItEr25S06: Using LocalDate for AdvanceMeasurement.
This commit is contained in:
parent
6a49e776ab
commit
447f4c162c
8 changed files with 46 additions and 38 deletions
|
|
@ -1,11 +1,11 @@
|
|||
package org.navalplanner.business.advance.entities;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.common.BaseEntity;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ public class AdvanceAssigment extends BaseEntity {
|
|||
|
||||
AdvanceMeasurement last = advanceMeasurements.first();
|
||||
for (AdvanceMeasurement advanceMeasurement : advanceMeasurements) {
|
||||
Date date = advanceMeasurement.getDate();
|
||||
LocalDate date = advanceMeasurement.getDate();
|
||||
if (last.getDate().compareTo(date) < 0) {
|
||||
last = advanceMeasurement;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
package org.navalplanner.business.advance.entities;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import org.hibernate.validator.NotNull;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.common.BaseEntity;
|
||||
|
||||
public class AdvanceMeasurement extends BaseEntity {
|
||||
|
||||
public static AdvanceMeasurement create(Date date, BigDecimal value) {
|
||||
public static AdvanceMeasurement create(LocalDate date, BigDecimal value) {
|
||||
AdvanceMeasurement advanceMeasurement = new AdvanceMeasurement(date,
|
||||
value);
|
||||
advanceMeasurement.setNewObject(true);
|
||||
|
|
@ -22,7 +22,7 @@ public class AdvanceMeasurement extends BaseEntity {
|
|||
}
|
||||
|
||||
@NotNull
|
||||
private Date date;
|
||||
private LocalDate date;
|
||||
|
||||
@NotNull
|
||||
private BigDecimal value;
|
||||
|
|
@ -33,17 +33,17 @@ public class AdvanceMeasurement extends BaseEntity {
|
|||
public AdvanceMeasurement() {
|
||||
}
|
||||
|
||||
private AdvanceMeasurement(Date date, BigDecimal value) {
|
||||
private AdvanceMeasurement(LocalDate date, BigDecimal value) {
|
||||
this.date = date;
|
||||
this.value = value;
|
||||
this.value.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
public void setDate(Date date) {
|
||||
public void setDate(LocalDate date) {
|
||||
this.date = date;
|
||||
}
|
||||
|
||||
public Date getDate() {
|
||||
public LocalDate getDate() {
|
||||
return this.date;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ package org.navalplanner.business.orders.entities;
|
|||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
|
|
@ -14,6 +13,7 @@ import java.util.SortedSet;
|
|||
import java.util.TreeSet;
|
||||
|
||||
import org.hibernate.validator.Valid;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.advance.entities.AdvanceAssigment;
|
||||
import org.navalplanner.business.advance.entities.AdvanceMeasurement;
|
||||
import org.navalplanner.business.advance.entities.AdvanceMeasurementComparator;
|
||||
|
|
@ -243,7 +243,7 @@ public class OrderLineGroup extends OrderElement implements IOrderLineGroup {
|
|||
BigDecimal previous2 = new BigDecimal(0);
|
||||
BigDecimal previousResult = new BigDecimal(0);
|
||||
|
||||
Date date;
|
||||
LocalDate date;
|
||||
BigDecimal add;
|
||||
|
||||
while ((next1 != null) && (next2 != null)) {
|
||||
|
|
|
|||
|
|
@ -57,8 +57,9 @@
|
|||
</generator>
|
||||
</id>
|
||||
<version name="version" access="property" type="long" />
|
||||
<property name="date"/>
|
||||
<property name="value" scale="2"/>
|
||||
<many-to-one name="advanceAssigment" class="AdvanceAssigment" column="ADVANCE_ASSIGMENT_ID" />
|
||||
|
||||
<property name="date" access="field" type="org.joda.time.contrib.hibernate.PersistentLocalDate" />
|
||||
<property name="value" scale="2" access="field" />
|
||||
<many-to-one name="advanceAssigment" class="AdvanceAssigment" column="ADVANCE_ASSIGMENT_ID" access="field" />
|
||||
</class>
|
||||
</hibernate-mapping>
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONF
|
|||
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.advance.daos.IAdvanceAssigmentDAO;
|
||||
|
|
@ -94,7 +94,7 @@ public class AddAdvanceAssigmentsToOrderElementTest {
|
|||
|
||||
private AdvanceMeasurement createValidAdvanceMeasurement() {
|
||||
AdvanceMeasurement advanceMeasurement = AdvanceMeasurement.create(
|
||||
new Date(), new BigDecimal(0));
|
||||
new LocalDate(), new BigDecimal(0));
|
||||
return advanceMeasurement;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING
|
|||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
|
@ -102,7 +101,7 @@ public class OrderElementTest {
|
|||
throws DuplicateValueTrueReportGlobalAdvanceException,
|
||||
DuplicateAdvanceAssigmentForOrderElementException {
|
||||
AdvanceMeasurement advanceMeasurement = AdvanceMeasurement.create();
|
||||
advanceMeasurement.setDate(new Date());
|
||||
advanceMeasurement.setDate(new LocalDate());
|
||||
advanceMeasurement.setValue(currentValue);
|
||||
|
||||
AdvanceAssigment advanceAssigment = givenAdvanceAssigement(maxValue,
|
||||
|
|
@ -228,13 +227,11 @@ public class OrderElementTest {
|
|||
|
||||
List<OrderElement> children = orderElement.getChildren();
|
||||
|
||||
Date one = new LocalDate(2009, 9, 1).toDateTimeAtStartOfDay()
|
||||
.toDate();
|
||||
Date two = new LocalDate(2009, 9, 2).toDateTimeAtStartOfDay().toDate();
|
||||
Date three = new LocalDate(2009, 9, 3).toDateTimeAtStartOfDay()
|
||||
.toDate();
|
||||
Date four = new LocalDate(2009, 9, 4).toDateTimeAtStartOfDay().toDate();
|
||||
Date five = new LocalDate(2009, 9, 5).toDateTimeAtStartOfDay().toDate();
|
||||
LocalDate one = new LocalDate(2009, 9, 1);
|
||||
LocalDate two = new LocalDate(2009, 9, 2);
|
||||
LocalDate three = new LocalDate(2009, 9, 3);
|
||||
LocalDate four = new LocalDate(2009, 9, 4);
|
||||
LocalDate five = new LocalDate(2009, 9, 5);
|
||||
|
||||
AdvanceType advanceType = PredefinedAdvancedTypes.UNITS.getType();
|
||||
|
||||
|
|
@ -287,9 +284,10 @@ public class OrderElementTest {
|
|||
}
|
||||
|
||||
private void addAvanceAssigmentWithMeasurements(OrderElement orderElement,
|
||||
AdvanceType advanceType, BigDecimal maxValue, Date date1,
|
||||
BigDecimal value1, Date date2, BigDecimal value2, Date date3,
|
||||
BigDecimal value3)
|
||||
AdvanceType advanceType, BigDecimal maxValue, LocalDate date1,
|
||||
BigDecimal value1, LocalDate date2, BigDecimal value2,
|
||||
LocalDate five,
|
||||
BigDecimal date3)
|
||||
throws DuplicateValueTrueReportGlobalAdvanceException,
|
||||
DuplicateAdvanceAssigmentForOrderElementException {
|
||||
AdvanceAssigment advanceAssigment = givenAdvanceAssigement(maxValue,
|
||||
|
|
@ -306,8 +304,8 @@ public class OrderElementTest {
|
|||
advanceAssigment.getAdvanceMeasurements().add(advanceMeasurement2);
|
||||
|
||||
AdvanceMeasurement advanceMeasurement3 = AdvanceMeasurement.create();
|
||||
advanceMeasurement3.setDate(date3);
|
||||
advanceMeasurement3.setValue(value3);
|
||||
advanceMeasurement3.setDate(five);
|
||||
advanceMeasurement3.setValue(date3);
|
||||
advanceAssigment.getAdvanceMeasurements().add(advanceMeasurement3);
|
||||
|
||||
orderElement.addAdvanceAssigment(advanceAssigment);
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import java.math.BigDecimal;
|
|||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.advance.entities.AdvanceAssigment;
|
||||
import org.navalplanner.business.advance.entities.AdvanceMeasurement;
|
||||
import org.navalplanner.business.advance.entities.AdvanceType;
|
||||
|
|
@ -355,13 +356,14 @@ public class ManageOrderElementAdvancesController extends
|
|||
Util.bind(date, new Util.Getter<Date>() {
|
||||
@Override
|
||||
public Date get() {
|
||||
return advanceMeasurement.getDate();
|
||||
return advanceMeasurement.getDate()
|
||||
.toDateTimeAtStartOfDay().toDate();
|
||||
}
|
||||
}, new Util.Setter<Date>() {
|
||||
|
||||
@Override
|
||||
public void set(Date value) {
|
||||
advanceMeasurement.setDate(value);
|
||||
advanceMeasurement.setDate(new LocalDate(value));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -478,8 +480,13 @@ public class ManageOrderElementAdvancesController extends
|
|||
.getFirstAdvanceMeasurement(advanceAssigment);
|
||||
if(greatAdvanceMeasurement != null){
|
||||
Listcell date = (Listcell) selectedItem.getChildren().get(4);
|
||||
((Datebox) date.getFirstChild())
|
||||
.setValue(greatAdvanceMeasurement.getDate());
|
||||
LocalDate newDate = greatAdvanceMeasurement.getDate();
|
||||
if (newDate != null) {
|
||||
((Datebox) date.getFirstChild()).setValue(newDate
|
||||
.toDateTimeAtStartOfDay().toDate());
|
||||
} else {
|
||||
((Datebox) date.getFirstChild()).setValue(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -663,13 +670,14 @@ public class ManageOrderElementAdvancesController extends
|
|||
|
||||
@Override
|
||||
public Date get() {
|
||||
return advanceMeasurement.getDate();
|
||||
return advanceMeasurement.getDate()
|
||||
.toDateTimeAtStartOfDay().toDate();
|
||||
}
|
||||
}, new Util.Setter<Date>() {
|
||||
|
||||
@Override
|
||||
public void set(Date value) {
|
||||
advanceMeasurement.setDate(value);
|
||||
advanceMeasurement.setDate(new LocalDate(value));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import java.util.SortedSet;
|
|||
import java.util.TreeSet;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.advance.daos.IAdvanceAssigmentDAO;
|
||||
import org.navalplanner.business.advance.daos.IAdvanceMeasurementDAO;
|
||||
import org.navalplanner.business.advance.daos.IAdvanceTypeDAO;
|
||||
|
|
@ -155,7 +156,7 @@ public class ManageOrderElementAdvancesModel implements
|
|||
public void addNewLineAdvaceMeasurement() {
|
||||
if (this.advanceAssigment != null) {
|
||||
AdvanceMeasurement newMeasurement = AdvanceMeasurement.create();
|
||||
newMeasurement.setDate(new Date());
|
||||
newMeasurement.setDate(new LocalDate());
|
||||
newMeasurement.setAdvanceAssigment(this.advanceAssigment);
|
||||
this.advanceAssigment.getAdvanceMeasurements().add(newMeasurement);
|
||||
}
|
||||
|
|
@ -316,10 +317,10 @@ public class ManageOrderElementAdvancesModel implements
|
|||
return true;
|
||||
for (AdvanceMeasurement advanceMeasurement : advanceAssigment
|
||||
.getAdvanceMeasurements()) {
|
||||
Date oldDate = advanceMeasurement.getDate();
|
||||
LocalDate oldDate = advanceMeasurement.getDate();
|
||||
if ((oldDate != null)
|
||||
&& (!newAdvanceMeasurement.equals(advanceMeasurement))
|
||||
&& (oldDate.compareTo(value) == 0))
|
||||
&& (oldDate.compareTo(new LocalDate(value)) == 0))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue