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

📄 pipecalendar.java

📁 著名IT公司ILog的APS高级排产优化引擎
💻 JAVA
字号:
package com.power.pipeengine.InputData;

import java.util.*;
import java.io.*;
import java.text.*;
import java.net.*;

import com.power.util.Message.*;
import com.power.pipeengine.Entity.*;
import com.power.pipe.*;
import com.power.util.Message.*;
import com.power.pipeengine.*;

public class PIPECalendar extends InputReader
{
    static ResourceBundle res = ResourceBundle.getBundle("com.power.pipeengine.Res",
                                                          EngineConfig.getInstance().getLocale() );
    private Vector _buckets = null;
	private String _fileName = "Calendar";
	private int _bucketCodeLength = 2;

	public PIPECalendar() {
		_buckets = new Vector();
	}

	public Vector getBuckets() {
		return _buckets;
	}

	public int getTotalNumOfBuckets() {
		return _buckets.size();
	}

	public Bucket getBucket( int bucketID ) {
		//unsafe implementation
        if( bucketID > _buckets.size() ) return null;
		return (Bucket) _buckets.elementAt( bucketID -1 );
	}

    public Bucket getFirstBucket() {
        return (Bucket) _buckets.elementAt( 0 );
    }

	public void addBucket( Bucket b ) {
		_buckets.addElement( b );
	}

	protected String getFileName() {
		return _fileName;
	}

    public void setDiscountRate() {
        for( int i=0; i<_buckets.size(); i++ ) {
            ( (Bucket) _buckets.elementAt( i ) ).setDiscountRate();
        }
    }

	public void readData() throws Exception {
		BufferedReader d = super.getReader();

        if( null == d ) {
          return;
        }

		String token = GlobalConfig.getInstance().getSeparator();
		String aLine = d.readLine();
		SimpleDateFormat sdfInput = new SimpleDateFormat( "dd-MMM-yyyy" );
        sdfInput.setDateFormatSymbols( new DateFormatSymbols( Locale.US ) );

		while( aLine != null ) {
            if( aLine.length() <= 1 ) {
                aLine = d.readLine();
                continue;
            }

			StringTokenizer st = new StringTokenizer( aLine, token );

			int bucketID     = new Integer( st.nextToken() ).intValue();
			int numCalDays   = new Integer( st.nextToken() ).intValue();
			String startDate = st.nextToken();
			Date date = sdfInput.parse( startDate );
			Bucket b = new Bucket( bucketID, numCalDays, date );
			b.setDateString( startDate );
			b.setVariableCode( bucketID, _bucketCodeLength );
			addBucket( b );
			aLine = d.readLine();
		}

        d.close();
		super.closeURLConnection();
        checkDataSufficiency();
	}

    private void checkDataSufficiency() {
      if( getTotalNumOfBuckets() < 2  ) {
          MessageArea.getInstance().addMessage(
            res.getString("Engine17001") +
            res.getString("required_to_create_a") );

        EngineConfig.getInstance().setDataSufficiency( false );
      }
    }


	public void print() {
		System.out.println( "\n\n\nCalendar ---------------------" );
		for( int i=0; i<_buckets.size(); i++ ) {
			Bucket b = (Bucket) _buckets.elementAt(i);
			b.print();
		}
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -