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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? simpledispatchrule.java

?? APS(高級排產系統)
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
                ProcessRequirement.getInstance().getAvgRqmtByOperator( new Integer( tmpStyle.getProcessID()) );
            double stdUsedThisTime = stdRemained -
                (sumCapIdx - tmpStyle.getRequirement() );
            stdRemained = stdRemained - stdUsedThisTime;

            double percentRemained = stdRemained /
                (pc.getCapability(tmpStyle.getProcessID()) *
                ProcessRequirement.getInstance().getAvgRqmtByOperator( new Integer( tmpStyle.getProcessID()) ) );

            pc.setAssignedPercentage(1 - percentRemained);
            tmpStyle.addOperator(pc,
                                 new Double(stdUsedThisTime /
                                            (pc.
                                            getCapability(tmpStyle.getProcessID()) *
                ProcessRequirement.getInstance().getAvgRqmtByOperator( new Integer( tmpStyle.getProcessID()) )
) ) );
            numAssigned++;
            break;
          }
          else {
            tmpStyle.addOperator(pc, new Double(pc.getAvailPercentage()));
            pc.setAssignedPercentage(1.0);
            numAssigned++;
          }
        }

        //no matter how many operators available
        if( sumCapIdx == 0 &&
            ! SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) ) {
          ProcessCapability pc = ProcessRequirement.getInstance().getLastAssigned(
            new Integer( tmpStyle.getProcessID() ) );
          if( null != pc ) {
            tmpStyle.addOperator(pc, new Double(1.0));
          } else {
            //for (int i = 0; i < tmpStyle.getNumOfOperators() - sumCapIdx; i++) {
              pc = new ProcessCapability(getAnExtraOperator());
              pcs.add(pc);
              pc.setAssignedPercentage(1.0);
              tmpStyle.addOperator(pc, new Double(1.0));
            //}
          }
        }

        if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) ) {
          if (base == 0 && remainder != 0) {
            double rank = OrderDetailsManHourMap.getInstance().getRank(tmpStyle);
            if (rank <= remainder) {
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                if (pc.getAssignedPID() != 0 &&
                    pc.getAssignedPID() != tmpStyle.getProcessID()) {
                  continue;
                }
                pc.setAssignedPID( tmpStyle.getProcessID() );
                pc.setAssignedPercentage(1.0);
                tmpStyle.addOperator(pc, new Double(1.0));
                ProcessRequirement.getInstance().updateLastAssigned( new Integer( tmpStyle.getProcessID() ),
                    pc );
                numAssigned++;
                break;
              }
            }
            else {
              ProcessCapability pc = ProcessRequirement.getInstance().getLastAssigned(
                new Integer( tmpStyle.getProcessID() ) );
              if( null != pc ) {
                tmpStyle.addOperator(pc, new Double(1.0));
              } else {
                //for (int i = 0; i < tmpStyle.getNumOfOperators() - sumCapIdx; i++) {
                  pc = new ProcessCapability(getAnExtraOperator());
                  pcs.add(pc);
                  pc.setAssignedPercentage(1.0);
                  tmpStyle.addOperator(pc, new Double(1.0));
                //}
              }
              /*ProcessCapability pc = new ProcessCapability(getAnExtraOperator());
              pc.setAssignedPercentage(1.0);
              tmpStyle.addOperator(pc, new Double(1.0));*/
              numAssigned++;
            }
          }
          else if (base != 0 && remainder != 0) {
            /*double rank = OrderDetailsManHourMap.getInstance().getRank(tmpStyle);
            if (rank <= remainder) {
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                if (pc.getAssignedPID() != 0 &&
                    pc.getAssignedPID() != tmpStyle.getProcessID()) {
                  continue;
                }
                pc.setAssignedPercentage(1.0);
                tmpStyle.addOperator(pc, new Double(1.0));
                numAssigned++;
                break;
              }
            }*/
          }
        }
        if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) &&
            numAssigned == 0 ) {
          ProcessCapability pc = ProcessRequirement.getInstance().getLastAssigned(
            new Integer( tmpStyle.getProcessID() ) );
          if( null != pc ) {
            tmpStyle.addOperator(pc, new Double(1.0));
          } else {
            //for (int i = 0; i < tmpStyle.getNumOfOperators() - sumCapIdx; i++) {
              pc = new ProcessCapability(getAnExtraOperator());
              pcs.add(pc);
              pc.setAssignedPercentage(1.0);
              tmpStyle.addOperator(pc, new Double(1.0));
            //}
          }
          /*ProcessCapability pc = new ProcessCapability(getAnExtraOperator());
          pc.setAssignedPercentage(1.0);
          tmpStyle.addOperator(pc, new Double(1.0));
          numAssigned++;*/
        }

        for (int k = 0; k < pcs.size(); k++) {
          ProcessCapability pc = (ProcessCapability) pcs.elementAt(k);
          distinctOperators.put(pc, "");
        }
        System.out.println("debug here 1");

        tmpStyle.generateSchedule();
        System.out.println("here 2");
        schedules.append(tmpStyle.getSchedules());

        totalOperators += tmpStyle.getNumOfAssignedOperators();

      }
      System.out.println("debug 14");

    }

    private double getExtendRatio( Style tmpStyle ) {
      Vector capableOperators = ProcessCapabilityTable.getInstance().
          getCapableOperators(tmpStyle.getProcessID());
      double sumCapIdx = 0;
      for (int k = 0; k < capableOperators.size(); k++) {
        ProcessCapability pc = (ProcessCapability) capableOperators.elementAt(
            k);
        if (pc.isAssignedTest())
          continue;
        if (pc.getAssignedPIDTest() != 0 &&
            pc.getAssignedPIDTest() != tmpStyle.getProcessID()) {
          continue;
        }
        sumCapIdx += pc.getCapability(tmpStyle.getProcessID()) *
            pc.getAvailPercentageTest();
        pc.setAssignedPIDTest(tmpStyle.getProcessID());
        if (sumCapIdx >= tmpStyle.getNumOfOperators()) {
          if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) ) {
            pc.setAssignedPercentageTest(1.0);
            break;
          }
          double stdRemained = pc.getCapability(tmpStyle.getProcessID()) *
              pc.getAvailPercentageTest();
          double stdUsedThisTime = stdRemained -
              (sumCapIdx - tmpStyle.getNumOfOperators());
          stdRemained = stdRemained - stdUsedThisTime;

          double percentRemained = stdRemained /
              pc.getCapability(tmpStyle.getProcessID());

          pc.setAssignedPercentageTest(1 - percentRemained);
          break;
        }
        else {
          pc.setAssignedPercentageTest(1.0);
        }
      }

      if( SewingOps.getInstance().isSewingOp( tmpStyle.getProcessID() ) )
        return (tmpStyle.getNumOfOperators() - sumCapIdx) / tmpStyle.getNumOfOperators();

      return 0;

    }

    private double getMaxExtendRatio( Vector styles ) {
      //init all capable pcs
      for (int j = 0; j < styles.size(); j++) {
        Style tmpStyle = (Style) styles.elementAt(j);
        Vector capableOperators = ProcessCapabilityTable.getInstance().
            getCapableOperators(tmpStyle.getProcessID());
        for (int k = 0; k < capableOperators.size(); k++) {
          ProcessCapability pc = (ProcessCapability) capableOperators.elementAt(
              k);
          if (pc.isAssignedTest())
            continue;
          /*if (pc.getAssignedPIDTest() != 0 &&
              pc.getAssignedPIDTest() != tmpStyle.getProcessID()) {
            continue;
          }*/
          pc.initTestParameters();
        }
      }

      //for all sewing processes
      double maxRatio = 0;
      for (int j = 0; j < styles.size(); j++) {
        Style tmpStyle = (Style) styles.elementAt(j);

        double tmpRatio = this.getExtendRatio( tmpStyle );
        if( tmpRatio > maxRatio ) {
          maxRatio = tmpRatio;
        }
      }

      return maxRatio;
    }

    private void assignLeftOverOperators() {
      //get all big orders
      Hashtable stylesByOrder = OrderDetailsManHourMap.getInstance().
          getStylesByOrder();
      Enumeration orderIDs = stylesByOrder.keys();
      Date dueDate = null;

      //loop through all orders to get sum of max processing times
      while (orderIDs.hasMoreElements()) {
        String anOrderID = (String) orderIDs.nextElement();
        Vector allStylesByOrder = OrderDetailsManHourMap.getInstance().
            getDistinctStyleByOrder(anOrderID);
        for (int i = 0; i < allStylesByOrder.size(); i++) {
          Style aStyle = (Style) allStylesByOrder.elementAt(i);
          dueDate = aStyle.getDueDate();
          //get styles by orderID and styleID
          Vector styles = OrderDetailsManHourMap.getInstance().getStyles(
              anOrderID,
              aStyle.getStyleID());

          for (int j = 0; j < styles.size(); j++) {
            Style tmpStyle = (Style) styles.elementAt(j);
            if (!SewingOps.getInstance().isSewingOp(tmpStyle.getProcessID()))
              continue;
            Vector capableOperators = ProcessCapabilityTable.getInstance().
                getCapableOperators(tmpStyle.getProcessID());
            int remainder = 0;
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                remainder++;
              }
            double rank = OrderDetailsManHourMap.getInstance().getRank(tmpStyle);
            if (rank <= remainder) {
              for (int k = 0; k < capableOperators.size(); k++) {
                ProcessCapability pc = (ProcessCapability) capableOperators.
                    elementAt(
                    k);
                if (pc.isAssigned())
                  continue;
                if (pc.getAssignedPID() != 0 &&
                    pc.getAssignedPID() != tmpStyle.getProcessID()) {
                  continue;
                }
                pc.setAssignedPercentage(1.0);
                tmpStyle.addOperator(pc, new Double(1.0));
                OrderDetailsManHourMap.getInstance().readjustRank( tmpStyle );
                break;
              }
            }
          }
        }
      }
    }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情自拍| 亚洲成av人片一区二区梦乃| 日韩一级免费观看| 欧美日韩一区二区三区在线看| 色综合久久久网| 91在线精品秘密一区二区| 成人免费视频视频| 成人免费高清视频| 91色porny| 欧美亚洲一区三区| 在线不卡的av| 91精品国产入口| 久久一区二区三区四区| 国产女人aaa级久久久级| 国产偷国产偷亚洲高清人白洁| 国产日韩欧美麻豆| 国产精品久久久久aaaa| 一二三区精品视频| 日韩精品视频网站| 国产精品一区在线| 91性感美女视频| 欧美理论电影在线| 日韩欧美综合在线| 国产精品女人毛片| 亚洲一级二级三级| 久久99久久99精品免视看婷婷 | 婷婷久久综合九色综合伊人色| 香蕉加勒比综合久久| 久久精品国产免费| 成人av午夜电影| 欧美日韩高清一区二区不卡 | 激情五月激情综合网| av一二三不卡影片| 51精品久久久久久久蜜臀| 欧美成人福利视频| 亚洲欧美成aⅴ人在线观看| 日韩av一区二| 不卡的av中国片| 日韩亚洲欧美在线观看| 中文字幕在线一区| 蜜臀久久99精品久久久久宅男| 成人av在线网站| 欧美大胆一级视频| 亚洲综合在线视频| 国产一区二区影院| 7777精品久久久大香线蕉 | 色综合中文字幕国产 | 人人精品人人爱| 91女神在线视频| 久久―日本道色综合久久| 亚洲精品成人少妇| 国产成人亚洲综合色影视 | 激情综合一区二区三区| 欧美色综合网站| 国产精品护士白丝一区av| 久久99精品久久久久婷婷| 欧美日韩国产首页在线观看| 国产精品成人免费| 国产成人综合自拍| 日韩午夜在线影院| 亚洲动漫第一页| 91黄色免费网站| 中文字幕在线播放不卡一区| 国产成人综合亚洲网站| 精品电影一区二区三区| 成人性生交大片免费看视频在线 | 国产精品美女一区二区三区| 韩国中文字幕2020精品| 94色蜜桃网一区二区三区| 国产精品一区久久久久| 久久精品这里都是精品| 色噜噜狠狠一区二区三区果冻| 美女网站色91| 亚洲女性喷水在线观看一区| 日韩一级完整毛片| 色综合久久中文综合久久97| 麻豆精品在线看| 一区二区三区丝袜| 久久婷婷成人综合色| 欧美午夜电影在线播放| 国产成人免费视频一区| 天堂精品中文字幕在线| 专区另类欧美日韩| 久久亚洲春色中文字幕久久久| 色天天综合色天天久久| 国产精品一区二区久久不卡| 亚洲国产另类av| 亚洲视频狠狠干| 久久久不卡影院| 欧美精品tushy高清| 不卡一二三区首页| 国产精品亚洲第一区在线暖暖韩国 | 日本丰满少妇一区二区三区| 国产在线观看一区二区| 婷婷六月综合亚洲| 亚洲一区免费观看| 亚洲女同一区二区| 国产精品国产三级国产aⅴ原创 | 欧美日韩亚州综合| 91影视在线播放| 粉嫩一区二区三区在线看| 久久国产精品第一页| 亚洲一区中文在线| 亚洲最新视频在线播放| 日韩美女久久久| 自拍偷拍亚洲综合| 国产精品少妇自拍| 国产欧美一区二区三区网站| 2021国产精品久久精品| 日韩欧美成人一区| 日韩欧美综合在线| 日韩免费福利电影在线观看| 欧美一区二区三区不卡| 在线播放国产精品二区一二区四区| 欧美在线观看视频一区二区三区| 不卡的av电影| 91毛片在线观看| 91蝌蚪国产九色| 在线欧美一区二区| 欧美三级韩国三级日本一级| 欧美综合天天夜夜久久| 欧美色大人视频| 欧美人妖巨大在线| 日韩一卡二卡三卡国产欧美| 欧美电影免费观看高清完整版在| 欧美电影精品一区二区| 久久麻豆一区二区| 国产免费成人在线视频| 国产精品视频一区二区三区不卡 | 日韩欧美一区二区免费| 精品捆绑美女sm三区| 久久九九99视频| 亚洲品质自拍视频网站| 香蕉av福利精品导航| 天天免费综合色| 麻豆国产精品777777在线| 国产乱码精品一区二区三| 大白屁股一区二区视频| 日本久久一区二区三区| 欧美日本一区二区三区四区| 欧美变态口味重另类| 中文字幕乱码日本亚洲一区二区 | 久久午夜羞羞影院免费观看| 欧美国产精品劲爆| 亚洲一级不卡视频| 紧缚奴在线一区二区三区| www.亚洲色图.com| 7777精品伊人久久久大香线蕉的| 精品久久一区二区| 亚洲精品午夜久久久| 蜜臀91精品一区二区三区| 国产成人8x视频一区二区| 97se亚洲国产综合在线| 8x8x8国产精品| 中文字幕欧美国产| 午夜精品视频一区| 成人一级视频在线观看| 欧美日韩卡一卡二| 国产精品久99| 久草精品在线观看| 欧美日韩综合在线免费观看| 久久久欧美精品sm网站| 五月天亚洲精品| 99久久99久久精品免费观看| 日韩欧美资源站| 亚洲夂夂婷婷色拍ww47| 国产成人在线视频网址| 7777精品伊人久久久大香线蕉超级流畅 | 国产一区二区按摩在线观看| 在线观看一区二区精品视频| 久久亚洲综合色一区二区三区| 一区二区三区在线观看欧美| 精品一区二区三区日韩| 欧美日韩综合在线| 国产精品久久久久久久久免费樱桃| 手机精品视频在线观看| 91麻豆高清视频| 欧美国产激情二区三区 | 国产精品一二三四五| 色哟哟欧美精品| 中文字幕精品在线不卡| 精品一区在线看| 69av一区二区三区| 亚洲综合区在线| 99麻豆久久久国产精品免费| 久久久久国产精品厨房| 久久99在线观看| 日韩欧美一级二级| 男人的天堂亚洲一区| 欧美精品一二三| 午夜精品久久久久久| 欧洲精品在线观看| 1区2区3区国产精品| 成人免费毛片片v| 国产精品视频免费看| 岛国精品在线观看| 国产精品嫩草99a| 99国产精品国产精品久久| 国产精品卡一卡二| 99精品视频免费在线观看|