BrightSide Workbench Full Report + Source Code
UsageValuation.java
Go to the documentation of this file.
1 /*
2  * TurrĂ³ i Cutiller Foundation. License notice.
3  * Copyright (C) 2012 Lluis TurrĂ³ Cutiller <http://www.turro.org/>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU Affero General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Affero General Public License for more details.
14  *
15  * You should have received a copy of the GNU Affero General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 package org.turro.erp.task;
20 
21 import org.turro.erp.entity.RequiredUsage;
22 
27 public class UsageValuation {
28 
29  private RequiredUsage requiredUsage;
30  private IUsageValuation valuation;
31 
32  public UsageValuation(RequiredUsage requiredUsage) {
33  this.requiredUsage = requiredUsage;
34  if(requiredUsage.isHumanResourceType()) {
35  valuation = new ResourceUsageValuation(
36  requiredUsage.getHumanResource(), requiredUsage.getResource(),
37  requiredUsage.getAptitudeDegree(), requiredUsage.getAptitudeAssesment(),
38  requiredUsage.getDedication());
39  } else {
40  valuation = new ProductUsageValuation(
41  requiredUsage.getProductId(), requiredUsage.getProviderId(),
42  requiredUsage.getProviderProductId(), requiredUsage.getDescription());
43  }
44  }
45 
46  public void recalculateCost() {
47  requiredUsage.setCost(valuation.getUnitCost());
48  }
49 
50  public void recalculatePrice() {
51  requiredUsage.setPrice(valuation.getUnitPrice());
52  }
53 
54  public double getUnitCost() {
55  return valuation.getUnitCost();
56  }
57 
58  public double getUnitPrice() {
59  return valuation.getUnitPrice();
60  }
61 
62 }
UsageValuation(RequiredUsage requiredUsage)