📄 route.java
字号:
package com.power.pipeengine.Entity;
import java.util.*;
import com.power.pipeengine.InputData.*;
public class Route extends com.power.pipeengine.Entity.Entity
{
private int _routeID;
private String _productID = null;
private int _facilityID;
private int _srcingFacilityID;
private int _destFacilityID;
private int _effectiveBucket;
private double _cycleTime = 0;
private double _yield = 0;
private double _costPerStart = 0.0;
private double _numOfOperators = 1;
private Route next; //route that follows this
private Vector prev = new Vector(); //route(s) that are before this
public Route( int rID,
String prod,
int fID,
int sfID,
int dfID,
int eb,
double ct,
double yld,
double cps ) {
_routeID = rID;
_productID = prod;
_facilityID = fID;
_srcingFacilityID = sfID;
_destFacilityID = dfID;
_effectiveBucket = eb;
_cycleTime = ct;
_yield = yld;
_costPerStart = cps;
}
public void setNumOfOperators( double dbl ) {
_numOfOperators = dbl;
}
public void setNextRoute( Route rte ) {
next = rte;
}
public Route getNextRoute() {
return next;
}
public void addPrevRoute( Route rte ) {
prev.add( rte );
}
public Vector getPrevRoutes() {
return prev;
}
public boolean isAPrevRoute( int rteID ) {
if( null == prev || prev.size() == 0 ) {
return false;
}
for( int i=0; i<prev.size(); i++ ) {
Route r = (Route) prev.elementAt( i );
if( r.getRouteID() == rteID ) {
return true;
} else {
return r.isAPrevRoute( rteID );
}
}
return false;
}
public double getNumOfOperators() {
return _numOfOperators;
}
public int getRouteID() {
return _routeID;
}
public int getFacilityID() {
return _facilityID;
}
public Facility getFacility() {
Facilities facilities = DataModel.getInstance().getFacilities();
return facilities.getFacility( _facilityID );
}
public int getSrcingFacilityID() {
return _srcingFacilityID;
}
public Facility getSrcingFacility() {
Facilities facilities = DataModel.getInstance().getFacilities();
return facilities.getFacility( _srcingFacilityID );
}
public int getDestFacilityID() {
return _destFacilityID;
}
public int getEffectiveBucket() {
return _effectiveBucket;
}
public double getCycleTime() {
return _cycleTime;
}
public double getYield() {
return _yield;
}
public double getCostPerStart() {
return _costPerStart;
}
public String getProductID() {
return _productID;
}
public Product getProduct() {
Products products = DataModel.getInstance().getProducts();
return products.getProduct( _facilityID, _productID );
}
public int getLastStartBucketHavingOuts() {
PIPECalendar cal = DataModel.getInstance().getCalendar();
Vector buckets = DataModel.getInstance().getCalendar().getBuckets();
int numBuckets = DataModel.getInstance().getCalendar().getTotalNumOfBuckets();
double remCycleTime = _cycleTime - getFacility().getNumWorkingDaysForBucket( numBuckets )/2;
if( remCycleTime < 0 ) return numBuckets;
int i=numBuckets-1;
for( ; i>0; i-- ) {
Bucket b = (Bucket) buckets.elementAt( i-1 );
remCycleTime -= getFacility().getNumWorkingDaysForBucket( i-1 );
if( remCycleTime < 0 ) break;
}
return i;
}
public void print() {
System.out.println( _routeID + "," +
_productID + "," +
_facilityID + "," +
_srcingFacilityID + "," +
_destFacilityID + "," +
_effectiveBucket + "," +
_cycleTime + "," +
_yield + "," +
_costPerStart + "," +
getVariableCode() );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -