📄 inventorycost.java
字号:
package com.power.pipeengine.Entity;
import java.util.*;
import com.power.pipeengine.InputData.*;
public class InventoryCost
{
private String _productID;
private int _facilityID;
private Vector _effectiveBuckets = new Vector();
private Vector _holdingCosts = new Vector();
private Vector _timePhasedHoldingCosts = new Vector();
public InventoryCost( String prodID, int facilityID ) {
_productID = prodID;
_facilityID = facilityID;
}
public void addCostEntry( int bucketID, double cost ) {
_effectiveBuckets.addElement( new Integer( bucketID ) );
_holdingCosts.addElement( new Double( cost ) );
}
public String getProductID() {
return _productID;
}
public int getFacilityID() {
return _facilityID;
}
public Product getProduct() {
Products products = DataModel.getInstance().getProducts();
return products.getProduct( _facilityID, _productID );
}
public Facility getFacility() {
Facilities facilities = DataModel.getInstance().getFacilities();
return facilities.getFacility( _facilityID );
}
public Vector getTimePhasedHoldingCosts() {
return _timePhasedHoldingCosts;
}
public double getHoldingCost( int bucketID ) {
Double cost = (Double) _timePhasedHoldingCosts.elementAt( bucketID - 1 );
return cost.doubleValue();
}
public double getMaxHoldingCost() {
int numBuckets = DataModel.getInstance().getCalendar().getTotalNumOfBuckets();
double maxCost = 0;
for( int i=1; i<=numBuckets; i++ ) {
if( maxCost < getHoldingCost( i ) ) {
maxCost = getHoldingCost( i );
}
}
return maxCost;
}
public void buildTimePhasedHoldingCosts() {
for( int i=0; i<_effectiveBuckets.size()-1; i++ ) {
int currentBucket = ((Integer)_effectiveBuckets.elementAt(i)).intValue();
int nextBucket = ((Integer)_effectiveBuckets.elementAt(i+1) ).intValue();
for( int j=currentBucket; j<nextBucket; j++ ) {
Double cost = (Double) _holdingCosts.elementAt( i );
_timePhasedHoldingCosts.addElement( cost );
}
}
//from last element to the end of horizon
int currentBucket = ((Integer)_effectiveBuckets.lastElement()).intValue();
int numBuckets = DataModel.getInstance().getCalendar().getTotalNumOfBuckets();
for( int i=currentBucket; i<=numBuckets; i++ ) {
Double cost = (Double) _holdingCosts.lastElement();
_timePhasedHoldingCosts.addElement( cost );
}
}
public void print() {
System.out.println( _productID + ", " +
_facilityID + " " +
_timePhasedHoldingCosts );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -