亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dispatchlist.java

?? 今天為網(wǎng)友提供的是JAVA源碼
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
        if (aSchedule.getAssignedEmployee() < 0) {
          aSchedule.setDefaultTimeInterval();
        }

      }
    }
  }

  private void notSufficientEmployees() {
    Vector[] startsSchedules = schedulesGroupedByBucket;
    int cnt = 0;
    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;

      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        cnt++;
        if (aSchedule.getAssignedEmployee() < 0) {

        }
      }
    }
  }

  private Vector[] assignedSchedulesByRoute = new Vector[DataModel.getInstance().
      getRoutes().getNumberOfRoutes()];

  private void insertIntoAssignedRoutes(StartsSchedule aSchedule) {
    Vector schedules = (Vector) assignedSchedulesByRoute[aSchedule.getRouteID() -
        1];
    if (null == schedules) {
      schedules = new Vector();
      schedules.add(aSchedule);
      return;
    }

    for (int i = 0; i < schedules.size(); i++) {
      StartsSchedule tmpSchedule = (StartsSchedule) schedules.elementAt(i);
      if (aSchedule.getBucketID() < tmpSchedule.getBucketID()) {
        schedules.insertElementAt(aSchedule, i);
        return;
      }
    }

    schedules.add(aSchedule);
  }

  private int getCumStartsByBucket(int rteID, int bucketID) {
    Vector schedules = (Vector) assignedSchedulesByRoute[rteID - 1];
    if (null == schedules || schedules.size() == 0) {
      return 0;
    }

    int cnt = 0;
    for (int i = 0; i < schedules.size(); i++) {
      StartsSchedule tmpSchedule = (StartsSchedule) schedules.elementAt(i);
      if (tmpSchedule.getBucketID() < bucketID) {
        cnt += tmpSchedule.getQuantity();
      }
    }

    return cnt;
  }

  private int getCumStartsOfPrevRoutes(int rteID, int bucketID) {
    Vector prevRoutes = DataModel.getInstance().getRoutes().getRoute(rteID).
        getPrevRoutes();
    if (null == prevRoutes || prevRoutes.size() == 0)
      return -1;
    if (prevRoutes.size() == 1) {
      Route r = (Route) prevRoutes.elementAt(0);
      return getCumStarts(r.getRouteID(), bucketID);
    }

    int minCumStarts = Integer.MAX_VALUE;

    for (int i = 0; i < prevRoutes.size(); i++) {
      Route aRoute = (Route) prevRoutes.elementAt(i);
      int cumStarts = getCumStarts(aRoute.getRouteID(), bucketID);
      if (cumStarts < minCumStarts) {
        minCumStarts = cumStarts;
      }
    }

    return minCumStarts;
  }

  private int getCumStarts(int rteID, int bucketID) {
    Vector rteArray = assignedSchedulesByRoute[rteID - 1];
    if (null == rteArray || rteArray.size() == 0) {
      return 0;
    }
    int cumStarts = 0;
    for (int i = 0; i < rteArray.size(); i++) {
      StartsSchedule aSchedule = (StartsSchedule) rteArray.elementAt(i);
      if (aSchedule.getBucketID() < bucketID) {
        cumStarts += aSchedule.getStartsValue();
      }
    }
    return cumStarts;
  }

  private void assignEmployee() {
    Vector[] startsSchedules = schedulesGroupedByBucket;
    ProcessCapabilityTable pct = ProcessCapabilityTable.getInstance();
    int cntc = 0;
    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;
      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);

        int cumPrevStarts = getCumStartsOfPrevRoutes(aSchedule.getRouteID(),
            aSchedule.getBucketID());
        if (cumPrevStarts > 0) {
          int myCumStarts = this.getCumStartsByBucket(aSchedule.getRouteID(),
              aSchedule.getBucketID());
          int diff = myCumStarts + aSchedule.getQuantity() - cumPrevStarts;
          if (diff > 0) {
            StartsSchedule tmpSchedule = aSchedule.getSplitedSchedule(diff);
            accumToNextBucket(tmpSchedule);
          }
        }

        int leftOverQty = pct.getEmployee(aSchedule);

        if (leftOverQty < 0) {
          if (leftOverQty <= -9000) {
            if (aSchedule.getBucketID() ==
                DataModel.getInstance().getCalendar().getTotalNumOfBuckets()) {
              continue;
            }
            int size = starts.size();
            aSchedule = (StartsSchedule) starts.remove(j);
            accumToNextBucket(aSchedule);
            if (j == size - 1) {
              break;
            }
            else {
              j--;
            }
          }
          continue;
        }
        else if (leftOverQty > 0) {
          StartsSchedule tmpSchedule = aSchedule.getSplitedSchedule(leftOverQty);
          starts.insertElementAt(tmpSchedule, j + 1);
          insertIntoAssignedRoutes(aSchedule);
        }
        else if (leftOverQty == 0) {
          insertIntoAssignedRoutes(aSchedule);
        }

      }
    }
  }

  private void accumToNextBucket(StartsSchedule aSchedule) {
    Vector[] startsSchedules = schedulesGroupedByBucket;

    //return if last already last bucket
    if (aSchedule.getBucketID() >= startsSchedules.length) {
      return;

    }
    Vector starts = (Vector) startsSchedules[aSchedule.getBucketID()];
    if (null == starts || starts.size() == 0) {
      Vector vec = new Vector();
      startsSchedules[aSchedule.getBucketID()] = vec;
      vec.add(aSchedule);
      aSchedule.modifyBucketID(aSchedule.getBucketID() + 1);
      return;
    }

    for (int j = 0; j < starts.size(); j++) {
      StartsSchedule tmpSchedule = (StartsSchedule) starts.elementAt(j);
      if (tmpSchedule.getOrderID().equals(aSchedule.getOrderID()) &&
          tmpSchedule.getStyleID().equals(aSchedule.getStyleID()) &&
          tmpSchedule.getProcessID() == aSchedule.getProcessID()) {
        tmpSchedule.augmentQuantity(aSchedule.getQuantity());
        return;
      }

    }

    starts.add(aSchedule);
    aSchedule.modifyBucketID(aSchedule.getBucketID() + 1);
  }

  private void sortStarts() {
    Vector[] startsSchedules = schedulesGroupedByBucket;
    //Vector[] startsSchedules = ProductionStartsSchedule.getInstance().getStartsSchedules();
    EquipmentCapabilityTable ect = EquipmentCapabilityTable.getInstance();

    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;

      Vector tmpStarts = new Vector();

      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        for (int k = 0; k < tmpStarts.size(); k++) {
          StartsSchedule tmpSchedule = (StartsSchedule) tmpStarts.elementAt(k);
          if (!aSchedule.getStartTime().after(tmpSchedule.getStartTime())) {
            tmpStarts.insertElementAt(aSchedule, k);
            aSchedule = null;
            break;
          }
        }
        if (null != aSchedule) {
          tmpStarts.add(aSchedule);
        }
      }

      startsSchedules[i] = tmpStarts;
    }
  }

  private void sortStartsByEmployee() {
    Vector[] startsSchedules = schedulesGroupedByBucket;
    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;

      startsSchedules[i] = new Vector();
      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        boolean inserted = false;
        for (int k = 0; k < startsSchedules[i].size(); k++) {
          StartsSchedule tmpSchedule = (StartsSchedule) starts.elementAt(k);
          if (aSchedule.getEmployee() < tmpSchedule.getEmployee()) {
            startsSchedules[i].insertElementAt(aSchedule, k);
            inserted = true;
            break;
          }
        }
        if (!inserted) {
          startsSchedules[i].add(aSchedule);
        }
      }
    }
  }

  private Hashtable startsGroupedByEmployee = new Hashtable();

  private void groupStartsByEmployee() {
    Vector[] startsSchedules = schedulesGroupedByBucket;
    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;

      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        int employeeID = aSchedule.getEmployee();
        String key = new Integer(employeeID).toString();
        Vector vec = (Vector) startsGroupedByEmployee.get(key);
        if (null == vec) {
          vec = new Vector();
          startsGroupedByEmployee.put(key, vec);
        }
        vec.add(aSchedule);
      }
    }
  }

  private void assignEquipmentSimple() {
    Enumeration allKeys = startsGroupedByEmployee.keys();
    EquipmentCapabilityTable ect = EquipmentCapabilityTable.getInstance();

    while (allKeys.hasMoreElements()) {
      String key = (String) allKeys.nextElement();

      Vector vec = (Vector) startsGroupedByEmployee.get(key);

      StartsSchedule aSchedule = (StartsSchedule) vec.elementAt(0);
      ect.getEquipmentSimple(aSchedule);
      String equipmentID = aSchedule.getEquipment();
      for (int i = 1; i < vec.size(); i++) {
        StartsSchedule tmpSchedule = (StartsSchedule) vec.elementAt(i);
        tmpSchedule.setEquipment(equipmentID);
      }
    }
  }

  private void assignEquipment() {
    Vector[] startsSchedules = schedulesGroupedByBucket;
    //Vector[] startsSchedules = ProductionStartsSchedule.getInstance().getStartsSchedules();
    EquipmentCapabilityTable ect = EquipmentCapabilityTable.getInstance();

    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;
      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        int status = ect.getEquipment(aSchedule);
        if (status < 0) {
          aSchedule.setEquipment("-1");
        }
      }
    }

  }

  private void assignEquipment2() {
    Vector[] startsSchedules = schedulesGroupedByBucket;
    EquipmentCapabilityTable ect = EquipmentCapabilityTable.getInstance();

    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;

      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        if (!aSchedule.getEquipment().equals("-1"))
          continue;

        ect.getEquipment2(aSchedule);
      }
    }

  }

  private void assignStartEndTime() {
    //Vector[] startsSchedules = ProductionStartsSchedule.getInstance().getStartsSchedules();
    Vector[] startsSchedules = schedulesGroupedByBucket;
    PeriodDateMap pdm = PeriodDateMap.getInstance();

    for (int i = 0; i < startsSchedules.length; i++) {
      Vector starts = (Vector) startsSchedules[i];
      if (null == starts || starts.size() == 0)
        continue;

      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        int bucketID = aSchedule.getBucketID();
        aSchedule.setTimeInterval(pdm.getStartingTime(bucketID),
                                  pdm.getEndingTime(bucketID));
      }
    }

  }

  private Vector[] startsByRoute = new Vector[DataModel.getInstance().getRoutes().
      getNumberOfRoutes()];
  int totalMinutes = 0;
  private void groupScheduleByRoute() {
    Vector[] startsByBucket = schedulesGroupedByBucket;

    for (int i = 0; i < startsByBucket.length; i++) {
      Vector starts = (Vector) startsByBucket[i];
      if (null == starts || starts.size() == 0)
        continue;

      for (int j = 0; j < starts.size(); j++) {
        StartsSchedule aSchedule = (StartsSchedule) starts.elementAt(j);
        totalMinutes += aSchedule.getDurationInMinutes();
        if (null == startsByRoute[aSchedule.getRouteID() - 1]) {
          startsByRoute[aSchedule.getRouteID() - 1] = new Vector();
        }
        startsByRoute[aSchedule.getRouteID() - 1].add(aSchedule);
      }
    }

  }

  private void createSummaryReport() {
    ProductDemands prodDmds = DataModel.getInstance().getProductDemands();
    Hashtable lastRoutes = prodDmds.getLastRoutes();
    Enumeration allLastRoutes = lastRoutes.elements();
    Vector styles = OrderDetailsManHourMap.getInstance().getAllStyles();
    Date catchUpDate = new Date(PeriodDateMap.getInstance().getLastBucketDate().
                                getTime() +
                                7 * 24 * 60 * 60 * 1000);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美综合在线观看第十页| 成人av动漫网站| 欧美日韩精品一区视频| 一区二区三区久久| 欧美日韩视频一区二区| 天堂午夜影视日韩欧美一区二区| 9191久久久久久久久久久| 免费观看在线综合| 久久久国产精华| 成人天堂资源www在线| 亚洲美女淫视频| 欧美日本一区二区三区四区| 蜜臀91精品一区二区三区| 精品国产亚洲在线| 成人av电影在线网| 亚洲v中文字幕| 精品久久人人做人人爽| 成人免费视频视频| 亚洲一区二区在线免费观看视频| 欧美一区欧美二区| 国产精品一区二区在线播放| 亚洲欧洲日韩综合一区二区| 欧美日韩高清不卡| 国产精品资源网| 亚洲第一av色| 国产亚洲午夜高清国产拍精品| 色婷婷香蕉在线一区二区| 青娱乐精品视频在线| 亚洲国产成人午夜在线一区| 在线视频你懂得一区| 国内欧美视频一区二区 | 欧美一级二级三级蜜桃| 国产成a人亚洲精品| 亚洲一区二区三区美女| 久久亚区不卡日本| 欧美性做爰猛烈叫床潮| 东方aⅴ免费观看久久av| 亚洲国产欧美在线| 亚洲国产精品精华液2区45| 欧美精品aⅴ在线视频| 成人网男人的天堂| 久久国产精品99久久久久久老狼| 亚洲日本乱码在线观看| 久久久精品免费免费| 欧美剧情片在线观看| 99这里只有久久精品视频| 蜜桃视频一区二区| 亚洲电影视频在线| 亚洲人成伊人成综合网小说| 国产精品福利在线播放| 精品视频1区2区3区| 99热99精品| 岛国精品在线观看| 国产自产高清不卡| 另类小说一区二区三区| 亚洲成人av免费| 亚洲女与黑人做爰| 亚洲国产精品黑人久久久| 久久综合资源网| 日韩欧美123| 日韩三级中文字幕| 777精品伊人久久久久大香线蕉| 色美美综合视频| 99久久婷婷国产综合精品| 精品午夜久久福利影院| 日韩av一级电影| 亚洲成人av中文| 婷婷综合五月天| 亚洲第一成人在线| 亚洲第一会所有码转帖| 亚洲高清在线精品| 偷拍与自拍一区| 亚洲h精品动漫在线观看| 亚洲永久精品国产| 夜夜亚洲天天久久| 亚洲国产精品自拍| 亚洲va欧美va天堂v国产综合| 一级做a爱片久久| 亚洲精品国产a久久久久久| 亚洲精品你懂的| 亚洲一区视频在线观看视频| 一区二区三区在线视频播放 | jlzzjlzz欧美大全| 成av人片一区二区| av成人免费在线观看| 色系网站成人免费| 欧美在线|欧美| 欧美美女网站色| 日韩一区二区精品| 精品国产免费一区二区三区四区| 久久久蜜臀国产一区二区| 国产午夜亚洲精品午夜鲁丝片| 国产欧美精品一区二区色综合| 欧美激情在线观看视频免费| 成人欧美一区二区三区视频网页| 亚洲精品国产精品乱码不99| 亚洲va国产va欧美va观看| 免费观看在线综合| 国产成人午夜精品影院观看视频| caoporen国产精品视频| 日本电影欧美片| 日韩精品一区二| 国产免费久久精品| 亚洲午夜在线观看视频在线| 美女被吸乳得到大胸91| 国产福利一区二区三区视频 | 日韩亚洲欧美中文三级| 久久综合狠狠综合久久综合88| 亚洲国产精品v| 亚洲无人区一区| 精品在线亚洲视频| 波多野结衣中文字幕一区二区三区 | 欧美日韩一本到| 久久综合久久综合亚洲| 亚洲国产综合在线| 国产精品一级二级三级| 色婷婷激情综合| 久久综合久久综合九色| 亚洲最色的网站| 国产精品自拍网站| 欧美日韩一级片在线观看| 日本一区二区三区四区在线视频| 一区二区三区**美女毛片| 国精产品一区一区三区mba视频| 在线日韩av片| 日本一区二区三区dvd视频在线| 亚洲一区二区三区自拍| 国产成人精品亚洲日本在线桃色| 欧美视频一区二区三区在线观看| 国产日韩欧美精品综合| 日韩激情一二三区| 色哟哟日韩精品| 国产日韩欧美激情| 久久精品99国产精品日本| 欧美影院午夜播放| 国产精品乱码久久久久久| 蜜乳av一区二区三区| 欧美亚洲禁片免费| 日本一区二区动态图| 久久不见久久见免费视频1| 欧美日韩久久一区二区| 成人欧美一区二区三区白人| 国产精品18久久久久久久久 | 日本韩国一区二区三区视频| 久久久久久久久99精品| 日韩电影在线看| 欧美日韩在线综合| 亚洲视频中文字幕| 东方aⅴ免费观看久久av| 亚洲精品在线观看视频| 婷婷久久综合九色国产成人| 在线观看亚洲专区| 亚洲欧美日韩国产中文在线| 国产成人自拍网| 久久久无码精品亚洲日韩按摩| 六月婷婷色综合| 欧美成人精品3d动漫h| 日韩精品视频网站| 欧美久久久久免费| 午夜私人影院久久久久| 欧美裸体一区二区三区| 午夜视黄欧洲亚洲| 欧美三级在线播放| 午夜欧美在线一二页| 欧美日韩一区视频| 午夜视频在线观看一区| 7777精品伊人久久久大香线蕉最新版| 亚洲一区二区三区激情| 欧美人与性动xxxx| 日本系列欧美系列| 日韩亚洲欧美在线观看| 精品一二线国产| 国产偷国产偷精品高清尤物 | 色系网站成人免费| 亚洲影院在线观看| 欧美人牲a欧美精品| 日韩和欧美一区二区| 欧美一区二区三区免费视频| 久久精品国产99国产| 国产欧美精品一区| av电影在线不卡| 亚洲成人免费影院| 精品少妇一区二区三区| 国产乱子伦视频一区二区三区| 日本一区二区三区四区 | 亚洲成av人综合在线观看| 欧美色窝79yyyycom| 美女脱光内衣内裤视频久久影院| 337p粉嫩大胆噜噜噜噜噜91av | 风间由美性色一区二区三区| 亚洲国产精品ⅴa在线观看| 91捆绑美女网站| 天天影视涩香欲综合网| 精品久久久久av影院| 成人美女在线观看| 香港成人在线视频| 精品99一区二区| 97精品久久久久中文字幕| 天天操天天综合网| 国产女人aaa级久久久级 |