[Bug #617] sets the scale of advances to 4, so it are shown its decimals.
FEA: ItEr60S04ValidacionEProbasFuncionaisItEr59S04
This commit is contained in:
parent
01cfac51f1
commit
5fd712a4ed
6 changed files with 47 additions and 39 deletions
|
|
@ -139,7 +139,7 @@ public class DirectAdvanceAssignment extends AdvanceAssignment {
|
|||
if (advanceMeasurement == null) {
|
||||
return BigDecimal.ZERO;
|
||||
}
|
||||
return advanceMeasurement.getValue().divide(maxValue, 2,
|
||||
return advanceMeasurement.getValue().divide(maxValue, 4,
|
||||
RoundingMode.DOWN);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -384,9 +384,9 @@ public class OrderLineGroup extends OrderElement implements
|
|||
result = result.add(childPercentage.multiply(new BigDecimal(
|
||||
childHours)));
|
||||
}
|
||||
|
||||
result = result.setScale(2).divide(new BigDecimal(hours),
|
||||
result = result.divide(new BigDecimal(hours).setScale(2), 4,
|
||||
RoundingMode.DOWN);
|
||||
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
type="org.navalplanner.business.workingday.hibernate.EffortDurationType"/>
|
||||
</component>
|
||||
<property name="deadline" type="org.joda.time.contrib.hibernate.PersistentLocalDate" />
|
||||
<property name="advancePercentage" column="ADVANCE_PERCENTAGE" />
|
||||
<property name="advancePercentage" column="ADVANCE_PERCENTAGE" access="field" scale="4"/>
|
||||
|
||||
<!-- Indexed -->
|
||||
<many-to-one name="parent" class="TaskGroup" cascade="none" column="parent"
|
||||
|
|
|
|||
|
|
@ -258,7 +258,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(600), false);
|
||||
|
||||
assertThat(orderLine.getAdvancePercentage(), equalTo(new BigDecimal(10)
|
||||
.setScale(2).divide(new BigDecimal(100))));
|
||||
.setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -273,7 +273,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(200), true, future);
|
||||
|
||||
assertThat(orderLine.getAdvancePercentage(), equalTo(new BigDecimal(10)
|
||||
.setScale(2).divide(new BigDecimal(100))));
|
||||
.setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -291,7 +291,7 @@ public class OrderElementTest {
|
|||
1000), new BigDecimal(600), true);
|
||||
|
||||
assertThat(orderLine.getAdvancePercentage(), equalTo(new BigDecimal(60)
|
||||
.setScale(2).divide(new BigDecimal(100))));
|
||||
.setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -313,7 +313,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(600), false);
|
||||
|
||||
assertThat(orderLine.getAdvancePercentage(), equalTo(new BigDecimal(20)
|
||||
.setScale(2).divide(new BigDecimal(100))));
|
||||
.setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -347,7 +347,7 @@ public class OrderElementTest {
|
|||
}
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
40).setScale(2).divide(new BigDecimal(100))));
|
||||
40).setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -381,7 +381,7 @@ public class OrderElementTest {
|
|||
}
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
10).setScale(2).divide(new BigDecimal(100))));
|
||||
10).setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -404,7 +404,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(2000), new BigDecimal(200), true);
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
20).divide(new BigDecimal(100)).setScale(2)));
|
||||
20).divide(new BigDecimal(100)).setScale(4)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -435,7 +435,7 @@ public class OrderElementTest {
|
|||
}
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
20).setScale(2).divide(new BigDecimal(100))));
|
||||
20).setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -467,7 +467,7 @@ public class OrderElementTest {
|
|||
}
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
22).divide(new BigDecimal(100))));
|
||||
22).divide(new BigDecimal(100)).setScale(4)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -492,7 +492,7 @@ public class OrderElementTest {
|
|||
100), new BigDecimal(90), true);
|
||||
|
||||
assertThat(orderLineGroup.getAdvancePercentage(),
|
||||
equalTo(new BigDecimal(90).setScale(2).divide(
|
||||
equalTo(new BigDecimal(90).setScale(4).divide(
|
||||
new BigDecimal(100))));
|
||||
}
|
||||
|
||||
|
|
@ -516,7 +516,7 @@ public class OrderElementTest {
|
|||
100), new BigDecimal(90), false);
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
20).divide(new BigDecimal(100)).setScale(2)));
|
||||
20).divide(new BigDecimal(100)).setScale(4)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -544,8 +544,12 @@ public class OrderElementTest {
|
|||
new BigDecimal(1000), two, new BigDecimal(100), three,
|
||||
new BigDecimal(350), four, new BigDecimal(400));
|
||||
|
||||
System.out.println("advance " + orderElement.getAdvancePercentage());
|
||||
System.out.println("otro "
|
||||
+ new BigDecimal(4333).divide(new BigDecimal(10000))
|
||||
.setScale(4));
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
43).divide(new BigDecimal(100)).setScale(2)));
|
||||
4333).divide(new BigDecimal(10000)).setScale(4)));
|
||||
|
||||
Set<DirectAdvanceAssignment> directAdvanceAssignments = orderElement
|
||||
.getDirectAdvanceAssignments();
|
||||
|
|
@ -700,7 +704,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(350), four, new BigDecimal(400));
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
43).divide(new BigDecimal(100)).setScale(2)));
|
||||
4333).divide(new BigDecimal(10000)).setScale(4)));
|
||||
|
||||
Set<DirectAdvanceAssignment> directAdvanceAssignments = orderElement
|
||||
.getDirectAdvanceAssignments();
|
||||
|
|
@ -734,23 +738,27 @@ public class OrderElementTest {
|
|||
|
||||
AdvanceMeasurement next = iterator.next();
|
||||
assertThat(next.getDate(), equalTo(one));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(6).setScale(2)));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(66600).setScale(4)
|
||||
.divide(new BigDecimal(10000))));
|
||||
|
||||
next = iterator.next();
|
||||
assertThat(next.getDate(), equalTo(two));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(13).setScale(2)));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(133300).setScale(4)
|
||||
.divide(new BigDecimal(10000))));
|
||||
|
||||
next = iterator.next();
|
||||
assertThat(next.getDate(), equalTo(three));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(36).setScale(2)));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(366600).setScale(4)
|
||||
.divide(new BigDecimal(10000))));
|
||||
|
||||
next = iterator.next();
|
||||
assertThat(next.getDate(), equalTo(four));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(40).setScale(2)));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(40).setScale(4)));
|
||||
|
||||
next = iterator.next();
|
||||
assertThat(next.getDate(), equalTo(five));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(43).setScale(2)));
|
||||
assertThat(next.getValue(), equalTo(new BigDecimal(4333).setScale(4)
|
||||
.divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -789,7 +797,7 @@ public class OrderElementTest {
|
|||
assertThat(orderLineGroup_1.getIndirectAdvanceAssignments().size(),
|
||||
equalTo(3));
|
||||
assertThat(orderLineGroup_1.getAdvancePercentage(),
|
||||
equalTo(new BigDecimal(50).setScale(2).divide(
|
||||
equalTo(new BigDecimal(50).setScale(4).divide(
|
||||
new BigDecimal(100))));
|
||||
}
|
||||
|
||||
|
|
@ -826,7 +834,7 @@ public class OrderElementTest {
|
|||
assertThat(orderLineGroup_1.getIndirectAdvanceAssignments().size(),
|
||||
equalTo(3));
|
||||
assertThat(orderLineGroup_1.getAdvancePercentage(),
|
||||
equalTo(new BigDecimal(20).setScale(2).divide(
|
||||
equalTo(new BigDecimal(20).setScale(4).divide(
|
||||
new BigDecimal(100))));
|
||||
}
|
||||
|
||||
|
|
@ -847,7 +855,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(100), new BigDecimal(20), true);
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
26).divide(new BigDecimal(100))));
|
||||
2666).divide(new BigDecimal(10000)).setScale(4)));
|
||||
|
||||
Set<IndirectAdvanceAssignment> indirectAdvanceAssignments = ((OrderLineGroup) orderElement)
|
||||
.getIndirectAdvanceAssignments();
|
||||
|
|
@ -861,7 +869,7 @@ public class OrderElementTest {
|
|||
}
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
26).divide(new BigDecimal(100))));
|
||||
26).setScale(4).divide(new BigDecimal(100))));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -890,7 +898,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(20), five, new BigDecimal(50));
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
46).divide(new BigDecimal(100)).setScale(2)));
|
||||
4666).setScale(4).divide(new BigDecimal(10000))));
|
||||
|
||||
Set<DirectAdvanceAssignment> directAdvanceAssignments = orderElement
|
||||
.getDirectAdvanceAssignments();
|
||||
|
|
@ -969,7 +977,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(1000), three, new BigDecimal(5000));
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
8).divide(new BigDecimal(100)).setScale(2)));
|
||||
833).divide(new BigDecimal(10000)).setScale(4)));
|
||||
|
||||
Set<IndirectAdvanceAssignment> indirectAdvanceAssignments = ((OrderLineGroup) orderElement)
|
||||
.getIndirectAdvanceAssignments();
|
||||
|
|
@ -990,8 +998,8 @@ public class OrderElementTest {
|
|||
assertThat(advanceAssignment.getLastAdvanceMeasurement().getValue(),
|
||||
equalTo(new BigDecimal(5000)));
|
||||
assertThat(advanceAssignment.getAdvancePercentage(),
|
||||
equalTo(new BigDecimal(45).divide(new BigDecimal(100))
|
||||
.setScale(2)));
|
||||
equalTo(new BigDecimal(4545).divide(new BigDecimal(10000))
|
||||
.setScale(4)));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -1016,7 +1024,7 @@ public class OrderElementTest {
|
|||
new BigDecimal(1000), true);
|
||||
|
||||
assertThat(orderElement.getAdvancePercentage(), equalTo(new BigDecimal(
|
||||
8).divide(new BigDecimal(100)).setScale(2)));
|
||||
833).divide(new BigDecimal(10000)).setScale(4)));
|
||||
|
||||
Set<IndirectAdvanceAssignment> indirectAdvanceAssignments = ((OrderLineGroup) orderElement)
|
||||
.getIndirectAdvanceAssignments();
|
||||
|
|
@ -1037,8 +1045,8 @@ public class OrderElementTest {
|
|||
assertThat(advanceAssignment.getLastAdvanceMeasurement().getValue(),
|
||||
equalTo(new BigDecimal(5000)));
|
||||
assertThat(advanceAssignment.getAdvancePercentage(),
|
||||
equalTo(new BigDecimal(45).divide(new BigDecimal(100))
|
||||
.setScale(2)));
|
||||
equalTo(new BigDecimal(4545).divide(new BigDecimal(10000))
|
||||
.setScale(4)));
|
||||
}
|
||||
|
||||
public static void removeReportGlobalAdvanceFromChildrenAdvance(
|
||||
|
|
|
|||
|
|
@ -600,9 +600,11 @@ public class ManageOrderElementAdvancesModel implements
|
|||
return BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
BigDecimal division = value.divide(maxValue, 2, RoundingMode.DOWN);
|
||||
return (division.multiply(new BigDecimal(100))).setScale(0,
|
||||
BigDecimal division = value.divide(maxValue.setScale(2), 4,
|
||||
RoundingMode.DOWN);
|
||||
return (division.multiply(new BigDecimal(100))).setScale(2,
|
||||
RoundingMode.DOWN);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ import java.util.Map.Entry;
|
|||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.hibernate.Hibernate;
|
||||
import org.joda.time.LocalDate;
|
||||
import org.navalplanner.business.common.IAdHocTransactionService;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
|
|
@ -63,8 +62,6 @@ import org.navalplanner.business.planner.entities.Dependency.Type;
|
|||
import org.navalplanner.business.resources.daos.ICriterionDAO;
|
||||
import org.navalplanner.business.resources.daos.IResourceDAO;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.Machine;
|
||||
import org.navalplanner.business.resources.entities.MachineWorkersConfigurationUnit;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.scenarios.entities.Scenario;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -492,7 +489,8 @@ public class TaskElementAdapter implements ITaskElementAdapter {
|
|||
StringBuilder result = new StringBuilder();
|
||||
result.append(_("Name: {0}", getName()) + "<br/>");
|
||||
result.append(_("Advance") + ": ").append(
|
||||
getAdvancePercentage().multiply(new BigDecimal(100)))
|
||||
(getAdvancePercentage().multiply(new BigDecimal(100)))
|
||||
.setScale(2, RoundingMode.DOWN))
|
||||
.append("% , ");
|
||||
|
||||
result.append(_("Hours invested") + ": ").append(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue