Modified automatic budget cell calculations and rearranged report
The manually introduced budget cell will be representing the total amount for the budget on that item, and the expenses cell will show the difference between that total and the resources costs for the task hours and required criteria. FEA: ItEr77S17AutomaticBudgeting
This commit is contained in:
parent
8c2c7996a2
commit
a8eefaaa29
6 changed files with 166 additions and 105 deletions
|
|
@ -50,10 +50,10 @@ public class ProjectStatusReportDTO {
|
||||||
|
|
||||||
private BigDecimal budget;
|
private BigDecimal budget;
|
||||||
|
|
||||||
private BigDecimal expensesBudget;
|
|
||||||
|
|
||||||
private BigDecimal resourcesBudget;
|
private BigDecimal resourcesBudget;
|
||||||
|
|
||||||
|
private BigDecimal expensesBudget;
|
||||||
|
|
||||||
private BigDecimal hoursCost;
|
private BigDecimal hoursCost;
|
||||||
|
|
||||||
private BigDecimal expensesCost;
|
private BigDecimal expensesCost;
|
||||||
|
|
@ -64,11 +64,14 @@ public class ProjectStatusReportDTO {
|
||||||
|
|
||||||
public ProjectStatusReportDTO(EffortDuration estimatedHours,
|
public ProjectStatusReportDTO(EffortDuration estimatedHours,
|
||||||
EffortDuration plannedHours, EffortDuration imputedHours,
|
EffortDuration plannedHours, EffortDuration imputedHours,
|
||||||
|
BigDecimal resourcesBudget, BigDecimal expensesBudget,
|
||||||
BigDecimal budget, BigDecimal hoursCost, BigDecimal expensesCost,
|
BigDecimal budget, BigDecimal hoursCost, BigDecimal expensesCost,
|
||||||
BigDecimal totalCost) {
|
BigDecimal totalCost) {
|
||||||
this.estimatedHours = estimatedHours;
|
this.estimatedHours = estimatedHours;
|
||||||
this.plannedHours = plannedHours;
|
this.plannedHours = plannedHours;
|
||||||
this.imputedHours = imputedHours;
|
this.imputedHours = imputedHours;
|
||||||
|
this.resourcesBudget = resourcesBudget;
|
||||||
|
this.expensesBudget = expensesBudget;
|
||||||
this.budget = budget;
|
this.budget = budget;
|
||||||
this.hoursCost = hoursCost;
|
this.hoursCost = hoursCost;
|
||||||
this.expensesCost = expensesCost;
|
this.expensesCost = expensesCost;
|
||||||
|
|
@ -77,9 +80,11 @@ public class ProjectStatusReportDTO {
|
||||||
|
|
||||||
public ProjectStatusReportDTO(String code, String name,
|
public ProjectStatusReportDTO(String code, String name,
|
||||||
EffortDuration estimatedHours, EffortDuration plannedHours,
|
EffortDuration estimatedHours, EffortDuration plannedHours,
|
||||||
EffortDuration imputedHours, BigDecimal budget,
|
EffortDuration imputedHours, BigDecimal resourcesBudget,
|
||||||
|
BigDecimal expensesBudget, BigDecimal budget,
|
||||||
BigDecimal hoursCost, BigDecimal expensesCost, BigDecimal totalCost) {
|
BigDecimal hoursCost, BigDecimal expensesCost, BigDecimal totalCost) {
|
||||||
this(estimatedHours, plannedHours, imputedHours, budget, hoursCost,
|
this(estimatedHours, plannedHours, imputedHours, resourcesBudget,
|
||||||
|
expensesBudget, budget, hoursCost,
|
||||||
expensesCost, totalCost);
|
expensesCost, totalCost);
|
||||||
this.code = code;
|
this.code = code;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
|
@ -291,8 +296,9 @@ public class ProjectStatusReportDTO {
|
||||||
*/
|
*/
|
||||||
private void calculateCostMark() {
|
private void calculateCostMark() {
|
||||||
if (totalCost != null) {
|
if (totalCost != null) {
|
||||||
if (budget != null && (budget.compareTo(BigDecimal.ZERO) > 0)) {
|
if (expensesBudget != null
|
||||||
if (totalCost.compareTo(budget) > 0) {
|
&& (expensesBudget.compareTo(BigDecimal.ZERO) > 0)) {
|
||||||
|
if (totalCost.compareTo(expensesBudget) > 0) {
|
||||||
costMark = EXCLAMATION_MARK;
|
costMark = EXCLAMATION_MARK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="resourcesList" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" resourceBundle="projectStatus" uuid="17a95f07-ce2e-43c0-8da8-bfe1b9d826c2">
|
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="resourcesList" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" resourceBundle="projectStatus" uuid="17a95f07-ce2e-43c0-8da8-bfe1b9d826c2">
|
||||||
<property name="ireport.zoom" value="2.0"/>
|
<property name="ireport.zoom" value="2.0"/>
|
||||||
<property name="ireport.x" value="560"/>
|
<property name="ireport.x" value="640"/>
|
||||||
<property name="ireport.y" value="0"/>
|
<property name="ireport.y" value="0"/>
|
||||||
<style name="dejavu-sans" isDefault="true" fontName="DejaVu Sans" fontSize="8"/>
|
<style name="dejavu-sans" isDefault="true" fontName="DejaVu Sans" fontSize="8"/>
|
||||||
<style name="row-grey" style="dejavu-sans">
|
<style name="row-grey" style="dejavu-sans">
|
||||||
|
|
@ -47,6 +47,8 @@
|
||||||
<parameter name="plannedHours" class="java.lang.String"/>
|
<parameter name="plannedHours" class="java.lang.String"/>
|
||||||
<parameter name="imputedHours" class="java.lang.String"/>
|
<parameter name="imputedHours" class="java.lang.String"/>
|
||||||
<parameter name="hoursMark" class="java.lang.String"/>
|
<parameter name="hoursMark" class="java.lang.String"/>
|
||||||
|
<parameter name="resourcesBudget" class="java.lang.String"/>
|
||||||
|
<parameter name="expensesBudget" class="java.lang.String"/>
|
||||||
<parameter name="budget" class="java.lang.String"/>
|
<parameter name="budget" class="java.lang.String"/>
|
||||||
<parameter name="hoursCost" class="java.lang.String"/>
|
<parameter name="hoursCost" class="java.lang.String"/>
|
||||||
<parameter name="expensesCost" class="java.lang.String"/>
|
<parameter name="expensesCost" class="java.lang.String"/>
|
||||||
|
|
@ -75,7 +77,7 @@
|
||||||
<band splitType="Stretch"/>
|
<band splitType="Stretch"/>
|
||||||
</background>
|
</background>
|
||||||
<title>
|
<title>
|
||||||
<band height="57" splitType="Stretch">
|
<band height="64" splitType="Stretch">
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement uuid="283b2e5a-b1fc-4fff-bdef-6d342b537b72" x="0" y="0" width="622" height="14"/>
|
<reportElement uuid="283b2e5a-b1fc-4fff-bdef-6d342b537b72" x="0" y="0" width="622" height="14"/>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle" markup="none">
|
<textElement textAlignment="Center" verticalAlignment="Middle" markup="none">
|
||||||
|
|
@ -124,117 +126,145 @@
|
||||||
<textFieldExpression><![CDATA[$P{filter}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{filter}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="0" y="28" width="100" height="12"/>
|
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="0" y="28" width="120" height="12"/>
|
||||||
<textElement>
|
<textElement>
|
||||||
<font size="10"/>
|
<font size="10"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{project_estimated_hours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{project_estimated_hours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="100" y="28" width="100" height="12"/>
|
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="120" y="28" width="27" height="12"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle">
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{estimatedHours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{estimatedHours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="200" y="28" width="100" height="12"/>
|
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="184" y="28" width="122" height="12"/>
|
||||||
<textElement>
|
<textElement>
|
||||||
<font size="10"/>
|
<font size="10"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{project_planned_hours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{project_planned_hours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="300" y="28" width="100" height="12"/>
|
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="306" y="28" width="32" height="12"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle">
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{plannedHours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{plannedHours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="400" y="28" width="100" height="12"/>
|
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="394" y="28" width="124" height="12"/>
|
||||||
<textElement>
|
<textElement>
|
||||||
<font size="10"/>
|
<font size="10"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{project_imputed_hours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{project_imputed_hours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" style="project-hours-red" x="500" y="28" width="100" height="12"/>
|
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" style="project-hours-red" x="518" y="28" width="27" height="12"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle">
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{imputedHours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{imputedHours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="16348737-c53b-4739-8f53-2d68cc499821" style="project-hours-red" x="600" y="28" width="5" height="12"/>
|
<reportElement uuid="16348737-c53b-4739-8f53-2d68cc499821" style="project-hours-red" x="545" y="28" width="5" height="12"/>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{hoursMark}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{hoursMark}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="0" y="41" width="100" height="12"/>
|
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="0" y="40" width="100" height="12"/>
|
||||||
<textElement>
|
<textElement>
|
||||||
<font size="10"/>
|
<font size="10"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{project_budget}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{project_budget}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="100" y="41" width="100" height="12"/>
|
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="517" y="40" width="68" height="12"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle">
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{budget}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{budget}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField>
|
|
||||||
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="200" y="41" width="100" height="12"/>
|
|
||||||
<textElement>
|
|
||||||
<font size="10"/>
|
|
||||||
</textElement>
|
|
||||||
<textFieldExpression><![CDATA[$R{project_hours_cost}]]></textFieldExpression>
|
|
||||||
</textField>
|
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="300" y="41" width="100" height="12"/>
|
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="306" y="52" width="70" height="12"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle">
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{hoursCost}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{hoursCost}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="400" y="41" width="100" height="12"/>
|
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="394" y="52" width="123" height="12"/>
|
||||||
<textElement>
|
<textElement>
|
||||||
<font size="10"/>
|
<font size="10"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{project_expenses_cost}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{project_expenses_cost}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="500" y="41" width="100" height="12"/>
|
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" x="517" y="52" width="68" height="12"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle">
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{expensesCost}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{expensesCost}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="600" y="41" width="100" height="12"/>
|
<reportElement uuid="9048c4a2-964c-4863-a30e-36b520a9d54b" x="0" y="52" width="100" height="12"/>
|
||||||
<textElement>
|
<textElement>
|
||||||
<font size="10"/>
|
<font size="10"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{project_total_cost}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{project_total_cost}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" style="project-cost-red" x="700" y="41" width="97" height="12"/>
|
<reportElement uuid="a0596a94-5c29-4eb0-940a-3b561ce5893d" style="project-cost-red" x="100" y="52" width="58" height="12"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle">
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{totalCost}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{totalCost}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="16348737-c53b-4739-8f53-2d68cc499821" style="project-cost-red" x="797" y="41" width="5" height="12"/>
|
<reportElement uuid="16348737-c53b-4739-8f53-2d68cc499821" style="project-cost-red" x="158" y="52" width="5" height="12"/>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font size="9" isBold="true"/>
|
<font size="9" isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$P{costMark}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$P{costMark}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="00b6dcc9-ee92-4009-b85b-f7ff711c7574" x="185" y="52" width="121" height="12"/>
|
||||||
|
<textElement>
|
||||||
|
<font size="10"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$R{project_hours_cost}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="cfd40822-a7a8-4f50-855b-58ba8d8039d9" x="306" y="40" width="70" height="12"/>
|
||||||
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
|
<font size="9" isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$P{resourcesBudget}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="3f65ce0d-8c9b-470a-8e2e-60adda68dfde" x="185" y="40" width="121" height="12"/>
|
||||||
|
<textElement>
|
||||||
|
<font size="10"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$R{project_resources_budget}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField>
|
||||||
|
<reportElement uuid="e4dbda70-64af-41bc-8397-c5e57fd63789" x="394" y="40" width="123" height="12"/>
|
||||||
|
<textElement>
|
||||||
|
<font size="10"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$R{project_expenses_budget}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="75a9cad8-f33f-4a43-bc46-267e403bda38" x="100" y="40" width="70" height="12"/>
|
||||||
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
|
<font size="9" isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$P{expensesBudget}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
</band>
|
</band>
|
||||||
</title>
|
</title>
|
||||||
<pageHeader>
|
<pageHeader>
|
||||||
|
|
@ -256,8 +286,7 @@
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="82352929-5e6a-4feb-9f54-fd2c97eb7cea" x="100" y="17" width="300" height="15"/>
|
<reportElement uuid="82352929-5e6a-4feb-9f54-fd2c97eb7cea" x="100" y="17" width="300" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
|
|
@ -267,9 +296,7 @@
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="400" y="17" width="33" height="15"/>
|
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="400" y="17" width="33" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<leftPen lineWidth="0.25"/>
|
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
|
|
@ -279,8 +306,7 @@
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="433" y="17" width="32" height="15"/>
|
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="433" y="17" width="32" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
|
|
@ -290,8 +316,8 @@
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="465" y="17" width="37" height="15"/>
|
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="465" y="17" width="37" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<bottomPen lineWidth="0.25"/>
|
<rightPen lineWidth="0.5"/>
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
|
|
@ -299,10 +325,10 @@
|
||||||
<textFieldExpression><![CDATA[$R{imputed_hours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{imputed_hours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="597" y="17" width="50" height="15"/>
|
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="597" y="2" width="100" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<bottomPen lineWidth="0.25"/>
|
<rightPen lineWidth="0.5"/>
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
|
|
@ -310,33 +336,10 @@
|
||||||
<textFieldExpression><![CDATA[$R{expenses}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{expenses}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="647" y="17" width="50" height="15"/>
|
<reportElement uuid="9c1fc16f-f844-4506-a2cb-def34c039d1e" x="697" y="2" width="105" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<leftPen lineWidth="0.25"/>
|
<rightPen lineWidth="0.5"/>
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
|
||||||
<font isBold="true"/>
|
|
||||||
</textElement>
|
|
||||||
<textFieldExpression><![CDATA[$R{hours}]]></textFieldExpression>
|
|
||||||
</textField>
|
|
||||||
<textField isBlankWhenNull="true">
|
|
||||||
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="697" y="17" width="50" height="15"/>
|
|
||||||
<box>
|
|
||||||
<pen lineWidth="0.0"/>
|
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
|
||||||
<font isBold="true"/>
|
|
||||||
</textElement>
|
|
||||||
<textFieldExpression><![CDATA[$R{expenses}]]></textFieldExpression>
|
|
||||||
</textField>
|
|
||||||
<textField isBlankWhenNull="true">
|
|
||||||
<reportElement uuid="faae6657-606f-49ed-b11f-1085bc10a38a" x="747" y="17" width="55" height="15"/>
|
|
||||||
<box>
|
|
||||||
<pen lineWidth="0.0"/>
|
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
|
|
@ -344,23 +347,10 @@
|
||||||
<textFieldExpression><![CDATA[$R{total}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{total}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="9c1fc16f-f844-4506-a2cb-def34c039d1e" x="551" y="17" width="46" height="15"/>
|
<reportElement uuid="fa84e2c6-ce40-4e3b-aac5-15258e0dc0bb" x="502" y="2" width="95" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<leftPen lineWidth="0.0"/>
|
<rightPen lineWidth="0.5"/>
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
|
||||||
<font isBold="true"/>
|
|
||||||
</textElement>
|
|
||||||
<textFieldExpression><![CDATA[$R{total}]]></textFieldExpression>
|
|
||||||
</textField>
|
|
||||||
<textField isBlankWhenNull="true">
|
|
||||||
<reportElement uuid="fa84e2c6-ce40-4e3b-aac5-15258e0dc0bb" x="502" y="17" width="49" height="15"/>
|
|
||||||
<box>
|
|
||||||
<pen lineWidth="0.0"/>
|
|
||||||
<leftPen lineWidth="0.25"/>
|
|
||||||
<bottomPen lineWidth="0.25"/>
|
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
|
|
@ -370,32 +360,73 @@
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="cbc9f7bf-3f4e-431d-9448-64db5c896033" x="400" y="2" width="102" height="15"/>
|
<reportElement uuid="cbc9f7bf-3f4e-431d-9448-64db5c896033" x="400" y="2" width="102" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<leftPen lineWidth="0.0"/>
|
<rightPen lineWidth="0.5"/>
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Bottom">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{hours}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{hours}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="7332931d-1315-42be-bd72-36c7ba06c3b7" x="502" y="2" width="145" height="15"/>
|
<reportElement uuid="7332931d-1315-42be-bd72-36c7ba06c3b7" x="502" y="17" width="49" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<leftPen lineWidth="0.0"/>
|
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Bottom">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{budget}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{budget}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField isBlankWhenNull="true">
|
<textField isBlankWhenNull="true">
|
||||||
<reportElement uuid="d31937c3-04d7-4e91-8eaf-1eeefdc109df" x="647" y="2" width="155" height="15"/>
|
<reportElement uuid="d31937c3-04d7-4e91-8eaf-1eeefdc109df" x="551" y="17" width="46" height="15"/>
|
||||||
<box>
|
<box>
|
||||||
<pen lineWidth="0.0"/>
|
<bottomPen lineWidth="0.5"/>
|
||||||
<leftPen lineWidth="0.0"/>
|
<rightPen lineWidth="0.5"/>
|
||||||
</box>
|
</box>
|
||||||
<textElement textAlignment="Center" verticalAlignment="Bottom">
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$R{cost}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="f0ee3ba8-091f-4e9e-8e47-bfa46d5d8670" x="597" y="17" width="50" height="15"/>
|
||||||
|
<box>
|
||||||
|
<bottomPen lineWidth="0.5"/>
|
||||||
|
</box>
|
||||||
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$R{budget}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="e2527ad6-038b-4393-9d53-3730d64e4103" x="697" y="17" width="50" height="15"/>
|
||||||
|
<box>
|
||||||
|
<bottomPen lineWidth="0.5"/>
|
||||||
|
</box>
|
||||||
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$R{budget}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="5569c9c0-9854-4e7f-bafa-7b58c8d94253" x="747" y="17" width="55" height="15"/>
|
||||||
|
<box>
|
||||||
|
<bottomPen lineWidth="0.5"/>
|
||||||
|
<rightPen lineWidth="0.5"/>
|
||||||
|
</box>
|
||||||
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
|
<font isBold="true"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$R{cost}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
<textField isBlankWhenNull="true">
|
||||||
|
<reportElement uuid="12306622-67ce-4633-ba6a-d068ad7c7b55" x="647" y="17" width="50" height="15"/>
|
||||||
|
<box>
|
||||||
|
<bottomPen lineWidth="0.5"/>
|
||||||
|
<rightPen lineWidth="0.5"/>
|
||||||
|
</box>
|
||||||
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
<font isBold="true"/>
|
<font isBold="true"/>
|
||||||
</textElement>
|
</textElement>
|
||||||
<textFieldExpression><![CDATA[$R{cost}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$R{cost}]]></textFieldExpression>
|
||||||
|
|
@ -447,22 +478,22 @@
|
||||||
<textFieldExpression><![CDATA[$F{budgetFractionalPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{budgetFractionalPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField pattern="#" isBlankWhenNull="true">
|
<textField pattern="#" isBlankWhenNull="true">
|
||||||
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="647" y="0" width="35" height="15"/>
|
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="551" y="0" width="34" height="15"/>
|
||||||
<textElement textAlignment="Right" verticalAlignment="Middle"/>
|
<textElement textAlignment="Right" verticalAlignment="Middle"/>
|
||||||
<textFieldExpression><![CDATA[$F{hoursCostIntegerPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{hoursCostIntegerPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField pattern=".##" isBlankWhenNull="true">
|
<textField pattern=".##" isBlankWhenNull="true">
|
||||||
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="682" y="0" width="15" height="15"/>
|
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="585" y="0" width="12" height="15"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle"/>
|
<textElement textAlignment="Left" verticalAlignment="Middle"/>
|
||||||
<textFieldExpression><![CDATA[$F{hoursCostFractionalPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{hoursCostFractionalPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField pattern="#" isBlankWhenNull="true">
|
<textField pattern="#" isBlankWhenNull="true">
|
||||||
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="697" y="0" width="35" height="15"/>
|
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="647" y="0" width="35" height="15"/>
|
||||||
<textElement textAlignment="Right" verticalAlignment="Middle"/>
|
<textElement textAlignment="Right" verticalAlignment="Middle"/>
|
||||||
<textFieldExpression><![CDATA[$F{expensesCostIntegerPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{expensesCostIntegerPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField pattern=".##" isBlankWhenNull="true">
|
<textField pattern=".##" isBlankWhenNull="true">
|
||||||
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="732" y="0" width="15" height="15"/>
|
<reportElement uuid="1fe3ef4c-0cfe-45d2-96b1-c7f58d835509" style="row-grey" x="682" y="0" width="15" height="15"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle"/>
|
<textElement textAlignment="Left" verticalAlignment="Middle"/>
|
||||||
<textFieldExpression><![CDATA[$F{expensesCostFractionalPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{expensesCostFractionalPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
|
|
@ -494,12 +525,12 @@
|
||||||
<textFieldExpression><![CDATA[$F{resourcesBudgetFractionalPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{resourcesBudgetFractionalPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField pattern="#" isBlankWhenNull="true">
|
<textField pattern="#" isBlankWhenNull="true">
|
||||||
<reportElement uuid="d6f1af93-e3f3-4793-ad8f-4a7e9d5afd9b" style="row-grey" x="551" y="0" width="35" height="15"/>
|
<reportElement uuid="d6f1af93-e3f3-4793-ad8f-4a7e9d5afd9b" style="row-grey" x="697" y="0" width="39" height="15"/>
|
||||||
<textElement textAlignment="Right" verticalAlignment="Middle"/>
|
<textElement textAlignment="Right" verticalAlignment="Middle"/>
|
||||||
<textFieldExpression><![CDATA[$F{expensesBudgetIntegerPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{expensesBudgetIntegerPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<textField pattern=".##" isBlankWhenNull="true">
|
<textField pattern=".##" isBlankWhenNull="true">
|
||||||
<reportElement uuid="bdad83d7-df4a-49c6-b655-7cce935b4a53" style="row-grey" x="586" y="0" width="11" height="15"/>
|
<reportElement uuid="bdad83d7-df4a-49c6-b655-7cce935b4a53" style="row-grey" x="736" y="0" width="11" height="15"/>
|
||||||
<textElement textAlignment="Left" verticalAlignment="Middle"/>
|
<textElement textAlignment="Left" verticalAlignment="Middle"/>
|
||||||
<textFieldExpression><![CDATA[$F{expensesBudgetFractionalPart}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{expensesBudgetFractionalPart}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,8 @@ estimated_hours = Est.
|
||||||
planned_hours = Plan.
|
planned_hours = Plan.
|
||||||
imputed_hours = Done
|
imputed_hours = Done
|
||||||
project_budget = Budget:
|
project_budget = Budget:
|
||||||
|
project_resources_budget = Hours budget\:
|
||||||
|
project_expenses_budget = Expenses budget\:
|
||||||
project_hours_cost = Hours cost:
|
project_hours_cost = Hours cost:
|
||||||
project_expenses_cost = Expenses cost:
|
project_expenses_cost = Expenses cost:
|
||||||
project_total_cost = Total cost:
|
project_total_cost = Total cost:
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,12 @@ estimated_hours = Est.
|
||||||
planned_hours = Planif.
|
planned_hours = Planif.
|
||||||
imputed_hours = Hechas
|
imputed_hours = Hechas
|
||||||
project_budget = Presupuesto\:
|
project_budget = Presupuesto\:
|
||||||
|
project_resources_budget = Presupuesto horas\:
|
||||||
|
project_expenses_budget = Presupuesto gastos\:
|
||||||
project_hours_cost = Coste horas\:
|
project_hours_cost = Coste horas\:
|
||||||
project_expenses_cost = Coste gastos\:
|
project_expenses_cost = Coste gastos\:
|
||||||
project_total_cost = Coste total\:
|
project_total_cost = Coste total\:
|
||||||
budget = Presupuesto
|
budget = Presup.
|
||||||
hours_cost = Coste horas
|
hours_cost = Coste horas
|
||||||
expenses_cost = Coste gastos
|
expenses_cost = Coste gastos
|
||||||
total_cost = Coste total
|
total_cost = Coste total
|
||||||
|
|
|
||||||
|
|
@ -151,6 +151,11 @@ public class ProjectStatusReportController extends LibrePlanReportController {
|
||||||
result.put("hoursMark", totalDTO.getHoursMark());
|
result.put("hoursMark", totalDTO.getHoursMark());
|
||||||
|
|
||||||
result.put("budget", Util.addCurrencySymbol(totalDTO.getBudget()));
|
result.put("budget", Util.addCurrencySymbol(totalDTO.getBudget()));
|
||||||
|
result.put("resourcesBudget",
|
||||||
|
Util.addCurrencySymbol(totalDTO.getResourcesBudget()));
|
||||||
|
result.put("expensesBudget",
|
||||||
|
Util.addCurrencySymbol(totalDTO.getExpensesBudget()));
|
||||||
|
|
||||||
result.put("hoursCost", Util.addCurrencySymbol(totalDTO.getHoursCost()));
|
result.put("hoursCost", Util.addCurrencySymbol(totalDTO.getHoursCost()));
|
||||||
result.put("expensesCost",
|
result.put("expensesCost",
|
||||||
Util.addCurrencySymbol(totalDTO.getExpensesCost()));
|
Util.addCurrencySymbol(totalDTO.getExpensesCost()));
|
||||||
|
|
|
||||||
|
|
@ -178,6 +178,9 @@ public class ProjectStatusReportModel implements IProjectStatusReportModel {
|
||||||
EffortDuration imputedHours = originalDto.getImputedHoursAsEffortDuration();
|
EffortDuration imputedHours = originalDto.getImputedHoursAsEffortDuration();
|
||||||
|
|
||||||
BigDecimal budget = originalDto.getBudget();
|
BigDecimal budget = originalDto.getBudget();
|
||||||
|
BigDecimal resourcesBudget = originalDto.getResourcesBudget();
|
||||||
|
BigDecimal expensesBudget = originalDto.getExpensesBudget();
|
||||||
|
|
||||||
BigDecimal hoursCost = originalDto.getHoursCost();
|
BigDecimal hoursCost = originalDto.getHoursCost();
|
||||||
BigDecimal expensesCost = originalDto.getExpensesCost();
|
BigDecimal expensesCost = originalDto.getExpensesCost();
|
||||||
BigDecimal totalCost = originalDto.getTotalCost();
|
BigDecimal totalCost = originalDto.getTotalCost();
|
||||||
|
|
@ -190,7 +193,11 @@ public class ProjectStatusReportModel implements IProjectStatusReportModel {
|
||||||
imputedHours = subtractIfNotNull(imputedHours,
|
imputedHours = subtractIfNotNull(imputedHours,
|
||||||
each.getImputedHoursAsEffortDuration());
|
each.getImputedHoursAsEffortDuration());
|
||||||
|
|
||||||
|
resourcesBudget = subtractIfNotNull(budget,
|
||||||
|
each.getResourcesBudget());
|
||||||
|
expensesBudget = subtractIfNotNull(budget, each.getExpensesBudget());
|
||||||
budget = subtractIfNotNull(budget, each.getBudget());
|
budget = subtractIfNotNull(budget, each.getBudget());
|
||||||
|
|
||||||
hoursCost = subtractIfNotNull(hoursCost, each.getHoursCost());
|
hoursCost = subtractIfNotNull(hoursCost, each.getHoursCost());
|
||||||
expensesCost = subtractIfNotNull(expensesCost,
|
expensesCost = subtractIfNotNull(expensesCost,
|
||||||
each.getExpensesCost());
|
each.getExpensesCost());
|
||||||
|
|
@ -199,7 +206,8 @@ public class ProjectStatusReportModel implements IProjectStatusReportModel {
|
||||||
|
|
||||||
ProjectStatusReportDTO projectStatusReportDTO = new ProjectStatusReportDTO(
|
ProjectStatusReportDTO projectStatusReportDTO = new ProjectStatusReportDTO(
|
||||||
originalDto.getCode(), originalDto.getName(), estimatedHours,
|
originalDto.getCode(), originalDto.getName(), estimatedHours,
|
||||||
plannedHours, imputedHours, budget, hoursCost, expensesCost,
|
plannedHours, imputedHours, resourcesBudget, expensesBudget,
|
||||||
|
budget, hoursCost, expensesCost,
|
||||||
totalCost);
|
totalCost);
|
||||||
return projectStatusReportDTO;
|
return projectStatusReportDTO;
|
||||||
}
|
}
|
||||||
|
|
@ -224,6 +232,9 @@ public class ProjectStatusReportModel implements IProjectStatusReportModel {
|
||||||
EffortDuration imputedHours = EffortDuration.zero();
|
EffortDuration imputedHours = EffortDuration.zero();
|
||||||
|
|
||||||
BigDecimal budget = BigDecimal.ZERO.setScale(2);
|
BigDecimal budget = BigDecimal.ZERO.setScale(2);
|
||||||
|
BigDecimal hoursBudget = BigDecimal.ZERO.setScale(2);
|
||||||
|
BigDecimal expensesBudget = BigDecimal.ZERO.setScale(2);
|
||||||
|
|
||||||
BigDecimal hoursCost = BigDecimal.ZERO.setScale(2);
|
BigDecimal hoursCost = BigDecimal.ZERO.setScale(2);
|
||||||
BigDecimal expensesCost = BigDecimal.ZERO.setScale(2);
|
BigDecimal expensesCost = BigDecimal.ZERO.setScale(2);
|
||||||
BigDecimal totalCost = BigDecimal.ZERO.setScale(2);
|
BigDecimal totalCost = BigDecimal.ZERO.setScale(2);
|
||||||
|
|
@ -236,14 +247,18 @@ public class ProjectStatusReportModel implements IProjectStatusReportModel {
|
||||||
imputedHours = addIfNotNull(imputedHours,
|
imputedHours = addIfNotNull(imputedHours,
|
||||||
dto.getImputedHoursAsEffortDuration());
|
dto.getImputedHoursAsEffortDuration());
|
||||||
|
|
||||||
|
hoursBudget = addIfNotNull(budget, dto.getResourcesBudget());
|
||||||
|
expensesBudget = addIfNotNull(budget, dto.getExpensesBudget());
|
||||||
budget = addIfNotNull(budget, dto.getBudget());
|
budget = addIfNotNull(budget, dto.getBudget());
|
||||||
|
|
||||||
hoursCost = addIfNotNull(hoursCost, dto.getHoursCost());
|
hoursCost = addIfNotNull(hoursCost, dto.getHoursCost());
|
||||||
expensesCost = addIfNotNull(expensesCost, dto.getExpensesCost());
|
expensesCost = addIfNotNull(expensesCost, dto.getExpensesCost());
|
||||||
totalCost = addIfNotNull(totalCost, dto.getTotalCost());
|
totalCost = addIfNotNull(totalCost, dto.getTotalCost());
|
||||||
}
|
}
|
||||||
|
|
||||||
totalDTO = new ProjectStatusReportDTO(estimatedHours, plannedHours,
|
totalDTO = new ProjectStatusReportDTO(estimatedHours, plannedHours,
|
||||||
imputedHours, budget, hoursCost, expensesCost, totalCost);
|
imputedHours, hoursBudget, expensesBudget, budget,
|
||||||
|
hoursCost, expensesCost, totalCost);
|
||||||
totalDTO.calculateMarks();
|
totalDTO.calculateMarks();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue