⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inventorycost.java

📁 简介: 今天为网友提供的是JAVA源码
💻 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 + -