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

📄 mininvsupport.java

📁 全球著名IT公司ILog的APS高级排产优化引擎
💻 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 MinInvSupport extends Report
{
    private static final MinInvSupport INSTANCE =
                              new MinInvSupport();

   // Private constructor supresses
   // default public constructor
    private MinInvSupport( ) {
		_fileName = "MinInvSupport";
		//initFileWriter();
    }

    public static MinInvSupport getInstance( ) {
        return INSTANCE;
    }

    private StringBuffer content = new StringBuffer();

	public void createReport()
		throws IOException
	{
		PIPECalendar cal = DataModel.getInstance().getCalendar();
		Inventories inventories = DataModel.getInstance().getInventories();
		MinInventories minInvs = DataModel.getInstance().getMinInventories();
		InventoryGroups invGroups = DataModel.getInstance().getInventoryGroups();
		MinInvSlackVariable minSlackVar = MinInvSlackVariable.getInstance();
		int numBuckets = cal.getTotalNumOfBuckets();
		Solution sol = Solution.getInstance();
		String separator = GlobalConfig.getInstance().getSeparator();
		Enumeration allMinInvs = minInvs.getMinInventories().elements();

		while( allMinInvs.hasMoreElements() ) {
			MinInventory minInv = (MinInventory) allMinInvs.nextElement();

			for( int t=1; t<=numBuckets; t++ ) {
				if( minInv.getQuantity( t ) == 0 ) continue;
				int grpID = minInv.getGroupID();
				InventoryGroup invGrp = invGroups.getInventoryGroup( grpID );
				Enumeration products = invGrp.getProducts().elements();
				Bucket b = cal.getBucket( t );

				int qty = (int) minInv.getQuantity( t );
				//slack variable in case constrained
				String var = minSlackVar.getVariable( grpID, b );
				int value = (int) ( sol.getValue( var ) + EngineConfig.getInstance().PRECISION );

				String lineOut =    grpID + separator +
									b.getBucketID() + separator +
									b.getFormatedDate() + separator +
									qty + separator +
									( qty - value ) + "\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 + -