?? productionoutsbyroute.java
字號:
package com.power.pipeengine.Report;
import java.util.*;
import java.io.*;
import com.power.pipeengine.Variable.*;
import com.power.pipeengine.Constraint.*;
import com.power.pipeengine.InputData.*;
import com.power.pipeengine.LPModel.*;
import com.power.pipeengine.Entity.*;
import com.power.pipeengine.*;
import com.power.pipe.*;
public class ProductionOutsByRoute extends Report
{
private static final ProductionOutsByRoute INSTANCE =
new ProductionOutsByRoute();
// Private constructor supresses
// default public constructor
private ProductionOutsByRoute( ) {
_fileName = "ProductionOutsByRoute";
//initFileWriter();
}
public static ProductionOutsByRoute getInstance( ) {
return INSTANCE;
}
private StringBuffer content = new StringBuffer();
public void createReport() throws IOException {
DataModel dataModel = DataModel.getInstance();
Vector buckets = dataModel.getCalendar().getBuckets();
StartsVariable startsVar = StartsVariable.getInstance();
OutsVariable outsVar = OutsVariable.getInstance();
Solution sol = Solution.getInstance();
RouteProducts rteProds = dataModel.getRouteProducts();
Enumeration allProds = rteProds.getProducts().elements();
String separator = GlobalConfig.getInstance().getSeparator();
while( allProds.hasMoreElements() ) {
Product p = (Product) allProds.nextElement();
for( int i=0; i<buckets.size(); i++ ) {
Bucket b = (Bucket) buckets.elementAt( i );
Vector routes = rteProds.getRoutes( p );
for( int k=0; k<routes.size(); k++ ) {
Route aRoute = (Route) routes.elementAt( k );
if( aRoute.getFacility().getNumWorkingDaysForBucket( b.getBucketID() ) == 0 ) {
continue;
}
Bucket rsb = outsVar.getRouteStartBucket( aRoute, aRoute.getProduct(), b );
if( null == rsb ) continue;
String start = startsVar.getVariable( aRoute, aRoute.getProduct(), rsb );
double startValue = sol.getValue( start );
double splitFraction = rteProds.getRouteProduct( aRoute.getRouteID(),
p.getProductID() ).getSplitFraction( rsb.getBucketID() );
double outValue = startValue * aRoute.getYield() * splitFraction;
//skip if no outs
if( outValue == 0 ) continue;
String lineOut = b.getBucketID() + separator +
b.getFormatedDate() + separator +
p.getProductID() + separator +
p.getFacilityID() + separator +
aRoute.getRouteID() + separator +
rsb.getBucketID() + separator +
outValue + "\n";
content.append( lineOut );
}
}
}
//_myFileWriter.close();
super.flush( content.toString() );
content = null;
System.gc();
}
public void reset() {
content = new StringBuffer();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -