📄 sourcing.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 Sourcing extends Report
{
private static final Sourcing INSTANCE =
new Sourcing();
// Private constructor supresses
// default public constructor
private Sourcing( ) {
_fileName = "Sourcing";
//initFileWriter();
}
public static Sourcing getInstance( ) {
return INSTANCE;
}
private StringBuffer content = new StringBuffer();
public void createReport() throws IOException {
Vector invFacilities = DataModel.getInstance().getFacilities().getInvFacilities();
for( int i=0; i<invFacilities.size(); i++ ) {
Facility f = (Facility) invFacilities.elementAt( i );
//System.out.println( "Facility = " + f.getDescription() );
Vector products = f.getProducts();
for( int j=0; j<products.size(); j++ ) {
Product p = (Product) products.elementAt( j );
createReport( f, p );
}
}
//_myFileWriter.close();
super.flush( content.toString() );
content = null;
System.gc();
}
public void createReport( Facility f, Product p )
throws IOException
{
Vector buckets = DataModel.getInstance().getCalendar().getBuckets();
Vector sourcingRoutes = p.getSourcingRoutes();
AllocationVariable allocVar = AllocationVariable.getInstance();
Solution sol = Solution.getInstance();
String separator = ",";
for( int i=0; i<buckets.size(); i++ ) {
String constr = new String( );
Bucket b = (Bucket) buckets.elementAt( i );
Bucket prevBucket = null;
//allocation during the period
for( int k=0; k<sourcingRoutes.size(); k++ ) {
Route r = (Route) sourcingRoutes.elementAt( k );
if( r.getSrcingFacilityID() != f.getFacilityID() ) continue;
String var = allocVar.getVariable( f, p, r, b );
int value = (int) ( sol.getValue( var ) +
EngineConfig.getInstance().PRECISION );
if( value == 0 ) continue;
String lineOut = f.getFacilityID() + separator +
p.getProductID() + separator +
r.getRouteID() + separator +
b.getBucketID() + separator +
b.getFormatedDate() + separator +
value + "\n";
content.append( lineOut );
}
}
}
public void reset() {
content = new StringBuffer();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -