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

📄 resourceuses.java

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

import java.util.*;
import java.io.*;
import com.power.pipeengine.Entity.*;
import com.power.pipe.*;

public class ResourceUses
    extends InputReader {
  private Hashtable _resourceUses = new Hashtable();
  private String _fileName = "ResourceUse";
  private Hashtable _rscUseByRsc = new Hashtable();

  public ResourceUses() {
  }

  private void addResourceUse(ResourceUse rscUse) {

    //add entry by route
    String key = (new Integer(rscUse.getRouteID())).toString();
    Vector rus = (Vector) _resourceUses.get(key);
    if (rus == null) {
      rus = new Vector();
      rus.addElement(rscUse);
      _resourceUses.put(key, rus);
    }
    else {
      rus.addElement(rscUse);
    }

    //add entry by resource
    Vector rscUseByRsc = (Vector) _rscUseByRsc.get(rscUse.getResourceID());
    if (rscUseByRsc == null) {
      rscUseByRsc = new Vector();
      rscUseByRsc.addElement(rscUse);
      _rscUseByRsc.put(rscUse.getResourceID(), rscUseByRsc);
    }
    else {
      rscUseByRsc.addElement(rscUse);
    }
  }

  public Vector getResourceUse(int routeID) {
    String key = (new Integer(routeID)).toString();
    return (Vector) _resourceUses.get(key);
  }

  public Vector getResourceUse(String rsc) {
    return (Vector) _rscUseByRsc.get(rsc);
  }

  public Hashtable getResourceUseByRsc() {
    return _rscUseByRsc;
  }

  protected String getFileName() {
    return _fileName;
  }

  public void readData() throws Exception {
    String token = GlobalConfig.getInstance().getSeparator();
    BufferedReader d = super.getReader();

    if (null == d) {
      return;
    }

    String aLine = d.readLine();
    Routes routes = DataModel.getInstance().getRoutes();
    Resources rscs = DataModel.getInstance().getResources();

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

      StringTokenizer st = new StringTokenizer(aLine, token);

      int routeID = new Integer(st.nextToken()).intValue();
      String resourceID = st.nextToken();
      double cycleTime = new Double(st.nextToken()).doubleValue();
      double yield = new Double(st.nextToken()).doubleValue();
      double UPH = new Double(st.nextToken()).doubleValue();
      double numOfOperators = new Double(st.nextToken()).doubleValue();

      if (null == routes.getRoute(routeID)) {
        reportError("Route ID", new Integer(routeID).toString(), aLine);
        aLine = d.readLine();
        continue;
      }

      if (null ==
          rscs.getResource(resourceID, routes.getRoute(routeID).getFacilityID())) {
        reportError("Resource ID", resourceID, aLine);
        aLine = d.readLine();
        continue;
      }

      ResourceUse rscUse = new ResourceUse(routeID,
                                           resourceID,
                                           cycleTime,
                                           yield,
                                           UPH);

      Route aRoute = routes.getRoute(routeID);
      aRoute.setNumOfOperators(numOfOperators);
      addResourceUse(rscUse);


      aLine = d.readLine();
    }

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

  public void print() {
    System.out.println("\n\n\nResourceUse ---------------------");
    Enumeration allRscUses = _resourceUses.elements();

    while (allRscUses.hasMoreElements()) {
      Vector rscUses = (Vector) allRscUses.nextElement();
      for (int i = 0; i < rscUses.size(); i++) {
        ResourceUse rscUse = (ResourceUse) rscUses.elementAt(i);
        rscUse.print();
      }
    }
  }
}

⌨️ 快捷键说明

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